赞
踩
ECB模式
CBC模式
分组密码还有一种模式叫CTS模式(Cipher Text Stealing Mode),在分组密码中,当明文长度不能被分组长度整除时,最后一个分组就需要进行填充。CTS模式使用最后一个分组的前一个密文分组数据进行填充,根据最后一个分组的发送顺序不同,CTS模式有几种不同的变体,CBC-CS1、CBC-CS2、CBC-CS3;下图演示为CBC-CS3。
CFB模式
OFB模式
CTR模式
前8字节为nonce,每次加密时都不一样,后8字节为分组序号,这部分是累加的。
GCM模式(基于CTR)和CCM(CBC Counter Mode)
在CTR模式生成密文的同时生成用于认证的信息。GCM的缺点在于计算量大,导致性能和电量开销比较大,因此使用GCM最好使用硬件支持,基于硬件的GCM,性能还是明显优于chacha20。
以默认的ECB模式为例:
AES/ECB为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。在AES标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位或256位。密钥的长度不同,推荐加密轮数也不同;AES的加密公式为C = E(K,P),在加密函数E中,会执行一个轮函数,并且执行10次这个轮函数,每轮的轮密钥也不一样,这个轮函数的前9次执行的操作是一样的,只有第10次有所不同。也就是说,一个明文分组会被加密10轮
加密过程:
SM4是中国无线局域网国家标准中使用的一种对称加密算法,128bit块加密;
其他详细见《Performance Evaluation and Comparison of Standard Cryptographic Algorithms and Chinese Cryptographic Algorithms》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。