Skip to content

Dumb, but easily verifiable implementations of crypto algorithms

License

Notifications You must be signed in to change notification settings

derivepass/dumb-crypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dumb-crypto

Build Status Latest version Documentation License

This library implements following cryptographic routines in the dumbest and the most obvious way:

  • sha256
  • hmac-sha256
  • pbkdf2-sha256
  • salsa20
  • scrypt

Why?

Normally, one would find a highly optimized code implementing those. However, verifying such code is a non-trivial task. All routines (except for scrypt itself) are pre-requisites for scrypt, and a provided just for convenience.

Quick example

extern crate dumb_crypto;

use::dumb_crypto::scrypt::Scrypt;

let scrypt = Scrypt::new(1, 128, 1);

let mut out: [u8; 8] = [0; 8];

scrypt.derive(b"passphrase", b"salt", &mut out);

assert_eq!(out.to_vec(), vec![
    79, 35, 225, 99, 145, 145, 172, 245,
]);

Using dumb-crypto

See documentation for details.

About

Dumb, but easily verifiable implementations of crypto algorithms

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages