- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DES加解密的JAVA实现
一、实验目的
用java编程实现DES加解密算法,以便深入理解DES加解密算法原理。
二、实验条件
1、熟悉JAVA开发环境,能熟练运用JAVA进行程序编写;
2、掌握DES加解密算法知识,了解其算法原理;
3、安装了JAVA环境的计算机。
三、实验原理
1、DES加解密过程:
明文x=x1,x2,…,x64
逆初始置换IP-1
密文y=y1,y2,…,y64
密钥K,64位
32
32
16轮迭代
48位
56位
PC_1
PC_2
初始置换IP
1)、初始置换:对于给定的明文分组x,通过初始置换表IP对x进行置换,得到一个64位的输出串x0,即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。对于所得到64位的输出串x0,记x0 = IP(x) = L0 R0,其中L0为x0的前32位,R0为x0的后32位。
585012342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572)、迭代变换:按照规则迭代。规则为:
Li=Ri-1
Ri=Li⊕f(Ri-1, Ki) (i=1,2,3,…,16)
经过第1步变换已经得到L0和R0的值,其中符号⊕表示数学运算“异或”,f表示一种置换,由s盒置换构成,Ki是一些由密钥编排函数产生的比特块。
迭代变换利用16轮循环,每轮循环使用子密钥对Li 和Ri进行分别处理,对输出结果进行异或运算和交换操作,以实现数据和密钥的结合 。
3)、逆置换:类似的,经过16轮迭代后所得到的串R16 、L16应用初始置换的逆置换IP-1,获得密文y,即y = IP-1(R16 , L16)。
40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725
2、密码函数f
函数f的输入是一个32比特串(当前状态的右半部)和子密钥。密钥编排方案(k1,k2,…,k32)由16个48比特的子密钥组成,这些子密钥由56比特的种子密钥k导出。每个ki都是由置换选择而来,子密钥的产生过程后面详述。它主要包含了一个应用S盒的替代以及其后跟随的一个固定置换P。密码函数f是整个加密的关键部分,它包含了如下四个功能:扩展函数E、S盒运算、模2加法、置换函数。其中,E位选择表如下:
3212345656789891011121312131415161516171819202120212223242524252627282928293031321Ki是由密钥产生的48位比特串,具体的算法是:将E的选位结果与?ki作异或操作,得到一个48位输出。分成8组,每组6位,作为8个s 盒的输入。每个S盒输出4位,共32位。S盒的输出作为P变换的输入,p的功能是对输入进行置换,P换位表:
1672021291228171152326518311028241432273919133062211425
3、子密钥的生成过程
在DES中,每一轮迭代都使用了一个轮密钥。轮密钥是从用户输入的密钥k(64位)产生的。实用密钥56位,另8位是奇偶校验位;输出密钥的第8,16,…,64位为奇偶校验位(每一字节的最后一位),这些位的值使得每个字节恰好包含了奇数个1,这样如果输入密钥中某个字节中存在一个错误,奇偶校验可以帮助查到这些错误。密钥生成过程如下:
C0
D0
PC-1
LS1
LS1
C11
D1
LS2
LS2
…1
…
LS16
LS16
C16
D16
PC-2
PC-2
k
k1
k2
首先,对于给定的密钥K,应用PC1变换进行选位,选定后的结果是56位,设其前28位为C0,后28位为D0。PC1选位表如下:
5749413325179158504234261810259514335271911360524436635547393123
您可能关注的文档
- 11月期中考涨价续费话术.doc
- 11湖南省2009【课件第一站】年普通高中学业水平考试试卷.doc
- 48V20A通信电源的设计毕业设计开题报告.doc
- 11海淀化学试卷.doc
- 55电能输送.doc
- 5700成像系统介绍-NEW1.doc
- 4A促销前期邀约话术2.doc
- 50电网规划与可行性研究管理办法.doc
- 11神奇的货币教案1doc.doc
- 11级上期中试卷.doc
- 中国国家标准 GB/T 12357.1-2024通信用多模光纤 第1部分:A1类多模光纤特性.pdf
- 中国国家标准 GB/T 18851.2-2024无损检测 渗透检测 第2部分:渗透材料的检验.pdf
- 《GB/T 18851.2-2024无损检测 渗透检测 第2部分:渗透材料的检验》.pdf
- GB/T 18851.2-2024无损检测 渗透检测 第2部分:渗透材料的检验.pdf
- GB/T 44927-2024知识管理体系 要求.pdf
- 中国国家标准 GB/T 44927-2024知识管理体系 要求.pdf
- 《GB/T 44927-2024知识管理体系 要求》.pdf
- GB/T 44937.4-2024集成电路 电磁发射测量 第4部分:传导发射测量1 Ω/150 Ω直接耦合法.pdf
- 《GB/T 44937.4-2024集成电路 电磁发射测量 第4部分:传导发射测量1 Ω/150 Ω直接耦合法》.pdf
- 中国国家标准 GB/T 44937.4-2024集成电路 电磁发射测量 第4部分:传导发射测量1 Ω/150 Ω直接耦合法.pdf
文档评论(0)