下载此文档

S—DES算法实现的实验报告.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
周胜安(200620109286)计算机科学与工程研一(2)班S-DES加密算法的JAVA实现一、实验要求(1)简述S-DES的加密算法的主要思想(2)实现的主要步骤,及各个步骤的主要思想及示意图(3)给出程序的分析,运行结果和程序的效率分析(4)通过编程实现S-DES加密算法,了解DES加密的原理,也加深对现代对称密码的理解。二、算法思想•加密算法的数学表示:密文=IP-1fk2(SW(fk1(IP(明文)))))其中K1=P8(移位(P10(密钥K)))K2=P8(移位(移位(P10(密钥K))))•解密算法的数学表示:明文=IP-1(fk1(SW(fk2(IP(密文)))))S-DES加密方法示意图:S-DES算法涉及加密、密钥产生、解密三个部分。流程图(每个函数的算法见源代码)三、算法流程框图、各模块说明实验是用JAVA实现的(1)密钥的产生密钥产生的示意图:密钥的产生算法涉及五个函数定义初始置换P10其中P10的定义为:P10(k1,k2,…,k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6)(2)LS-1操作:对密钥的左右两组循环左移一位(密钥分成5位一组,共2组)(3)P8置换产生Key1。其中P8的定义为:P8(k1,k2,…,k10)=(k6,k3,k7,k4,k8,k5,k10,k9)(4)LS-2操作::对密钥的左右两组循环左移两位.(5)P8置换产生Key2(2)S-DES的加密过程示意图:加密算法涉及五个函数:(1)初始置换IP(initialpermutation)。其中P8的定义为:IP(k1,k2,…,k8)=(k2,k6,k3,k1,k4,k8,k5,k7)(2)复合函数fk,它是由密钥K确定的,具有置换和代替的运算。函数fk,是加密方案中的最重要部分,它可表示为:fk(L,R)=(LÅF(R,SK),R)其中L,R为8位输入,左右各为4位,F为从4位集到4位集的一个映射,并不要求是1-1的。SK为子密钥。对映射F来说:首先输入是一个4-位数(n1,n2,n3,n4),第一步运算是扩张/置换(E/P)运算:E/P 41232341事实上,它的直观表现形式为:n4n1 n2n3n2n3 n4n18-bit子密钥:K1=(k11,k12,k13,k14,k15,k16,k17,k18),然后与E/P的结果作异或运算得: n4+k11n1+k12 n2+k13 n3+k14 n2+k15n3+k16 n4+k17 n1+k18把它们重记为8位:P0,0P0,1P0,2 P0,3P1,0P1,1P1,2P1,3上述第一行输入进S-盒S0,产生2-位的输出;第二行的4位输入进S盒S1,产生2-位的输出。两个S盒按如下定义:S盒按下述规则运算:将第1和第4的输入比特做为2-bit数,指示为S盒的一个行;将第2和第3的输入比特做为S盒的一个列。如此确定为S盒矩阵的(i,j)数。例如:(P0,0,P0,3)=(00),并且(P0,1,P0,2)=(10)确定了S0中的第0行2列(0,2)的系数为3,记为(11)输出。由S0,S1输出4-bit经置换 P4243 1它的输出就是F函数的输出。(3)转换函数SW:将输入的左4位与右4位交换(4)初始置换IP的逆置换IP-1其中P8的定义为:P8(k1,k2,…,k8)=(k4,k1,k3,k5,k7,k2,k8,k6)四、程序使用说明(1)安装JDK 从http://Java./下载jdk-1_5_0_04-windows-i586- 安装到指定路径,我选择D:\ 配置环境变量: Java_HOME:D:\ PATH:D:\\bin; CLASSPATH:.;D:\\lib\;D:\\jre\lib\(2)将附件的复制到硬盘中如D:(其中””为原代码;“”为JAVA执行文件)(3)运行程序进入命令行方式(如D:\)输入JAVASimpleDes(如:D:\>JAVASimpleDes)五、程序运行结果及分析程序运行如图所示:程序运行过程:输入任意字符序列:qwsdfruip(不失一般性,本程序只对前8个加密)程序给出字符二进制序列:01110001(q)01110111(w)01110011(s)01100100(d)01100110(f)01110010(r)01110101(u)01101001(i)输入密钥:hj本程序根据前2个字符生成一个10位二进制密钥(每个字符取5位)如:0101010001本程序生成第一个密钥:10110010本程序生成第二个密钥:01

S—DES算法实现的实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aena45
  • 文件大小175 KB
  • 时间2020-07-01