1、网络与信息安全课程设计报告班级: 网络 07-1 班 学号:310709040101姓名:陈友娜题目:加密软件设计评阅:成绩:网络与信息安全课程设计报告1目 录一、密码分析及密码系统设计原则 .2二、维吉尼亚密码 .3(一)维吉尼亚密码的介绍 .3(二)维吉尼亚密码的原理 .4(三)维吉尼亚密码-特点 .5(四)维吉尼亚密码的演变 .7(五)维吉尼亚密码下的扩展 .7三、界面的设计 .15(一)软件启动封面设计- .16(二)软件框架设计 .16(三)软件按钮设计 .16(四)菜单设计 .16(五)标签设计 .17(六)图标设计 .17(七)滚动条及状态栏设计 .17(八)安装过程设计 .17
2、(九)包装及商品化 .17四、加密的意义 .18总结 .18致谢词 .19参考文献 .19网络与信息安全课程设计报告2摘要使用维吉尼亚密码加密只是众多密码加密方法中的一个,本设计是基于维吉尼亚密码的一种扩展,能起到更强的加密,完成所有属于 ACSII 的加密,本人主要负责设计的规划,程序设计,界面设计,报告的完成等工作,整个程序是 Java 平台下实现的。本次设计方法的原理以及方法仍然以维吉尼亚通用的方法来介绍。关键词:维吉尼亚加密,密钥,加密,解密。一、密码分析及密码系统设计原则对通信双方而言,通信的一方将信息加密后发送给另一方,是为了使攻击者即使得到密文也无法读懂。对于攻击者来说,在不知道
3、密钥的情况下,要想读懂密文,就要根据他的知识以及掌握的情报来进行密码分析。 密码分析是研究密钥未知的情况下恢复明文的科学。通常假设攻击者知道正在使用的密码体制,当然,如果分析者不知道正在使用的密码体制,分析起来将更加困难。成功的密码分析可能直接恢复明文或密钥,也可能找出保密系统的弱点来恢复明文或密钥。根据攻击者具有的知识和掌握的情报,可以将密码分析分为以下几种类型: (1)只有密文的攻击。攻击者有一些密文,它们是使用同一加密算法和同一密钥加密的。 (2)已知明文的攻击。攻击者不仅得到一些密文,而且能得到这些密文对应的明文。 (3)选择明文的攻击。攻击者不仅得到一些密文和对应明文,而且能选择用于
4、加密的明文。 (4)选择密文的攻击。攻击者可以选择不同的密文来解密,并能得到解密后的明文。 在每种情况下,攻击者的目标是确定正在使用的密钥或待破译密文所对应的明文。上述几种攻击方式是以强度递增排列的,只有密文的攻击是最容易防护的攻击。然而,目前最常见的是已知明文和选择明文的攻击。事实上,攻击者欲得到一些明、密文对或加密一些选择好的明文并不困难,攻击者可以知道很多信息具有标准的头部和尾部。一般来说,密码系统应该经得起已知明文的攻击。 密码系统的安全依赖于破译该系统的困难程度。如果破译一个密码系统的费用超过了被加密数据本身的价值,或者破译所需的时间超过了被加密数据所需保密的时间,或者由一个密码系统
5、加密的数据少于破译该算法所需的数据量,就可以认为这个系统是安全的。 如果攻击者无论得到多少密文,都没有足够的信息去恢复明文,那么该密码系统就是无条件安全的。在理论上,只有一次一密的系统才能真正实现这一点。除此之外的系统都至少可以网络与信息安全课程设计报告3使用只有密文的攻击来破译。 设计密码系统必须至少满足下面的一个准则: (1)破译该密码的成本超过被加密信息的价值; (2)破译该密码的时间超过被加密信息的生命周期。 如果一个密码系统能够满足上述准则,就认为该系统在计算上是安全的。然而困难之处就在于难以估计成功破译密码的努力有多大。只能使设计的密码系统抗击已知的攻击,尤其要能抗击穷举密钥攻击,
6、即强力攻击。 穷举密钥攻击方法是对截获的密文用所有可能的密钥解密,直到得到有意义的明文为止。从理论上来说,除了一次一密密码系统,其它任何密码系统都可以用穷举密钥攻击法破解,但实际上,任何一个实用的密码设计都会使这一方法在计算上失去可行性。 密码分析方法可以分为确定性和统计性两类。确定性分析法是利用若干已知数学关系式表示出所求的未知量,这种关系式是从加密和解密算法得来的;统计分析法则是利用明文的已知统计规律进行破译的方法。例如经典密码分析的许多技术利用了英文语言的统计特性。通过分析英文字母中单字母、双字母、三字母组合出现的频率并通过猜词法达到破译密码的目的。二、维吉尼亚密码(一)维吉尼亚密码的介
7、绍维吉尼亚密码多表代换密码中最著名的一种,这是以移位代换为基础的周期代换密码,m个移位代换表由 m 个字母组成的密钥字确定(这里假设密钥学中的 M 个字母不同,如果有相同的,则代换表的个数是密钥字中不同字母的个数)如果密钥字为 deceptive,明文 we are discovered save youselelf 被加密为:明文: wearediscoverdsaveyouselelf密钥: deceptivedeceptivedeceptive其中,密钥字母 a,b,cy ,z 对应数字 0,1,224, 25。密钥字母 d 对应数字 3,因此明文字母 W 在密钥字母 d 的作用下向后移
8、位 3,得到密文字母 Z。例子:q=26, 明文 x=polyalphabetic cipher,K=radio明文 x=p o l y a l p h a b e t i c c i p h e r网络与信息安全课程设计报告4密钥 k=r a d i o r a d i o r a d i o r a d i o密文 y=g o o g o c p k t p n t l k q z p k m f解密时,密文字母在密钥字母的作用下向前移位。 用算法表示:加密:C=(m+k)mod26解密:m=(c-k)mod26设 d 为一固定的正整数,d 个移位代换表 =(1 ,2 , d) , 由密钥
9、序列 K=( k1,k2,kd)给定,第 i+td 个明文字母由表 i 决定,即密钥 ki 决定ek(xi+td)=(xi+td+ki)mod q =ydk(yi+td)=(yi+td-ki)mod q =x(二)维吉尼亚密码的原理比如明文为 JACKOZOO, 秘匙为 LOVE, 则我们的密文是这样得到的:J 对应的密文我们查秘匙为 L, 则在第 L 行中, 找到与第一行中的 J 对应的字母为 U.A 对应的密文我们查秘匙为 O, 则在第 O 行中, 找到与第一行中的 A 对应的字母为 O.C 对应的密文我们查秘匙为 V, 则在第 V 行中, 找到与第一行中的 C 对应的字母为 X.K 对应
10、的密文我们查秘匙为 E, 则在第 E 行中, 找到与第一行中的 K 对应的字母为 O.O 对应的密文我们查秘匙为 L, 则在第 L 行中, 找到与第一行中的 O 对应的字母为 Z. (如果秘匙不够了,我们就循环使用秘匙, LOVELOVELO . )Z 对应的密文我们查秘匙为 O, 则在第 O 行中, 找到与第一行中的 Z 对应的字母为 N.O 对应的密文我们查秘匙为 V, 则在第 V 行中, 找到与第一行中的 O 对应的字母为 J.O 对应的密文我们查秘匙为 E, 则在第 E 行中, 找到与第一行中的 O 对应的字母为 S.由此得到 JACKOZOO 在以 LOVE 作为秘匙的情况下, 其密
11、文为: UOXOZNJS.我们看到维吉尼亚密码也很好地隐藏了字频信息.但是这里不得不提的是, 维吉尼亚密码(Vigenere Cipher)相对于希尔密码(Hill Cipher)来说, 其对字频信息的隐藏还不够彻底.这也导致了在 19 世纪 50 年代, 英国人查尔斯- 巴贝奇对其的破解. 其实其破解的基本思想如下:比如在密文中, 经常出现了同一个子串(比如 UPK), 而且每个字串之间的距离都是 3 的整数网络与信息安全课程设计报告5倍. 那么解密者就很容易推测出秘匙的长度为 3. 其原因也是十分简单的:当秘匙在重复了 N 次之后 , 其还是用第一个字母去加密 UPK 相应的明文. 尤其是
12、对 THE, YOU, WHAT 这类高频词汇当使用了弱秘匙的话,更容易遭受破解. 关于维吉尼亚密码的具体破解工作, 不在本文范围之内, 有兴趣的朋友可以自行研究.以上介绍的是维吉尼亚密码的加密, 解密的话, 直接找出相应行在第一行中对应的字母即可密钥的选取在维吉尼亚密码中,如果密钥的长度是 m,明文中的一个字母能够映成这 m 个可能的字母中的一个,容易看出维吉尼亚密码中长度为 m 的可能密钥字的个数是 26 的 m 次方,甚至对于一个较小的 m 值,如 m=5,密钥空间超过了 1.1 乘以 10 的 7 次方,这个空间已经足已阻止手工穷举密钥的搜索。为方便记忆,维吉尼亚密码的密钥字常常取于英
13、文中的一个单词,一个句子或一段文章。因此,维吉尼亚密码的明文和密钥字母频率分布相同,仍然能够用统计技术进行分析。要抗击这样的密码分析,只有选择与明文长度相同并与之没有统计关系的密钥内容。1918 年美国电报电话公司的 G。W。Vernam 提出这样的密码系统:明文英文字母编成 5 比特二元数字,称之为五单元波多代换码,选择随机二元数字流作为密钥,加密通过执行明文和密钥的逐位异或操作,产生密文,可以简单地表示为 Ci=Pi 异或 Ki其中,Pi 表示明文的第 i 个二元数字,Ki 表示密钥的第 i 个二元数字,Ci 表示密文的第 i个二元数字,解密仅需执行相同的逐位异或操作:Pi=Ci 异或 K
14、iVernam 密码系统的密钥若不重复使用,就能得到一次一密码。若密钥有重复,尽管使用长密钥增加了密码分析的难度,但只要有了足够的密文,使用已知的或可能的明文序列,或二者相结合也能够破译。在维吉尼亚密码中,明文中的字符映射到密文空间的字符不但依赖于明文字符,还依赖于它在上下文中的位置。但是在密文中依然保留了字符频率。根据某些统计信息破译该密码的关键是判断密钥的长度,即代换表的周期。(三)维吉尼亚密码-特点人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由 16 世纪法国亨利三世王朝的 布莱瑟维吉尼亚发明的,其特点是将 26 个恺撒密表合成一个,见下表: 网络与信息安全课程设
15、计报告6A B C D F G H I J K L M N O P Q R S T U V W X Y Z A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R
16、S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E FH H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M
17、 N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G
18、 H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A
19、 B C D E F G H I J K L M N O P Q R S T U W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 密钥维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来
20、对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文网络与信息安全课程设计报告7加密: TO BE OR NOT TO BE THAT IS THE QUESTION 当选定 RELATIONS 作为密钥时,加密过程是:明文一个字母为 T,第一个密钥字母为 R,因此可以找到在 R 行中代替 T 的为 K,依此类推,得出对应关系如下: 密钥:RELAT IONSR ELATI ONSRE LATIO NSREL 明文:TOBEO RNOTT OBETH ATIST HEQUE STION 密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY (四
21、)维吉尼亚密码的演变历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。 公元 16 世纪晚期,想要获得更高的保密度的人获得了一种设计更加精细的密码表。法国外交家 BlaisedeVigenre 发明了一种方法来对同一条信息中的不同字母用不同的密码进行加密。这样,同样的 E 在一个位置可能被 M 所取代,而在另一个位置的 E 则有可能以 K 的面目出现。这样,就可以防止任何人利用频率分析法解密该条信息。(五)维吉尼亚密码下的扩展为了能更多的加密字符,本次设计把维吉尼亚密钥个数增加到 ASC 码中的所有的英文字母大小字符,希望能加
22、密更多的软件,所有的原理和加密方法和维吉尼亚的一样,只是密钥扩展了一下,所用的公式也改变一下,下面提供了,ASC 与十进制的对应,在加密的时候能起到一定的帮助作用,此加密功能相当维吉尼亚更具有安全性,对照表如下:十进制 字符64 65 A66 B67 C68 D69 E70 F网络与信息安全课程设计报告871 G72 H73 I74 J75 K76 L77 M78 N79 O80 P81 Q82 R83 S84 T85 U86 V87 W88 X89 Y90 Z91 92 93 94 95 _96 97 a98 b网络与信息安全课程设计报告999 c100 d101 e102 f103 g10
23、4 h105 i106 j107 k108 l109 m110 n111 o112 p113 q114 r115 s116 t117 u118 v119 w120 x121 y122 z123 124 |125 126 网络与信息安全课程设计报告10127 del软件和界面组合的程序package chen;import java.awt.*;import javax.swing.*;import javax.swing.border.TitledBorder;import java.awt.event.*;public class Chen extends JFrame implements
24、 ActionListener/* */private static final long serialVersionUID = 1L;private JLabel ke1=new JLabel(“ “);private JLabel ke2=new JLabel(“ “);private JLabel ke3=new JLabel(“ “);private JLabel ke4=new JLabel(“ “);private JLabel ke5=new JLabel(“ “);private JLabel ke6=new JLabel(“ “);private JLabel mn=new
25、JLabel(“输入明文“);private JLabel mo=new JLabel(“输入密钥“);private JLabel mt=new JLabel(“加密结果“);private JButton ji=new JButton(“加密“);private JLabel miWen=new JLabel(“输入密文“);private JLabel miYao2=new JLabel(“输入密钥“);private JLabel mingWenoutput=new JLabel(“解密结果“);private JButton jiemi=new JButton(“解密“);priva
26、te JTextArea textOne=new JTextArea(1,2);网络与信息安全课程设计报告11private JTextArea textTwo=new JTextArea(1,2);private JTextArea textThree=new JTextArea(1,2);private JTextArea t4=new JTextArea(1,2);private JTextArea textFive=new JTextArea(1,2);private JTextArea textSix=new JTextArea(1,2);int i;char c=new char1
27、00;char k1=new char100;int j;char m=new char100;char k12=new char100;public Chen()super(“维吉尼亚“);ji.addActionListener(this);jiemi.addActionListener(this);addWindowListener(listen);pack();setVisible(true);setSize(400,330);public void set()JPanel mingwenInput=new JPanel();mingwenInput.setLayout(new Bor
28、derLayout();mingwenInput.add(“West“,mn);mingwenInput.add(“Center“,textOne);mingwenInput.add(“East“,ke1);JPanel miyaoInput=new JPanel();miyaoInput.setLayout(new BorderLayout();miyaoInput.add(“West“,mo);miyaoInput.add(“Center“,textTwo);miyaoInput.add(“East“,ke2);JPanel miwenOutput=new JPanel();网络与信息安全
29、课程设计报告12miwenOutput.setLayout(new BorderLayout();miwenOutput.add(“West“,mt);miwenOutput.add(“Center“,textThree);miwenOutput.add(“East“,ke3);JPanel shangzhong=new JPanel();GridLayout s=new GridLayout (3,1);s.setVgap(5);shangzhong.setBackground(Color.gray);shangzhong.setLayout(s);shangzhong.add(mingwe
30、nInput);shangzhong.add(miyaoInput);shangzhong.add(miwenOutput);JPanel buttons=new JPanel();buttons.setLayout(new BorderLayout();buttons.add(“Center“,ji);JPanel shangmianban=new JPanel();shangmianban.setLayout(new BorderLayout();shangmianban.setBackground(Color.green);shangmianban.add(“Center“,shangz
31、hong);shangmianban.add(“East“,buttons);JPanel miwenInput=new JPanel();miwenInput.setLayout(new BorderLayout();miwenInput.add(“West“,miWen);miwenInput.add(“Center“,t4);miwenInput.add(“East“,ke4);JPanel miyaoxiaInput=new JPanel();miyaoxiaInput.setLayout(new BorderLayout();miyaoxiaInput.add(“West“,miYa
32、o2);miyaoxiaInput.add(“Center“,textFive);miyaoxiaInput.add(“East“,ke5);JPanel mingwenOutput=new JPanel();网络与信息安全课程设计报告13mingwenOutput.setLayout(new BorderLayout();mingwenOutput.add(“West“,mingWenoutput);mingwenOutput.add(“Center“,textSix);mingwenOutput.add(“East“,ke6);JPanel xiazhong=new JPanel();Gr
33、idLayout sz=new GridLayout(3,1);sz.setVgap(5);shangmianban.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black,2),“加密面板“,TitledBorder.CENTER,TitledBorder.ABOVE_TOP);xiazhong.setBackground(Color.LIGHT_GRAY);xiazhong.setBounds(1, 2, 3, 4);xiazhong.setLayout(sz);xiazho
34、ng.add(“North“,miwenInput);xiazhong.add(“Center“,miyaoxiaInput);xiazhong.add(“South“,mingwenOutput);JPanel button=new JPanel();button.setLayout(new BorderLayout();button.add(“Center“,jiemi);JPanel xiamianban=new JPanel();BorderLayout x=new BorderLayout();x.setVgap(5);xiamianban.setBorder(BorderFacto
35、ry.createTitledBorder(BorderFactory.createLineBorder(Color.MAGENTA,2),“解密面板“,TitledBorder.CENTER,TitledBorder.ABOVE_TOP);xiamianban.setLayout(x);xiamianban.add(“Center“,xiazhong);xiamianban.add(“East“,button);xiamianban.setBackground(Color.cyan);网络与信息安全课程设计报告14setLayout(new GridLayout(2,1);add(shang
36、mianban);add(xiamianban);public void actionPerformed(ActionEvent e)if(e.getSource()=ji)String m=(String)textOne.getText();String k=(String)textTwo.getText(); for(i=0;i=atextSix.setText(“);textSix.append(new String(m);private WindowCloser listen=new WindowCloser();private class WindowCloser extends W
37、indowAdapterpublic void windowClosing(final WindowEvent we)dispose();public static void main(String args) Chen chen=new Chen();chen.set();三、界面的设计界面设计是为了满足软件专业化标准化的需求而产生的对软件的使用界面进行美化优化规范化的设计分支。具体包括软件启动封面设计,软件框架设计,按钮设计,面板设计,菜单设网络与信息安全课程设计报告16计,标签设计,图标设计,滚动条及状态栏设计,安装过程设计,包装及商品化在设计的过程中的关键问题。 (一)软件启动封面设计
38、-应使软件启动封面最终为高清晰度的图像,如软件启动封面需在不同的平台、操作系统上使用将考虑转换不同的格式,并且对选用的色彩不宜超过 256 色,最好为 216 色安全色。软件启动封面大小多为主流显示器分辨率的 1/6 大。如果是系列软件将考虑整体设计的统一和延续性。在上面应该醒目的标注制作或支持的公司标志、产品商标,软件名称,版本号,网址,版权声明,序列号等信息,以树立软件形象,方便使用者或购买者在软件启动的时候得到提示。插图宜使用具有独立版权的,象征性强的,识别性高的,视觉传达效果好的图形,若使用摄影也应该进行数位处理,以形成该软件的个性化特征 (二)软件框架设计 软件的框架设计就复杂得多,
39、因为涉及软件的使用功能,应该对该软件产品的程序和使用比较了解,这就需要设计师有一定的软件跟进经验,能够快速的学习软件产品,并且在和软件产品的程序开发员及程序使用对象进行共同沟通,以设计出友好的,独特的,符合程序开发原则的软件框架。软件框架设计应该简洁明快,尽量少用无谓的装饰,应该考虑节省屏幕空间,各种分辨率的大小,缩放时的状态和原则,并且为将来设计的按钮,菜单,标签,滚动条及状态栏预留位置。设计中将整体色彩组合进行合理搭配,将软件商标放在显著位置,主菜单应放在左边或上边,滚动条放在右边,状态栏放在下边,以符合视觉流程和用户使用心理 (三)软件按钮设计 软件按钮设计应该具有交互性,即应该有 3
40、到 6 种状态效果:点击时状态;鼠标放在上面但未点击的状态;点击前鼠标未放在上面时的状态;点击后鼠标未放在上面时的状态;不能点击时状态;独立自动变化的状态。按钮应具备简洁的图示效果,应能够让使用者产生功能关联反应,群组内按钮应该风格统一,功能差异大的按钮应该有所区别。软件面板设计应该具有缩放功能,面板应该对功能区间划分清晰,应该和对话框,弹出框等风格匹配,尽量节省空间,切换方便。 (四)菜单设计 菜单设计一般有选中状态和未选中状态,左边应为名称,右边应为快捷键,如果有下级菜单应该有下级箭头符号,不同功能区间应该用线条分割。 网络与信息安全课程设计报告17(五)标签设计 标签设计应该注意转角部分
41、的变化,状态可参考按钮。 (六)图标设计 图标设计色彩不宜超过 64 色,大小为 16x16、32x32 两种,图标设计是方寸艺术,应该加以着重考虑视觉冲击力,它需要在很小的范围表现出软件的内涵,所以很多图标设计师在设计图标时使用简单的颜色,利用眼睛对色彩和网点的空间混合效果,做出了许多精彩图标。 (七)滚动条及状态栏设计 滚动条主要是为了对区域性空间的固定大小中内容量的变换进行设计,应该有上下箭头,滚动标等,有些还有翻页标。状态栏是为了对软件当前状态的显示和提示。(八)安装过程设计 安装过程设计主要是将软件安装的过程进行美化,包括对软件功能进行图示化。(九)包装及商品化 最后软件产品的包装应
42、该考虑保护好软件产品,功能的宣传融合于美观中,可以印刷部分产品介绍,产品界面设计。软件界面其中的主要部分即为 UIUI(User Interface)即用户界面,也称人机界面。是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器,设备,复杂的工具等。软件设计可分为两个部分:编码设计与 UI 设计。编码设计大家都很熟悉,但是 UI 设计还是一个很陌生的词,即使一些专门从事网站与多媒体设计的人也不完全理解 UI 的意思。UI 的本意是用户界面,是英文 User 和 interface 的缩写。从字面上看是用户与界面 2 个组成部分,但实际上还包括用户与界面之间的交互
43、关系。界面设计。在漫长的软件发展中,界面设计工作一直没有被重视起来。做界面设计的人也被贬义的称为“ 美工” 。其实软件界面设计就像工业产品中的工业造型设计一样,是产品的重要买点。一个友好美观的界面会给人带来舒适的视觉享受,拉近人与电脑的距离,为商家创造卖点。界面设计不是单纯的美术绘画,他需要定位使用者、使用环境、使用方式并且为最终用户而设计,是纯粹的科学性的艺术设计。检验一个界面的标准即不是某个项目开发组领导的意见也不是项目成员投票的结果,而是最终用户的感受。所以界面设计要和用户研究紧密结合,是一个不断为最终用户设计满意视觉效果的过程网络与信息安全课程设计报告18四、加密的意义随着计算机联网的
44、逐步实现,计算机信息的保密问题显得越来越重要。数据保密变换,或密码技术,是对计算机信息进行保护的最实用和最可靠的方法。密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图象的特种符号。凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或载获,窃取者也不能了解信息的内容,从而保证信息传输的安全。所以,加密显得越来越重要,学会做加密软件,是很大的成果,可以用于各个领域.总结刚开始老师布置下来课程设计的时候,心里是一头乱麻,毫无头绪,感觉做个软件太难了,但通
45、过一个多周的学习,发现做起来也没有想象中的那么难,首先,想做好这个加密软件,必须要熟练掌握运用相应算法的流程,分析规划整个工程,其次,必须熟练掌握一门语言,最后,把两者结合起来,那么做出一个成功的软件不是难题。本次设计给我最大的收获是:你学到的东西永远都是有用的,只是有的不是时候,但不会还很多,这个时候不应该抱怨和后悔,而是珍惜现在,抓住机会,学习,我的好多同学其实也有很多知识不太熟悉,但经过努力学习,在短时间内掌握了,在这个学习效率比较高的情况下,学的东西会记得更长久。还有,遇到不懂的,一定要和老师同学交流,知道该去了解哪方面的知识,怎么去做,不要泄气,丢下来不管,没有什么事每个人都会做的,
46、只要学了,努力了,我相信肯定能做好,本次设计给我很大的启发,因为,此次设计,是上大学来,唯一门,综合学科的设计,很能锻炼人。同时本次实验让我看到了自己的不足以及和别人的差距,给我更强的学习动力,我从心里感谢老师这次设计的安排,让我受益匪浅,启发很多,我会付出实际的行动多学知识。我认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅要面对社会的挑战,只有不断的学习、实践,再学习、再实践网络与信息安全课程设计报告19致谢词在此次课程设计中,由于本人水平有限,对 Java 深入太浅,好多东西是初次接触,很多关键的问题还多亏老师和同学的指导和帮助,我在此对你们表示崇高的敬意和诚挚的谢意。参考文献密码编码和密码分析:原理与方法 2001-09-01 机械工业出版社编码理论(第二版) 2007 年 9 月 西安电子科技大学出版社密码编码学与网络安全-原理实践 (英文版)(第四版) 2006 年 7 月 1 日 电子工业出版社编码密码学 1992 年 12 月 人民邮电出版社