C library for constant-time implementations of primitive operations
Top 90.6% on sourcepulse
This C library provides constant-time implementations of primitive operations to help developers write code that is resistant to timing-based side-channel attacks. It is targeted at developers working with sensitive data, particularly in security enclaves like Intel SGX or ARM TrustZone, and aims to mitigate information leakage through execution time variations.
How It Works
CTTK employs techniques to ensure that operations on secret data do not leak information through execution time. This is achieved by avoiding data-dependent branches and memory accesses, and by using specialized arithmetic operations. For instance, boolean operations are implemented using non-branching logic, and integer comparisons are designed to have consistent execution times regardless of the input values.
Quick Start & Requirements
make
.libcttk.a
, libcttk.so
) and a test executable (testcttk
).cttk.h
in your C/C++ project.cttk.h
; Doxygen can generate HTML docs.Highlighted Details
Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
malloc
for temporary buffers, which can be disabled but may lead to NaN results on failure.7 years ago
1+ week