当前位置:文档之家› 信息安全实验要求

信息安全实验要求

一、实习目的
1.熟悉java平台开发环境;
2.理解常见古典加密算法:凯撒密码、多字母替代密码、多表替代密码;
3.理解古典加密技术中的替换技术、置换技术。

二、实习要求
1.实习前认真预习第1、2章相关内容;
2.对实习内容中给定题目上机前先进行程序编写和数据准备;
3.上机编辑、调试、运行程序,并保存最终程序,然后撰写实习报告;
4.实习报告需用专门的报告纸书写,内容包括:实习名称、实习目的、内容、操作过程、程序清单,运行结果,实习中出现的问题及解决方法、实习体会等,具体要求见附录1。

三、实习内容
1.[问题描述]
凯撒密码是把字母表中的每个字母用该字母后的某个字母进行代替。

凯撒密码的通用加密算法是:C=E(P)=(P+k) mod 26
0<26<="">
凯撒密码的通用解密算法是:P=D(C)=(P-k) mod 26
0<26<="">
2.[阶梯任务]
(1)利用课本表2-1实现凯撒密码的加密、解密算法,能够根据用户选择秘钥(移位数)和明文进行加解密,用户密钥在整数范围内;
(2)对于恺撒加密实现图形界面,用户可以输入明文和密钥,在文本框中显示对应密文;
(3)实现用户对文件的操作,用户可以通过指定路径文件和密钥,加密结果存储在指定文件中;
(4)利用一种已经存在的编码方式,如ASCII,实现任意英文状态字符的加密;
(5)学习一种中文编码方式,实现字符集加密和解密。

(本项选做)。

3.[实现提示]
(1) 用户可以通过命令实现密钥和明文的选择;
(2) 由于字母表中共有26个字符,因此,移位前应先将移动的位数(key)和26取模。

Java平台中可以实现字符和整数的自动转换,因此将字符加上一个正整数代表在字母表中右移位数。

如果移动的位数为负值,则代表在字母中左移位数。

(3) 尽管移位前已经将移动的位数和26取模,但是通过这种方式实现的右移和左移仍可能发生超界。

因此,移位后仍要判断是否超界。

确定。

相关主题