Crate cryptoxide

source ·
Expand description

A pure-rust implementation of various cryptographic algorithms, which no dependencies and no foreign code (specially C or assembly).

Our goals is to support rust cryptography in various constrained environment like embedded devices and web assembly

This is a fork of Rust-Crypto by DaGenix, which we owe a debt of gratitude for starting some good quality pure rust implementations of various cryptographic algorithms.

Notable Differences with the original sources:

  • Maintained
  • Extended ED25519 support for extended secret key (64 bytes) support
  • Proper implementation of ChaChaPoly1305
  • Many cryptographic algorithms removed: AES, Blowfish, Fortuna, RC4, RIPEMD160, Whirlpool, MD5, SHA1.

As with everything cryptographic implementations, please make sure it suits your security requirements, and review and audit before using.

Modules

Blake2B hash function
Blake2S hash function
ChaCha20 Stream Cipher
ChaCha20Poly1305 is an authenticated symmetric stream cipher based on chacha20 and poly1305.
Constant time operations
Curve25519 elliptic curve diffie hellman (X25519)
Cryptographic Hash abstraction definition
Deterministic Random Generator
ED25519 Signature Scheme
Cryptographic Hash Functions root module
HMAC Key Derivation Function (HKDF)
Implements the Hash Message Authentication Code (HMAC)
Key Derivation Function (KDF) Algorithms
The mac module defines the Message Authentication Code (Mac) trait.
This module implements the PBKDF2 Key Derivation Function as specified in Specification.
Poly1305 Message Authentication Code (MAC) as defined in Specification.
An implementation of the RIPEMD-160 cryptographic hash.
Salsa20 Stream Cipher
Implements the Scrypt key derivation function as Specification.
An implementation of the SHA-1 cryptographic hash algorithm.
An implementation of the SHA-2 cryptographic hash algorithms.
An implementation of the SHA-3 cryptographic hash algorithms.
X25519 - diffie hellman using curve25519