实验项目1 置换密码

实验一 置换密码

一、实验目的:

      通过编程实现置换密码算法,加深对古典密码体系的了解,为以后深入学习密码学奠定基础。

二、实验内容:

  1. 实验原理:

不改变明文字符,但是把字符在明文中的排列顺序改变,来实现明文信息的加密。置换密码也被称为换位密码。本次实验使用的是矩阵换位法,是将明文中的字母按照给定的顺序安排在一个矩阵中,然后又根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。

解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由密钥给出的矩阵置换产生新的矩阵恢复正常顺序,从而恢复明文。

2、算法设计:通过选择加密或解密,使用置换矩阵顺序和恢复矩阵顺序的两个函数,分别在主函数中进行调用来实现置换密码的加密解密实现。

3、函数接口:

加密接口代码:

解密接口代码:

 

开始

输入C

 

C==1

 

结束

输入明文

 

输入密钥

 

输入密钥

 

输入密文

 

输出

 

置换还原

 

输出

 

列置换

 

程序流程图:

  1. 测试结果截图:

 

三、实验分析总结:

1. 看到置换密码的题目,我首先想到的linux操作系统下ubuntu进行功能的实现。

2. 采用了Vim编辑器利用C语言进行程序的编写,再通过gcc编辑器进行功能的编译测试。

3.本实验是为了实现明文的加密,采用的方法是矩阵换位法,通过密钥的顺序重组形成密文。

4. 解密过程是根据密钥给出的矩阵置换产生新的矩阵恢复出原始的明文。

5.本实验采用的

明文是:wangshaofei

密钥匙:01234567890

密文是:wngshaofeia

6.通过本次编程实现置换密码算法,加深了对密码学的进一步了解,为以后深入研究密码学起了引导性作用。

四、实验代码:

 

若需要原始工程,关注后联系微信号:Wsf18729286646

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静水流深深深!

谢谢你的鼓励,我感激不尽!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值