探秘高效侧信道攻击工具——Jlsca
Jlsca 是一款用 Julia 编写的开源工具箱,专为进行计算性部分的侧信道攻击(DPA)而设计。它集成了各种高级功能,适用于广泛的加密算法和硬件安全研究。
项目介绍
Jlsca 提供了一套全面的侧信道分析方法,包括:
- 条件平均,用于模拟测量
- 条件位样本压缩,针对白盒场景
- 增量相关统计的线程化和分块处理
- 并行处理所有上述功能(多核或多机器)
- 相关功率分析(CPA)
- 非轮廓线性回归分析(LRA)
- 互信息分析(MIA)
- 支持AES128/192/256加密/解密的前向/后向S-box攻击及轮攻击
- AES128加密/解密的已知输入MixColumn攻击
- 一些白盒模型,如INV MUL 和Klemsa
- TDES加密/解密的前向/后向攻击
- SHA1的前向/后向攻击(针对HMAC)
- 已知密钥分析和键等级演化CSV输出
- Inspector跟踪集合输入和输出
- 分割样本和数据原始二进制(Daredevil)输入和输出
- 使用FFT卷积的轨迹对齐
- 动态时间规整化的轨迹对齐
此外,Jlsca 包含一个示例,展示了如何使用Picoscope在Riscure的Pinata板上进行快速采集。
技术分析
Jlsca 的核心技术在于其并行化能力和高度优化的计算模块。通过支持多线程和多进程,Jlsca 能够充分利用现代处理器资源,提高分析速度。例如,增量相关统计部分使用了缓存友好的分块线程化实现,这在单个CPU上往往优于多进程解决方案。
应用场景
无论你是学术研究人员还是工业界的安全工程师,Jlsca 都是一个强大的工具,可以帮助你在以下场景中进行实验和分析:
- 加密算法的漏洞评估
- 白盒加密中的安全性测试
- 实时侧信道攻击数据收集与分析
- 安全芯片的设计验证
项目特点
- 免费开源:Jlsca是完全开放源代码的,允许自由使用和改进。
- 高性能:经过精心优化,Jlsca在处理大量数据时表现出色。
- 灵活性:支持多种攻击策略,适应不同的加密算法和硬件平台。
- 易于集成:提供命令行脚本和Jupyter笔记本接口,方便与其他工作流集成。
- 可扩展性:Jlsca 的模块化设计使其易于添加新的攻击模式或优化现有功能。
如果你正在寻找一个强大、灵活且高效的侧信道分析工具,那么Jlsca无疑是你的理想选择。立即安装并探索这个工具的无限可能性吧!