сбой шифрования openssl CRYPTO_gcm128_decrypt

#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.

Очень признателен, если кто-нибудь сможет мне помочь~