实验一 加解密算法的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一加解密算法的实现
一 . 目的要求
用高级语言编写和调试一个或多个变位加解密的模拟程序,以加深对变位加密的理解。
二 . 实验内容
编写并调试一个变位加密的模拟程序。
可选择以下算法的一种或几种完成:
(1)简单的变位加密
密钥:4 1 6 8 2 5 7 3 9 0
明文:来人已出现住在平安里
0 1 2 3 4 5 6 7 8 9
密文:里人现平来住已在出安
(2)列变位法(这里的密钥是数字5)
明文:WHAT YOU CAN LEARN FROM THIS BOOK
分组排列为(按行排列,不够可填充空格或不常用字符) W H A T Y
O U C A N
L E A R N
F R O M T
H I S B O
O K X X X
密文;(按列读取)WOLFHOHUERIKACAOSXTARMBXYNNTOX
(3)矩阵变位法
这种加密是把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。
如将明文ENGINEERING按行排在3*4矩阵中,如下所示:
1 2 3 4
E N G I
N E E R
I N G
给定一个置换:现在根据给定的置换,按第2、第4、第1、第3列的次序重新排列,就得:
1 2 3 4
N I E G
E R N E
N I G
所以,密文为(按行读取)NIEGERNEN IG。
其解密过程正好反过来,先将密文根据3*4矩阵,按行、按列,及列的顺序写出矩阵;再根据给定置换f产生新的矩阵;最后恢复明文ENGINEERING。
4.一次性密码簿加密
密码簿的每一页上都是一些代码表,可以用一页上的代
码来加密一些词,用后撕掉或烧毁;再用另一页上的代码加密另一些词,直到全部的明文都被加密。
破译密文的惟一办法,就是获得一份相同的密码簿。
举例:
加密过程:(明文与密码按位异或计算)
明文:101101011011
密码:011010101001
密文:110111110010
解密过程:(密文与密码按位异或计算)
密文:110111110010
密码:011010101001
明文:101101011011
对每种算法的加密都要求已知明文和密钥,打印密文;解密要求已知密文和密钥,打印明文。