📙 Heavily optimized cryptography algorithms for embedded devices.
C C++ Python JavaScript Makefile CMake Other
Switch branches/tags
Nothing to show
Latest commit fa82ba6 Apr 21, 2017 @prusnak prusnak fix xpubaddrgen
Permalink
Failed to load latest commit information.
ed25519-donna don't skip const if not using gcc Apr 2, 2017
emscripten cleanup Apr 11, 2017
gui introduce version attributes to hdnode_serialize_public/private and h… Apr 21, 2017
tools fix xpubaddrgen Apr 21, 2017
.gitignore gitignore: ignore *.d files Aug 21, 2016
.travis.yml travis: add gcc/clang build Apr 20, 2017
AUTHORS import sources Aug 17, 2013
CMakeLists.txt add changes to cmake/qmake builds Mar 28, 2017
CONTRIBUTORS bignum: introduce read/write_le Aug 25, 2016
LICENSE adjust format of LICENSE Jan 31, 2016
Makefile use pkg-config for build of tests Apr 21, 2017
README.md fix typo in readme Mar 30, 2017
address.c add address related funnctions Oct 10, 2016
address.h add address related funnctions Oct 10, 2016
aes.h rename aes_ctr_counter_inc to aes_ctr_cbuf_inc and move it to aes_mod… Jun 7, 2014
aes_modes.c rename aes_ctr_counter_inc to aes_ctr_cbuf_inc and move it to aes_mod… Jun 7, 2014
aescrypt.c update AES code to support different modes of operation, add unittests Jun 7, 2014
aeskey.c update AES code to support different modes of operation, add unittests Jun 7, 2014
aesopt.h don't include aescpp.h Jul 24, 2014
aestab.c update AES code to support different modes of operation, add unittests Jun 7, 2014
aestab.h update AES code to support different modes of operation, add unittests Jun 7, 2014
base58.c Steem integration Oct 15, 2016
base58.h include options.h to base58.h Oct 24, 2016
bignum.c add setbit, clearbit, testbit and xor to bignum Oct 31, 2016
bignum.h add setbit, clearbit, testbit and xor to bignum Oct 31, 2016
bip32.c introduce version attributes to hdnode_serialize_public/private and h… Apr 21, 2017
bip32.h introduce version attributes to hdnode_serialize_public/private and h… Apr 21, 2017
bip39.c Smoother progress bar for wakeup Jul 13, 2016
bip39.h add mnemonic generation methods with indexes option May 13, 2016
bip39_english.h Make word list const Feb 14, 2015
blake2_common.h add Blake2b Feb 28, 2017
blake2b.c add Blake2b Feb 28, 2017
blake2b.h use BLOCK_LENGTH and DIGEST_LENGTH across all hash functions Mar 20, 2017
blake2s.c add Blake2b Feb 28, 2017
blake2s.h use BLOCK_LENGTH and DIGEST_LENGTH across all hash functions Mar 20, 2017
check_mem.h extract ck_assert_mem macros to separate file check_mem.h Oct 19, 2016
curves.c Implement ECDH with Curve25519 at BIP32 module Oct 14, 2016
curves.h Implement ECDH with Curve25519 at BIP32 module Oct 14, 2016
ecdsa.c split rfc6979 from ecdsa into separate module Apr 3, 2017
ecdsa.h split rfc6979 from ecdsa into separate module Apr 3, 2017
hmac.c Faster PBKDF2 by reusing intermediate results. Jul 13, 2016
hmac.h Faster PBKDF2 by reusing intermediate results. Jul 13, 2016
macros.h cleanup coding style Apr 13, 2015
nist256p1.c ed25519 support Apr 22, 2016
nist256p1.h ed25519 support Apr 22, 2016
nist256p1.table Add support for NIST256P1 elliptic curve Jun 26, 2015
options.h Steem integration Oct 15, 2016
pbkdf2.c Faster PBKDF2 by reusing intermediate results. Jul 13, 2016
pbkdf2.h Faster PBKDF2 by reusing intermediate results. Jul 13, 2016
rand.c fix build on _WIN32 Dec 14, 2015
rand.h fix /dev/urandom problem May 4, 2015
rfc6979.c split rfc6979 from ecdsa into separate module Apr 3, 2017
rfc6979.h split rfc6979 from ecdsa into separate module Apr 3, 2017
ripemd160.c extract block size and digest size as macros in ripemd160 Nov 1, 2016
ripemd160.h extract block size and digest size as macros in ripemd160 Nov 1, 2016
script.c add script parsing functions May 16, 2016
script.h add script parsing functions May 16, 2016
secp256k1.c ed25519 support Apr 22, 2016
secp256k1.h ed25519 support Apr 22, 2016
secp256k1.table Add support for NIST256P1 elliptic curve Jun 26, 2015
setup.py Add Python tests for Curve25519 ECDH Oct 15, 2016
sha2.c sha1: fix context zeroing Nov 6, 2016
sha2.h sha2: import SHA1 implementation Nov 5, 2016
sha3.c add blake2s, add unittests for blake2s and sha3 Nov 1, 2016
sha3.h use BLOCK_LENGTH and DIGEST_LENGTH across all hash functions Mar 20, 2017
test-openssl.c remove unused macros in test-openssl.c Oct 24, 2016
test_curves.py fix build Mar 30, 2017
test_speed.c Fixing C test of optimized bip32 Apr 11, 2017
tests.c introduce version attributes to hdnode_serialize_public/private and h… Apr 21, 2017

README.md

trezor-crypto

Build Status gitter

Heavily optimized cryptography algorithms for embedded devices.

These include:

  • AES/Rijndael encryption/decryption
  • Big Number (256 bit) Arithmetics
  • BIP32 Hierarchical Deterministic Wallets
  • BIP39 Mnemonic code
  • ECDSA signing/verifying (supports secp256k1 and nist256p1 curves, uses RFC6979 for deterministic signatures)
  • ECDSA public key derivation + Base58 address representation
  • Ed25519 signing/verifying
  • ECDH using secp256k1, nist256p1 and Curve25519
  • HMAC-SHA256 and HMAC-SHA512
  • PBKDF2
  • RIPEMD-160
  • SHA256/SHA512
  • SHA3/Keccak
  • BLAKE2s/BLAKE2b
  • unit tests (using Check - check.sf.net; in tests.c)
  • tests against OpenSSL (in test-openssl.c)

Distibuted under MIT License.