科普 | 现代密码学之对称加密
本文仅作技术分享,请勿用于非法用途
什么是对称加密(Symmetric-Key Cryptography)?
对称加密是采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
对于明文plaintext,和对称秘钥key
加密过程 E(plaintext, key) = ciphertext
解密过程 D(ciphertext, key) = plaintext
对称加密算法
对称加密的分为分组密码(block cipher)和流密码(stream cipher)两种类型。本文只介绍分组密码。
分组密码
对称加密的分为分组密码(block cipher)和流密码(stream cipher)两种类型。本文只介绍分组密码。
分组密码是每次只能处理特定长度的一块(block)数据的一类加解密算法。AES就是一种分组密码算法。AES加密算法每次可以加密的块长度是128位(bit)。
分组密码的模式
ECB模式
ECB模式重要特征是:一段消息若有相同的明文分组,则秘文中也将出现相同的秘文分组;每个分组独立且前后文无关,直接增加或删除一个分组不影响其它分组解密过程的正确性。
ECB模式只适合加密较少的数据,比如秘钥,对于长的消息ECB可能不安全,攻击者可以重排或者替换秘文块进行攻击。
CBC模式
CBC模式加密算法的输入是上一个秘文的下一个明文组的异或“⊕”。
CBC模式加密结果与前文相关,有利于提高加密结果的随机性。一般情况下长消息加密可采用CBC。
其他分组密码算法
查看更多精彩内容