凯撒密码(又名移位密码)是一种最简单、最广为人知的**替换加密技术**。

核心思想:将明文中的每一个字母按照一个固定数目在字母表上进行偏移,从而得到密文。

核心原理:

  1. 确定偏移量(密钥):这个密钥是一个整数,代表字母要偏移的位数。

2.** ****加密(向后偏移)**:将明文中的每个字母按照密钥在字母表上向后移动。

  1. 解密(向前偏移):将密文中的每个字母按照密钥在字母表上向前移动,即可恢复出明文。

如何处理字母表末尾?

当偏移后超出字母表范围时,会回到字母表开头继续计算。这被称为 “取模”运算

数学公式表示:

我们可以用数学公式更精确地描述这个过程(以 26 个英文字母为例):

  • 加密: C = (P + K) mod 26
  • 解密: P = (C - K) mod 26

其中:

  • P 代表明文字母的序号(A=0, B=1, …, Z=25)
  • C 代表密文字母的序号(A=0, B=1, …, Z=25)
  • K 代表密钥(偏移量)
  • mod 26 代表除以 26 取余数

缺点:

  • 易受词频分析攻击:即使不知道密钥,攻击者也可以通过分析密文中字母出现的频率(例如,英文中 E 是最常见的字母)来轻松推断出密钥。
  • 密钥空间小:可能的偏移量只有 1 到 25 这 25 种可能,很容易通过暴力破解(即把所有 25 种可能都试一遍)来解密。

历史渊源

这种密码以其使用者——罗马共和国的尤利乌斯·凯撒命名。据古罗马史学家苏埃托尼乌斯记载,凯撒曾用此方法来保护他的重要军事通信。他当时使用的偏移量是 3