[][src]Crate cryptoxide

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

blake2
blake2b

Blake2B hash function

blake2s

Blake2S hash function

buffer

Buffer abstraction

chacha
chacha20

ChaCha20 Stream Cipher

chacha20poly1305

ChaCha20Poly1305 is an authenticated symmetric stream cipher based on chacha20 and poly1305

curve25519

Curve25519 elliptic curve

digest

Cryptographic Hash abstraction definition

ed25519

ED25519 Signature Scheme

hkdf

HMAC Key Derivation Function (HKDF) This module implements the HMAC-based Extract-and-Expand Key Derivation Function as specified by https://tools.ietf.org/html/rfc5869.

hmac

This module implements the Hmac function - a Message Authentication Code using a Digest.

mac

The mac module defines the Message Authentication Code (Mac) trait.

pbkdf2

This module implements the PBKDF2 Key Derivation Function as specified by http://tools.ietf.org/html/rfc2898.

poly1305

Poly1305 Message Authentication Code (MAC)

salsa20
sha2

An implementation of the SHA-2 cryptographic hash algorithms.

sha3

An implementation of the SHA-3 cryptographic hash algorithms.

symmetriccipher

Abstraction for symmetric cipher

util

Various utilities