consistenttime

Crates.ioconsistenttime
lib.rsconsistenttime
version0.2.0
sourcesrc
created_at2016-12-09 15:22:46.926574
updated_at2016-12-10 04:02:12.423059
descriptionConstant time operations for crypto libraries.
homepagehttps://github.com/valarauca/consistenttime
repositoryhttps://github.com/valarauca/consistenttime.git
max_upload_size
id7516
size879,802
Cody Laeder (valarauca)

documentation

https://valarauca.github.io/consistenttime/consistenttime/index.html

README

#constanttime

Documentation

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.

Commit count: 33

cargo fmt