国际数据加密算法
- 格式:doc
- 大小:438.00 KB
- 文档页数:7
几种加密、算法的概念信息安全技术的几个概念1、IDEA(对称加密算法)IDEA国际数据加密算法这种算法是在DES算法的基础上发展出来的,类似于三重DES,和DES一样IDEA也是属于对称密钥算法。
发展IDEA也是因为感到DES具有密钥太短等缺点,已经过时。
IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。
类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。
与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。
2、DES(对称加密算法)数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。
DES 使用一个56 位的密钥以及附加的8 位奇偶校验位,产生最大64 位的分组大小。
这是一个迭代的分组密码,使用称为Feistel 的技术,其中将加密的文本块分成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。
DES 使用16 个循环,使用异或,置换,代换,移位操作四种基本运算。
3、AES(对称加密算法)密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
4、MD5(非对称加密算法)对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
国密数据加密原理-回复国密算法是我国自主研发的密码算法,是中国政府和军队使用的标准加密算法。
它与其他国际常用的加密算法有着很大的区别,现在已经广泛应用在各个领域,特别是政府、军事和金融等安全性要求较高的场景。
本文将详细介绍国密算法的加密原理,并一步一步回答相关问题。
一、国密算法的背景及特点国密算法是为了满足我国各个领域对加密算法的安全性要求而研发的,它主要包括SM1对称加密算法、SM2椭圆曲线公钥算法、SM3杂凑算法和SM4分组密码算法。
国密算法在保密性、完整性和数字签名等方面具有较高的安全性,同时它还具有高效、灵活和易于实现的特点。
二、国密算法的基本原理1. SM1对称加密算法SM1是基于分组密码算法的对称加密算法,它采用了32轮次的加密迭代和异或运算,通过对明文和密钥进行位操作和代换操作实现了信息的加密和解密。
SM1算法具有高强度的安全性和高效的加密速度,适用于各种加密场景。
2. SM2椭圆曲线公钥算法SM2椭圆曲线公钥算法基于椭圆曲线离散对数问题,它使用椭圆曲线上的点作为公钥和私钥,并利用椭圆曲线上的运算和算法实现数据的加密和解密。
SM2算法兼顾了安全性和效率,并且具有不依赖于大整数模运算的优点,适用于数字签名、密钥交换和密钥协商等应用场景。
3. SM3杂凑算法SM3杂凑算法是一种密码学哈希函数,它采用了置换操作和非线性函数的组合,通过多轮迭代加密产生固定长度的哈希值。
SM3算法具有高度的唯一性和不可逆性,可用于数据完整性检查、数字签名和消息验证等场景。
4. SM4分组密码算法SM4是一种分组密码算法,它采用了32轮次的Feistel网络结构和S 盒代换,通过循环运算和非线性变换实现了数据的加密和解密。
SM4算法具有高强度的安全性和高速的加密效率,适用于各种数据加密和数据传输场景。
三、国密算法的优势和应用国密算法在保密性、完整性和数字签名等方面具有较高的安全性,同时它还具有高效、灵活和易于实现的特点。
密码算法国际标准
以下是一些常见的密码算法国际标准:
1. 对称密码算法:
* 数据加密标准(DES):ISO/IEC 18033-3标准,ITU-T X.1035标准。
* 高级数据加密标准(AES):ISO/IEC 18033-3和ISO/IEC 19772标准,ITU-T X.1035和ITU-T X.1036标准。
* 国际数据加密算法(IDEA):ISO/IEC 18033-3和ISO/IEC 9797-1标准。
2. 非对称密码算法:
* RSA密码算法:RSA密码算法是美国麻省理工学院的Rivest、Shamir和Adleman这3位学者于1978年提出的。
RSA密码算法方案是唯一被广泛接受并实现的通用公开密码算法,它能够抵抗目前为止已知的绝大多数密码攻击,已经成为公钥密码的国际标准。
它是第一个既能用于数据加密,又能通用数字签名的公开密钥密码算法。
在Internet中,电子邮件收、发的加密和数字签名软件PGP就采用了RSA密码算法。
信息安全概论·课程设计DES加密的C语言实现目录摘要....................................................... 错误!未定义书签。
Abstract ................................................... 错误!未定义书签。
关键词..................................................... 错误!未定义书签。
1.算法描述................................................ 错误!未定义书签。
1.1加/解密算法的一般原理............................... 错误!未定义书签。
1.2加/解密机制的应用................................... 错误!未定义书签。
2.S盒设计................................................ 错误!未定义书签。
3.DES程序实例与分析...................................... 错误!未定义书签。
4.DES实例运行结果........................................ 错误!未定义书签。
5.结语.................................................... 错误!未定义书签。
6.参考文献................................................. 错误!未定义书签。
信息安全概论·课程设计DES加密的C语言实现C language achieve DES algorithm摘要DES算法是一种数据加密算法,自从1977年公布以来,一直是国际上的商用保密通信和计算机通信的最常用的加密标准。
5.3 常用加密算法介绍5.3.1 古典密码算法古典密码大都比较简单,这些加密方法是根据字母的统计特性和语言学知识加密的,在可用计算机进行密码分析的今天,很容易被破译。
虽然现在很少采用,但研究这些密码算法的原理,对于理解、构造和分析现代密码是十分有益的。
表5-1给出了英文字母在书报中出现的频率统计。
表5-1 英文字母在书报中出现的频率古典密码算法主要有代码加密、替换加密、变位加密、一次性密码簿加密等几种算法。
1.代码加密代码加密是一种比较简单的加密方法,它使用通信双方预先设定的一组有确切含义的如日常词汇、专有名词、特殊用语等的代码来发送消息,一般只能用于传送一组预先约定的消息。
密文:飞机已烧熟。
明文:房子已经过安全检查。
代码加密的优点是简单好用,但多次使用后容易丧失安全性。
2.替换加密将明文字母表M 中的每个字母替换成密文字母表C中的字母。
这一类密码包括移位密码、替换密码、仿射密码、乘数密码、多项式代替密码、密钥短语密码等。
这种方法可以用来传送任何信息,但安全性不及代码加密。
因为每一种语言都有其特定的统计规律,如英文字母中各字母出现的频度相对基本固定,根据这些规律可以很容易地对替换加密进行破解。
以下是几种常用的替换加密算法。
1)移位密码是最简单的一类代替密码,将字母表的字母右移k个位置,并对字母表长度作模运算,其形式为:ek (m)=(k+m)=c mod q,解密变换为:dk(c)=(m-k)=mmod q。
凯撒(Caesar)密码是对英文26个字母进行移位代替的密码,其q=26。
这种密码之所以称为凯撒密码,是因为凯撒使用过k=3的这种密码。
2)乘数密码也是一种替换密码,它将每个字母乘以一个密钥k,ek(m)=km mod q,其中k和q是互素的,这样字母表中的字母会产生一个复杂的剩余集合,若是和q不互素,则会有一些明文字母被加密成相同的密文字母,而且不是所有的字母都会出现在密文字母表中。
异或运算(XOR)也常用于替换加密,加密:c=m XOR k,解密:m=c XOR k。
常见的加密和解密算法—DES⼀、DES加密概述 DES全称为Data Encryption Standard,即数据加密标准,是⼀种使⽤的块算法,1977年被的国家标准局确定为(FIPS),并授权在⾮密级政府通信中使⽤,随后该算法在国际上⼴泛流传开来。
需要注意的是,在某些⽂献中,作为算法的DES称为数据加密算法(Data Encryption Algorithm,DEA),已与作为标准的DES区分开来。
DES⼊⼝参数DES算法的⼊⼝参数有三个:Key、Data、Mode。
其中Key为7个字节共56位,是DES算法的⼯作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的⼯作⽅式,有两种:加密或解密。
DES基本原则DES设计中使⽤了分组密码设计的两个原则:混淆(confusion)和扩散(diffusion),其⽬的是抗击敌⼿对密码系统的统计分析。
混淆是使密⽂的统计特性与密钥的取值之间的关系尽可能复杂化,以使密钥和明⽂以及密⽂之间的依赖性对密码分析者来说是⽆法利⽤的。
扩散的作⽤就是将每⼀位明⽂的影响尽可能迅速地作⽤到较多的输出密⽂位中,以便在⼤量的密⽂中消除明⽂的统计结构,并且使每⼀位密钥的影响尽可能迅速地扩展到较多的密⽂位中,以防对密钥进⾏逐段破译。
DES与3DES的区别和联系3DES(即Triple DES)是DES向AES过渡的,它使⽤3条56位的密钥对数据进⾏三次加密。
是DES的⼀个更安全的变形。
它以DES为基本模块,通过组合分组⽅法设计出分组加密算法。
⽐起最初的DES,3DES更为安全。
该⽅法使⽤两个密钥,执⾏三次DES算法,加密的过程是加密-解密-加密,解密的过程是解密-加密-解密。
3DES加密过程为:C=Ek3(Dk2(Ek1(P))) 3DES解密过程为:P=Dk1(EK2(Dk3(C))) 采⽤两个密钥进⾏三重加密的好处有: ①两个密钥合起来有效密钥长度有112bit,可以满⾜商业应⽤的需要,若采⽤总长为168bit的三个密钥,会产⽣不必要的开销。
电子商务一、电子商务的应用有以下三种类型1、企业内部电子商务,即企业内部之间,通过企业内部网(Intranet)的方式处理与交换商贸信息。
2、企业间的电子商务(简称为B—B模式,B2B),即企业与企业(Business—Business)之间,通过INTERNET或专用网方式进行电子商务活动。
3、企业与消费者之间的电子商务(简称为B—C模式,B2C),即企业通过INTERNET 为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、在网上支付。
二、按商业活动运作方式可分成完全电子商务和不完全电子商务两类(1)完全电子商务:即可以完全通过电子商务方式实现和完成整个交易过程的交易。
(2)不完全电子商务:即指无法完全依靠电子商务方式实现和完成完整交易过程的交易,它需要依靠一些外部要素,如运输系统等来完成交易。
三、按电子商务应用服务的领域范围可分为四类,即企业对消费者、企业对企业、企业对政府机构、消费者对政府机构的电子商务。
(1)企业对消费者(也称商家对个人客户或商业机构对消费者即B to C)的电子商务商业机构对消费者的电子商务基本等同于电子零售商业。
目前,Internet上已遍布各种类型的商业中心,提供各种商品和服务,主要有鲜花、书籍、计算机、汽车等商品和服务。
(2)企业对企业(也称为商家对商家或商业机构对商业机构即B to B)的电子商务商业机构对商业机构的电子商务是指商业机构(或企业、公司)使用Internet或各种商务网络向供应商(企业或公司)订货和付款。
商业机构对商业机构的电子商务发展最快,已经有了多年的历史,特别是通过增值网络(V alue Added Network,V AN)上运行的电子数据交换(EDI),使企业对企业的电子商务得到了迅速扩大和推广。
公司之间可能使用网络进行订货和接受订货、合同等单证和付款。
(3)企业对政府机构的电子商务在企业——政府机构方面的电子商务可以覆盖公司与政府组织间的许多事务。
数据加密方法据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。
下面我们将分别介绍简单加密方法、对称算法、公钥算法和PGP的应用。
1.简单的加密方法:换位和置换换位和置换(transposition and substitution ciphers)是两种主要的编码方法,是组成最简单的密码基础。
换位很像是一种字母游戏,打乱字母的顺序,并设法用这些打乱的字母组成一个单词。
在换位密码中,数据本身并没有改变,它只是被安排成另一种不同的格式,有许多种不同的置换密码,有一种是用凯撒大帝的名字Julias Caesar命名的,即凯撒密码。
它的原理是每一个字母都用其前面的第三个字母代替,如果到了最后那个字母,则又从头开始算。
字母可以被在它前面的第n个字母所代替,在凯撒的密码中n就是3。
2.基于密钥的密码算法这种算法通常有两类:对称算法和公开密钥算法。
(1)对称算法对称算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。
大多数对称算法中,加、解密的密钥是相同的,这些算法也称为秘密密钥算法或单密钥算法。
它要求发送者和接收者在安全通信之前,商定一个密钥。
算法的安全性依赖于密钥,只要通信需要保密,密钥就必须保密。
对称算法又分为两类:分组算法和序列算法,两者区别在于分组算法是对一个大的明文数据块(分组)进行运算;序列算法是对明文中单个位(或字节)进行运算。
对称算法体制的发展趋势将以分组密码为重点,着名的对称密码算法有:1)DES(Data Encryption Standard)数据加密标准最着名的保密密钥或对称密钥加密算法DES(Data Encryption Standard)是由IBM公司在70年代发展起来的,该标准于1977年由美国国家标准局颁布,主要用于民用敏感信息的保护,后被国际标准化组织接受作为国际标准。
DES主要采用替换和移位的方法,使用56位密钥每次处理64位数据,运算速度快,易于用软件实现,也适合在专用芯片上实现。
SM系列国密算法SM系列国密算法众所周知,为了保障商⽤密码的安全性,国家商⽤密码管理办公室制定了⼀系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。
其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是⾮对称算法;SM3是哈希算法。
⽬前,这些算法已⼴泛应⽤于各个领域中,期待有⼀天会有采⽤国密算法的区块链应⽤出现。
其中SM1、SM7算法不公开,调⽤该算法时,需要通过加密芯⽚的接⼝进⾏调⽤;⽐较少⼈了解这些算法,在这⾥对这些国密算法做简单的科普1 SM1对称密码SM1 算法是分组密码算法,分组长度为128位,密钥长度都为 128 ⽐特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以IP核的形式存在于芯⽚中。
采⽤该算法已经研制了系列芯⽚、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,⼴泛应⽤于电⼦政务、电⼦商务及国民经济的各个应⽤领域(包括国家政务通、警务通等重要领域)。
2 SM2椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换⽅⾯不同于ECDSA、ECDH等国际标准,⽽是采取了更为安全的机制。
另外,SM2推荐了⼀条256位的曲线作为标准曲线。
SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及⽰例。
SM2算法主要考虑素域Fp和F2m上的椭圆曲线,分别介绍了这两类域的表⽰,运算,以及域上的椭圆曲线的点的表⽰,运算和多倍点计算算法。
然后介绍了编程语⾔中的数据转换,包括整数和字节串,字节串和⽐特串,域元素和⽐特串,域元素和整数,点和字节串之间的数据转换规则。
详细说明了有限域上椭圆曲线的参数⽣成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线⽅程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证。
最后给椭圆曲线上密钥对的⽣成以及公钥的验证,⽤户的密钥对为(s,sP),其中s为⽤户的私钥,sP为⽤户的公钥,由于离散对数问题从sP难以得到s,并针对素域和⼆元扩域给出了密钥对⽣成细节和验证⽅式。
学院:计算机与信息工程学院专业:信息管理与信息系统姓名:魏趁趁学号: 110903058几种分组密码算法的分析与对比分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
下面我就搜集的几种分组密码算法进行分析对比:一、国际数据加密算法(IDEA)IDEA是International Data Encryption Algorithm的缩写,即国际数据加密算法,它的原型是1990年由瑞士联邦技术学院i和Massey提出的PES。
1992年 Lai和Massey 对PES进行了改进和强化,产生了IDEA。
这是一个非常成功的分组密码,并且广泛的应用在安全电子邮件PGP中。
IDEA加密算法是一个分组长度为64位的分组密码算法,密钥长度为128位,同一个算法即可用于加密,也可用于解密。
这是基于“相异代数群上的混合运算”设计思想,算法运用硬件与软件实现都很容易,而且比DES算法在实现上快的多。
IDEA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。
IDEA算法是对称密码体制中的一种基于数据块的分组加密算法,整个算法包含子密钥产生、数据加密过程、数据解密过程三部分。
该算法规定明文与密文块均为64b,密钥长度为128b,加密与解密相同,只是密钥各异,其基本工作原理如图1所示。
图1 IDEA工作原理IDEA是一种由8个相似圈(Round)和一个输出变换(Output Transformation)组成的迭代算法。
IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。
在加密之前,IDEA通过密钥扩展(Key Expansion)将128bit的密钥扩展为52Byte的加密密钥EK(Encryption Key),然后由EK计算出解密密钥DK(Decryption Key)。
EK和DK分为8组半密钥,每组长度为6Byte,前8组密钥用于8圈加密,最后半组密钥(4Byte)用于输出变换。
IDEA的加密过程和解密过程是一样的,只不过使用不同的密钥(加密时用EK,解密时用DK)。
密钥扩展的过程如下:(1)将128bit的密钥作为EK的前8byte(2)将前8byte循环左移25bit,得到下一8byte,将这个过程循环7次(3)在第7次循环时,取前4byte作为EK的最后4byte(4)至此52byte的EK生成完毕。
密钥扩展的过程如表1所示,为了能够清楚的看出每个8Byte的关系,在表1中用粗线条将将每个8Byte划分开了。
IDEA加密算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用于输出变换)。
首先,将128-位密钥分成8个16-位子密钥。
这些事算法的第一批8个子密钥(第一轮6个,第二轮头两个)。
然后,密钥向左环移动x位后再分成8个子密钥。
开始4个用在第二轮,后面四个用在第三轮。
密钥再次向左环移动25位,产生另外8个子密钥,如此进行指导算法结束。
具体是:IDEA总共进行8轮迭代操作,每轮需要6个子密钥,另外还需要4个额外子密钥,所以总共需要52个子密钥,这52个子密钥都是从128位密钥中扩展出来的。
首先把输入的key分成8个16位的子密钥,1-6号子密钥供第一轮加密使用,7-8号子密钥供第二轮使用,然后把这128位密钥循环左移25位,这样key=k26k27k28k29……k24k25。
把新生成的key在分成8个16位的子密钥,1-4号子密钥供第二轮使用,5-8号子密钥供第三轮加密使用。
到此,已经得到了16个子密钥,如此继续,当循环左移了5次之后,已经生成了48个子密钥,还有四个额外的子密钥需要生成,再次把key循环左移25位,选取划分出来的8个16位子密钥的前四个作为那四个的额外加密密钥。
至此,供加密使用的52个子密钥生成完毕。
输入的64-位数据分组被分成4个16-位子分组:x1,x2,x3和x4。
这4个子分组成为算法的第一轮的输入,总共有8轮。
在每一轮中,这4个子分组相互相异或,相乘,相加,且与6个16-位子密钥相异或,相乘,相加。
在轮与轮间,第二个和第三个子分组交换。
最后输出变换中4个子分组与4个子密钥进行运算。
目前IDEA在工程中已有大量应用实例,PGP(Pretty Good Privacy)就使用IDEA作为其分组加密算法;安全套接字层SSL(Secure Socket Layer)也将IDEA包含在其加密算法库SSLRef中;IDEA算法专利的所有者Ascom公司也推出了一系列基于IDEA算法的安全产品,包括:基于IDEA的Exchange安全插件、IDEA加密芯片、IDEA加密软件包等。
IDEA算法的应用和研究正在不断走向成熟。
二、RC5算法RC5分组密码算法是1994由麻萨诸塞技术研究所的Ronald L. Rivest教授发明的,并由RSA实验室分析。
它是参数可变的分组密码算法,三个可变的参数是:分组大小、密钥大小和加密轮数。
在此算法中使用了三种运算:异或、加和循环。
RC5是种比较新的算法,Rivest设计了RC5的一种特殊的实现方式,因此RC5算法有一个面向字的结构:RC5-w/r/b,这里w是字长其值可以是16、32或64对于不同的字长明文和密文块的分组长度为2w位,r是加密轮数,b是密钥字节长度。
由于RC5一个分组长度可变的密码算法,为了便于说明在本文中主要是针对64位的分组w=32进行处理的,下面详细说明了RC5加密解密的处理过程:1、RC5的密钥扩展对给定的密钥K来说,经过一些复合运算可产生总数为t的字密钥,使得每一轮都分配一对密钥。
除此之外的非轮运算部分也要分配一对密钥。
总计产生 t=2r+2 个子密钥,每个密钥的长度为一个字长(w bits)。
子密钥可标记在t-字阵列中:s[0],s[1], …,s[t-1],它为w×t矩阵,这种阵列的产生图示为:将参数r,w输入,左面标出的t-字阵列是一些伪随机bit,按r,w的规格选入的。
然后把b-bits长的密钥K[0, …,b-1]转换成c-字阵列L[0, …,c-1](字的bit数为w,这里c=b ×8/w;注意:密钥长度为b个字节)。
如果b不是w的整数倍,那么L右端的空位用0填入。
2、RC5的加密整个加密使用了下述3个基本运算和它们的逆运算:(1)模2w加法运算,表示为“+”;(2)逐比特异或运算,表示为“⊕”;(3)字的循环左移运算:字x循环左移y比特,表示为x<<<y ,它的逆为循环右移y比特,表示为x>>>y 如(a0,a1,a2, …,an-1)<<<3=(a3,a4, …,an-1,a0,a1,a2)。
加密图如下:3、RC5的解密解密也是很容易的,把密文分组划分为两个字:A和B(存储方式和加密一样),这里符合>>>是循环右移,减运算也是模(本应模,本文中令w=32)的。
解密图如下:4、加密算法的特点:是分组长度W,密钥长度b和圈数r都是可变的。
简记为RC5-W/r/b。
该密码既适合于硬件实现又适合于软件实现,实现速度非常快。
它主要通过数据循环来实现数据的扩散和混淆。
每次循环的次数都依赖于输入数据,事先不可预测。
三、高级数据加密标准(AES)1997年4月15日,美国ANSI发起征集AES(advanced encryption standard)的活动,并为此成立了AES工作小组。
此次活动的目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,以作为新的数据加密标准。
1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。
1、 AES加密/解密算法原理AES是一个迭代的、对称密钥分组的密码,可使用128、192和256位密钥,并用128位(16字节)分组加密和解密数据。
与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。
通过分组密码返回的加密数据的位数与输入数据相同。
AES加密/解密框图如图1所示。
2 、算法实现举例描述AES算法是基于置换和代替。
置换是数据的重新排列,而代替是用一个单元数据替换另一个。
AES使用了几种不同的技术来实现置换和替换。
例如以下是要加密的128位值,以及它们对应的索引数组:00 ll 22 33 44 55 66 77 88 99 aa bb cc dd ee ffO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15192位密钥的值是:00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 ll 12 13 14 15 16 170 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 2l 22 23AES的构造函数被调用时,用于加密方法的两个表被初始化。
第一个表的代替盒称为S 一盒。
是一个16x16的矩阵。
S一盒的前5行和前5列如表1所示。
加密例程获取该密钥数组并生成一个名为w[]的密钥调度表,如表2所示。
相对DES算法,AES算法的实现更简单.同时由于AES算法具备很强的扩散性能,最终形成的密码有很高的随机性,抗分析攻击能力强。
在软件工程中,更便于制作成通用的加密对象类型或加密标准组件,在不降低安全性能的条件下,极大的简化数据加密程序的开发难度。
AES算法的实现程序,对处理器性能、内存的需求量等方面的要求低,可以广泛的应用到智能卡、卫星通信、数字电视、流式媒体、加密键盘、ATM、CDM等智能设备中,可提供很高的安全性能,因此,AES将在今后很长时间内具备广阔的应用前景。
几种分组密码算法的简单对比:1、IDEA:明文与密文块均为64b,密钥长度为128b,加密与解密相同,只是密钥各异。
2、RC5:分组和密钥都较长,密钥和轮数均可变且对称。
3、AES:一个迭代的、对称密钥分组的密码,可使用128、192和256位密钥,并用128位(16字节)分组加密和解密数据。