第一篇:实验1 信息安全实验-加密与隐藏
实验1 加密与隐藏
一、实验目的
(1)提高对加密与解密原理的认识;(2)提高对信息隐藏原理的认识;(3)学会使用加密与隐藏软件。
二、实验环境
Pentiuum III、600 MHz以上CPU , 128M 以上内存,10G 以上硬盘,安装windows 98 以上操作系统,加密与隐藏软件EsayCode Boy Plus。EasyCode Boy Plus,界面如图1-1所示。
图1-1 EasyCode Boy Plus界面
三、实验内容与步骤
3.1 加密文件
任意编写一个 Word 文档,如 my.doc,执行 ECBoy.exe 程序,打开 EsayCode Boy Plus 窗口→选中“加密”→“添加文件→选中要加密的文件(如 my.doc)→在密码输人框中输人密码→“开始加密”→打开加密文件,如 my.doc,看到的将是乱码。
说明:实际上EasyCode Boy Plus可以加密任何类型的文件,并对文件的每个比特单元加密。如果需要加密一个文件夹,可以单击“批量添加文件”,程序将加密文件夹中的所有文件;如果被加密的文件较大,可以选中“启动快速加密”选项;如果只对文件名加密,可以选中“加密文件名”选项,这时加密后的文件名会改变,无法打开或执行。
3.2 解密文件
在 Esaycode Boy Plus 窗口→选中“解密”→选择被加密的文件→在密码输人框中输人密码→“开始解密”→打开解密的文件,如 my.doc,可以看到文件的内容已经被解密或
文件已经可以运行。
3.3生成随机密码
在 Esaycode Boy Plus 窗口→选中“加密”→“产生随机密码”→在弹出的“随机密码生成器”窗口中打开所有选项,改变密码位数或密码中特殊字符数→单击“生成。
说明: EsayCode Boy Plus 可以生成安全强度很高的密码。一般情况下使用 8位由大小写字母和数字组成的密码就可以了。
3.4 生成可自解密文件
在 EsayC0de Boy Plus窗口→选中“编译 ExE” →选择“将文件编译为 ExE 文件” →“浏览”→选择要加密的文件(如 my.doc)→在密码输人框中输人密码→“开始编译/加密” →打开被加密的.exe 文件,如 my.doc,程序会弹出窗口提示输人密码,输人密码正确后才能打开文件。
在 EsayCode Boy Plus 窗口→选中“编译 EXE ” →选择“对 ExE 文件加密码保护” →“浏览”→选择要加密的.exe 文件,如 my.exe →在密码输入框中输人密码→“开始编译/加密” →执行被加密的.exe 文件,如 my.exe,程序会弹出窗口提示输人密码,输人密码正确后程序才能继续执行。
说明:自解密文件就是文件每次使用前输人密码后才能执行,或输人密码后可以将文件解密释放。
3.5 文件隐藏与恢复
在 EsayCode Boy Plus窗口→选中“文件嵌人”→“浏览”,选择要作为寄主的文件(如 my.exe)→“浏览”,选择要嵌人的文件(如 my.doc)→在密码输人框中输人密码→选中“嵌人后删除寄生文件”选项→单击“嵌人文件”按钮→观察寄主文件使用变化。
在 EsayCode Boy Plus 窗口→选中“文件嵌人”→“浏览”→选择要释放寄生文件的寄主文件(如 my.exe)→“浏览”,选择寄生文件释放后存放的目录→在密码输人框中输人密码→选中“释放后恢复寄生文件初始状态”选项→单击“释放文件”按钮→观察寄主文件和寄主文件使用的变化,如 my.exe、my.doc。
说明:寄主文件是隐藏文件的载体,寄生文件是被隐藏的文件。EsayCode Boy Plus可以将不同类型的文件作为寄主文件,将各种文件隐藏到不同类型的文件中。实验过程中可以观察寄主文件和寄生文件大小的变化,或通过 Hiew 等文件代码编辑器查看寄主文件和寄生文件内容的变化。
伪装文件夹在 EsayCode Boy Plua窗口斗选中“伪装目录”、在左侧的目录树中选择需
要进行伪装的文件夹。在右侧“伪装类型”中选择伪装类型(如“快捷方式”)。“伪装目录”。观察被伪装的文件夹变化。
说明:在进行目录伪装前需要先结束对该目录中所有文件的操作,如退出该目录中正在编辑的文档等。可以在进行目录伪装时加上密码保护。实验说明建议实验课时为 2 个学时。
第二篇:信息安全与保密实验讲义
实验一 数字证书与PKI
一、实验目的:
掌握PKI相关知识,掌握从PKI申请免费个人数字证书服务、掌握数字证书在安全电子邮件中的应用
二、实验内容:
1、了解国内外典型的PKI
2、申请两个126邮箱帐号,用于验证采用数字证书发送安全电子邮件
3、从“中国数字认证网”www.xiexiebang.com/security/
http://www.xiexiebang.com/security/
等网络安全相关网站,了解互联网安全现状及相关的安全技术。
3、浏览黑客网站:QQ黑客基地http://www.xiexiebang.com/
黑基网http://www.xiexiebang.com/ 中华黑客联盟http://www.xiexiebang.com/
等网站了解黑客危害及攻击手段。
4、在http://www.xiexiebang.com中查找相关的网络安全论坛,网站等内容。
实验五 加密算法实验
一、实验目的
通过C语言编程实验替代加密算法,加深对古典密码体制的了解。
二、实验环境
PC机、Windows XP系统、C编译器
三、实验理论
凯撒密码是罗马战争时期凯撒大帝创造的,用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。该算法极其简单,其加密过程如下:
在这里明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k12,m)(其中k2为解密密钥),由于其加密解密密钥相同,故简记为k。凯撒密码的加密过程可记为如下一个变化: c=m+k mod n(其中n为基本字符个数)同样,解密过程可以表示为:
m=c+k mod n(其中n为基本字符个数)
对于计算机而言,n可取256或128,m、k、c均为一个8bit的二进制数。显然,这种加密算法极不安全,即使采用穷举法,最多也只要255次即可破译。当然,究其本身而言,仍然是一个单表置换,因此,频率分析法对其仍是有效的。
四、实验内容
凯撒密码的加密及其破解的编程实现。
第三篇:信息安全与保密实验
学习模幂运算-平方和乘算法
姓 名:李锦 学 院:计算机学院 班 级:计算机二班 学 号:07095203 制 作 日 期:2010.5.2
随着各种加解密算法密钥长度的逐步增加,在一些具有安全性需求的芯片设计中,大规格数据运算的硬件实现已成为硬件设计的主要考虑因素和设计难点.比如RSA等基于大数分解的公钥密码算法,虽然目前密钥长度已达1024位,但是仍然不能避免将被破解的厄运,致使密钥还需进一步增加.这种运算规格的增长不仅使加解密运算速度降低,而且增加了硬件实现的难度. CSTU 安全芯片体系结构简介
随着人们对安全需求的不断增加,采用固定或单一加解密算法的产品已经无法满足人们的需求,目前的安全产品需要经常更换加解密算法甚至改变整个安全策略.适应这种需求常用的方法是在基本运算器之上,使用软件编程的方式灵活的实现算法的转换.但是面对不断升级的软件破解技术的挑战,以及软件方式的低速率性,各种加解密算法也由软件实现向硬件电路实现过渡.为解决这一矛盾.可支持多种加解密算法的硬件安全产品就应运而生,其中基于可重组方式设计的安全芯片无疑又具有领先优势.
CSTU保密终端安全芯片采用了可重组设计思想,综合分析了当前大量使用的DES,AES,IDEA,RSA,MD5等十余种加解密算法的实现过程,支持对称、公钥、摘要密码算法及用户隐秘算法,提供这些算法实现所需的IP平台,不同的用户可以根据自己的需要在平台上进行二次开发,形成自己定义的安全算法及策略.
CSTU安全芯片可用于保密电话、安全卡证或移动安全终端等产品中,这些产品的共同特点是对规模要求比较严格,对公钥密码算法的速度要求不高.为提供对公钥密码算法和数字签名算法的支持,大数运算器成为CSTU安全体系中关键的核心IP.根据实际需求,本设计在满足硬件规模尽可能小同时支持尽可能多的运算功能和多种规格的数据运算的条件下,最终保证整个系统的灵活性. 模幂运算
模幂运算是RSA 的核心算法,最直接地决定了RSA 算法的性能。针对快速模幂运算这一课题,西方现代数学家提出了大量的解决方案,通常都是先将幂模运算转化为乘模运算。
例如求D=C**15 % N,由于:a*b % n =(a % n)*(b % n)% n,所以:
C1 =C*C % N =C**2 % N C2 =C1*C % N =C**3 % N C3 =C2*C2 % N =C**6 % N C4 =C3*C % N =C**7 % N C5 =C4*C4 % N =C**14 % N C6 =C5*C % N =C**15 % N
即:对于E=15的幂模运算可分解为6 个乘模运算,归纳分析以上方法可以发现对于任意E,都可采用以下算法计算D=C**E % N:
D=1 WHILE E>=0 IF E%2=0 C=C*C % N E=E/2 ELSE D=D*C % N E=E-1 RETURN D
继续分析会发现,要知道E 何时能整除 2,并不需要反复进行减一或除二的操 作,只需验证E 的二进制各位是0 还是1 就可以了,从左至右或从右至左验证都可以,从左至右会更简洁,设E=Sum[i=0 to n](E*2**i),0<=E<=1,则:
D=1 FOR i=n TO 0 D=D*D % N IF E=1 D=D*C % N RETURN D
这样,模幂运算就转化成了一系列的模乘运算。3.模乘运算
对于乘模运算 A*B%N,如果A、B都是1024位的大数,先计算A*B,再% N,就会产生2048位的中间结果,如果不采用动态内存分配技术就必须将大数定义中的数组空间增加一倍,这样会造成大量的浪费,因为在绝大多数情况下不会用到那额外的一倍空间,而采用动态内存分配技术会使大数存储失去连续性而使运算过程中的循环操作变得非常繁琐。所以模乘运算的首要原则就是要避免直接计算A*B。
设A=Sum[i=0 to k](A*r**i),r=0x10000000,0<=A 这样产生的最大中间结果是A*B 或C*r,都不超过1056位,空间代价会小得多,但是时间代价却加大了,因为求模的过程由一次变成了多次。对于孤立的乘模运算而言这种时间换空间的交易还是值得的,但是对于反复循环的乘模运算,这种代价就无法承受,必须另寻出路。蒙哥马利模乘 由于RSA 的核心算法是模幂运算,模幂运算又相当于模乘运算的循环,要提高RSA 算法的效率,首要问题在于提高模乘运算的效率。不难发现,模乘过程中复杂度最高的环节是求模运算,因为一次除法实际上包含了多次加法、减法和乘法,如果在算法中能够尽量减少除法甚至避免除法,则算法的效率会大大提高。 设A=Sum[i=0 to k](A*2**i),0<=A<=1,则: C= A*B = Sum[i=0 to k](A*B*2**i)可用循环处理为: C=0 FOR i FROM k TO 0 C=C*2 C=C+A*B RETURN C 若令 C'= A*B*2**(-k),则: C'= Sum[i=0 to k](A*B*2**(i-k))用循环处理即: C'=0 FOR i FROM 0 TO k C'=C'+A*B C'=C'/2 RETURN C' 通过这一算法求A*B*2**(-k)是不精确的,因为在循环中每次除以2都可能有余数被舍弃了,但是可以通过这一算法求A*B*2**(-k)%N的精确值,方法是在对C'除2之前,让C'加上C'[0]*N。由于在RSA中N是两个素数的积,总是奇数,所以当C'是奇数时,C'[0]=1,C'+C'[0]*N 就是偶数,而当C'为偶数时C'[0]=0,C'+C'[0]*N还是偶数,这样C'/2 就不会有余数被舍弃。又因为C'+N %N = C' %N,所以在计算过程中加若干次N,并不会影响结果的正确性。可以将算法整理如下: C'=0 FOR i FROM 0 TO k C'=C'+A*B C'=C'+C'[0]*N C'=C'/2 IF C'>=N C'=C'-N RETURN C' 由于在RSA中A、B总是小于N,又0<=A,C'[0]<=1,所以: C' =(C'+A*B+C'[0]*N)/2 C' <(C'+2N)/2 2C' < C'+2N C' < 2N 既然C'总是小于2N,所以求C' %N 就可以很简单地在结束循环后用一次减法来完成,即在求A*B*2**(-k)%N的过程中不用反复求模,达到了我们避免做除法的目的。当然,这一算法求得的是A*B*2**(-k)%N,而不是我们最初需要的A*B %N。但是利用A*B*2**(-k)我们同样可以求得A**E %N。设R=2**k %N,R'=2**(-k)%N,E=Sum[i=0 to n](E*2**i): A'=A*R %N X=A' FOR i FROM n TO 0 X=X*X*R' %N IF E=1 X=X*A'*R' %N X=X*1*R' %N RETURN X 最初: X = A*R %N,开始循环时: X = X*X*R' %N = A*R*A*R*R' %N = A**2*R %N 反复循环之后: X = A**E*R %N 最后: X = X*1*R' %N = A**E*R*R' %N = A**E %N 如此,我们最终实现了不含除法的模幂算法,这就是著名的蒙哥马利算法,而X*Y*R' %N 则被称为“蒙哥马利模乘”。以上讨论的是蒙哥马利模乘最简单,最容易理解的二进制形式。蒙哥马利算法的核心思想在于将求A*B %N转化为不需要反复取模的A*B*R' %N,但是利用二进制算法求1024位的A*B*R' %N,需要循环1024次之多,我么必然希望找到更有效的计算A*B*R' %N的算法。考虑将A表示为任意的r进制: A = Sum[i=0 to k](A*r**i)0<=A<=r 我们需要得到的蒙哥马利乘积为: C'= A*B*R' %N R'=r**(-k)则以下算法只能得到C'的近似值 C'=0 FOR i FROM 0 TO k C'=C'+A*B C'=C'/r IF C'>=N C'=C'-N RETURN C' 因为在循环中每次C'=C'/r 时,都可能有余数被舍弃。假如我们能够找到一个系数 q,使得(C' + A*B + q*N)%r =0,并将算法修改为: C'=0 FOR i FROM 0 TO k C'=C'+A*B+q*N C'=C'/r IF C'>=N C'=C'-N RETURN C' 则C'的最终返回值就是A*B*R' %N的精确值,所以关键在于求q。由于:(C' + A*B + q*N)%r =0 ==>(C' %r + A*B %r + q*N %r)%r =0 ==>(C'[0] + A*B[0] + q*N[0])%r =0 若令N[0]*N[0]' %r =1,q=(C'[0]+A*B[0])*(r-N[0]')%r,则:(C'[0] + A*B[0] + q*N[0])%r =(C'[0]+A*B[0]-(C'[0]+A*B[0])*N[0]'*N[0])%r)%r = 0 于是我们可以得出r为任何值的蒙哥马利算法: m=r-N[0]' C'=0 FOR i FROM 0 TO k q=(C'[0]+A*B[0])*m %r C'=(C'+A*B+q*N)/r IF C'>=N C'=C'-N RETURN C' 如果令 r=0x100000000,则 %r 和 /r 运算都会变得非常容易,在1024位的运算中,循环次数k 不大于32,整个运算过程中最大的中间变量C'=(C'+A*B+q*N)< 2*r*N < 1057位,算法效率就相当高了。唯一的额外负担是需要计算 N[0]',使N[0]*N[0]' %r =1,而这一问题前面已经用欧几里德算法解决过了,而且在模幂运算转化成反复模乘运算时,N是固定值,所以N[0]'只需要计算一次,负担并不大。利用平方-乘算法进行大数计算之C语言代码 在RSA算法中,往往要计算ma mod r的值(很抱歉这里用的符号可能与教科书上并不一致),由于ma的值可能会很大而产生溢出从而导致错误。以前我曾经写过一个逐步取余数的小程序来解决这个问题,回头看来,感觉效率不是很高。下面再给一个利用平方-乘算法解决这个问题的小程序,仅供参考。 程序要求:输入m,a,b ma mod b;输出ma mod b,a的二进制位数为128位,m和b的二进制位数为8位。 实验代码: #include void main(){ int m,a,b;cout<<“input three number:”;cin>>m>>a>>b;cout< 课程名称: 计算机网络与信息安全 课程代码: 1460146 实验地点: C408 实验1捕获并分析数据包(2014年4月23日) 一、实验目的掌握 虚拟机VMware的安装、配置及使用;掌握捕获数据包软件sniffer的安装、配置及使用。 二、实验内容 1.在本地机上使用Vmware搭建一个网络环境; 2.在虚拟机上安装、配置捕获数据包软件sniffer; 3.使用sniffer软件捕获Telnet数据包,分析TCP的头结构、分析TCP的“三次握手”和“四次挥手”的过程。 三、实验结果 1、写出sniffer软件配置的主要内容; 2、写出对所捕获的Telnet数据包的分析结果; 四、遇到的问题及解决办法 实验2加密与解密的实现(2014年4月30日) 一、实验目的掌握DES及RSA加密/解密算法的原理并完成相应的程序设计。 二、实验内容 1.编写程序实现DES加密/解密算法; 2.编写程序实现RSA加密/解密算法。 三、实验结果 写出实现上述要求的源程序代码并运行加以验证。 四、遇到的问题及解决办法 实验3简单防火墙的实现(2014年5月14日) 一、实验目的熟悉防火墙的基本工作原理,掌握简易防火墙的实现。 二、实验内容 用所熟悉的语言实现简易防火墙。 三、实验结果 写出实现的源程序代码并运行加以验证。 四、遇到的问题及解决办法 实验4简单入侵检测的实现(2014年5月21日) 一、实验目的熟悉入侵检测的基本方法,掌握简易入侵检测系统的实现。 二、实验内容 用所熟悉的语言实现简易入侵检测。 三、实验结果 写出实现的源程序代码并运行加以验证。 四、遇到的问题及解决办法 实验一:GPS静态数据采集 一、实验目的1.练习GPS天线的整平、对中、安装; 2.练习GPS接收机静态系统配置与连接; 3.了解GPS接收机静态系统参数设置; 4.掌握GPS接收机测站信息采集与设置; 5.熟悉GPS接收机静态数据采集观测信息评价方法。 二、实验仪器与环境 GPS接收机1台,天线1台、三脚架1支,卷尺一个 三、实验方法与程序(1).在校园的GPS点上架设脚架,安置天线,严格对中整平,记录GPS接收机型号,天线的型号。 (2).天线定向标志应指向正北,定向误差不宜超过±5°。对于定向标志不明显的接收机天线,可预先设置标记。每次应按此标记安置仪器。 (3).每时段开机前,作业员应先量取天线高,用专用测高尺接量取标志中心至天线基座天线高测量专用孔位的距离,量取三次取平均值。 (4).开机,天线安置完成后,在三角架上安置GPS接收机,接通接收机与电源、天线的联接电缆,并经过预热和静置,即可启动接收机进行观测。 通常来说,在外业观测工作中,仪器操作人员应注意以下事项: ①当确认外接电源电缆及天线等各项连接完全无误后,方可接通电源,启动接收机。 ②开机后接收机有关指示显示正常并通过自测后,方能输入有关测站和时段控制信息。 ③接收机在开始记录数据后,应注意查看有关观测卫星数量、卫星号、相位 测量残差、实时定位结果及其变化、存储介质记录等情况。 ④一个时段观测过程中,不允许进行以下操作:关闭又重新启动;进行自测试(发现故障除外);改变卫星高度角;改变天线位置;改变数据采样间隔;按动关闭文件和删除文件等功能键。 ⑤每一观测时段中,气象元素一般应在始、中、末各观测记录一次,当时段较长时可适当增加观测次数。 ⑥在观测过程中要特别注意供电情况,除在出测前认真检查电池容量是否充足外,作业中观测人员不要远离接收机,听到仪器的低电报警要及时予以处理,否则可能会造成仪器内部数据的破坏或丢失。 ⑦仪器高一定要按规定始、末各测一次,并及时输入及记入测量手薄之中。⑧在观测过程中不要靠近接收机使用对讲机;雷雨季节架设天线要防止雷击,雷雨过境时应关机停测,并卸下天线。 ⑨观测站的全部预定作业项目,经检查均已按规定完成,且记录与资料完整无误后方可迁站。 ⑩观测过程中要随时查看仪器内存或硬盘容量,每日观测结束后,应及时将数据转存至计算机硬、软盘上,确保观测数据不丢失。在观测手簿上记录开机时间。每一个时段观测45分钟左右。观测过程中不要碰接收机和脚架,观测者离接收机一定的距离,而且不使用干扰卫星信号的通讯设备,比如手机等。 (5).关机,记录关机时间,将点名、点号、观测者、日期、开机时间、天线高、时段号、同一时段的其它控制点等观测结果记录在GPS外业观测手簿上。 四、实验总结第四篇:11级计算机网络与信息安全实验汇总
第五篇:实验1