ARauf4U/Power-Analysis-in-side-channel-attack

GitHub: ARauf4U/Power-Analysis-in-side-channel-attack

一个基于 Python 的侧信道功耗分析模拟器,通过 Web 界面交互式演示 SPA、DPA 和 CPA 攻击过程,帮助用户直观理解密码学硬件泄漏原理。

Stars: 0 | Forks: 0

# 侧信道攻击中的功耗分析 Power-SCA:侧信道功耗分析模拟器。一个基于 Python 的模拟环境,用于演示和分析简单功耗分析 (SPA) 与差分功耗分析 (DPA)。本项目提供了密码学理论与硬件泄漏实际情况之间的可视化桥梁,并配备了一个用于交互式实验的 Web 界面。 这是一个综合性的 GitHub `README.md` 模板,适用于模拟功耗分析(侧信道攻击)的项目。它采用了简洁、专业的结构,非常适合用于个人作品集或学术提交。 # 🛡️ Power-SCA:侧信道功耗分析模拟器 一个基于 Python 的模拟环境,用于演示和分析**简单功耗分析 (SPA)** 与**差分功耗分析 (DPA)**。本项目提供了密码学理论与硬件泄漏实际情况之间的可视化桥梁,并配备了一个用于交互式实验的 Web 界面。 ## 📖 概述 侧信道攻击 (SCA) 利用硬件在执行加密操作期间泄漏的物理信息。本项目模拟了设备执行加密算法(例如 AES-128)时的功耗情况,并提供了使用统计分析来恢复密钥的工具。 ### 主要特性 * **泄漏建模:** 实现了 **Hamming Weight**(汉明权重)和 **Hamming Distance**(汉明距离)功耗模型。 * **可视化分析:** 使用 **Matplotlib** 进行实时功耗轨迹绘制。 * **统计攻击:** 支持相关性功耗分析 (CPA),用于从噪声中分离出子密钥。 * **Web 仪表板:** 提供了一个 **HTML/CSS/JS** 界面,用于调整模拟参数(噪声级别、轨迹数量等),无需修改代码。 ## 使用的技术 | 组件 | 技术 | 用途 | | :--- | :--- | :--- | | **后端** | Python 3.x | 核心逻辑、AES 模拟和统计分析。 | | **数据可视化** | Matplotlib / Seaborn | 生成功耗轨迹图和相关性热力图。 | | **前端** | HTML5, CSS3, JS | 用于模拟控制的交互式仪表板。 | | **API/Web** | Flask / FastAPI | 将 Python 模拟引擎连接到 Web UI。 | | **数学计算** | NumPy | 高性能的轨迹处理和相关性计算。 | ## 🛠️ 系统架构 本项目分为三个主要模块: 1. **目标模块:** 一个模拟的密码核心,根据密钥和输入数据“泄漏”功耗轨迹。 2. **分析器:** 一个统计引擎,对收集到的轨迹执行 Pearson 相关性计算,以识别最可能的密钥候选。 3. **界面:** 一个响应式的 Web UI,用于可视化“机器中的幽灵”。 ## 模拟模型 为了使模拟更加真实,本项目考虑了以下因素: * **信噪比 (SNR):** 用户可以注入高斯噪声,以观察需要增加多少轨迹才能成功实施攻击。 * **幽灵峰值:** 可视化功耗轨迹中发生 S-Box 替换的确切时刻。 ### 差分功耗分析 (DPA) 通过对特定位为 '0' 和 '1' 的轨迹进行平均,我们可以看到明显的“差分”尖峰,从而揭示该密钥位。 ## ⚙️ 安装与使用说明 ### 1. 克隆仓库 ``` git clone https://github.com/yourusername/power-sca-sim.git cd power-sca-sim ``` ### 2. 安装依赖 ``` pip install -r requirements.txt ``` ### 3. 运行模拟 ``` python app.py ``` *访问 `http://localhost:5000` 以进入 Web 界面。* ## 示例结果 | 攻击类型 | 所需轨迹数 | 准确率 | | :--- | :--- | :--- | | 简单功耗分析 (SPA) | 1-5 | 低(需要目视检查) | | 相关性功耗分析 (CPA) | 50 - 500 | 高(自动化) | 贡献 欢迎贡献!如果您想添加对 **RSA** 或 **电磁 (EM)** 泄漏模型的支持,请提交 issue 或发起 pull request。 ## 许可证 基于 MIT 许可证分发。有关更多信息,请参见 `LICENSE`。 免责声明:本项目仅供教育目的。旨在帮助开发者理解硬件漏洞,从而构建更安全、抗侧信道攻击的实现方案。
标签:AES-128, CPA, DPA, HTML/CSS/JS, Matplotlib, meg, Python, Seaborn, SPA, Web可视化, 仿真环境, 侧信道攻击, 信息安全, 功耗分析, 后端开发, 密码学, 密钥恢复, 差分功耗分析, 手动系统调用, 教学工具, 数据可视化, 无后门, 汉明距离, 汉明重量, 泄露模型, 相关性功耗分析, 硬件安全, 简单功耗分析, 统计分析, 网络安全, 逆向工具, 隐私保护