网络安全课程设计.docx
- 文档编号:10595773
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:17
- 大小:1.43MB
网络安全课程设计.docx
《网络安全课程设计.docx》由会员分享,可在线阅读,更多相关《网络安全课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
网络安全课程设计
一、课程设计的目的和意义
提高学生在网络安全方面综合运用理论知识解决实际问题的能力。
使学生得到一次科学研究工作的初步训练,懂得网络加密/解密的方法和实现、网络相关安全工具的使用方法与网络攻击的防范。
二、设计内容
(1)使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序。
(2)破解Windows口令。
(3)获取本地用户的帐号和密码后进行远程控制。
三、设计步骤及代码
1.使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序。
(1)算法描述
RSA是Rivet,Shamir和Adleman于1978年在美国麻省理工学院研制出来的,它是一种比较典型的公开密钥加密算法。
大数分解和素性检测:
将两个大素数相乘在计算上很容易实现,但将该乘积分解为两个大素数因子的计算量是相当巨大的,以至于在实际计算中是不能实现的。
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算法实例:
下面用两个小素数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)程序源代码
#include
#include
#include
#include
#include
intr,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++,pritab2[p1]=n;}
}while(n if((n! =n1)){sq1=0;} returnsq1; } intgcd(inta,intb) {intc,c1,b1; c=b;a=a+1;b1=b; do {a--;c=a;c1=1;b=b1; while(c1! =0) {c1=b%c;if(c1! =0){b=c;c=c1;}; } }while(c>1); 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; cout<<"请输入: (输入值不要过大,防止溢出)"< cout<<"p: ";cin>>p; p=check(p); cout<<"q: ";cin>>q; q=check(q);r=p*q; cout<<"素数"<<"p="< Euler=(p-1)*(q-1); cout<<"欧拉函数: "< cout<<"公开模数: "< } intinput(intm) {while(m>=r) {cout<<"m值过大,请再输入编码"; m=abs(m);cin>>m;} returnm;//返回编码。 } intpf_c(intm,intk) {inta,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)ceil(c); returnc1; } voidckey() {inta,c,b1,b2,p,q; cout<<"请输入: (输入值不要过大,防止溢出)"< cout<<"初选密钥: "; cin>>sk;sk++; do {sk--;sk=abs(sk);b1=1,b2=0; sk=gcd(sk,Euler);a=sk;c=Euler; do{q=(int)ceil(c/a);p=c%a; pk=b2-b1*q;c=a;a=p;b2=b1;b1=pk; }while(p! =1); pk=abs(pk); a=pf_c(9,sk);c=pf_c(a,pk); }while(c! =9);//加密、解密正确判断 cout<<"sk="< } voidpf_c1() {intm,c; cout<<"请输入: (输入编码必须小于公开的模数)"< cout<<"明文编码: ";cin>>m; m=input(m); cout<<"密钥"<<"sk="< cout<<"密钥sk: ";cin>>c; c=pf_c(m,c); cout<<"原编码: "< "< } voidpf_c2() {intm,c; cout<<"请输入: (输入编码必须小于公开的模数)"< cout<<"密文编码: ";cin>>m; m=input(m); cout<<"密钥"<<"sk="< cout<<"密钥pk: ";cin>>c; c=pf_c(m,c); cout<<"原编码: "< "< } voiduse() {cout< cout<<"请选择: "; cout<<"1加密"; cout<<"2解密"; cout<<"3退出"< } voidmain() { primes();ckey(); charc; use(); do{cin>>c; switch(c) {case'1': pf_c1();use();break; case'2': pf_c2();use(); } }while(c=='1'||c=='2'); } (3)运行结果验证: 2.破解Windows口令 (1)破解Windows口令原理 木马调用相应的API,获取机器情况,扫描本地的敏感文件获得帐号密码。 (2)实现过程 冰河木马共有两个应用程序,在主控端计算机中,应用G_Client.exe,它是木马的客户端程序(主控程序)。 G-SERVER.EXE是服务器程序,属于木马受控端程序 冰河的主控界面: 可以通过它查看本地的硬盘文件: 点击【设置】->【配置服务器程序】菜单选项对服务器进行配置: 木马的自我保护设置: 然后可以在主控端计算机程序中添加受控端计算机: 先在受控端计算机中查看其IP地址: 然后将木马移植到受控计算机中执行,在主控中可以查看其硬盘文件信息: 可以获取系统信息: (3)结果分析 获取用户的口令: 3.获取本地用户的帐号和密码后进行远程控制。 (1)远程控制原理 Telnet协议是TCP\IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。 它为用户提供了在本地计算机上完成远程主机工作的能力。 在终端使用者的电脑上使用telnet程序,用它连接到服务器。 终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。 可以在本地就能控制服务器。 要开始一个telnet会话,必须输入用户名和密码来登录服务器。 (2)实现过程 首先要在本地和远程机器上开启telnet服务: telnet连接远程主机: 输入帐号密码: 登陆成功: 输入help命令可以查看帮助信息: 查看目录文件,这是远程机器的目录文件,方便操作以后对比: 查看目录文件信息: dir命令 删除文件: 查看ip: 四、总结 密码在我们的生活中随处可见,但是很多时候都是“傻瓜”式的使用密码,而不清楚算法的具体结构及内容,而了解加密解密算法,对密码保护起着至关重要的作用。 通过这次的课程设计,阅读和研究代码使我对加密解密算法有了更深一步的认识。 网络的普及使人们对其依赖度加深,木马病毒对网络的危害不言而喻,可以说是防不胜防,但是认识了它的工作原理之后,对于它的防范变得更加容易。 通过实验,使用网络工具获取了远程主机的登陆帐号和密码,控制了远程主机,并对它进行一系列的操作。 不仅了解了木马的工作原理,还对木马的防范有了深刻的认识。 通过这次的课程设计,我对网络安全的学习以及这门学科有了更深层次的体会,不再仅看到表面的概念,同时也感受到了网络安全的重要性,网络安全的维护更是一个复杂多变的工程。 这次的动手体验丰富了知识,提高了能力,为以后的工作学习打下了基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 课程设计