You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Pavol Rusnak f4e6010e18
implement BIP32 cache
9 years ago
gui add more checks for improbable cases; rework gui testing app 10 years ago
tools don't verify pubkey in xpubaddrgen 10 years ago
.gitignore prepare cython-TrezorCrypto for pip release 10 years ago
AUTHORS import sources 11 years ago
CMakeLists.txt Make test build optional in CMake 10 years ago
LICENSE import sources 11 years ago
MANIFEST.in prepare cython-TrezorCrypto for pip release 10 years ago
Makefile use $(CC) instead of gcc in Makefile 10 years ago
README.md README -> README.md 10 years ago
TrezorCrypto.pyx prepare cython-TrezorCrypto for pip release 10 years ago
aes.h rename aes_ctr_counter_inc to aes_ctr_cbuf_inc and move it to aes_modes.c 10 years ago
aes_modes.c rename aes_ctr_counter_inc to aes_ctr_cbuf_inc and move it to aes_modes.c 10 years ago
aescrypt.c update AES code to support different modes of operation, add unittests 10 years ago
aeskey.c update AES code to support different modes of operation, add unittests 10 years ago
aesopt.h don't include aescpp.h 10 years ago
aestab.c update AES code to support different modes of operation, add unittests 10 years ago
aestab.h update AES code to support different modes of operation, add unittests 10 years ago
base58.c replace base58 implementation 10 years ago
base58.h Add stdbool.h 9 years ago
bignum.c rename BN_PRINT define to USE_BN_PRINT 10 years ago
bignum.h rename BN_PRINT define to USE_BN_PRINT 10 years ago
bip32.c implement BIP32 cache 9 years ago
bip32.h implement BIP32 cache 9 years ago
bip39.c split pbkdf2 into pbkdf2_hmac_sha256 and pbkdf2_hmac_sha512 10 years ago
bip39.h update AES code to support different modes of operation, add unittests 10 years ago
bip39_english.h fix copyright headers 10 years ago
c.pxd prepare cython-TrezorCrypto for pip release 10 years ago
ecdsa.c invert pby when normalizing S during signing 10 years ago
ecdsa.h Add prototypes for private functions 9 years ago
hmac.c fix copyright headers 10 years ago
hmac.h fix copyright headers 10 years ago
options.h implement BIP32 cache 9 years ago
pbkdf2.c split pbkdf2 into pbkdf2_hmac_sha256 and pbkdf2_hmac_sha512 10 years ago
pbkdf2.h split pbkdf2 into pbkdf2_hmac_sha256 and pbkdf2_hmac_sha512 10 years ago
rand.c Add finalize_rand() to prove we have no leaks 9 years ago
rand.h Add finalize_rand() to prove we have no leaks 9 years ago
ripemd160.c use #if instead of #ifdef for conditional macros 11 years ago
ripemd160.h add ripemd160 11 years ago
secp256k1.c Revert "Revert "add more precomputation to ecdsa signing"" 10 years ago
secp256k1.h Revert "Revert "add more precomputation to ecdsa signing"" 10 years ago
setup.py prepare cython-TrezorCrypto for pip release 10 years ago
sha2.c fix copyright headers 10 years ago
sha2.h fix copyright headers 10 years ago
test-openssl.c export pby from ecdsa_sign functions 10 years ago
test.py prepare cython-TrezorCrypto for pip release 10 years ago
tests.c implement BIP32 cache 9 years ago

README.md

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.