类似凯撒密码在线解密,解密EONUN(用置换法...

凯撒密码的加密和解密-五星文库
免费文档下载
凯撒密码的加密和解密
导读:关于凯撒密码的实现原理,1、设计一个凯撒密码的加密和解密的程序,要求输入一段字符和密码,完成加密过程,若输入被加密的密文及解密密钥,完成解密,凯撒密码的历史,凯撒密码(caeser)是罗马扩张时期朱利斯?凯撒(JuliusCaesar)创,用于加密通过信使传递的作战命令,它将字母表中的字母移动一定位置而实现加密,在密码学上称为“凯撒密表”,凯撒密表是一种相当简单的加密变换,在密码学中存在着各种
关于凯撒密码的实现原理
指导老师:
一、 设计要求说明
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
三、 环境介绍
Microsoft Visual Studio 2010
四、 思路以及算法分析
定义两个字符数组char p[1000]和char c[1000],用来存放明文和密文。
定义一个key,表示移位的个数。这是加密解密的关键。
综合考虑到在密表尾部的字母加密或解密的时候会循环移动到密表头部,所以加密、解密语句分别为:
c[i]=(p[i]-'a'+key)%26+'a'
向后移动key
p[i]='z'-('z'+key-c[i])%26
向前移动key
五、 源程序代码
#include&stdio.h&
void main()
char p[1000];
char c[1000];
int key,i,m;
/*定义一个移位个数为5,即加密向右移5位,解密则相反*/
printf(&please input the Plaintext: \n&);
/*读取字符串,直至接受到换行符停止,并将读取的结果存放在p[1000]中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。*/
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&);
/*读取字符串,直至接受到换行符停止,并将读取的结果存放在c[1000]中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。*/
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);
/*输出解密后的明文*/
六、 运行结果分析
试对明文security进行加密,再将其解密:
输入明文 security:
回车后,输出加密后的密文:xjhzwnyd
输入security的密文“xjhzwnyd”
回车后出现解密后的明文security:
包含总结汇报、党团工作、资格考试、word文档、办公文档、教程攻略、专业文献、考试资料以及凯撒密码的加密和解密等内容。本文共2页
相关内容搜索我想学一些密码类似于凯撒密码,猪圈密码等。有什么书籍是关于这些的!?_百度知道4332人阅读
加密解密(7)
凯撒密码---最简单的加密方式之一
&恺撒密码&据传是古罗马恺撒大帝用来保护重要军情的加密系统。
它是一种置换密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
假如有这样一条指令:
明文(小写):ji xiao jing
用恺撒密码加密后就成为:
密文(大写):ML ALDR MLQJ
如果这份指令被敌方截获,也将不会泄密,因为字面上看不出任何意义。
这种加密方法还可以依据移位的不同产生新的变化,如将每个字母左19位,就产生这样一个明密对照表:
明文:a b c d e f g h i j k l m n o p q r s t u v w x y z
密文:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
很明显,这种密码的密度是很低的,只需简单地统计字频就可以破译。
于是人们在单一恺撒密码的基础上扩展出多表密码,称为&维吉尼亚&密码。它是由16世纪法国亨利三世王朝的布莱瑟&维吉尼亚发明的,其特点是将26个恺撒密表合成一个,见下表:
&& A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
维吉尼亚密码引入了&密钥&的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:147480次
积分:1807
积分:1807
排名:第16446名
原创:28篇
转载:54篇
评论:19条
(2)(2)(4)(2)(1)(1)(1)(3)(1)(1)(2)(6)(22)(6)(1)(11)(2)(14)求解凯撒密码算法的题目_百度知道 |  |  | 
您所在的位置: >
> 凯撒密码加解密 V V1.0.0.0
凯撒密码加解密 V V1.0.0.0
输入文本,使用凯撒密码进行加密和解密
软件类别:/
软件语言:
相关链接:
软件大小:118.17 KB
运行环境:WindowsPhone/
软件评级:
更新时间:
手机扫一扫下载
其它网友推荐了
网友在2分钟前点赞了
网友在42分钟前点赞了
网友在1小时前点赞了
网友在1小时前点赞了
网友在1小时前点赞了
让你过SSL ***安全地访问企业的应用和资源
真正做到全自动一键式刷机、傻瓜式操作
可以查看手机里隐藏的WIFI密码
致力于为用户提供丰富、优质、安全、个性化资源
专为爱自拍的女生量身定制
最新攻略资讯
输入文本,使用凯撒密码进行加密和解密.
凯撒密码加解密 VV1.0.0.0图片(1/2)
,软件? 软件下载后?飞翔小编十二分诚意等待着您的投诉与建议
APK文件怎么打开,下载APK文件如何***到手机?推荐使用
软件无法下载
下载后无法使用
与描述不一致

参考资料

 

随机推荐