1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-26 17:38:39 +00:00
Go to file
2014-01-21 18:38:44 +01:00
.gitignore move speed tests to unit testing suite 2013-09-22 15:05:59 +02:00
aes.h use fixed block size (128-bit) for AES again 2013-11-28 00:52:39 +01:00
aescrypt.c replace blowfish with rijndael 2013-10-10 14:58:59 +02:00
aeskey.c replace blowfish with rijndael 2013-10-10 14:58:59 +02:00
aesopt.h replace blowfish with rijndael 2013-10-10 14:58:59 +02:00
aestab.c replace blowfish with rijndael 2013-10-10 14:58:59 +02:00
AUTHORS import sources 2013-08-17 14:20:15 +02:00
bignum.c add check that pub.y != res.y 2014-01-04 17:39:37 +01:00
bignum.h add check that pub.y != res.y 2014-01-04 17:39:37 +01:00
bip32.c don't use implicit versions in bip32 2014-01-21 18:38:44 +01:00
bip32.h don't use implicit versions in bip32 2014-01-21 18:38:44 +01:00
bip39_english.h bip39 implementation with unit tests 2013-11-08 02:02:16 +01:00
bip39.c bip39: pbkdf2 rounds 4096 -> 2048 2014-01-10 20:22:33 +01:00
bip39.h use PBKDF2 for BIP39, add unit tests 2013-12-09 16:25:03 +01:00
ecdsa.c implement public child key derivation 2014-01-14 14:35:13 +01:00
ecdsa.h implement public child key derivation 2014-01-14 14:35:13 +01:00
hmac.c add hmac-sha256/512 2013-09-10 21:47:06 +02:00
hmac.h add hmac-sha256/512 2013-09-10 21:47:06 +02:00
LICENSE import sources 2013-08-17 14:20:15 +02:00
Makefile use PBKDF2 for BIP39, add unit tests 2013-12-09 16:25:03 +01:00
pbkdf2.c extract some pbkdf2 constants into macros 2013-12-09 18:16:33 +01:00
pbkdf2.h use PBKDF2 for BIP39, add unit tests 2013-12-09 16:25:03 +01:00
rand.c use /dev/urandom in example 2013-08-21 20:26:00 +02:00
rand.h use /dev/urandom in example 2013-08-21 20:26:00 +02:00
README use PBKDF2 for BIP39, add unit tests 2013-12-09 16:25:03 +01:00
ripemd160.c use #if instead of #ifdef for conditional macros 2013-10-03 17:32:27 +02:00
ripemd160.h add ripemd160 2013-09-16 01:32:56 +02:00
secp256k1.c add check to mnemonic_from_data as well 2013-11-26 01:29:06 +01:00
secp256k1.h use canonical signatures (if S > Order/2: S = Order - S) 2013-10-08 14:06:48 +02:00
sha2.c refactor code -> bignum.c/h 2013-09-12 03:18:35 +02:00
sha2.h move declaration 2013-10-08 21:07:53 +02:00
test-openssl.c renamed to trezor-crypto, modified readme 2013-10-08 14:18:35 +02:00
tests.c don't use implicit versions in bip32 2014-01-21 18:38:44 +01:00

trezor-crypto
=============

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 (only hardcoded secp256k1 curve,
  uses RFC6979 for deterministic signatures)
- ECDSA public key derivation + Base58 address representation
- HMAC-SHA256 and HMAC-SHA512
- PBKDF2
- RIPEMD-160
- SHA256/SHA512
- unit tests (using Check - check.sf.net; in tests.c)
- tests against OpenSSL (in test-openssl.c)

Distibuted under MIT License.