Шифрование с использованием Openssl и аутентификация C#

Я пытаюсь зашифровать с помощью openssl, а также аутентифицировать сообщение с помощью AE или AEAD. Я включаю ManagedOpenSsl DLL в моем проекте. Пожалуйста, найдите код ниже

             //Encryption
            String password = "Testing OPENSSL";
            using (var cc = new CipherContext(Cipher.AES_128_CBC))
            {
                //Constructing key and init vector from string password
                byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
                byte[] key = Encoding.UTF8.GetBytes("asdfghjklpoiuytr");
                byte[] iv = Encoding.UTF8.GetBytes("asdfghjklpoiuytr");

                //Performing encryption thru unmanaged wrapper
                var aesData = cc.Crypt(buf, key, iv, true);

                string a = Encoding.UTF8.GetString(aesData);
                lock (SnmpUdpClient.Client)
                {
                    SnmpUdpClient.Client.Send(buf, idx, gaddr.IPEndPoint);
                }
            }
             //Encryption

Этот код шифрует сообщение с использованием AES_128_CBC. Я прочитал, что для шифрования и аутентификации сообщения может использоваться метод CCM/GCM. Но dll, который я включил, не поддерживает метод CCM/GCM.

Может кто-нибудь сказать, если я делаю что-то не так? Библиотека OpenSSL в C# поддерживает аутентификацию?

Если нет, то какой должен быть правильный подход к переезду. Также обратите внимание, что шифрование выполняется в C#, а часть дешифрования - в c (ОС QNX).

0 ответов

Другие вопросы по тегам