FaCT:Python 中的时序敏感分析

2024-11-17

本文探讨了如何在 Python 中进行时序敏感分析,特别是针对加密等对时间一致性要求严格的应用场景。文章使用了 FaCT DSL 定义具有可预测执行时间的函数,以防止时间泄露。文中通过模拟排序、搜索等不同计算复杂度的函数,并测量其执行时间,演示了如何评估和控制代码的执行时间稳定性。代码示例展示了如何创建一个排序随机数组的函数,并通过引入可选的延迟来模拟时间不一致性,进而测量执行时间,最终绘制了不同输入大小下执行时间一致性的图表。