资源描述:
《古典加密算法文档及代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学与技术学院软件工程2班20042170宋鹏信息安全程序设计一一、实验目的:学习并掌握密码学基础中古典加密体制的一些主要方法。二、设计要求:编程实现移位密码、仿射密码、维吉尼亚密码和置换密码,要求如下:1、程序输入为明文和密钥(对于仿射密码应该检查密钥的合法性);2、执行加密和解密过程;3、输出加密的密文和解密恢复的明文,并和开始输入的明文进行比较。三、设计步骤:程序在JAVA环境中实现,由于编程基础不够扎实可能程序没有明显的体现出面向对象的风格,期望老师见谅。1:首先构造基本的古典加密界面如图1.1图1.12:然后添加界面所用到的组件和注册监听器。3:编写各个算法的加密和解密
2、函数进行加密解密时的调用。四、以下分别是构造界面,添加组件及监听器和各个算法实现代码,分别都有标注importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;/*构造古典加密算法界面*/publicclassJMJMextendsWindowAdapterimplementsActionListener,ItemListener{Labell1=newLabel("输入:"),l2=newLabel("加密:"),l3=newLabel("解密:"),l4=newLabel("密钥:");JFramef;TextFieldt1
3、=newTextField(55),t2=newTextField(55),t3=newTextField(55),t4=newTextField(20);Buttonb1=newButton("加密"),b2=newButton("解密"),b3=newButton("清屏");Choicec1;Panelp1,p2,p3,p4,p5,p6,p7,p8,p9;publicvoiddisplay(){f=newJFrame("加密算法宋鹏20042170QQ348946154");f.setSize(480,200);f.setLocation(200,140);计算机科学与技术学院软
4、件工程2班20042170宋鹏f.setBackground(Color.lightGray);f.setLayout(newBorderLayout());tiajiazujian();f.setVisible(true);}/*添加界面组件以及监听器*/publicvoidtiajiazujian(){c1=newChoice();c1.add("移位算法");c1.add("仿射算法");c1.add("维吉尼亚算法");c1.add("置换算法");c1.addItemListener(this);f.add(c1,"North");p1=newPanel();p3=newPa
5、nel();f.add(p3,"Center");p3.setLayout(newFlowLayout());p3.add(l1);p3.add(t1);p3.add(l2);p3.add(t2);p3.add(l3);p3.add(t3);p2=newPanel();f.add(p2,"South");p2.setLayout(newGridLayout(1,5));p2.add(l4);p2.add(t4);p2.add(b1);p2.add(b2);p2.add(b3);b1.addActionListener(this);b2.addActionListener(this);b
6、3.addActionListener(this);}/*对应不同加密算法的按钮点击事件*/publicvoidactionPerformed(ActionEvente){if(e.getSource()==b3&&c1.getSelectedIndex()==0){t1.setText("");t2.setText("");t3.setText("");}if(e.getSource()==b1&&c1.getSelectedIndex()==0){ywjiami();}if(e.getSource()==b2&&c1.getSelectedIndex()==0){ywjiemi()
7、;}if(e.getSource()==b1&&c1.getSelectedIndex()==1){fcjiami();}if(e.getSource()==b2&&c1.getSelectedIndex()==1){fcjiemi();}计算机科学与技术学院软件工程2班20042170宋鹏if(e.getSource()==b1&&c1.getSelectedIndex()==2){wjnyjiami();}if(e.getSource()=