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 a757693fe3
Merge pull request #26 from jhoenicke/bignum_improvements
9 years ago
gui add more checks for improbable cases; rework gui testing app 10 years ago
tools remove all references to USE_PUBKEY_VALIDATE 9 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 remove all references to USE_PUBKEY_VALIDATE 9 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 10 years ago
bignum.c Refactored code for point doubling. 9 years ago
bignum.h Refactored code for point doubling. 9 years ago
bip32.c remove all references to USE_PUBKEY_VALIDATE 9 years ago
bip32.h add stdlib to header 10 years ago
bip39.c Off by one error in word length. 9 years ago
bip39.h Off by one error in word length. 9 years ago
bip39_english.h Make word list const 10 years ago
c.pxd prepare cython-TrezorCrypto for pip release 10 years ago
ecdsa.c Merge pull request #26 from jhoenicke/bignum_improvements 9 years ago
ecdsa.h Add prototypes for private functions 10 years ago
hmac.c fix copyright headers 10 years ago
hmac.h fix copyright headers 10 years ago
options.h Optimized the bn_inverse method. 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 import random_uniform and random_permute functions from TREZOR codebase 9 years ago
rand.h import random_uniform and random_permute functions from TREZOR codebase 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 "More" constant time point multiplication 9 years ago
secp256k1.h "More" constant time point multiplication 9 years ago
setup.py remove all references to USE_PUBKEY_VALIDATE 9 years ago
sha2.c Remove unused static variable sha384_initial_hash_value. 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 scalar_mult based on Jacobian representation 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.