1、2、S-盒置换-3、P-盒置换-4、乘积变换函数f-4、 换位操作末置换-5、 DES 加密流程图-(二)、DES加密算法解密过程-1、 DES 加密算法的解密思路-2、 DES解密流程图-四、DES 加密算法的讨论-(一)、DES加密算法的工作方式- (二)、DES加密算法的安全性-(三)、DES 加密的实现版本优化-五、DES 加密算法C环境下的实现-六、结束语-一、引 言二十一世纪随着网络的普及和发展,在给人们提供大量方便的同时,信息注定成为一种重要的战略资源。也必然对安全提出更高的要求.信息的安全保障能力成为一个国家综合国力的重要组成部分。 采用数据保密技术能保证网上传输信息的安全,以
2、免数据在传输过程中被盗用、暴露或篡改. 数据传输保密的数学模型主要包括数据的加密与解密,使用加密算法能做到数据加密,在各种信息安全技术措施中,硬件结构的安全和操作系统的安全是基础,密码技术是网络安全与保密的核心和关键。DES 算法是目前使用最多的加密算法,也是最有代表性的分组加密算法,目前广泛的应用于保密通信之中。其问世20多年来,成为密码界研究的重点,经受住了许多科学家的研究和破译,是一种世界公认的较好的加密算法,在POS、ATM、磁卡及智能卡( IC 卡) 、加油站、高速公路收费站等民用密码领域有着广泛的应用。范围包括:计算机网络通信中的数据保护、电子资金传送系统中的信息加密、保护用户文件
3、、用户识别等,为全球贸易、金融等非官方部门提供了可靠的通信安全保障。早在1977 年,人们估计建成一台每秒钟检测一百万个密钥的专用机用于DES 的解密要耗资两千万美元,而且需要12 小时的破解才能得到结果,所以当时DES 被认为是一种十分强壮的加密方法。当今的计算机速度越来越快,1997 年,人们估计制造一台用于DES 解密的专用机的费用降到十万美元左右,破解时间为6 小时。所以,当今社会单纯使用传统的64位密钥的DES算法进行加密已经不再安全。本文通过DES加密技术的基本原理及具体实现步骤,并分析了该算法的安全性,并着重对DES 算法的加密过程及优缺点进行了探讨。通过对分组密码DES 算法I
4、P 变换、IP 逆变换、S- 盒换位表的分析,对DES的安全质疑给出了回答。二、DES加密算法(一)、DES加密算法基本概念数据加密标准(Data Encryption Standard,简称DES)是美国国家标准局于1977 年颁布的由IBM公司研制的一种非机密数据的正式数据加密标准。在正式接触DES之前,首先让我们了解一下加密技术中的一些专业术语:加密(Encipher) :通过密码系统把明文变换为不可懂的形式的密文。加密算法( Encryption Algorithm) : 实施一系列变换,使信息变成密文的一组数学规则。解密(Decrypt) :使用适当的密钥,将已加密的文本转换成明文。
5、密文(Ciphertext) :经加密处理而产生的数据,其语义内容是不可用的。明文(Cleartext) :可理解的数据,其语义内容是可用的。DES算法是对称的,即是一种对称密码体制,它所使用的加密密钥和解密密钥是相同的,既可用于加密又可用于解密。DES 是一种采用传统的替换和移位的方法加密的分组密码, 即它将明文分成固定长度(64 比特)的组(块) ,用同一密钥(64 比特实际长度为56 比特因有8 比特用于奇偶校验)和乘法对每一块加密,输出也是固定长度(64 比特)的密文。(二)、DES加密算法基本思想由于这种典型的按分组方式工作的密码,其基本思想是将二进制序列的明文分成每64比特一组用6
6、4比特的密钥对其进行16轮代换和换位加密,最后形成密文。(三)、DES 算法的内在特性(1)密钥有效长度是56 位(第8,16,?,64 位为校验位),分组明文长度为64 位,而且明文、密文与密钥存在互补关系.(2)仅用16 次循环迭代,使得相同明文会产生相同密文.(3)存在着很好的并行结构:产生内部密钥的左移次数存在着准对称性(即内部密钥生成过程存在并行性). DES 属于传统的Feistel 网络结构,在DES 的基本单元中能够实施并行操作.(4)DES 有16 轮加密,如果将第i 轮的P置换移至下一轮后会与下一轮的E 扩展操作进行合并,简化算法的基本操作.(5)可以通过S 盒与P 置换合
7、并的方法节省P 置换的基本操作时间.(四)、DES 加密算法的优点:DES加密算法的优点大致上有以下几点:(1) DES 提供高质量的数据保护,防止数据XX的泄露和未被察觉的修改; (2) 具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时便于理解掌握;(3) DES密码体制的安全性不依赖于算法的保密,其加密的安全性仅以加密密钥的保密为基础。(五)、DES加密算法加密目的DES加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下五点:1.提供高质量的数据保护,防止数据XX的泄露和未被察觉的修改;2.具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;
8、3.DES 密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;4.实现经济,运行有效,并且适用于多种完全不同的应用。5.DES的巧妙之处在于,除了密钥输入顺序之外其加密和解密的步骤完全相同。三、DES加密算法流程分析(一)、DES加密算法加密过程数据加密标准过程主要包括三部分:一个是密钥产生部分;一个是换位操作,即初始置换部分和末置换部分;另一个是乘积交换部分。1、子密钥的产生DES的乘积变换部分含16轮非线性变换,而每一轮非线性变换需要一个48比特的子密钥。这16个子密钥都是有一个64比特的外部密钥(即DES的主密钥)经过移位和置换生成。64比特主密钥是在实施加密之前
9、由外部直接输入给DES的16个子密钥是由一个64比特的外部密钥经过移位和转换产生的。64比特主外部密钥K被输入后首先经过奇偶校验,同时剔除K8、K16、K24、K32、K40、K48、K56、K64等奇偶校验位,得到56比特的密钥K。再将K加到密码置换,密码置换是将K各个位上的数码,按照特定的进行换位,置换后的56 比特分别存放到两个28比特的寄存器C0和D0中。57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124DES密钥置换表密钥置换有
10、规律可循:将164间的数字依次从上到下从右向左填入表格(1),将表格(1)消去最后一行,再将其它部分分割成表格(2)和表格(3)。将表格(3)翻转180即可。645648403224168表格(1) 表格(2)表格(3)读取的顺序是从最上面一行开始,由左至右逐行读取。前四行共28比特。分别置于寄存器C0第1位.第28位 ,后四行共28比特分别置于寄存器D0第1 位.第28位。其它16对寄存器,即(C1,D1)、(C2,D2)、(C3,D3)、(C4,D4)、(C5,D5)、(C6,D6)、(C7,D7)、(C8,D8)、(C9,D9)、(C10,D10)、(C11,D11)、(C12,D12)、(C13,D13)、(C14,D14)、(C15,D15)、(C16,D16)都有28比特。(Ci+1,Di+1)的内容均是根据如图每轮密钥的移位表,将寄存器对)(Ci,Di)内容循环左移1至2位到,循环左移即从寄存器左边移出的比特,又补到寄存器的最右边一位上。每轮子密钥的移位比特数寄存器序号左移位数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1