一般的加密通常都是塊加密,如果要加密超過塊大小的數據,就需要涉及填充和鏈加密模式,文中提到的ECB和CBC等就是指鏈加密模式。在C#組件中實現的很多算法和Java都不太兼容,至少我發現RSA和AES/ECB是如此。研究了AES/ECB時發現了這篇文檔,圖還畫的不錯,先記下。注意,還缺一種CTR的模式。
對稱加密和分組加密中的四種模式(ECB、CBC、CFB、OFB)
一. AES對稱加密:
AES加密
分組
二. 分組密碼的填充
分組密碼的填充
e.g.:
PKCS#5填充方式
PKCS#5填充方式
三. 流密碼:
四. 分組密碼加密中的四種模式:
3.1 ECB模式
優點:
1.簡單;
2.有利於並行計算;
3.誤差不會被傳送;
缺點:
1.不能隱藏明文的模式;
2.可能對明文進行主動攻擊;
3.2 CBC模式:
優點:
1.不容易主動攻擊,安全性好於ECB,適合傳輸長度長的報文,是SSL、IPSec的標準。
缺點:
1.不利於並行計算;
2.誤差傳遞;
3.需要初始化向量IV
3.3 CFB模式:
優點:
1.隱藏了明文模式;
2.分組密碼轉化為流模式;
3.可以及時加密傳送小於分組的數據;
缺點:
1.不利於並行計算;
2.誤差傳送:一個明文單元損壞影響多個單元;
3.唯一的IV;
3.4 OFB模式:
優點:
1.隱藏了明文模式;
2.分組密碼轉化為流模式;
3.可以及時加密傳送小於分組的數據;
缺點:
1.不利於並行計算;
2.對明文的主動攻擊是可能的;
3.誤差傳送:一個明文單元損壞影響多個單元;
FingerQ平台提供獨特的指紋加密(加密堡)聊天功能,您可以使用此PrivacQ設備中的應用軟件FingerQ Chat功能可對圖片,檔案和信息進行加密,安全與想要的人分享任何資訊。
回覆刪除http://www.fingerq.com/FQCA/fingerqchat.php?target=fped&lang=zh_TC