数据加密标准(DES,Data Encryption Standard)是一种使用密钥加密的块密码,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。推动了现代的块密码及其密码分析的发展。
为了建立适用于计算机系统的商用密码,美国商业部的国家标准局NBS于1973年5月和1974年8月两次发布通告,向社会征求密码算法。在征得的算法中,由IBM公司提出的算法lucifer中选。1975年3月,NBS向社会公布了此算法,以求得公众的评论。于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI) 承认。1977年1月以数据加密标准DES(Data Encryption Standard)的名称正式向社会公布。
数据加密标准使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但一个循环不交换。数据加密标准使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
1、64bit 密钥K 经变换KS 产生16 个48bit 的子密钥K1、K2…K16,分别供16 次迭代使用;
2、64bit 明文段经初始置换IP得到64bit 数据组,左32bit 构成L0,右32bit 构成R0;
3、由加密函数f 实现子密钥Ki 对Ri-1 的加密变换和Li=Ri-1,Ri=Li-1 f(Ri-1,Ki)的迭代变换,迭代过程连续16 次;(其中称作按位模2 加运算)
4、由Rl6 为前32bit,Ll6 为后32bit 组成的64bit 数据组,经逆初- 2 -始置换IP-1 得密文;
5、脱密的算法相同,只是子密钥使用次序颠倒,K16 在次使用,K1 在使用。
维库电子通,电子知识,一查百通!
已收录词条48237个