计算机安全报告Word下载.docx
《计算机安全报告Word下载.docx》由会员分享,可在线阅读,更多相关《计算机安全报告Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
{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<
n1);
if((n!
=n1)){sq1=0;
returnsq1;
//判断素数标志
intcheck(intn)
{intsq1;
n=abs(n);
sq1=1;
do
{sq1=primes1(n);
if(sq1==0)n=n-1;
}while(sq1==0);
returnn;
//返回素数
}
2.编译和调试判断方法是否正确
3.求最大公约数方法和求乘逆方法
intgcd(inta,intb)
{//a为初选密钥,b为欧拉函数值
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);
//最大公约数gcd(a,b)=1
return(a);
//返回初选密钥值
4.计算欧拉函数选择密钥
intpf_c(intm,intk)
{inta,i1,a1,b[50];
unsignedlongc1;
doublelongc;
c=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;
5.设计主程序并编译调试
voidmain()
{charc;
use();
do
{cin>
>
c;
switch(c)
{case'
1'
:
primes();
use();
break;
case'
2'
ckey();
3'
pf_c1();
4'
pf_c2();
}while(c=='
||c=='
);
6.修改编译时出现的错误反复重复直到程序正常运行
四、实验体会
在本次上机实验中,把理论的RSA算法用代码实现了。
看似简单的数据加密其实并不简单,包含很多小的算法。
在本次实验中也遇到一些代码编写和设计的问题。
在求最大公约数时,循环替代的变量赋值有错误,经过细心的观察发现除数与被除数反写了。
在把十进制转化为二级制时比较茫然,经过同学的帮助终于实现了。
最后成功的调试出来。
在查看实验结果时有时候不能正常得到密钥,这是因为,所选素数太大而溢出。
实验二冰河远程控制软件使用
一、实验目的
本次实验学习冰河木马远程控制软件的使用,通过实验可以了解木马和计算机病毒的区别,熟悉使用木马进行网络攻击的原理和方法,熟悉防范木马的方法,加深对木马的安全防范意识。
装有Windows2000/XP系统的计算机,局域网或Internet,冰河木马软件(服务器和客户端)
1.关闭杀毒软件和防火墙
2.在自己计算机上安装冰河木马client端
3.让一起合作的同学安装冰河木马Server即win32.exe
4.打开自己计算机的冰河木马主控程序
如下图:
5.采用自动搜索或者输入固定IP号,可以发现安装了冰河木马受控程序的计算机IP地址可以被搜索到,然后连接此台计算机。
6.单机所连接的计算机
可以看到受控计算机的所有磁盘并且可以再磁盘上建立修改删除文件
7.打开文件选项卡,看见可以捕捉控制受控计算机的桌面
设置好图像参数后,就可以清晰的看到受控计算机的屏幕可以操作它和操作自己计算机一样。
8.还可以利用冰河木马软件同受控计算机进行聊天。
在本次上机实验中,主要进行了冰河木马的使用。
需要至少两台以上的的计算机进行配合。
通过本实验,了解了一般木马程序如何潜入用户的计算机进行偷取用户的信息。
冰河木马程序是通过关联计算机的记事本应用程序,通过修改注册表,使得打开记事本的事件变为执行冰河木马受控程序并记住打开记事本的路径然后再打开用户所要打开的记事本。
本次实验由于只是使用冰河木马和了解它的原理,不需要自己编写所以比较简单,木马程序可以预防,比如不关闭防火墙和杀毒软件,使之不能随意修改注册表。
实验三软件保护程序综合设计
1.掌握软件保护的基本方法;
2.加强软件保护应用能力;
3.提高编程技术。
安装vs2008等编程环境。
1.编写一简单的加法程序,如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
inta=int.Parse(textBox1.Text);
intb=int.Parse(textBox2.Text);
textBox3.Text=(a+b).ToString();
catch(Exceptionex)
MessageBox.Show(ex.ToString());
Form1_Load(sender,e);
编写一时间时间,使之未经过序列号使用时不断跳出显示“请购买正版”的对话框。
privatevoidForm1_Load(objectsender,EventArgse)
if(b==false)
System.Timers.Timert=newSystem.Timers.Timer(8000);
t.Elapsed+=newSystem.Timers.ElapsedEventHandler(Show);
t.AutoReset=true;
t.Enabled=true;
else
}publicvoidShow(objectsource,System.Timers.ElapsedEventArgse)
MessageBox.Show("
请购买正版"
"
消息"
MessageBoxButtons.OK);
3.编写一方法使之输入序列号与已知序列号相同时不再有对话框弹出且程序正常使用。
privatevoidbutton2_Click(objectsender,EventArgse)
if(this.textBox4.Text=="
abc"
)
b=true;
this.button1.Text="
求和"
;
this.label4.Visible=false;
this.textBox4.Visible=false;
this.label1.Visible=true;
this.label2.Visible=true;
this.label3.Visible=true;
this.textBox1.Visible=true;
this.textBox2.Visible=true;
this.textBox3.Visible=true;
this.button2.Visible=false;
this.button1.Visible=true;
b=false;
this.label4.Visible=true;
this.textBox4.Visible=true;
this.button2.Visible=true;
在本次上机实验中,主要进行对软件保护的代码编写。
掌握代码保护的原理,由于时间原因,仅仅是对一简单的加法程序进行保护。
软件保护有很多种,如每隔2分钟就会弹出警告窗口,提示“请购买正式版本”;
使用该软件前需要输入序列号才能运行;
该软件只能使用30天;
程序中使用“花指令”防止破解;
使用KeyFile保护等。
由于水平和其他原因的限制,这次实验仅仅是对程序弹出警告窗口和输入序列号才能进行,这两种软件保护相对比较简单,但也容易被破解,所以还应该学习限定软件使用日期,“花指令”等软件保护,采用多种保护结合更好的保护好软件的产权。