irfanbasha2206-cloud/Post-Quantum-Cryptography
GitHub: irfanbasha2206-cloud/Post-Quantum-Cryptography
面向后量子密码算法的侧信道漏洞分析全栈研究工具,结合功耗分析与机器学习方法评估 Kyber、Dilithium、Falcon 等算法的物理泄漏风险。
Stars: 0 | Forks: 0
# PQC-SCA:后量子密码侧信道分析系统
一款用于分析后量子密码算法中侧信道漏洞的全栈网络安全研究工具。
## 支持的算法
- **CRYSTALS-Kyber** (KEM) — 漏洞评分:72
- **CRYSTALS-Dilithium** (DSA) — 漏洞评分:65
- **Falcon** (DSA) — 漏洞评分:85
## 攻击场景
- **DPA** — 差分功耗分析
- **CPA** — 相关性功耗分析
- **SPA** — 简单功耗分析
- **模板攻击**
## ML 模型
- Random Forest (150 棵树,类别平衡)
- Gradient Boosting (GBM,120 个估计器)
- CNN 代理 (MLP: 256×128×64×32, ReLU)
- LSTM 代理 (MLP: 512×256×128, tanh)
## 功能
- 可配置噪声和泄漏区域的合成功耗迹线生成
- 针对密钥字节的 Hamming weight 泄漏模型
- DPA/CPA 相关性分析
- 基于 SNR 的泄漏检测
- 特征提取(统计特征 + FFT + 分区域特征)
- ML 模型训练、评估与持久化
- 漏洞评分与严重性分类
- 缓解建议(掩码、隐藏、constant-time、硬件层面)
- 波形可视化、泄漏热力图、相关性峰值
- 可下载的分析报告(TXT + JSON)
- 充满未来感的网络安全主题 Web 仪表盘
## 安装与运行
```
pip install -r requirements.txt
cd pqc_sca
python app.py
# 访问 http://localhost:5000
```
## 项目结构
```
pqc_sca/
├── app.py # Flask application
├── requirements.txt
├── modules/
│ ├── trace_generator.py # Synthetic trace generation, feature extraction
│ ├── ml_models.py # ML training, evaluation, prediction
│ └── report_gen.py # Report generation
├── templates/
│ └── index.html # Dashboard UI
├── models/ # Saved ML model bundles (.pkl)
├── data/ # Generated CSV datasets
└── reports/ # Analysis reports
```
## API Endpoint
| Endpoint | Method | 描述 |
|---|---|---|
| `/` | GET | 主仪表盘 |
| `/api/generate_traces` | POST | 生成合成迹线 |
| `/api/train_models` | POST | 训练所有 ML 模型 |
| `/api/predict` | POST | 实时泄漏预测 |
| `/api/full_analysis` | POST | 全流程 pipeline 分析 |
| `/api/download_report` | GET | 下载分析报告 |
| `/api/algorithms` | GET | 列出支持的算法 |
## 免责声明
本系统使用合成数据,仅供研究和教育目的使用。
现实世界中的侧信道评估需要使用示波器和专业硬件
对物理设备进行测量。
标签:Apex, Flask, 侧信道分析, 后端开发, 后量子密码学, 密码学, 手动系统调用, 机器学习, 逆向工具