OPENSSL: 'EVP_aria_256_ccm' с помощью аутентифицированного шифрования с lcrypto - PullRequest
0 голосов
/ 04 января 2019

Мне нужно зашифровать сообщение с помощью EVP_aria_256_ccd .И я написал этот код аналогично примеру с AES fromopenssl wiki.

const EVP_CIPHER *CIPHER_TYPE = EVP_aria_256_ccm();
EVP_CIPHER_CTX *ctx_encrypt = EVP_CIPHER_CTX_new();
EVP_CIPHER_CTX_init(ctx_encrypt);
if(EVP_EncryptInit_ex(ctx_encrypt, CIPHER_TYPE, NULL, NULL, NULL) != 1)
        return -1;
EVP_CIPHER_CTX_ctrl(ctx_encrypt, EVP_CTRL_CCM_SET_TAG, 16, NULL);
if(EVP_EncryptInit_ex(ctx_encrypt, NULL, NULL, key, iv) != 1)
         return -1;
if(EVP_EncryptUpdate(ctx_encrypt, NULL, &bytes, NULL, inlen) != 1)
         return -1;
if(EVP_EncryptUpdate(ctx_encrypt, NULL, &bytes, aad, aadl) != 1)
         return -1;
if(EVP_EncryptUpdate(ctx_encrypt, encryptedbuf, &bytes, in, inlen) != 1)
         return -1;
encryptlength = bytes;
if(EVP_EncryptFinal_ex(ctx_encrypt, encryptedbuf + bytes, &fin) != 1)
         return -1;
encryptlength+=fin;
if(EVP_CIPHER_CTX_ctrl(ctx_encrypt, EVP_CTRL_CCM_GET_TAG, 16, tag) !=1)
         return -1;

При компиляции я получил: *

предупреждение: неявное объявление функции 'EVP_aria_256_ccm';Вы имели в виду «EVP_aes_256_ccm»?[-Понятная-декларация-функции] const EVP_CIPHER * CIPHER_TYPE_ARIA = EVP_aria_256_ccm ();^ ~~~~~~~~~~~~~~~ EVP_aes_256_ccm test.c: 33: 38: предупреждение: инициализация делает указатель из целого числа без приведения [-Wint-преобразование] / usr / lib64 / gcc / x86_64-suse-linux / 7 /../../../../ x86_64-suse-linux / bin / ld: /tmp/ccQ0coOE.o: в функции main': test.c:(.text+0x1a): undefined reference to EVP_aria_256_ccm '

* На моем лабораторном компьютере работает OpenSSL 1.1.0i-fips 14 августа 2018 .Можно ли как-нибудь использовать EVP_aria?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...