在openssl AES_cbc_encrypt中填充

时间:2016-08-12 21:40:14

标签: c encryption openssl cryptography aes

我正在寻找AES的实现,我读到OPENSSL有最好的实现,所以我从openssl获取代码,aes 128 cbc,并在我的项目中使用它,因为我不想链接整个库为了一种方法。但是,似乎没有填充实现:

AES_cbc_encrypt

那么填充基本上是为了使数据具有密钥大小的多样性而添加的大小?

所以,如果我有以下,密钥大小是128位 - 16字节

char dataToEncrypt[73];

BOOL bResult = ReadFile(hDataFile, dataToEncrypt, 73, &bRead, 0);

我需要计算我需要添加多少零:

所以如果:73 % 16 != 0 我需要计算:73 / 16 = 4, 然后添加一个块:4 + 1 = 5,字节大小为16 * 5 = 80, 将80 - 73 = 77零字节添加到缓冲区dataToEncrypt的末尾,并加密为

AES_cbc_encrypt(dataToEncrypt, encrypted, 80, &dk, iv, AES_DECRYPT);

这是什么样的evp版本的假设?

0 个答案:

没有答案