Java 加密解密之对称加密算法AES |
您所在的位置:网站首页 › aes加密是对称加密吗 › Java 加密解密之对称加密算法AES |
Java 加密解密之对称加密算法 AES
本文转自网络
密码学中的高级加密标准 ( Advanced Encryption Standard , AES ) , 又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES , 已经被多方分析且广为全世界所使用。 经过五年的甄选流程, 高级加密标 准由美国国家标准与技术研究院 ( NIST ) 于 2001 年 11 月 26 日发布于 FIPS PUB 197 ,并在 2002 年 5 月 26 日成为有效的标准。 2006 年,高级加密标准已然成 为对称密钥加密中最流行的算法之一。该算法为比利时密码学家 Joan Daemen 和 Vincent Rijmen 所设计,结合两位作者的名字,以 Rijndael 之命名之,投稿 高级加密标准的甄选流程。( Rijdael 的发音近于
"Rhinedoll" 。)
AES 是美国国家标准技术研究所 NIST 旨在取代 DES 的 21 世纪的加密标准。
AES 的基本要求是, 采用对称分组密码体制, 密钥长度的最少支持为 128 、 192 、 256 ,分组长度 128 位,算法应易于各种硬件和软件实现。 1998 年 NIST 开始 AES 第一轮分析、测试和征集,共产生了 15 个候选算法。 1999 年 3 月完成了 第二轮 AES2 的分析、测试。 2000 年 10 月 2 日美国政府正式宣布选中比利时 密码学家 Joan Daemen 和
Vincent Rijmen 提出的一种密码算法 RIJNDAEL 作 为
AES.
在应用方面,尽管 DES 在安全上是脆弱的,但由于快速 DES 芯 片的大量生产,使得 DES 仍能暂时继续使用,为提高安全强度,通常使用独立 密钥的三级 DES 。但是 DES 迟早要被 AES 代替。流密码体制较之分组密码在 理论上成熟且安全,但未被列入下一代加密标准。
AES 加密数据块和密钥长度可以是 128 比特、 192 比特、 256 比特中的任意一 个。
AES 加密有很多轮的重复和变换。大致步骤如下:
1 、密钥扩展( KeyExpansion ),
2 、初始轮( Initial Round ),
3 、重复轮( Rounds ),每一轮又包括: SubBytes 、 ShiftRows 、 MixColumns 、 AddRoundKey ,
4 、最终轮( Final Round ),最终轮没有 MixColumns 。
JDK 对 DESede 算法的支持
密钥长度: 128 位
工作模式: ECB/CBC/PCBC/CTR/CTS/CFB/CFB8 to CFB128/OFB/OBF8 to OFB128 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |