FaCT: a DSL for timing-sensitive computation

S Cauligi, G Soeller, B Johannesmeyer… - Proceedings of the 40th …, 2019 - dl.acm.org
S Cauligi, G Soeller, B Johannesmeyer, F Brown, RS Wahby, J Renner, B Grégoire
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language …, 2019dl.acm.org
Real-world cryptographic code is often written in a subset of C intended to execute in
constant-time, thereby avoiding timing side channel vulnerabilities. This C subset eschews
structured programming as we know it: if-statements, looping constructs, and procedural
abstractions can leak timing information when handling sensitive data. The resulting
obfuscation has led to subtle bugs, even in widely-used high-profile libraries like OpenSSL.
To address the challenge of writing constant-time cryptographic code, we present FaCT, a …
Real-world cryptographic code is often written in a subset of C intended to execute in constant-time, thereby avoiding timing side channel vulnerabilities. This C subset eschews structured programming as we know it: if-statements, looping constructs, and procedural abstractions can leak timing information when handling sensitive data. The resulting obfuscation has led to subtle bugs, even in widely-used high-profile libraries like OpenSSL.
To address the challenge of writing constant-time cryptographic code, we present FaCT, a crypto DSL that provides high-level but safe language constructs. The FaCT compiler uses a secrecy type system to automatically transform potentially timing-sensitive high-level code into low-level, constant-time LLVM bitcode. We develop the language and type system, formalize the constant-time transformation, and present an empirical evaluation that uses FaCT to implement core crypto routines from several open-source projects including OpenSSL, libsodium, and curve25519-donna. Our evaluation shows that FaCT’s design makes it possible to write readable, high-level cryptographic code, with efficient, constant-time behavior.
ACM Digital Library
以上显示的是最相近的搜索结果。 查看全部搜索结果

Google学术搜索按钮

example.edu/paper.pdf
搜索
获取 PDF 文件
引用
References