AES算法概述

一、AES 概述

在这里插入图片描述

二、AES 加密算法的特点

AES加密的数据块长度为128(16字节),长度不足需要填充。密码长度可以为16,24,32字节。

三、秘钥类型

AES加密按秘钥的长度分为128位(比特)、192位和256位,一般记为AES-128、AES-192和AES-256。一般简短数据采用AES-128,也就是秘钥是16字节,少部分采用AES-256。

四、填充方式

待加密的明文以16字节分组进行加密,如果数据字节长度不是16的倍数,最后的一组则需要在有效数据后面进行填充,使得数据长度变为16字节。
AES填充方式分为NoPadding、PKCS5(PKCS7)、ISO10126、Zeros。

  • NoPadding:不填充,那就只能加密长度为16倍数的数据,一般不使用
  • Zeros:补0,如果原数据长度恰好是16的倍数,也要补16个0
  • ISO10126: 最后一个字节是填充的字节数(包括最后一字节),其他全部填随机数
  1. ISO10126
    .
    1 2 3 4 5 6 7 8 9 10 – x x x x x 6 //填充6个字节

  2. PKCS5(PKCS7):应用比较多,最后一组缺几个字节就填充几

    1 2 3 4 5 6 7 8 9 10 – 6 6 6 6 6 6
    前面10个字节,缺6字节才能为一组,填充6个6,如果恰好是16个字节,则填充16个16.

五、加密方式

加密方式分为五种:电码本模式(Electronic Codebook Book (ECB))、密码分组链接模式(Cipher Block Chaining (CBC))、计算器模式(Counter (CTR))、密码反馈模式(Cipher FeedBack (CFB))、输出反馈模式(Output FeedBack (OFB))。实际应用比较多的是ECB和CBC。

ECB:将明文按16字节分组,每组分别加密后拼接。
在这里插入图片描述
CBC:上面ECB缺点是明文内相同的明文块,最终的密文也是相同的,为了更好的隐藏明文信息,针对这个问题就有了CBC模式,每一小段明文先与初始块向量或者上一段的密文段进行异或运算后,再与密钥进行加密。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸福在路上wellbeing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值