信息安全概论·课程设计
DES加密的C语言实现
学院:计算机科学与技术
班级:网络工程06-1班
姓名:吴志媛
学号:3
指导老师:刘琨
目录
摘要 3
Abstract 3
关键词 3
1.算法描述 4
4
5
2.S盒设计 5
3.DES程序实例与分析 6
4.DES实例运行结果 16
5.结语 17
17
DES加密的C语言实现
C language achieve DES algorithm
摘要
DES算法是一种数据加密算法,自从1977年公布以来,一直是国际上的商用保密通信和计算机通信的最常用的加密标准。DES算法的实现一般用高级语言,DES作为美国国家标准研究所(American National Standard Institute,ANSI)的数据加密算法(Data Encryption Algorithm,DEA)和ISO的DEA 1,成为一个世界范围内的标准已经二十多年。尽管他带有过去时代的特征,但他很好地经受住了多年的密码分析 ,除了可能的最强有力的对手外,对其他的攻击具有较好的安全性。
Abstract
DES algorithm is a data encryption algorithm ,Since the publication in 1977, it has been the international commercial confidentiality of communications and computer communications of the most commonly used encryption standard。DES algorithm with the general high-level language ,DES American National Standards Institute as a data encryption algorithm of the ISO and the DEA 1, a worldwide standard has been more than two decades. Despite his past with the characteristics of the times, but he stood a good many years of cryptanalysis, in addition to probably the most powerful opponent, other attacks have better security.
关键词:加密算法 DES
1.算法描述
DES是一种分组加密算法,它以64位为分组对数据加密。64位一组的明文从算法的一端 输入,64位的密文从另一端输出。DES是一个对称算法:加密和解密用的是同一个算法(除密钥编排不同以外)。密钥的长度为56位(密钥通常表示为64位的数,但每个第8位都用作奇偶检验,可以忽略)。密钥可以是任意的56位数,且可以在任意的时候改变。
DES算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步:
(1)初始置换
其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长3 2位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7。
(2)逆置换
经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。
密码体制从原理上可分为2大类,即单钥密码体制和双钥密码体制。
单钥密码体制
DES加密的算法 来自淘豆网m.daumloan.com转载请标明出处.