凯撒密码是一种最简单的替换加密技术,属于对称加密。它通过将字母表中的每个字母移动固定位数来加密。
- 字母替换:将每个字母替换为字母表中固定位置后的字母
- 循环移位:字母表是循环的,'Z'后是'A'
- 保持大小写:大写字母保持大写,小写字母保持小写
- 非字母不变:数字、标点符号等保持不变
明文: HELLO
密钥: 3
密文: KHOOR
- H -> K (移动3位)
- E -> H (移动3位)
- L -> O (移动3位)
- L -> O (移动3位)
- O -> R (移动3位)
解密是加密的逆过程,向相反方向移动相同的位数。
- 时间复杂度: O(n),其中n是输入长度
- 空间复杂度: O(n),用于存储结果
| 语言 | 文件名 |
|---|---|
| C | caesar.c |
| Java | Caesar.java |
| Go | caesar.go |
| Python | caesar.py |
| JavaScript | caesar.js |
| Rust | caesar.rs |
| TypeScript | Caesar.ts |
- 教学演示
- 简单信息隐藏
- 历史研究
- 编程练习
凯撒密码非常容易破解,仅用于教学目的。实际应用应使用现代加密算法如AES、RSA。