凯撒凯撒密码的加密和解密

凯撒密码  时间:2021-01-24  阅读:()

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

关于凯撒密码的实现原理

班级: 姓名: 学号: 指导老师:

一、 设计要求说明

1、设计一个凯撒密码的加密和解密的程序,要求输入一段字符和密码,输出相应的密文,

完成加密过程;若输入被加密的密文及解密密钥, 能还原出原文,完成解密。

2、语言不限,工具不限,独立完成,参加答辩。

3、严格按照格式的要求完成文档,在第六部分的运行结果分析中,要求抓图说明。

二、 基础知识介绍

凯撒密码的历史

凯撒密码( caeser )是罗马扩张时期朱利斯•凯撒( Julius Caesar )创造的,用于加密经过信使传递的作战命令。 它将字母表中的字母移动一定位置而实现加密。

古罗马随笔作家修托尼厄斯在她的作品中披露,凯撒常见一种 ”密表”给她的朋友写信。 这里所说的密表,在密码学上称为 ”凯撒密表” 。 用现代的眼光看,凯撒密表是一种相当简单的加密变换,就是把明文中的每一个字母用它在字母表上位置后面的第三个字母代替。 古罗马文字就是现在所称的拉丁文,其字母就是我们从英语中熟知的那26个拉丁字母。 因此,凯撒密表就是用d代a , 用e代b ,……, 用z代w 。 这些代替规则也可用一张表格来表示,因此叫 ”密表” 。

基本原理

在密码学中存在着各种各样的置换方式,但所有不同的置换方式都包含2个相同的元素。 密钥和协议(算法) 。 凯撒密码的密钥是3 ,算法是将普通字母表中的字母用密钥对应的字母替换。 置换加密的优点就在于它易于实施却难于破解.发送方和接收方很容易事

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

先商量好一个密钥,然后经过密钥从明文中生成密文, 即是敌人若获取密文,经过密文直接猜测其代表的意义,在实践中是不可能的。

凯撒密码的加密算法极其简单。 其加密过程如下:

在这里,我们做此约定:明文记为m ,密文记为c ,加密变换记为E(k1,m) (其中k1为密钥) ,解密变换记为D(k2,m) (k2为解密密钥) (在这里k1=k2,不妨记为k) 。凯撒密码的加密过程可记为如下一个变换:c≡m+k mod n (其中n为基本字符个数)

同样,解密过程可表示为:m≡c+k mod n (其中n为基本字符个数)

对于计算机而言, n可取256或128 , m 、 k 、 c均为一个8bit的二进制数。 显然,这种加密算法极不安全, 即使采用穷举法,最多也只要255次即可破译。 当然,究其本身而言,依然是一个单表置换, 因此,频率分析法对其仍是有效的。

加密解密算法

恺撒密码的替换方法是经过排列明文和密文字母表,密文字母表示经过将明文字母表向左或向右移动一个固定数目的位置。 例如, 当偏移量是左移3的时候(解密时的密钥就是3 ) :

明文字母表: ABCDEFGHIJKLMNOPQRSTUVWXYZ

密文字母表: DEFGHIJKLMNOPQRSTUVWXYZABC

使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,而且写下密文字母表中对应的字母。 需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。 例如:

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

明文: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

密文: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

恺撒密码的加密、 解密方法还能够经过同余数的数学方法进行计算。 首先将字母用数字代替, A=0 , B=1 , . . . , Z=25 。 此时偏移量为n的加密方法即为:

E (x)= (x+n) mod 2

解密就是:

D (x)= (x-n) mod 2

三、 环境介绍

编程语言

C语言

编译环境

Microsoft Visual Studio

操作系统

Windows ,

四、 思路以及算法分析

定义两个字符数组char p[1000]和char c[1000] ,用来存放明文和密文。

定义一个key ,表示移位的个数。 这是加密解密的关键。

综合考虑到在密表尾部的字母加密或解密的时候会循环移动到密表头部, 因此加密、解密语句分别为:c[i]=(p[i]-'a'+key)%26+'a' 向后移动keyp[i]=' z'-(' z'+key-c[i])%26 向前移动key

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

五、 源程序代码

#include<stdio.h>void main()

{char p[1000] ;char c[1000] ;int key, i,m;key=5; /*定义一个移位个数为5 , 即加密向右移5位,解密则相反*/printf("please input the Plaintext: \n") ;gets(p) ; /*读取字符串, 直至接受到换行符停止, 并将读取的结果存放在p[1000]中。 换行符不作为读取串的内容,读取的换行符被转换为nul l值, 并由此来结束字符串。 */for(i=0;p[i] !=' \0' ; i++)c[i]=(p[i]-'a'+key)%26+'a' ; /*加密算法,所有明文符号由向右移5位的密文代替*/c[i]=' \0' ;printf("the Ciphertext is:\n%s\n",c) ; /*输出加密后的密文*/printf("please input the Ciptertext:\n") ;gets(c) ; /*读取字符串,直至接受到换行符停止, 并将读取的结果存放在c[1000]中。 换行符不作为读取串的内容,读取的换行符被转换为nul l值, 并由此来结束字符

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

串。 */for(i=0;c[i] !=' \0' ; i++)p[i]=' z'-(' z'+key-c[i])%26; /*解密算法,所有明文符号由向左移5位的明文代替*/p[i]=' \0' ;printf("the Plaintext is:\n%s\n",p) ; /*输出解密后的明文*/return;

}

六、 运行结果分析

试对明文security进行加密,再将其解密:

输入明文security :

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

回车后,输出加密后的密文: xjhzwnyd

输入security的密文 ” xjhzwnyd ” :

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

回车后出现解密后的明文security :

七、 总结与不足

程序是在几个小时内测试运行成功的。 凯撒密码是密码学中, 一种最简单的加密算法。 原理并不复杂, 只要理解了,实现起来并不困难。 程序并不长,基本实现了对于凯撒密码的加密和解密过程。 但其中还存在很多不足, 比如,这段代码并没有给出当遇到空格或者别的符号的处理方法,又比如代码只给出了当字符是在a到z的情况下的解决方法,而从A到Z则没有给出等等。 因此,还有很多地方还能够进行改进: 1.能够在开始设置一个选择,是进行加密还是解密; 2.能够将key设为一个整型变量,在程序运行开始

资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除。

时,需要用户输入key值,再根据key值进行加密解密。这样,凯撒密码就能够变得更加灵活。 总体来说,从开始编写、 修改凯撒密码的程序到最终调试成功,还算比较顺利,也体会到了一点密码学的趣味。

八、 参考文献

[1]步山岳,张有东计算机信息安全技术, : 17

[2]

[3]

[4]

[5]

酷番云-618云上秒杀,香港1核2M 29/月,高防服务器20M 147/月 50M 450/月,续费同价!

官方网站:点击访问酷番云官网活动方案:优惠方案一(限时秒杀专场)有需要海外的可以看看,比较划算29月,建议年付划算,月付续费不同价,这个专区。国内节点可以看看,性能高IO为主, 比较少见。平常一般就100IO 左右。优惠方案二(高防专场)高防专区主要以高防为主,节点有宿迁,绍兴,成都,宁波等,节点挺多,都支持防火墙自助控制。续费同价以下专场。 优惠方案三(精选物理机)西南地区节点比较划算,赠送5...

CheapWindowsVPS:7个机房可选全场5折,1Gbps不限流量每月4.5美元

CheapWindowsVPS是一家成立于2007年的老牌国外主机商,顾名思义,一个提供便宜的Windows系统VPS主机(同样也支持安装Linux系列的哈)的商家,可选数据中心包括美国洛杉矶、达拉斯、芝加哥、纽约、英国伦敦、法国、新加坡等等,目前商家针对VPS主机推出5折优惠码,优惠后最低4GB内存套餐月付仅4.5美元。下面列出几款VPS主机配置信息。CPU:2cores内存:4GB硬盘:60G...

VoLLcloud:超便宜香港CMI大带宽vps-三网CMI直连-年付四免服务-低至4刀/月-奈飞

vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...

凯撒密码为你推荐
免费卡巴斯基杀毒软件除了卡巴斯基,还有哪些杀毒软件郑州软银科技有限公司河南/郑州网站设计公司哪家做的最好呀?てっっっ非主流桌面背景图片给我找几张好看的桌面图片??小说软件哪个好用免费现在看小说用什么软件好?朗逸和速腾哪个好朗逸跟速腾的最大区别在哪朗逸跟速腾买那个好苹果手机助手哪个好iphone有什么比较好用的软件!苹果手机助手哪个好iphone手机助手哪个好用?网页传奇哪个好玩近有什么好玩的网页传奇介绍么无纺布和熔喷布口罩哪个好口罩选择什么样的面料好炒股软件哪个好用用手机股票软件哪个好
厦门域名注册 187邮箱 dreamhost 英语简历模板word 网站保姆 服务器cpu性能排行 万网优惠券 租空间 空间出租 帽子云 hkg t云 香港新世界中心 阿里云免费邮箱 主机管理系统 广州虚拟主机 国外免费网盘 hdsky wordpress空间 ipower 更多