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 CC ### Vigenère Cipher VC ### RSA Algorithm rsa ### Diffie-Hellman 密钥交换 DH ### Blum Blum Shub 生成器 bbs ## 运行程序 克隆仓库: ``` 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, 云配置检测, 加密算法, 密码学, 对称加密, 手动系统调用, 教学项目, 无后门, 自动化审计, 非对称加密