Java 加密解密之对称加密算法AES

您所在的位置:网站首页 aes加密是对称加密吗 Java 加密解密之对称加密算法AES

Java 加密解密之对称加密算法AES

#Java 加密解密之对称加密算法AES| 来源: 网络整理| 查看: 265

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