DES_加密解密算法的C 实现--实验评测报告莃分组密码实验报告芄膈DES算法的实现膇DES简介莄本世纪五十年代以来,密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼(Tuchman)和麦耶(Meyer)根据信息论创始人香农(Shannon)提出的“多重加密有效性理论”创立的,后于1977年由美国国家标准局颁布的数据加密标准。莂DES密码实际上是Lucifer密码的进一步发展。它是一种采用传统加密方法的区组密码。它的算法是对称的,既可用于加密又可用于解密。袂美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的通常称为DES密码算法要求主要为以下四点:羈提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础实现经济,运行有效,并且适用于多种完全不同的应用。蒆1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES枣DataEncryptionStandard)。蒀目前在这里,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。芁DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。蚈DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。芃通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。(1)DES加密标准蒈现如今,的分布式计算能力,用穷举密钥搜索攻击方法破译已成为可能。数据加密标准DES已经达到它的信任终点。但是作为一种Feistel加密算法的例子仍然有讨论的价值。芅DES是对二元数字分组加密的分组密码算法,分组长度为64比特。每64位明文加密成64位密文,没有数据压缩和扩展,密钥长度为56比特,若输入64比特,则第8,16,24,32,40,48,56,64为奇偶校验位,所以,实际密钥只有56位。DES算法完全公开,其保密性完全依赖密钥。羁它的缺点就在于密钥太短。膀设明文串m=m1m2…m64;密钥串k=k1k2…k64。腿在后面的介绍中可以看到k8,k16,k24,k32,k40,k48,k56,k64实际上是不起作用的。莆DES的加密过程可表示为:莃DES(m)=IP-1T16·T15…T2·T1·IP(m).蕿下面是完全16轮DES算法框图:衿膃图1完全16轮DES算法蒂1初始置换IP肈初始置换是将输入的64位明文分为8个数组,每一组包括8位,按1至64编号。莅IP的置换规则如下表:膅表1IP置换规则薀58蒈50膆42芆34羃26膁18袆10肃2肁60薁52蚇44膅36蒃28羀20莇12膆4薂62葿54肇46羄38羄30衿22袈14肅6肂64芈56薈48肆40膁32羂24莈16袄8薃57莁49聿41羅33蚂25袀17薅9羆1肄59芀51芆43螄35膂27虿19肆11袅3芁61肈53螆45羇37蚃29薈21薇13螄5螁63芁55芇47螅39膄31蚀23肇15薃7节即将输入的第58位换到第1位,第50位换到第2位……,依次类推,最后一位是原来的第7位。肀2IP-1是IP的逆置换螈由于第1位经过初始置换后,已处于第40位。逆置换就是再将第40位换回到第1位。蚄逆置换规则如下表所示:莀表2IP-1置换葿40蒈8蚅48螃16罿56艿24蒃64袁32莈39罿7薄47膄15肁55蒅23薆63莂31蒁38膆6莃46蒀14袀54羆22蒄62螃30荿蚆5薆羁蝿蒇莃芄374513532161
DES 加密解密算法的C 实现--实验评测报告 来自淘豆网m.daumloan.com转载请标明出处.