ChaCha20 без аутентификации в libsodium или OpenSSL - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь использовать ChaCha20 без какой-либо аутентификации. Я не думаю, что смогу сделать это в libsodium https://download.libsodium.org/doc/secret-key_cryptography/original_chacha20-poly1305_construction.html

Я посмотрел API OpenSSL https://github.com/openssl/openssl/blob/master/crypto/include/internal/chacha.h и это, кажется, позволяет это без какой-либо аутентификации. Однако функции шифрования и дешифрования не существует, только

void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
                    size_t len, const unsigned int key[8],
                    const unsigned int counter[4]);

Я не уверен, что это делает, шифрует или дешифрует?

1 Ответ

0 голосов
/ 30 апреля 2018

Файл заголовка OpenSSL, на который вы указываете, является внутренним файлом заголовка и не является частью общедоступного API. Вам нужно использовать API-интерфейс EVP, использующий шифр EVP_chacha20 ().

См. Эту страницу руководства для различных функций: https://www.openssl.org/docs/man1.1.0/crypto/EVP_EncryptInit_ex.html

Здесь приведен пример кода: https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption

...