#encryption #openssl
Вопрос:
Для GCM as существуют некоторые API , не основанные на EVP CRYPTO_gcm128*
, которые могли бы помочь мне разобраться с шифром AES128-GCM. Играя с API, я обнаружил, что шифрование в порядке, но не дешифрование.
Чтобы воспроизвести проблему, я сделал примерный проект как мастеринг-openssl. Просто клонируйте репозиторий, перейдите в корневой каталог проекта и запустите
#!/bin/bash
set -e
buildDir=$PWD/build
opensslDir=$PWD/third-party/openssl
cd $buildDir
cmake -DCMAKE_BUILD_TYPE=Release ..
make
echo ""
echo "--- AEAD ---"
$buildDir/crypto/aead/AEAD-aes_gcm
$buildDir/crypto/aead/AEAD-aes_gcm_v2
Он сообщит об ошибке на шаге CRYPTO_gcm128_finish во время расшифровки. Полный пример кода выглядит как crypto/aead/aes_gcm_v2.cc.
Очень признателен, если кто-нибудь сможет мне помочь~