ImageVerifierCode 换一换
格式:DOCX , 页数:77 ,大小:3.34MB ,
资源ID:11102511      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11102511.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(信息安全与密码学上机报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

信息安全与密码学上机报告.docx

1、信息安全与密码学上机报告信息安全与密码学上机报告 信息安全与密码学实验报告姓名: 学号: 学院: 班级: 成绩:2014年12月31日 目录1移位密码1.1算法原理密码体制令。对,任意,定义 以及若取,则此密码体制通常叫做凯撒密码(Caesar Cipher),因为它首先为儒勒凯撒所使用。使用移位密码可以用来加密普通的英文句子,但是首先必须建立英文字母和模26剩余之间的一一对应关系:如。将其列表如下:ABCDEFGHIJKLM0123456789101112NOPQRSTUVWXYZ131415161718192021222324251.2实现过程1.2.1 程序代码using System;

2、using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace mimaxue46.FormsClass public partial class yiwei : Form public yiwei() InitializeComponent(); priva

3、te void textBox1_KeyPress(object sender, KeyPressEventArgs e) private void button1_Click(object sender, EventArgs e) textBox3.Clear(); string aa = new string26; aa0 = a; aa1 = b; aa2 = c; aa3 = d; aa4 = e; aa5 = f; aa6 = g; aa7 = h; aa8 = i; aa9 = j; aa10 = k; aa11 = l; aa12 = m; aa13 = n; aa14 = o;

4、 aa15 = p; aa16 = q; aa17 = r; aa18 = s; aa19 = t; aa20 = u; aa21 = v; aa22 = w; aa23 = x; aa24 = y; aa25 = z; string aa2 = new string26; aa20 = A; aa21 = B; aa22 = C; aa23 = D; aa24 = E; aa25 = F; aa26 = G; aa27 = H; aa28 = I; aa29 = J; aa210 = K; aa211 = L; aa212 = M; aa213 = N; aa214 = O; aa215 =

5、 P; aa216 = Q; aa217 = R; aa218 = S; aa219 = T; aa220 = U; aa221 = V; aa222 = W; aa223 = X; aa224 = Y; aa225 = Z; try #region int a = Convert.ToInt16(textBox1.Text); string tx = textBox2.Text; int le = tx.Length; int bb = new intle; string txt = new stringle; for (int i = 0; i le; i+) txti = txi.ToS

6、tring(); /获得明文 string txt2 = new stringle; for (int j = 0; j le; j+) for (int m = 0; m 26; m+) if (txtj = aam) bbj = (m + a) % 26; txt2j = aa2bbj; /获得密文 string tx2 = ; for (int n = 0; n le; n+) tx2 += txt2n; textBox3.Text = tx2; #endregion catch MessageBox.Show(请输入正确格式的秘钥以及明文); private void button2_

7、Click(object sender, EventArgs e) textBox6.Clear(); string aa = new string26; aa0 = a; aa1 = b; aa2 = c; aa3 = d; aa4 = e; aa5 = f; aa6 = g; aa7 = h; aa8 = i; aa9 = j; aa10 = k; aa11 = l; aa12 = m; aa13 = n; aa14 = o; aa15 = p; aa16 = q; aa17 = r; aa18 = s; aa19 = t; aa20 = u; aa21 = v; aa22 = w; aa

8、23 = x; aa24 = y; aa25 = z; string aa2 = new string26; aa20 = A; aa21 = B; aa22 = C; aa23 = D; aa24 = E; aa25 = F; aa26 = G; aa27 = H; aa28 = I; aa29 = J; aa210 = K; aa211 = L; aa212 = M; aa213 = N; aa214 = O; aa215 = P; aa216 = Q; aa217 = R; aa218 = S; aa219 = T; aa220 = U; aa221 = V; aa222 = W; aa

9、223 = X; aa224 = Y; aa225 = Z; try int a = Convert.ToInt16(textBox4.Text); string tx = textBox5.Text; int le = tx.Length; string txt = new stringle; for (int i = 0; i le; i+) txti = txi.ToString(); /获得密文 string txt2 = new stringle; for (int j = 0; j le; j+) for (int m = 0; m 26; m+) if (txtj = aa2m)

10、 int n = m - a; if (n = 0) n = n + 26; txt2j = aan % 26; else txt2j = aan % 26; string tx2 = ; for (int n = 0; n le; n+) tx2 += txt2n; textBox6.Text = tx2; catch MessageBox.Show(请输入正确的秘钥以及密文); 1.2.2运行界面2置换密码2.1算法原理在置换密码的情形下,我们也可以认为和是26个英文字母。在移位密码中使用是因为加密和解密都是代数运算。但是在置换密码的情形下,可更简单的将加密和解密过程直接看作是一个字母表上

11、的置换。任取一置换,便可得到一加密函数,见下表(小写字母表示明文,大写字母表示密文):abcdefghijklmXNYAHPOGZQWBTnopqrstuvwxyzSFLRCVMUEKJDI按照上表应有,等等。解密函数是相应的逆置换。由下表给出:ABCDEFGHIJKLMdlryvohEzxwptNOPQRSTUVWXYZbgfjqnmUskaci因此,等等。置换密码的一个密钥刚好对应于26个英文字母的一种置换。所有可能的置换有26!种,这个数值超过,是一个很大的数。因此,采用穷尽密钥搜索的攻击方法,即使使用计算机,也是计算上不可行的。2.2实现过程2.2.1 程序代码 using Syste

12、m;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace mimaxue46.FormsClass public partial class zhihuan : Form public zhihuan() InitializeComponent();

13、 private void button1_Click(object sender, EventArgs e) textBox2.Clear(); string aa = new string26; aa0 = a; aa1 = b; aa2 = c; aa3 = d; aa4 = e; aa5 = f; aa6 = g; aa7 = h; aa8 = i; aa9 = j; aa10 = k; aa11 = l; aa12 = m; aa13 = n; aa14 = 0; aa15 = p; aa16 = q; aa17 = r; aa18 = s; aa19 = t; aa20 = u;

14、aa21 = v; aa22 = w; aa23 = x; aa24 = y; aa25 = z; string bb = new string26; bb0=X; bb1=N; bb2=Y; bb3=A; bb4=H; bb5=P; bb6=O; bb7=G; bb8=Z; bb9=Q; bb10=W; bb11=B; bb12=T; bb13=S; bb14=F; bb15=L; bb16=R; bb17=C; bb18=V; bb19=M; bb20=U; bb21=E; bb22=K; bb23=J; bb24=D; bb25=I;/设置密码加密表 string tx = textBo

15、x1.Text; int le = tx.Length; string txt = new stringle; for (int m = 0; m le; m+) txtm = txm.ToString(); /明文 string txt2 = new stringle; for (int i = 0; i le;i+) for (int j = 0; j 26; j+) if (txti = aaj) txt2i = bbj; /密文 string tx2 = ; for (int i = 0; i txt2.Length; i+) tx2 += txt2i; this.textBox2.T

16、ext = tx2; /还可以使用list private void textBox1_TextChanged(object sender, EventArgs e) private void textBox2_TextChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) string aa = new string26; aa0 = a; aa1 = b; aa2 = c; aa3 = d; aa4 = e; aa5 = f; aa6 = g; aa7 = h; a

17、a8 = i; aa9 = j; aa10 = k; aa11 = l; aa12 = m; aa13 = n; aa14 = 0; aa15 = p; aa16 = q; aa17 = r; aa18 = s; aa19 = t; aa20 = u; aa21 = v; aa22 = w; aa23 = x; aa24 = y; aa25 = z; string bb = new string26; bb0 = X; bb1 = N; bb2 = Y; bb3 = A; bb4 = H; bb5 = P; bb6 = O; bb7 = G; bb8 = Z; bb9 = Q; bb10 =

18、W; bb11 = B; bb12 = T; bb13 = S; bb14 = F; bb15 = L; bb16 = R; bb17 = C; bb18 = V; bb19 = M; bb20 = U; bb21 = E; bb22 = K; bb23 = J; bb24 = D; bb25 = I; string tx = textBox3.Text; int le = tx.Length; string txt = new stringle; for (int i = 0; i le; i+) txti = txi.ToString(); /密文 string txt2 = new st

19、ringle; for(int j=0;jle;j+) for (int m = 0; m 26; m+) if(txtj=bbm) txt2j = aam; /获得明文 string tx2 = ; for (int n = 0; n le;n+ ) tx2 += txt2n; textBox4.Text = tx2; 2.2.2运行界面3 维吉尼亚密码3.1算法原理密码体制 设是一个正整数。定义。对任意的密钥,定义:和以上所有的运算都是在上进行。使用前面所述的方法,对应,则每个密钥相当于一个长度为的字母串,称为密钥字。维吉尼亚密码一次加密个明文字母。例 假设,密钥字为CIPHER,其对应于

20、如下的数字串K(2,8,15,7,4,17)。要加密的明文为:thiscryptosystemisnotsecure将明文串转化为对应的数字,每六个为一组,使用密钥字进行模26下的加密运算如下所示:19 7 8 18 2 17 24 15 19 14 18 24 18 192 8 15 7 4 17 2 8 15 7 4 17 2 821 15 23 25 6 8 0 23 8 21 22 15 20 14 12 8 18 13 14 19 18 4 2 20 17 415 7 4 17 2 8 15 7 4 17 2 8 1519 19 12 9 15 22 8 25 8 19 22 25

21、19则相应的密文应该为:VPXZGIAXIVWPUBTTMJPWIZITWZT解密时,使用相同的密钥字,进行逆运算即可。维吉尼亚密码的密钥空间大小为,所以即使的值很小,使用穷尽密钥搜索方法也需要很长的时间。例如,当时,密钥空间大小超过,这样的密钥量已经超出了使用手算进行穷尽搜索的能力范围(当然使用计算机另当别论)。3.2实现过程3.2.1程序代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.

22、Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace mimaxue46.FormsClass public partial class weijiniya : Form public weijiniya() InitializeComponent(); private void weijiniya_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)

23、 private void button1_Click_1(object sender, EventArgs e) #region textBox3.Clear(); string aa = new string26; aa0 = a; aa1 = b; aa2 = c; aa3 = d; aa4 = e; aa5 = f; aa6 = g; aa7 = h; aa8 = i; aa9 = j; aa10 = k; aa11 = l; aa12 = m; aa13 = n; aa14 = o; aa15 = p; aa16 = q; aa17 = r; aa18 = s; aa19 = t;

24、aa20 = u; aa21 = v; aa22 = w; aa23 = x; aa24 = y; aa25 = z; string bb = new string26; bb0 = A; bb1 = B; bb2 = C; bb3 = D; bb4 = E; bb5 = F; bb6 = G; bb7 = H; bb8 = I; bb9 = J; bb10 = K; bb11 = L; bb12 = M; bb13 = N; bb14 = O; bb15 = P; bb16 = Q; bb17 = R; bb18 = S; bb19 = T; bb20 = U; bb21 = V; bb22 = W; bb23 = X; bb24 = Y; bb25 = Z; #endregion try #region 秘钥 string tx = t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1