凯撒密码,又称凯撒加密。属于一种古老的加密算法,且极为简单。相传就是初中历史课本学习过的罗马帝国的尤里乌斯·凯撒(凯撒大帝),在公元前100年就懂得对传递的信息进行加密了。年代久远,无从考证。
按现代密码学来看,凯撒密码的安全性相当有限,但作为入门示例,理解加密具有一定教育价值。规则如下,
1. 凯撒密码规则
发送方与接收方共同约定了偏移量3
。发送即可以通过偏移后的字母表对明文加密。接收方拿到密文,通过字母表和发送方约定好的偏移量进行解密即可。
- 偏移量(密钥)
约定一个0到25的数字作为偏移量,即密钥。
- 替换过程
对明文的每个字母,根据字母表指定偏移量对字母替换为新字母。
2. 凯撒密码示例
示例CHINA
加密过程
发送方进行加密,拿到明文CHINA
、偏移量3
。可以参考第二行字母表,与之相同列的第一行字母即为加密后的字符。
例如:若偏移量为3
时,字母表A,为D;依次B,为E....,到达末尾Z,从A开始,如X为A,Y为B:
示例明文中的字母
C
向后移动3位,变为字符F
示例明文中的字母
H
向后移动3位,变为字符K
示例明文中的字母
I
向后移动3位,变为字符L
示例明文中的字母
N
向后移动3位,变为字符Q
示例明文中的字母
A
向后移动3位,变为字符D
CHINA
通过偏移量3
,通过凯撒密码加密后结果为FKLQD
。
解密过程
接收方进行解密,拿到密文FKLQD
、偏移量3
。可以参考第一行字母表,与之相同列的第二行即为解密后的字符。
示例密文中的字母
F
向后移动3位,变为字符C
示例密文中的字母
K
向后移动3位,变为字符H
示例密文中的字母
L
向后移动3位,变为字符I
示例密文中的字母
Q
向后移动3位,变为字符N
示例密文中的字母
D
向后移动3位,变为字符A
凯撒密码仅依赖单一的固定位移,安全性非常低。像与同学间互相传递纸条这种保密要求性不高的情况,可以体验一下。千万不要应用于工作当中。适合作为密码学基础原理的入门实例。
忍不住要加个关注!不是我吹,但你会后悔没关注的!