競合のため、CryptLib を OpenSSL に移行する必要があります。
以下の形式で示すように、必要な違いのいくつかを見つけました (と思います)。cryptlib_function => openssl_function
aes_encrypt_key256() => AES_set_encrypt_key();
derive_key() => PKCS5_PBKDF2_HMAC_SHA1();
よくわからないのは次のとおりです。
aes_mode_reset() => ???????
aes_ctr_crypt() => ????
cryptlib のメモには、次のように記載されています。
/* ... To reset CFB, OFB and CTR */
/* without setting the key, aes_mode_reset() must be called and the */
/* IV must be set. ... */
aes_ctr を探していると、aAES_ctr128_encrypt
と aes_ctr_cipher が隠されているのがわかりますが、それらが一致するかどうかはわかりません。128 では、おそらく openssl は aes128 に限定されており、必要な aes256 をサポートしていないのではないかと考えています。つまり、openssl の部分を cryptlib に移行することになると思います。
いずれにせよ、モードをリセットする方法は何でしょうか (再度呼び出す前に IV をクリアするだけですか?)。ありがとう!!