欢迎来到天天文库
浏览记录
ID:38499667
大小:92.00 KB
页数:4页
时间:2019-06-13
《实验一古典密码算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一古典密码加密算法【实验目的】一般的密码学实验要求学习者编写实现加密法或分析工具的程序,但这势必要占用学习者较多的时间去调试程序,减少真正学习密码学的时间。分析加密程序CAP是一款密码加密与分析的软件,包含了古典密码学和现代密码学常用的密码算法和分析工具。学习者可以利用CAP更好地学习加密和密码分析技术,而不必花费大量的时间调试程序。【实验目的】1、理解代替密码学加密过程;2、掌握置换密码学加密过程;3、自行设计恺撒密码(CaesarCipher)加密工具,并验证恺撒密码(CaesarCipher)加密过程;4、掌握经典
2、加密分析软件CAP的使用并验证古典密码加密算法;【实验环境】1、基于Windows的PC机一台;设计设计恺撒密码(CaesarCipher)加密工具时的软件环境根据学生自己选择的平台安装,本设计软件平台可以是C语言,VisualC++,VisualC#,VisualBasic均可,主要是实现恺撒密码(CaesarCipher)算法即可。2、CAP加密与分析软件【实验内容】1、以C#平台为例说明恺撒密码(CaesarCipher)算法的实现。程序主界面如图1所示:程序源码usingSystem;……(省略部分生成代码)name
3、spaceEncryption{publicpartialclassForm1:Form{intkey;privatestringEncryption(intkey,refstringInputString){StringBuilderstr=newStringBuilder();charch,chtemp;inttemp;for(inti=0;i=97&&(int)ch<=122){temp=(((int)ch-97
4、)+key)%26+65;chtemp=(char)temp;}elseif((int)ch>=65&&(int)ch<=90){temp=(((int)ch-65)+key)%26+97;chtemp=(char)temp;}elsechtemp=ch;str.Append(chtemp);}returnstr.ToString();}publicForm1(){InitializeComponent();}privatevoidbtnEncryption_Click(objectsender,EventArgse){st
5、ringstr=txtPlaintext.Text;txtCiphertext.Text=Encryption(key,refstr);}privatevoidtxtKey_MouseEnter(objectsender,EventArgse){lblInfo.Visible=true;}privatevoidtxtKey_MouseLeave(objectsender,EventArgse){lblInfo.Visible=false;}privatevoidtxtKey_Leave(objectsender,EventA
6、rgse){try{key=int.Parse(txtKey.Text);if(key<=0
7、
8、key>25)thrownewIndexOutOfRangeException("Key值应在1至25之间!");}catch(Exceptionpe){MessageBox.Show("输入Key值错误,请单击【确定】重新输入!"+pe.Message,"错误信息",MessageBoxButtons.OK,MessageBoxIcon.Error);txtKey.Focus();txtKey.Text="";}}p
9、rivatevoidtxtPlaintext_Leave(objectsender,EventArgse){if(txtPlaintext.Text==""){MessageBox.Show("明文串不能为空,单击【确定】输入!");lblPlaintext.Focus();}}privatevoidbtnClose_Click(objectsender,EventArgse){this.Close();}}}2、双击运行CAP4.exe,出现软件主界面,如图2所示:(1)一般使用过程先在“Plaintext”中输入要加密的
10、明文,或在“Ciphertext”中输入要解密的密文,然后选择菜单“Ciphers”中的“加密算法”→“输入密钥”→“进行加密或解密运算”。相应密文或回复的明文将分别出现在“Ciphertext”或“Plaintext”中,如果是对密码进行分析,则在“Ciphertext”中输入要分析的密
此文档下载收益归作者所有