为了建立适用于计算机系统的商用密码,美国商业部的国家标准局NBS于1973年5月和1974年8月两次发布通告,向社会征求密码算法。在征得的算法中,由IBM公司提出的算法lucifer中选。1975年3月,NBS向社会公布了此算法,以求得公众的评论。于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(AmericanNationalStandardINStitute,ANSI)承认。1977年1月以数据加密标准DES(DataEncryptionStandard)的名称正式向社会公布。 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-1f(Ri-1,Ki)的迭代变换,迭代过程连续16次;(其中称作按位模2加运算) 4、由Rl6为前32bit,Ll6为后32bit组成的64bit数据组,经逆初-2-始置换IP-1得密文; 5、脱密的算法相同,只是子密钥使用次序颠倒,K16在第一次使用,K1在最后一次使用。




