凯撒密码(Caesar cipher) 详解

------------恢复内容开始------------

最近训练CTF的时候,发现密码学这块的知识不太系统,所以自己接下来会陆陆续续整理出来

就先从古典密码中的凯撒密码说起吧

凯撒密码内容比较简单,所以也注定了本文比较水😄

起源

所谓凯撒,便是你们所熟悉的那位征战千里的老战棍(不是《龙族》里的凯撒┗|`O′|┛ 嗷~~)

作为一名杰出的军事领袖,凯撒深知指挥官对前方将领的命令对于一场战争的重要性,这些信息绝对不能让敌方知道,于是他设计了一种对重要的军事信息进行加密的方法,即使这些信息被截获,敌方也不一定能看懂——这就是著名的凯撒密码,也算是最早的密码实例。

加密方式

只要将各个字母向后移动三位就好啦!注意:按字母表循环来看 比如:Z后一位是A

这样明文就变成密文了!!


你们猜loryhbrx解密之后是什么?

知道的小伙伴可以留言鸭!!

变式衍生

凯撒密码的移动位数可以自由定义,可以为正,也可以为负

当移动位数为13时就称作ROT13(ROT13又可以衍生出其他的加密算法,以后会介绍到的)

以下是相关偏移量的称呼:

  • 偏移量为10:Avocat(A→K)

  • 偏移量为-5:Cassis (K 6)

  • 偏移量为-6:Cassette (K 7)

安全问题

通常我们得到凯撒密码的时候是无法得知位移量的,因此可以采取穷举算法

只要列举25次便可以从中发现玄机

但更多时候加密方式不会是简单的位移,可能与其他加密方式组合,这样破解难度将加大

最后贴张列举的图以便大家理解

posted @ 2020-03-22 21:42  SwordCreater  阅读(13206)  评论(0编辑  收藏  举报