实验一 置换密码
通过编程实现置换密码算法,加深对古典密码体系的了解,为以后深入学习密码学奠定基础。
- 实验原理:
不改变明文字符,但是把字符在明文中的排列顺序改变,来实现明文信息的加密。置换密码也被称为换位密码。本次实验使用的是矩阵换位法,是将明文中的字母按照给定的顺序安排在一个矩阵中,然后又根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。
解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由密钥给出的矩阵置换产生新的矩阵恢复正常顺序,从而恢复明文。
2、算法设计:通过选择加密或解密,使用置换矩阵顺序和恢复矩阵顺序的两个函数,分别在主函数中进行调用来实现置换密码的加密解密实现。
3、函数接口:
加密接口代码:
解密接口代码:
开始 |
输入C
|
C==1
|
结束 |
输入明文
|
输入密钥
|
输入密钥
|
输入密文
|
输出
|
置换还原
|
输出
|
列置换
|
程序流程图:
- 测试结果截图:
1. 看到置换密码的题目,我首先想到的linux操作系统下ubuntu进行功能的实现。
2. 采用了Vim编辑器利用C语言进行程序的编写,再通过gcc编辑器进行功能的编译测试。
3.本实验是为了实现明文的加密,采用的方法是矩阵换位法,通过密钥的顺序重组形成密文。
4. 解密过程是根据密钥给出的矩阵置换产生新的矩阵恢复出原始的明文。
5.本实验采用的
明文是:wangshaofei
密钥匙:01234567890
密文是:wngshaofeia
6.通过本次编程实现置换密码算法,加深了对密码学的进一步了解,为以后深入研究密码学起了引导性作用。
若需要原始工程,关注后联系微信号:Wsf18729286646