程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> aes256 padding-openssl aes_256_cbc加解密的問題。

aes256 padding-openssl aes_256_cbc加解密的問題。

編輯:編程綜合問答
openssl aes_256_cbc加解密的問題。

小弟這裡有一個程序,使用的是openssl的庫函數。
使用的解密關鍵函數是這樣:

 EVP_DecryptInit(&ctx, aes_256_cbc, key, iv);

 EVP_DecryptUpdate(&ctx, masterkey, &masterkey_len1, encrypted_masterkey, encrypted_masterkey_len);

 EVP_DecryptFinal(&ctx, masterkey + masterkey_len1, &masterkey_len2);

其中key長度為32字節,iv長度為16字節。
masterkey_len1 為32字節,encrypted_masterkey_len 為48字節。

這裡我就有些不懂了,為什麼加密後的長度為48字節,與加密前的不太一樣。
iv長度為16字節,我是否可以理解成明文長度分組應該是16字節?
但是如果這裡不是16字節,也就是明文分組進行了padding,變成了24字節。那麼就有新問題,iv是16字節,如何與padding後24字節的分組進行的異或運算?

所以我對此有些不解。大致的問題分為以下3個方面:
1、openssl中aes_256_cbc的明文分組長度是多少?
2、是否進行了padding?padding的模式是哪一種?
3、為何加密長度大於了原本明文長度,也就是解密出來的明文為何會小於密文長度?

最佳回答:


參考:http://blog.csdn.net/yasi_xi/article/details/13997337
http://blog.csdn.net/chary8088/article/details/21124495

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved