密码学课程设计精要

上传人:我** 文档编号:116114611 上传时间:2019-11-15 格式:DOCX 页数:36 大小:53.90KB
返回 下载 相关 举报
密码学课程设计精要_第1页
第1页 / 共36页
密码学课程设计精要_第2页
第2页 / 共36页
密码学课程设计精要_第3页
第3页 / 共36页
密码学课程设计精要_第4页
第4页 / 共36页
密码学课程设计精要_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《密码学课程设计精要》由会员分享,可在线阅读,更多相关《密码学课程设计精要(36页珍藏版)》请在金锄头文库上搜索。

1、 中国矿业大学计算机学院 13 级本科生课程报告课程名称 密码学课程设计 报告时间 2016.1 学生姓名 邱翔宇 学 号 08133609 班 级 信息安全13-3 任课教师 李 昕 实验一:放射密码1、 实验目的学习仿射密码的具体工作原理,理解仿射密码的计算过程,并根据所知的知识进行放射密码的编程,编写出其加密和解密函数。运行程序进行实践。2、 实验内容加法密码和乘法密码结合构成仿射密码,仿射密码的加密和解密算法分别是:C= Ek(m)=(k1m+k2) mod nM= Dk(c)=k3(c- k2) mod n(其中(k3 k1)mod26 = 1)仿射密码具有可逆性的条件是gcd(k1

2、, n)=1。当k1=1时,仿射密码变为加法密码,当k2=0时,仿射密码变为乘法密码。仿射密码中的密钥空间的大小为n(n),当n为26字母,(n)=12,因此仿射密码的密钥空间为1226 = 312。1) 代码:#include#includeusing namespace std;char v26=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z;char l26=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;int Number(char x)for(int i=0;i26;i+

3、)if(x=li) return (i+1);void JiaMi(string m) /加密int k1,k2;coutm;coutk1;coutk2;int c1,c2;int mlen;mlen=m.length();char *p,*q;p=new charm.length()+1;strcpy(p,m.c_str();q=new charm.length();int tmp;for(int i=0;im.length();i+) tmp=Number(pi);c1=tmp*k1+k2;c2=c1%26;qi=vc2-1;for(i=0;im.length();i+)coutqi ;c

4、outendl;void JieMi(string m) /解密int k1,k2;coutm;coutk1;coutk2;int c1,c2;int j,tmp;char *p,*q;p=new charm.length()+1;strcpy(p,m.c_str();q=new charm.length();for(int i=0;im.length();i+)for(j=0;j26;j+)tmp=Number(lj); c1=tmp*k1+k2; c2=c1%26;if(vc2-1=pi)qi=lj;break;for(i=0;im.length();i+)coutqi ;coutendl

5、;int main()string m;JiaMi(m);JieMi(m);return 0;2) 截图:实验小结:这个实验我学习仿射密码的具体工作原理,理解了仿射密码的计算过程,在根据所知的知识理解后进行放射密码的编程,编写出其加密和解密函数。运行程序进行实践。仿射密码是比较简单的一个试验了,但是也让我学习了很多。实验二:序列密码1、 实验目的学习线性反馈移位寄存器的具体工作原理,了解其计算方法步骤,并根据所知的知识进行线性反馈移位寄存器的编程,能够编写出其加密和解密函数。并且运行程序成功。2、 实验内容1) 代码#includeusing namespace std;void yiwei(

6、bool y8) /移位函数bool x=y7y5y4y0;for(int i=0;i7;i+)yi=yi+1;y7=x;coutx;int main() int n=1;bool x8=1,0,1,0,0,1,1,0; /初始状态for(int i=0;i8;i+)coutxi;don+;yiwei(x);while(x0&(!x1)&x2&(!x3)&(!x4)&x5&x6&(!x67)=false);cout T=nendl;return 0;2) 截图实验小结:通过这一个实验的编程与学习,我学习了线性反馈移位寄存器的具体工作原理,并清晰了解其计算方法步骤,在根据所知的知识进行实践编写线

7、性反馈移位寄存器的代码,能够编写出其加密和解密函数。并且能运行程序成功。这个实验比较短小,但是也汇聚了平时所学与实践的结合,我也在实验的过程中学到来很多。实验三:分组密码一、实验目的学习DES的具体工作原理,了解其计算方法步骤,并根据所学的知识进行DES的编程,编写出其加密和解密函数。并且运行程序成功。二、实验内容1) 过程:DES算法的入口参数有三个:Key, Data, ModeKey 为64bit密钥, Data为64bit数据,Mode为加密还是解密。DES算法的过程:1. 对输入的密钥进行变换。 用户的64bit密钥,其中第8, 16, 24, 32, 40, 48, 56, 64位

8、是校验位, 使得每个密钥都有奇数个1。所以密钥事实上是56位。对这56位密钥进行如下表的换位。57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4,表的意思是第57位移到第1位,第49位移到第2位,. 以此类推。变换后得到5

9、6bit数据,将它分成两部分,C028, D028。2. 计算16个子密钥,计算方法Ci28 Di28为对前一个Ci-128, Di-128做循环左移操作。16次的左移位数如下表:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 (第i次)1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 (左移位数)3. 串联计算出来的Ci28 Di28 得到56位,然后对它进行如下变换得到48位子密钥Ki4814, 17,11, 24, 1, 5,3, 28, 15, 6, 21, 10, 23, 19,

10、12, 4, 26, 8, 16, 7, 27, 20, 13, 2,41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32, 表的意思是第14位移到第1位,第17位移到第2位,以此类推。在此过程中,发现第9,18,22,25, 35,38,43,54位丢弃。4. 对64bit的明文输入进行换位变换。换位表如下:58, 50, 12, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4,62, 54, 46, 38,

11、 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位,. 依此类推。得到64位数据,将这数据前后分成两块L032, R032。5. 加密过程,对Ri32进行扩展变换成48位数,方法如下, 记为E(Ri32)32,1, 2, 3, 4, 5, 4, 5, 6

12、, 7, 8, 9,8, 9, 10, 11, 12, 13, 12, 13,14, 15, 16, 17,16, 17, 18, 19, 20, 21,20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29,28, 29, 30, 31, 32, 1,6. 将E(Ri32)与Ki48作异或运算,得到48位数,将48位数顺序分成8份,6位一份,B86。7. 使用Si替换Bi6。过程如下: 取出Bi6的第1位和第6位连成一个2位数m, m就是Si中对应的行数(0-3),取出Bi6的第2到第5位连成一个4位数n(0-15),n就是Si中对应的列数,用Simn代替Bi6。S是4行16列的对应表,里面是4位的数,一共有8个S,定义如下:S1: 14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7, 0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8, 4,1,14,8,13,6,2,11,15,12,9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号