单钥加密过程实现报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
________________________________________ 《信息安全技术》课程设计 ———系统分析和设计报告 所选题目:3.单钥加密过程实现 目 录 1.系统分析 3 1.1 背景 3 1.2需求确定 4 1.3系统要完成的主要功能 4 2.系统设计 4 2.1系统主要目标 4 2.1.1主要软件需求(运行环境) 4 2.2 系统结构 5 2.2.2 系统处理过程 5 2.2.3功能模块 5 3. 系统功能程序设计 5 3.1 DES算法 5 3.2初始置换 7 3.3密钥置换 8 3.4扩展置换 9 3.5 S盒代替 9 3.6 P盒置换 12 3.7末置换 13 3.8加密 13 3.9解密 13 3.10程序界面预览 13 4.测试报告 14 5.结论 14 参考文献 15 1.系统分析 1.1 背景 在计算机网络技术深入各行各业的信息时代,全球国际互联网用户数正在急剧增长,网络信息已广泛应用在军事、金融、工业和贸易等各个领域。人们在实现资源共享的同时,也感受到信息安全问题日益突出。互联网是一把双刃剑。一方面,网络的发展推动了科技的发展和社会的进步;另一方面,网络也带来信息污染、信息侵权、信息渗透,乃至信息犯罪。信息安全已成为各国极为关注的问题。 信息加密技术是保障信息安全的最基本、最核心的技术措施和理论基础,信息加密过程由多种加密算法来具体实施,将信息明文变换成密文进行发送,使截取者、窃听者无法破译,保证信息安全的传递到接收者而不被第三方窃取。目前加密技术主要是:对称密钥和非对称密钥。对称密钥是指加密与解密使用的是相同的密钥,密钥通过安全的方式传递给收发双方。本论文主要研究的是单钥加密过程的实现。 单钥,加密密钥和解密密钥是一样的,或实质上是等同的,这种情况下,密钥就经过安全的密钥信道由发方传给收方。单钥密码的特点是无论加密还是解密都使用同一个密钥,因此,此密码体制的安全性就是密钥的安全。如果密钥泄露,则此密码系统便被攻破。最有影响的单钥密码是1977年美国国家标准局颁布的DES算法。56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行异或运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换DES 使用 16 个循环。1.3系统要完成的主要功能 根据实现加密解密向用户提供良好的交互具有良好的操作性 2.系统设计 2.1系统主要目标 2.1.1主要软件需求(运行环境) 本系统是用C++语言编写,编译成功后文件可以在计算机上使用。测试平台:Windows Vista /Windows XP Windows 2003 2.2 系统结构 2.2.2 系统处理过程 输入:输入明文,输入8位密钥。 点击“加密”按钮,即可获得加密密文。 输出:在编辑框中显示密文。 点击“解密”按钮,即可获得明文。 2.2.3功能模块 编 号 模 块 名 称 1 f 函数 2 S 盒代替 3 变换 4 异或 5 循环左移 6 字节组转换成位组 7 位组转换成字节组 8 加密 解密 DES对64位明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起经过一个末置换(初始置换的逆置换),算法就完成了。 ?在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作与48位密钥结合,通过8个S盒将这48位替代成新的32位数据,再将其置换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果即成为新的左半部分。将该操作重复16次,便实现了DES的16轮运算。一轮DES如下图所示: ??? 假设Bi是第i次迭代的结果,Li和Ri是Bi的左半部分和右半部分,Ki是第i轮的48位密钥,且f是实现代替、置换及密钥异或等运算的函数,那么每一轮就是: ???? Li=Ri-1 ???? Ri=Li-1f(Ri-1,Ki) 初始置换 ?初始置换在第一轮运算之前进行,对输入分组实施如下表所示的变换。初始置换把明文的第58位换到第1位的位置,把第50位换到第2位的位置,把第42位换到第3位的位置,依此类推。 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,

文档评论(0)

xx88606 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档