网站首页 > 编程文章 正文
在密码学中,block(分组)密码的工作模式被广泛使用,使用同一个分组密码密钥对很多称之为块的数据加密,在优于很多诸如RSA、ECC密码的性能的情况下,也不失为一种安全的加密算法。
其中,AES加密标准又称为高级加密标准,是在密码学中占据重要位置的安全的加密算法之一,在密码学中也可称为Rijindael加密法。Rijndael是由比利时密码学家设计的分组密码算法,于2000年被选为新一代的标准密码算法——AES。
首先,AES是美国国家标准技术研究所NIST发布的,旨在取代DES的21世纪的加密标准。如今,AES俨然已经成为对称密钥中最流行的算法之一。而AES高级加密标准大致经历这几个时间段的发展:
1998年,NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法;
1999年3月,完成了第二轮AES2的分析、测试;
2000年10月2日,美国政府正式宣布选中比利时密码学家Joan Daemen和Vincent Rijmen提出的一种密码算法Rijndael作为AES的加密算法。
2001年11月26日,AES发布于FIPS PUB 197(《Federal InformationProcessing Standards Publication 197》文件);
2002年5月26日,AES正式成为有效的标准。
AES的基本要求是,采用对称分组密码体制,密钥长度可以为128、192或256位,分组长度128位,算法应易在各种硬件和软件上实现。
另外,AES加密数据块和密钥长度可以是128b、192b、256b中的任意一个。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(Key Expansion);2、初始轮(InitialRound);3、重复轮(Rounds),每一重复轮又包括字节间减法运算(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)、轮密钥加法运算(AddRoundKey)等操作;4、最终轮(Final Round),最终轮没有列混合操作(MixColumns)。
当然了,AES的整体架构也可以这样理解:AES加密体制由多轮加密构成,除了结尾的一轮,其他轮都是由四个步骤组成——字节代替、行移位、列混淆、轮密钥加。而最后一轮仅包括字节代替、行移位、轮密钥加这三步。AES迭代的轮数与密钥的长度相关,16字节的密钥对应着迭代10轮,24字节的密钥对应着迭代12轮,32字节的密钥对应着迭代14轮。在开始所有轮迭代之前,需要进行一次初始变换——一次轮密钥加,这一步往往被称为第0轮。
虽然AES没有采用Feistel密码体制,与加解密结构完全相同的DES相比,有着不同的加解密结构,但是AES每一个步骤都是可逆的,因此只要把AES加密中的每一步换成其逆变换,即可得到AES解密算法。值得一提的是,AES解密算法也是先进行第0轮,而且最后一轮也是只有三步。在解密算法中,需要倒着顺序使用轮密钥。
与此同时,AES加密算法的三个核心元素分别是密钥、填充、模式,而AES加密算法的实现就需要这三者并用:
私钥是实现AES加密和解密的根本,AES支持三种长度的密钥——128位、192位、256位,其中AES 256安全性最高,AES128性能最高,由于加密处理的复杂度不同,私钥越长,加密处理的循环数越多;
需要填充是因为AES加密是组加密,即,不是直接将明文全部统一加密,而是对明文进行分组,分割为一个个独立的明文块(各明文块的长度为128b),然后对各明文块独立地进行加密,形成不同的密文块,最后将这些明文块进行分组;由于AES明文块分割的长度固定为128b,因此如果长度小于128b或超过128b的明文不是其倍数,则无法将明文分割成长度为128b的等长明文块。在这种情况下,需要填充明文块以补充到128位;
AES的工作模式出现在将明文块加密为明文块的过程中,AES加密算法提供5种不同的工作模式:ECB电码本模式(Electronic Codebook Book)、CBC密码分组链接模式(Cipher Block Chaining)、CTR计算器模式(Counter)、CFB密码反馈模式(Cipher FeedBack)、OFB输出反馈模式(Output FeedBack).
当前,AES 加密的数据在某种意义上是安全的,因为没有已知的密码分析攻击可以解密AES密文,除非强行遍历搜索所有可能的256位密钥。
猜你喜欢
- 2025-03-24 这些从未见过的 Java 代码优化技巧!!!
- 2025-03-24 学习HackerOne上Flink、Grafana、jolokia攻击手法
- 2025-03-24 AES加密有什么用,AES加密算法安全性如何
- 2025-03-24 【推荐】一款开源免费、功能齐全的100+ MacOS 离线开发者工具箱
你 发表评论:
欢迎- 最近发表
-
- 90岁老人科目三一把过火爆网络!考驾照、爱美甲……这群“90后”比年轻人潮
- DNF:遗忘之地任务流程,适用于新手起小号,装备修理白漂
- dnf手游:“首款流拍宝珠”,6位玩家眼睁睁看着500万泰拉丢失!
- dnf手游:小熊卡正式升级!可附魔到工会勋章,千万别卖!
- dnf手游:首张“涨抗魔”粉卡火了!以前3万没人要现在准备断货!
- dnf手游:团本币增加!3月26号打团有坑提前避开,浪费门票?
- dnf手游:涨价20倍!曾经没人要的,如今已是妥妥的T0材料!
- dnf手游:“官方鼓励回归”火了,白送玩家+20装备和王子卡等!
- dnf手游:无根之源千万别用!竞拍系统一定要抢否则错过崛起机会
- dnf手游:DNF手游各职业技能加点攻略、装备推荐!小白一看就会
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)