欢迎来到天天文库
浏览记录
ID:61487341
大小:1.49 MB
页数:15页
时间:2021-02-05
《网络安全课程设计 .doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、课程设计的目的和意义提高学生在网络安全方面综合运用理论知识解决实际问题的能力。使学生得到一次科学研究工作的初步训练,懂得网络加密/解密的方法和实现、网络相关安全工具的使用方法与网络攻击的防范。二、设计内容(1)使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序。(2)破解Windows口令。(3)获取本地用户的帐号和密码后进行远程控制。三、设计步骤及代码1.使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序。(1)算法描述RSA是Rivet,Shamir和Adleman于1978年在美国麻省理工学院研制出来的,它是一种比较典型的公开密钥加
2、密算法。大数分解和素性检测:将两个大素数相乘在计算上很容易实现,但将该乘积分解为两个大素数因子的计算量是相当巨大的,以至于在实际计算中是不能实现的。 1.RSA密码体制的建立:(1)选择两个不同的大素数p和q;(2)计算乘积n=pq和Φ(n)=(p-1)(q-1); (3)选择大于1小于Φ(n)的随机整数e,使得gcd(e,Φ(n))=1;(4)计算d使得de=1mod Φ(n);(5)对每一个密钥k=(n,p,q,d,e),定义加密变换为Ek(x)=xemodn,解密变换为Dk(x)=ydmodn,这里x,y∈Zn;(6)以{e,n}为公开密钥,{p,q,d}为私有密钥。2.RSA算法实例:
3、下面用两个小素数7和17来建立一个简单的RSA算法:(1)选择两个素数p=7和q=17;(2)计算n=pq=7,17=119,计算Φ(n)=(p-1)(q-1)=6,16=96;(3)选择一个随机整数e=5,它小于Φ(n)=96并且于96互素;(4)求出d,使得de=1mod96且d<96,此处求出d=77,因为 775=385=496+1;(5)输入明文M=19,计算19模119的5次幂,Me=195=66mod119,传出密文C=66;(6)接收密文66,计算66模119的77次幂;Cd=6677≡19mod119得到明文19。 (2)程序源代码#include4、h>#include#include#include#includeintr,sk,pk,Euler;primes1(intn1){inti,p1,n,sq,sq1;unsignedshortpritab2[10000];n=3;p1=1;pritab2[0]=2;pritab2[1]=3;do{n=n+2;sq=(int)sqrt(n);sq1=1,i=0;while((pritab2[i]<=sq)&(sq1!=0)){sq1=pritab2[i];sq1=n%sq1;i++;};if(sq1!=0){p1++,pr5、itab2[p1]=n;}}while(n1);return(a);}intcheck(intn){intsq1;n=abs(n);sq1=1;do{sq1=primes1(n);if(sq1==0)n=n-1;}while(sq1==0);returnn;}voidprimes(){intp,q6、;cout<<"请输入:(输入值不要过大,防止溢出)"<>p;p=check(p);cout<<"q:";cin>>q;q=check(q);r=p*q;cout<<"素数"<<"p="<=r){cout<<"m值过大,请再输入编码";m=abs(m);cin>>m;}returnm;//返回编码。}intpf_c(intm,intk){inta,7、i1,a1,b[50];unsignedlongc1;doublelongc;c=1;c1=1;i1=0;do{a=(int)ceil(k/2);a1=(k%2);b[i1]=a1;k=a;i1++;}while(a>0);i1--;//"平方-乘"算法for(inti=i1;i>=0;i--){c=fmod(c*c,r);if(b[i]==1)c=fmod(c*m,r);}c1=(int)cei
4、h>#include#include#include#includeintr,sk,pk,Euler;primes1(intn1){inti,p1,n,sq,sq1;unsignedshortpritab2[10000];n=3;p1=1;pritab2[0]=2;pritab2[1]=3;do{n=n+2;sq=(int)sqrt(n);sq1=1,i=0;while((pritab2[i]<=sq)&(sq1!=0)){sq1=pritab2[i];sq1=n%sq1;i++;};if(sq1!=0){p1++,pr
5、itab2[p1]=n;}}while(n1);return(a);}intcheck(intn){intsq1;n=abs(n);sq1=1;do{sq1=primes1(n);if(sq1==0)n=n-1;}while(sq1==0);returnn;}voidprimes(){intp,q
6、;cout<<"请输入:(输入值不要过大,防止溢出)"<>p;p=check(p);cout<<"q:";cin>>q;q=check(q);r=p*q;cout<<"素数"<<"p="<=r){cout<<"m值过大,请再输入编码";m=abs(m);cin>>m;}returnm;//返回编码。}intpf_c(intm,intk){inta,7、i1,a1,b[50];unsignedlongc1;doublelongc;c=1;c1=1;i1=0;do{a=(int)ceil(k/2);a1=(k%2);b[i1]=a1;k=a;i1++;}while(a>0);i1--;//"平方-乘"算法for(inti=i1;i>=0;i--){c=fmod(c*c,r);if(b[i]==1)c=fmod(c*m,r);}c1=(int)cei
=r){cout<<"m值过大,请再输入编码";m=abs(m);cin>>m;}returnm;//返回编码。}intpf_c(intm,intk){inta,
7、i1,a1,b[50];unsignedlongc1;doublelongc;c=1;c1=1;i1=0;do{a=(int)ceil(k/2);a1=(k%2);b[i1]=a1;k=a;i1++;}while(a>0);i1--;//"平方-乘"算法for(inti=i1;i>=0;i--){c=fmod(c*c,r);if(b[i]==1)c=fmod(c*m,r);}c1=(int)cei
此文档下载收益归作者所有