1

我正在使用 AES-GCM 来解密一些数据。我有一些额外的认证数据(AAD)、认证标签和实际的加密数据。

我需要做的是在实际解密之前验证 AAD 和加密数据。

我知道EVP_DecryptFinal_ex如果数据未通过身份验证,OpenSSL 的函数将返回 0,但似乎没有一种方法可以在不实际解密数据的情况下验证数据。

我需要这样做的原因是我的加密数据可能非常大,所以我想一次只使用EVP_DecryptUpdate. 但是,这样做会提供我无法确定是否真实的数据。

我需要做的是对所有 AAD 和加密数据进行身份验证,然后EVP_DecryptUpdate一次用于解密它的一部分。我可以一次解密所有数据以对其进行身份验证,尽管这会给我的应用程序增加额外的计算时间,这是我想避免的。

4

0 回答 0