Crates.io | consistenttime |
lib.rs | consistenttime |
version | 0.2.0 |
source | src |
created_at | 2016-12-09 15:22:46.926574 |
updated_at | 2016-12-10 04:02:12.423059 |
description | Constant time operations for crypto libraries. |
homepage | https://github.com/valarauca/consistenttime |
repository | https://github.com/valarauca/consistenttime.git |
max_upload_size | |
id | 7516 |
size | 879,802 |
#constanttime
A crate that supports many constant time operations. The reference is Go-Lang's crypto/subtile
which implements the orginal form of these constant time operations. I took the library of extrapolating the uint8
and uint32
into all Rust
integer types.
These operations are not designed to be fast. They are designed to take the same if they suceeded or fail. This is to prevent side channel attacks on cryptographic libraries and applications.
This crate is core
only. So it does not require std
therefore it can be
used without an operating system for OS and Embedded Development.
To use this crate include:
[dependencies]
constanttime = "0.2"
#Audit
Does this crate work as advertised?
I'd sure like to find out! If you know asm, or a lot about low level machine hacking I'd love your help.
####Legal
This project can be considered licensed under Apache2.0 Software License. A full copy can of this license can found here.
A large thank you goes to the Go-Lang standard library development team for
creating the crypto/subtile/constant_time.go
library which was used for
reference.
No Go-Lang source code exists within this project. Nonethless the orginal Go-Lang reference source is here, and is it's license is here. For future reference purporses.