Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

凯撒密码 (Caesar Cipher)

问题描述

凯撒密码是一种最简单的替换加密技术,属于对称加密。它通过将字母表中的每个字母移动固定位数来加密。

算法思想

核心原理

  1. 字母替换:将每个字母替换为字母表中固定位置后的字母
  2. 循环移位:字母表是循环的,'Z'后是'A'
  3. 保持大小写:大写字母保持大写,小写字母保持小写
  4. 非字母不变:数字、标点符号等保持不变

加密过程

明文:  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。