文件名称:haybale-pitchfork:通过符号执行验证恒定时间代码
文件大小:85KB
文件格式:ZIP
更新时间:2024-06-17 06:20:47
Rust
pitchfork :使用符号执行来验证恒定时间代码 pitchfork是用于验证恒定时间代码确实是恒定时间的工具。 它可以分析用C / C ++,Rust或任何其他可以编译为LLVM位代码的语言(例如,Swift,Go和其他语言)编写的代码。 给定要分析的函数, pitchfork将报告该函数是恒定时间的,或者详细说明为什么不是恒定时间的,包括原始源中的恒定时间违规的行号,分支决策的全过程导致违规,以及违规时所有变量的值。 pitchfork是基于也用Rust编写的符号执行引擎构建的。 什么是固定时间,什么是固定时间违规? 恒定时间编程是事实上的技术,用于强化加密实现以抵抗定时边信道攻击。 它已被几乎所有主要的密码库所采用。 恒定时间代码遵循两个基本原则: 秘密值不得影响控制流(例如,分支条件或跳转目标),并且 机密值不得影响内存访问的地址(例如,数组索引)。 这些原则可确保程序
【文件预览】:
haybale-pitchfork-master
----Cargo.toml(2KB)
----refresh-docs.sh(511B)
----src()
--------secret.rs(42KB)
--------hooks.rs(3KB)
--------main_func.rs(11KB)
--------abstractdata.rs(63KB)
--------logging.rs(2KB)
--------default_hook.rs(10KB)
--------hook_helpers.rs(7KB)
--------lib.rs(29KB)
--------progress.rs(27KB)
--------allocation.rs(57KB)
--------coverage.rs(5KB)
----LICENSE(1KB)
----README.md(19KB)
----tests()
--------bcfiles()
--------ct_haybale.rs(4KB)
--------ct.rs(16KB)
----.gitignore(51B)