Skip to content

Latest commit

 

History

History

caesar

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。