AES五种加密模式(CBC、ECB、CTR、OCF、CFB)

摘要:
AES密钥长度最少是128位,推荐使用256位以下逐一介绍一下:1.电码本模式(ElectronicCodebookBook(ECB)这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。CTR的示意图如下所示:4.密码反馈模式这种模式较复杂。

                          --转载https://www.cnblogs.com/starwolf/p/3365834.html https://www.freebuf.com/column/171939.html 分组密码有五种工作体制:1.电码本模式(ElectronicCodebookBook(ECB));2.密码分组链接模式(CipherBlockChaining(CBC));3.计算器模式(Counter(CTR));4.密码反馈模式(CipherFeedBack(CFB));5.输出反馈模式(OutputFeedBack(OFB))。

AES弱加密

风险详情:在AES加密时,使用了“AES/ECB/NoPadding”或“AES/ECB/PKCS5padding”的模式

危害情况:ECB是将文件分块后对文件块做同一加密,破解加密只需要针对一个文件块进行解密,降低了破解难度和文件安全性

修复建议:禁止使用AES加密的ECB模式,显式指定加密算法为:CBC或CFB模式,可带上PKCS5Padding填充。AES密钥长度最少是128位,推荐使用256位

以下逐一介绍一下:
1.电码本模式(ElectronicCodebookBook(ECB)
这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密。
AES五种加密模式(CBC、ECB、CTR、OCF、CFB)第1张
2.密码分组链接模式(CipherBlockChaining(CBC))
这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。
AES五种加密模式(CBC、ECB、CTR、OCF、CFB)第2张
3.计算器模式(Counter(CTR))
计算器模式不常见,在CTR模式中,有一个自增的算子,这个算子用密钥加密之后的输出和明文异或的结果得到密文,相当于一次一密。这种加密方式简单快速,安全可靠,而且可以并行加密,但是在计算器不能维持很长的情况下,密钥只能使用一次。CTR的示意图如下所示:
AES五种加密模式(CBC、ECB、CTR、OCF、CFB)第3张
4.密码反馈模式(CipherFeedBack(CFB))
这种模式较复杂。
AES五种加密模式(CBC、ECB、CTR、OCF、CFB)第4张
5.输出反馈模式(OutputFeedBack(OFB))
这种模式较复杂。
AES五种加密模式(CBC、ECB、CTR、OCF、CFB)第5张

免责声明:文章转载自《AES五种加密模式(CBC、ECB、CTR、OCF、CFB)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java异常处理008:RestTemplate请求Could not extract response: no suitable HttpMessageConverter found for response type.... content type [text/html;charset=UTF-8]异常TCP连接的状态详解以及故障排查下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pycryto模块的终极安装方式

安装环境:windows7,64位 Python版本3.4.3 今天费了好久的功夫,也是没有认真弄,终于安装好了,pycryto模块,这个模块是干什么的呢,百度粘贴如下 高级加密标准(Advanced Encryption Standard,AES),是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过...

R绘图 第七篇:绘制条形图(ggplot2)

使用geom_bar()函数绘制条形图,条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_bar()函数中有两个有效值:count和identity。默认情况下,stat="count",这意味着每个条的高度等于每组中的数据的个数,并且,它与映射到y的...

安卓AES加密

一:什么是AES加密 AES高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。 这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。 AES 是一个迭代的、对称密钥分组的密码,AES算法加密强度大,执行效率高,使用简单,实...

JAVA Aes加解密详解

上篇随笔留了一个问题,两种加密结果不一样? 其实是内部实现方式不一样,具体见注释 1 /** 2 * 提供密钥和向量进行加密 3 * 4 * @paramsSrc 5 * @paramkey 6 * @paramiv 7 * @return 8 * @throwsException 9 */ 10 public static Strin...

关于aes加密

aes加密有几种模式:CBC,AES-128bit, Pkcs7补码方式(后台有可能是PKCS5Padding,是一样的),安卓和ios的key密钥对长度没有要求,但是前端web的密钥和偏移量必须是16位的,才能与java后台对上,前端代码如下 //aes加密 function encrypt(word) { var key = CryptoJ...

使用 openssl 生成证书

转自:http://www.cnblogs.com/littleatp/p/5878763.html使用 openssl 生成证书  一、openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。官网:https://www.openssl.org/sourc...