欢迎来到天天文库
浏览记录
ID:61414767
大小:792.00 KB
页数:9页
时间:2021-01-27
《对称密码算法初探.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、对称密码算法初探对称密码算法初探CFCA1.什么是对称密码算法 网络安全通信中要用到两类密码算法,一类是对称密码算法,另一类是非对称密码算法。对称密码算法有时又叫传统密码算法、秘密密钥算法或单密钥算法,非对称密码算法也叫公开密钥密码算法或双密钥算法。对称密码算法的加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要保密,密钥就必须保密。 对称算法又可分为两类。一次只对明文中的单个位(
2、有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。现代计算机密码算法的典型分组长度为64位――这个长度既考虑到分析破译密码的难度,又考虑到使用的方便性。后来,随着破译能力的发展,分组长度又提高到128位或更长。常用的采用对称密码术的加密方案有5个组成部分(如图所示)1)明文:原始信息。2)加密算法:以密钥为参数,对明文进行多种置换和转换的规则和步骤,变换结果为密文。3)密钥:加密与解密算法的参数,直接影响对明文进行变换的结果。4)密文:对明文进行变换的结果。5)解密算法:加密
3、算法的逆变换,以密文为输入、密钥为参数,变换结果为明文。2.对称密码常用的数学运算 对称密码当中有几种常用到的数学运算。这些运算的共同目的就是把被加密的明文数码尽可能深地打乱,从而加大破译的难度。◆移位和循环移位 移位就是将一段数码按照规定的位数整体性地左移或右移。循环右移就是当右移时,把数码的最后的位移到数码的最前头,循环左移正相反。例如,对十进制数码循环右移1位(十进制位)的结果为,而循环左移1位的结果则为。◆置换 就是将数码中的某一位的值根据置换表的规定,用另一位代替。它不像移位操作那样整齐有序,看上去杂乱无章。这正是加密所需,被经常应用。◆扩展
4、 就是将一段数码扩展成比原来位数更长的数码。扩展方法有多种,例如,可以用置换的方法,以扩展置换表来规定扩展后的数码每一位的替代值。◆压缩 就是将一段数码压缩成比原来位数更短的数码。压缩方法有多种,例如,也可以用置换的方法,以表来规定压缩后的数码每一位的替代值。◆异或 这是一种二进制布尔代数运算。异或的数学符号为⊕,它的运算法则如下:1⊕1=0 0⊕0=0 1⊕0=1 0⊕1=1 也可以简单地理解为,参与异或运算的两数位如相等,则结果为0,不等则为1。◆迭代 迭代就是多次重复相同的运算,这在密码算法中经常使用,以使得形成的密文更加难以破解。3.DE
5、S算法简介 下面我们将介绍一种流行的对称密码算法DES。 DES是DataEncryptionStandard(数据加密标准)的缩写。它是由IBM公司研制的一种对称密码算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准,三十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。 DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。它的密钥长度是56位(因为每个第8位都用作奇偶校验),密钥可以是任意的56位的数,而且可以任意时候改变。其中有极少数被认为是易破解的弱密钥,但是很容易避开它
6、们不用。所以保密性依赖于密钥。DES加密的算法框架如下: 首先要生成一套加密密钥,从用户处取得一个64位长的密码口令,然后通过等分、移位、选取和迭代形成一套16个加密密钥,分别供每一轮运算中使用。 DES对64位(bit)的明文分组M进行操作,M经过一个初始置换IP,置换成m0。将m0明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算(迭代),这些运算被称为函数f,在每一轮运算过程中数据与相应的密钥结合。 在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过
7、一个异或操作替代成新的48位数据,再将其压缩置换成32位。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次。 经过16轮迭代后,左,右半部分合在一起经过一个末置换(数据整理),这样就完成了加密过程。 加密流程如图所示。DES解密过程: 在了解了加密过程中所有的代替、置换、异或和循环迭代之后,读者也许会认为,解密算法应该是加密的逆运算,与加密算法完全不同。恰恰相反,经过密码学家精心设计选择的各种操作,DES获得了一个非常有用的性质:加密和解密使用相同的算
8、法! DES加密和解密唯一的不同是密钥的次序相反。
此文档下载收益归作者所有