查看: 6005|回复: 15

[密码课] 凯撒密码(Caesar cipher)

 
  • 打卡总天数:1

积分成就

用户组:管理员

书币:127395

推理币:771925

发表于 2019-6-27 21:32:21 | 显示全部楼层 |阅读模式
凯撒密码是一种简单的替代密码,根据苏维托尼乌斯的记载,凯撒密码是由罗马共和国独裁官盖乌斯·尤利乌斯·恺撒发明的,他曾用凯撒密码来加密重要的军事情报。
作为一种替代加密算法,凯撒密码在如今看来,并非那么安全,它的加密方式只是简单的移位和替换,例如,如果明文移位1,则A被B替代,B将变为C,依此类推。
下面是一个简单的例子:
我们要加密的信息是“Defend the east wall of the castle”,偏移位数(密钥)为1。
加密之前,我们需要制作一个偏移位密钥表:
正常字母表:
112614hvgsq0kgs7xmgmm7_副本.jpg

移位密钥表(偏移位数为1):


然后,我们只需把明文字母替换为移位后的字母表即可,比如,明文是第一个字母“D”在正常字母表中是第四位,将之替换为移位密钥表的第四位字母“E”即可,根据这个规律,完全所有字母的加密。
如下:
  1. 明文:defendtheeastwallofthecastle
复制代码
  1. 密文:efgfoeuiffbtuxbmmpguifdbtumf
复制代码
我们可以很容易看出明文中的每个字母是如何沿字母表移动并替换的。
如果知道偏移位密钥,对密文解密是很简单的,只需用移位密钥表替换回正常字母表字母即可,比如,密文的第一个字母“E”,在移位密钥表中是第四位, 将之替换为正常字母表的第四位字母“D”即可,根据这个规律,完全所有字母的解密。
值得注意的要点是,我们在加密中使用的偏移位数(密钥)不同,我们的移位密钥表也不同,所以在手工加密的时候,需要自己写出移位密钥表。
移位密钥表的规律很简单,不管偏移几位数,这些字母都移动到正常字母表的最后。
例如:偏移位数(密钥)为4
移位密钥表就是:
  1. 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
复制代码
如果不知道偏移位数密钥,怎么解密密文呢,方式其实也并不困难,因为凯撒密码只有25种偏移位数的可能性,所以,只需要计算出这25种结果,必然有一种结果是明文。


积分成就

用户组:至尊神探

书币:0

推理币:6598

发表于 2019-7-14 10:48:59 来自移动端 | 显示全部楼层
知识点加一
访客  发表于 2019-7-14 11:35:39
第二种方法好麻烦!

积分成就

用户组:超级侦探

书币:119

推理币:3419

发表于 2019-7-15 16:56:24 来自移动端 | 显示全部楼层
我想学莫尔斯电码
  • 打卡总天数:1

积分成就

用户组:管理员

书币:127395

推理币:771925

 作者| 发表于 2019-7-21 04:57:36 | 显示全部楼层

摩斯密码就是个替换密码,直接将明文替换成表格中的符号就加密完成了,很简单的

积分成就

用户组:狂热侦探

书币:0

推理币:754

发表于 2019-7-21 11:42:11 来自移动端 | 显示全部楼层
学到了收藏了哈哈

积分成就

用户组:超级侦探

书币:119

推理币:3419

发表于 2019-7-23 10:30:08 来自移动端 | 显示全部楼层
伤蓝 发表于 2019-7-21 04:57
摩斯密码就是个替换密码,直接将明文替换成表格中的符号就加密完成了,很简单的 ...

伤心了,几乎都是英语

积分成就

用户组:普通侦探

书币:0

推理币:1198

发表于 2020-1-7 11:45:09 来自移动端 | 显示全部楼层
知识点+1

积分成就

用户组:超级侦探

书币:0

推理币:2044

发表于 2020-2-20 07:48:39 来自移动端 | 显示全部楼层
学到了⊙▽⊙

积分成就

用户组:推理之神

书币:46

推理币:30310

发表于 2020-3-2 17:30:37 来自移动端 | 显示全部楼层
很简单
12下一页
返回列表 发新主题 回复
小黑屋| 隐私政策| 侵权投诉| 数字千年版权法(DMCA)| 切换繁体 |捐助本站
copyright 2019-2023 推理罪 All Rights Reserved