AES加密 - 大文件

时间:2011-04-12 11:09:00

标签: c encryption openssl aes

我在128/192/256 cbc模式下使用C语言的OpenSSL EVP接口进行AES加密。 我在stackoverflow中找到了一个很好的例子,我已经开始编程了。

我想知道的是:

  1. 加密时使用的默认填充是什么?
  2. 如果我有大量数据会怎样?我必须编码将其划分为128位数据块吗?或者EVP界面会处理它吗?
  3. 128位,192位和256位cbc模式的IV大小应该是什么(其中只有密钥长度分别为128,192,256,块大小始终为128)
  4. 感谢

2 个答案:

答案 0 :(得分:0)

  1. 加密没有默认填充。有几种填充方案。对于EVP,有一个加密的最终方法,它采用不完整的块并添加填充(默认PKCS填充)并加密它。

  2. 执行副总裁将负责处理。

  3. 使用CBC模式时IV矢量的大小与块大小相同。

答案 1 :(得分:0)

您可以使用EVP_CIPHER_iv_length()来确定密码的IV大小,例如EVP_CIPHER_iv_length(EVP_aes_128_cbc())