aes加密类型
严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:
AES的区块长度固定为128位,密钥长度则可以是128,192或256位;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256位为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。
(1)aes加密类型扩展阅读
AES加密模式
对称/分组密码一般分为流加密(如OFB、CFB等)和块加密(如ECB、CBC等)。对于流加密,需要将分组密码转化为流模式工作。对于块加密(或称分组加密),如果要加密超过块大小的数据,就需要涉及填充和链加密模式。
优点:1、简单;
2、有利于并行计算;
3、误差不会被传送;
缺点:
1、不能隐藏明文的模式;
2、可能对明文进行主动攻击;
3、因此,此模式适于加密小消息。
‘贰’ aes是什么意思
aes的意思是:
1、密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
2、原子发射光谱原子发射光谱法(Atomic Emission Spectrometry,简称AES),是利用物质在热激发或电激发下,不同元素的原子或离子发射特征光谱的差别来判断物质的组成,并进而进行元素的定性与定量分析的方法。
AES加密
AES加密过程又包括一个作为初始轮的初始密钥加法(AddRoundKey),接着进行9次轮变换(Round),最后再使用一个轮变换(FinalRound),如图2.1 AES算法加密实现过程所示。
每一次Round均由SubBytes,ShiftRows,MixColumns和AddRoundKey共4个步骤构成,FinalRound包含除MixColumns这一步外的其他3个步骤。轮变换及其每一步均作用在中间结果上,将该中间结果称为状态,可以形象地表示为一个4*4 B的矩阵。
‘叁’ 加密类型aes是什么意思
1、TKIP: Temporal Key Integrity Protocol(暂时密钥集成协议)负责处理无线安全问题的加密部分,TKIP是包裹在已有WEP密码外围的一层“外壳”, 这种加密方式在尽可能使用WEP算法的同时消除了已知的WEP缺点
2、AES:Advanced Encryption Standard(高级加密标准),是美国国家标准与技术研究所用于加密电子数据的规范,该算法汇聚了设计简单、密钥安装快、需要的内存空间少、在所有的平台上运行良好、支持并行处理并且可以抵抗所有已知攻击等优点。 AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。
总而言之AES提供了比 TKIP更加高级的加密技术, 现在无线路由器都提供了这2种算法,不过比较倾向于AES。TKIP安全性不如AES,而且在使用TKIP算法时路由器的吞吐量会下降3成至5成,大大地影响了路由器的性能。
‘肆’ 对称加密算法AES
AES(Advanced Encryption Standard),高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准简握仿的一个实现是 Rijndael 算法;
AES加密算法是密码学中的高级加密标准拦纤,该加密算法采用对称分组密码体制,密钥长度的最少支持为皮洞128、192、256,分组长度128位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
它适用于敏感内容进行加密传输,防止被窃取。
‘伍’ 什么是AES算法
加密算法分为单向加密和双向加密。
单向加密 包括 MD5 , SHA 等摘要算法。单向加密算法是不可逆的,也就是无法将加密后的数据恢复成原始数据,除非采取碰撞攻击和穷举的方式。像是银行账户密码的存储,一般采用的就是单向加密的方式。
双向加密 是可逆的,存在密文的密钥,持有密文的一方可以根据密钥解密得到原始明文,一般用于发送方和接收方都能通过密钥获取明文的情况。双向加密包括对称加密和非对称加密。对称加密包括 DES 加密, AES 加密等,非对称加密包括 RSA 加密, ECC 加密。
AES 算法全称 Advanced Encryption Standard ,是 DES 算法的替代者,也是当今最流行的对称加密算法之一。
要想学习AES算法,首先要弄清楚三个基本的概念:密钥、填充、模式。
密钥是 AES 算法实现加密和解密的根本。对称加密算法之所以对称,是因为这类算法对明文的加密和解密需要使用同一个密钥。
AES支持三种长度的密钥:
128位,192位,256位
平时大家所说的AES128,AES192,AES256,实际上就是指的AES算法对不同长度密钥的使用。从安全性来看,AES256安全性最高。从性能来看,AES128性能最高。本质原因是它们的加密处理轮数不同。
要想了解填充的概念,我们先要了解AES的分组加密特性。AES算法在对明文加密的时候,并不是把整个明文一股脑加密成一整段密文,而是把明文拆分成一个个独立的明文块,每一个明文块长度128bit。
这些明文块经过AES加密器的复杂处理,生成一个个独立的密文块,这些密文块拼接在一起,就是最终的AES加密结果。
但是这里涉及到一个问题:
假如一段明文长度是192bit,如果按每128bit一个明文块来拆分的话,第二个明文块只有64bit,不足128bit。这时候怎么办呢?就需要对明文块进行填充(Padding)。AES在不同的语言实现中有许多不同的填充算法,我们只举出集中典型的填充来介绍一下。
不做任何填充,但是要求明文必须是16字节的整数倍。
如果明文块少于16个字节(128bit),在明文块末尾补足相应数量的字符,且每个字节的值等于缺少的字符数。
比如明文:{1,2,3,4,5,a,b,c,d,e},缺少6个字节,则补全为{1,2,3,4,5,a,b,c,d,e,6,6,6,6,6,6}
如果明文块少于16个字节(128bit),在明文块末尾补足相应数量的字节,最后一个字符值等于缺少的字符数,其他字符填充随机数。
比如明文:{1,2,3,4,5,a,b,c,d,e},缺少6个字节,则可能补全为{1,2,3,4,5,a,b,c,d,e,5,c,3,G,$,6}
需要注意的是,如果在AES加密的时候使用了某一种填充方式,解密的时候也必须采用同样的填充方式。
AES的工作模式,体现在把明文块加密成密文块的处理过程中。AES加密算法提供了五种不同的工作模式:
ECB、CBC、CTR、CFB、OFB
模式之间的主题思想是近似的,在处理细节上有一些差别。我们这一期只介绍各个模式的基本定义。
电码本模式 Electronic Codebook Book
密码分组链接模式 CipherBlock Chaining
计算器模式 Counter
密码反馈模式 CipherFeedBack
输出反馈模式 OutputFeedBack
如果在AES加密的时候使用了某一种工作模式,解密的时候也必须采用同样的工作模式。
AES加密主要包括两个步骤: 密钥扩展 和 明文加密 。
密钥扩展过程说明(密钥为16字节):
函数g的流程说明:
轮常量(Rcon)是一个字,最右边三个字节总为0。因此字与Rcon相异或,其结果只是与该字最左的那个字节相异或。每轮的轮常量不同,定位为Rcon[j] = (RC[j], 0, 0, 0)。(RC是一维数组)
RC生成函数:RC[1] = 1, RC[j] = 2 * RC[j – 1]。
因为16字节密钥的只进行10轮的扩展,所以最后生成的RC[j]的值按16进制表示为:
十轮的密钥扩展后,就能生成44个字大小的扩展密钥。扩展后的密钥将用于AES对明文的加密过程。
S盒是16×16个字节组成的矩阵,行列的索引值分别从0开始,到十六进制的F结束,每个字节的范围为(00-FF)。
进行字节代替的时候,把状态中的每个字节分为高4位和低4位。高4位作为行值,低4位作为列值,以这些行列值作为索引从S盒的对应位置取出元素作为输出,如下图所示:
S盒的构造方式如下:
(1) 按字节值得升序逐行初始化S盒。在行y列x的字节值是{yx}。
(2) 把S盒中的每个字节映射为它在有限域GF中的逆;{00}映射为它自身{00}。
(3) 把S盒中的每个字节的8个构成位记为(b7, b6, b5, b4, b3, b2, b1)。对S盒的每个字节的每个位做如下的变换:
ci指的是值为{63}的字节c的第i位。
解密过程逆字节代替使用的是逆S盒,构造方式为
字节d={05}。
逆向行移位将状态中后三行执行相反方向的移位操作,如第二行向右循环移动一个字节,其他行类似。
要注意,图示的矩阵的乘法和加法都是定义在GF(2^8)上的。
逆向列混淆原理如下:
轮密钥加后的分组再进行一次轮密钥加就能恢复原值.所以,只要经过密钥扩展和明文加密,就能将明文加密成密文,进行解密的时候,只需要进行逆向变换即可。
图[AES加密算法的流程]中还需要注意,明文输入到输入状态后,需要进行一轮的轮密钥加,对输入状态进行初始化。 前9轮的加密过程,都需要进行字节替代、行移位、列混淆和轮密钥加,但是第10轮则不再需要进行列混淆。
进行解密的时候,需要进行逆向字节替代,逆向行移位、逆向列混淆和轮密钥加。