參考鏈接
- Linux加密框架中的算法和算法模式(三)_家有一希的博客-CSDN博客
對稱算法? 14
- ?如上所示,在arc4.c中定義了兩個與RC4算法相關的算法實現,分別為arc4和ecb(arc4),其中arc4是RC算法的算法實現,而ecb(arc4)是RC算法ECB模式的算法實現,在加密框架中,將arc4稱為基礎算法,ecb(arc4)稱為衍生算法。
- 就RC4算法而言,arc4和ecb(arc4)是等價的,但在加密框架中,算法應用(如IPSEC)不能通過arc4訪問RC4算法,只能通過ecb(arc4)訪問RC4算法,也就是說arc4是面向加密框架的,而ecb(arc4)是面向算法應用的。
由于加密框架中對稱密碼算法絕大部分都是分組算法,因此后續章節內容中將以分組算法代指對稱密碼算法。
哈希算法 13
算法模式匯總?
- 加密框架中將算法模式抽象為算法模板(template),加密框架中包括13個算法模式(算法模板)源碼文件,如下所示
?補充說明
- 在密碼學上,密碼算法的工作模式很有限,如哈希算法只有hash計算一種模式,分組算法只有加密和解密兩種模式。
- 在實際應用中,密碼算法一般是和算法模式配合使用的,以分組算法為例,在實際應用中基本上不會直接使用基本工作模式的加密或解密接口,絕大部分情況下使用的是某種算法模式的加密或解密接口。
- 算法模式不是針對某個特定密碼算法的,而是適用于某一類型的密碼算法,如HMAC模式適用于所有哈希算法,CBC模式適用于所有分組算法。
- 在加密框架中,將使用特定算法模式的算法也認為是一種新的算法,新算法的命名規則為:算法模板名(基礎算法,…),其中基礎算法可以有多個。如將使用HMAC模式的MD5算法,定義為名為“hmac(md5)”的新算法,這些新算法也可以稱為創建其他算個發的基礎算法,如名為“authenc(hmac(md5),cbc(aes))的算法的基礎算法為hmac(md5)和cbc(aes)本身也是由算法模板創建的算法。
- 在加密框架中,將不帶算法模式的算法稱為基礎算法,如md5和aes,這些算法是靜態定義、編譯到加密框架中的,因此也稱為靜態算法;將帶算法模式的算法稱為衍生算法,如hmac(md5)和cbc(aes),這些算法是動態創建的,因此也稱為動態算法。
參考鏈接
- 密碼學專題 密鑰生成|分組加密的模式 ECB|CBC|CFB|OFB_CHYabc123456hh的博客-CSDN博客_ecb模式和cbc模式
- 常見對稱加密算法與工作模式簡介_農家小舍-CSDN博客_常見對稱加密算法