MohammedHabibQureshi/Academics-Learning-Cryptography-Algorithms
GitHub: MohammedHabibQureshi/Academics-Learning-Cryptography-Algorithms
用 Python 从头实现了17种经典与现代密码学算法的教学仓库,帮助学习者通过代码实践深入理解加密原理。
Stars: 0 | Forks: 0
# 🔐 Python 中的密码学算法
## 概述
本仓库包含经典与现代密码学算法的实现,这些算法是作为学术课程和网络安全学习的一部分而开发的。
该项目通过实际的 Python 实现,展示了基础加密技术、安全密钥交换协议、流密码与分组密码、公钥密码学以及密码学上安全的随机数生成。
其主要目的是通过从头实现算法并分析其行为,来加深对密码学概念的理解。
## 主要功能
* 实现了 17 种密码学算法
* 经典与现代加密技术
* 公钥与对称密码学
* 安全的密钥交换机制
* 密码学随机数生成器
* 教育性质的 Python 实现
* 规范的仓库组织结构
## 已实现的算法
### 经典密码学
| 算法 | 类型 |
| ----------------------------- | --------------------------- |
| Caesar Cipher | 替换密码 |
| Affine Cipher | 单表替换 |
| Columnar Transposition Cipher | 置换密码 |
| Hill Cipher | 多表密码 |
| One-Time Pad | 完全保密密码 |
| Playfair Cipher | 双字母替换密码 |
| Rail Fence Cipher | 置换密码 |
| Vigenère Cipher | 多表密码 |
### 现代密码学
| 算法 | 分类 |
| ----------------------------- | ----------------------- |
| AES Key Generation | 对称密码学 |
| Diffie-Hellman Key Exchange | 密钥交换协议 |
| ElGamal Cryptosystem | 公钥密码学 |
| RC4 Encryption | 流密码 |
| RSA Algorithm | 公钥密码学 |
| Simplified DES Encryption | 分组密码 |
| Simplified DES Key Generation | 密钥调度 |
### 随机数生成器
| 算法 | 分类 |
| ----------------------------------- | ----------------------------- |
| Blum Blum Shub (BBS) | 密码学安全的 PRNG |
| Linear Congruential Generator (LCG) | 伪随机数生成器 |
## 仓库结构
```
Academics-Learning-Cryptography-Algorithms
│
├── Classical-Ciphers
│ ├── Caesar-Cipher.py
│ ├── Affine-Cipher.py
│ ├── Columnar-Transposition.py
│ ├── Hill-Cipher.py
│ ├── One-Time-Pad.py
│ ├── Playfair-Cipher.py
│ ├── Rail-Fence-Cipher.py
│ └── Vigenere-Cipher.py
│
├── Modern-Cryptography
│ ├── AES-Key-Generation.py
│ ├── Diffie-Hellman-Key-Exchange.py
│ ├── ElGamal-Cryptosystem.py
│ ├── RC4-Encryption.py
│ ├── RSA.py
│ ├── SDES-Encryption.py
│ └── SDES-Key-Generation.py
│
├── Random-Number-Generators
│ ├── Blum-Blum-Shub.py
│ └── Linear-Congruential-Generator.py
│
├── screenshots
└── README.md
```
## 使用的技术
* Python 3
* 密码学基础
* 数论
* 模运算
* 信息安全概念
## 学习成果
该项目有助于理解:
* 经典加密技术
* 对称密钥密码学
* 非对称密钥密码学
* 密钥交换协议
* 密码学随机数生成
* 加密与解密过程
* 安全的数学基础
* 安全通信原则
## 示例输出
### Caesar Cipher
### Vigenère Cipher
### RSA Algorithm
### Diffie-Hellman 密钥交换
### Blum Blum Shub 生成器
## 运行程序
克隆仓库:
```
git clone https://github.com/MohammedHabibQureshi/Academics-Learning-Cryptography-Algorithms.git
```
进入仓库目录:
```
cd Academics-Learning-Cryptography-Algorithms
```
运行任意算法:
```
python Caesar-Cipher.py
```
## 应用场景
本仓库中实现的密码学概念广泛应用于:
* 安全通信系统
* 网络安全
* VPN 技术
* 数字签名
* 身份验证系统
* 安全云服务
* 金融交易
* 网络安全基础设施
## 未来增强计划
* SHA-256 实现
* ECC(椭圆曲线密码学)
* DSA(数字签名算法)
* Triple DES
* 混合加密模型
* 密码分析演示
## 作者
### Mohammad Habib Qureshi
IoT 与嵌入式系统工程师 | 网络安全爱好者
兴趣领域:
* 密码学
* 网络安全
* 云安全
* 嵌入式系统
* IoT 安全
* Python 开发
## 免责声明
本仓库仅用于教育、学术和学习目的。
标签:Python, 云配置检测, 加密算法, 密码学, 对称加密, 手动系统调用, 教学项目, 无后门, 自动化审计, 非对称加密