NadiaAB-source/Side_Channel_attack_Hybrid-QS
GitHub: NadiaAB-source/Side_Channel_attack_Hybrid-QS
基于PyTorch的AES侧信道分析深度学习框架,通过SNR与象限扫描混合预处理技术提升攻击建模效率。
Stars: 0 | Forks: 0
# Side_Channel_attack_Hybrid-QS
基于 PyTorch 框架的 AES 侧信道攻击深度学习建模库,采用信噪比(SNR)和象限扫描(QS)的混合预处理技术,并通过猜测熵(GE)进行评估。
# 深度学习侧信道分析框架
## 概述
本仓库提供了一个端到端的 PyTorch 框架,用于使用深度学习对 AES 进行侧信道分析(SCA)建模。
它支持多种预处理策略:
- 原始迹线(基线)
- 基于 SNR 的特征选择
- 混合预处理(SNR + 象限扫描 + PCA)
该框架专为高效实验、可复现性以及使用猜测熵(GE)进行评估而设计。
## 功能特点
- 用于 SCA 的 ConvTF(卷积-Transformer)模型
- 混合预处理(SNR + QS + PCA)
- 自动缓存以避免重复计算
- 混合训练(建模迹线 + 攻击迹线)
- 猜测熵(GE)评估与绘图
- 多种实验配置
## 重要提示:主脚本之间的差异
### `main_pytorch.py`
- 使用 `dataloader.py`
- 将 **约 8 万条攻击迹线** 与建模数据混合进行训练
- 将混合后的数据集正确应用于训练
- 保留大部分攻击迹线用于评估
- 实现了 **真正的混合训练**
## 预处理选择
若要切换不同的预处理方法,请更新缓存目录:
- `cache/` → 原始基线预处理
- `cache_wide/` → 基于 SNR 的预处理
- `cache_hybrid/` → 混合预处理(SNR + QS)
在运行实验之前,请确保数据加载器(dataloader)指向正确的目录。
## 快速开始
### 1. 安装依赖
## 2. 数据集
由于体积过大,完整数据集 **未包含** 在内。
- 仅提供了示例数据/小型缓存
- 完整的已处理数据集太大,无法上传
请从以下地址下载 CHES 2025 数据集:https://pace-tl.gitbook.io/ches-challenge-2025
并将其放置于:
`./Dataset/CHES_2025/CHES_Challenge.h5`
## 3. 运行代码
### 训练
```
python main_pytorch.py
```
### 评估
```
python analyze_pytorch.py
```
## Notebooks
- `HQS_results.ipynb`
→ 结果可视化(GE 曲线,性能图表)
- `Preprocessing_newWay.ipynb`
→ 预处理流程的逐步探索
→ 展示了最终混合方法背后的实验与推演过程
→ 最终实现位于:`src/preprocessing.py`
## 混合预处理流程
如果没有找到缓存,预处理将自动运行:
- 计算 SNR 并选择感兴趣点
- 应用象限扫描(QS)
- 裁剪 PoI 周围的窗口
- 归一化迹线(Z-score)
- 应用 PCA(≤1024 维,99% 方差)
- 将结果保存至 `cache_hybrid/`
## 输出
- 猜测熵(GE)曲线
- NTGE 值
- 保存的 `.npy` 文件
- 图表(`.png`)
## 结果
每个实验文件夹包含:
- `training_log.csv`
- 模型检查点(`.pth`)
- GE 曲线(`.npy`, `.png`)
- 最终结果(`result_*.npy`)
## 注意事项
- 仅包含示例数据
- 完整预处理计算量庞大
- 如有可用缓存数据,将自动复用
- 可能需要手动调整数据集路径
## 免责声明
本项目仅用于评估侧信道漏洞的研究和教育目的。
```
pip install -r requirements.txt
```
标签:AES, AI安全, Apex, Chat Copilot, CHES 2025, ConvTF, GE, Guessing Entropy, HDF5数据集, NoSQL, PCA, PyTorch, Quadrant Scan, SNR, Transformer, 主成分分析, 侧信道分析, 侧信道攻击, 信噪比, 凭据扫描, 卷积神经网络, 反取证, 安全评估, 实时处理, 密码学, 密码管理, 手动系统调用, 数据预处理, 机器学习, 深度学习, 混合训练, 混合预处理, 特征提取, 猜测熵, 硬件安全, 缓存机制, 逆向工具