1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 14:28:07 +00:00
Go to file
2014-02-19 16:58:48 +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 llu -> ull for MSVC compatibility 2014-02-15 15:57:41 +01:00
bignum.h introduce ecdsa_address_to_hash160 2014-01-30 20:34:05 +01:00
bip32.c use both private and public bip32 versions 2014-02-19 16:58:48 +01:00
bip32.h use both private and public bip32 versions 2014-02-19 16:58:48 +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
CMakeLists.txt add cmake file with c++ compilation on MSVC 2014-02-17 18:49:01 +01:00
ecdsa.c use -Wextra 2014-02-08 19:12:07 +01:00
ecdsa.h introduce point_multiply 2014-02-05 23:38:37 +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 -Wextra 2014-02-08 19:12:07 +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 remove field name struct init for MSVC compatibility 2014-02-15 15:57:43 +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 use both private and public bip32 versions 2014-02-19 16:58:48 +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.