kushagra-dixit24/Side-Channel-Analysis-on-AES-128

GitHub: kushagra-dixit24/Side-Channel-Analysis-on-AES-128

基于 Python 的 AES-128 侧信道分析教学项目,实现了从零开始的加密算法和相关性功耗分析密钥恢复攻击。

Stars: 0 | Forks: 0

# 侧信道分析 🔐 本仓库包含我在 **2026 年夏季于 DRDO 实习** 期间完成的工作。在此期间,我获得了 **硬件安全**、**AES-128 密码学** 以及使用 **相关性功耗分析 (CPA)** 进行 **侧信道分析 (SCA)** 的实践经验。 此次实习的主要目标是深入理解 AES 的理论基础,从零开始实现该算法,并执行实际的侧信道攻击,以从功耗轨迹中恢复密钥。 ## 📚 目录 本仓库目前包含: - 🔹 **从零实现的 AES-128** - 使用 Python 完整实现了 AES-128 加密算法。 - 包含 Key Expansion、SubBytes、ShiftRows、MixColumns 和 AddRoundKey。 - 🔹 **在模拟数据集上的相关性功耗分析 (CPA)** - CPA 的基础实现,旨在理解该攻击方法论。 - 演示了使用汉明重量泄漏模型进行密钥恢复。 - 🔹 **在真实数据集上的 CPA** - 在从 AES 执行过程中收集的真实功耗轨迹上实际应用 CPA。 - 使用 Pearson Correlation 来恢复密钥。 - 🔹 **多线程 CPA** - 能够使用多线程恢复全部 16 个 AES 密钥字节的优化实现,以提升性能。 ## 🎯 涵盖主题 - AES-128 加密 - Key Expansion - 有限域算术 (GF(2⁸)) - 侧信道分析 (SCA) - 相关性功耗分析 (CPA) - 汉明重量泄漏模型 - Pearson Correlation - 使用多线程进行 Python 优化 ## 🛠 使用的技术 - Python - NumPy - SciPy - h5py - Matplotlib ## ⚠️ 注意 由于保密原因,实习期间使用的原始数据集**未包含**在本仓库中。提供这些实现仅用于教育和研究目的。 ## 📖 学习成果 本次实习提供了宝贵的实践经验,包括: - 理解 AES-128 的内部工作原理。 - 从零开始实现密码学算法。 - 应用侧信道分析技术。 - 使用相关性功耗分析恢复 AES 密钥。 - 使用多线程优化计算密集型攻击。 ## 📜 许可证 本仓库旨在用于教育和研究目的。
标签:AES, CPA, Python, 侧信道分析, 密码学, 手动系统调用, 无后门, 硬件安全, 逆向工具