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
Jochen Hoenicke e1347fcdf8
New Unit Tests
9 years ago
gui gui: fixup after ECDSA updates 9 years ago
tools Remove unnecessary #include "secp256k1.h" 9 years ago
.gitignore remove scons dependency, build shared library with Makefile 9 years ago
.travis.yml travis: add pytest (for test_curves.py) 9 years ago
AUTHORS import sources 11 years ago
CMakeLists.txt Make test build optional in CMake 10 years ago
CONTRIBUTORS add CONTRIBUTORS file 9 years ago
LICENSE import sources 11 years ago
MANIFEST.in prepare cython-TrezorCrypto for pip release 10 years ago
Makefile remove scons dependency, build shared library with Makefile 9 years ago
README.md README: add travis badge 9 years ago
TrezorCrypto.pyx whitespace 9 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 cleanup coding style 9 years ago
base58.h Add stdbool.h 9 years ago
bignum.c New jacobian_add that handles doubling. 9 years ago
bignum.h New jacobian_add that handles doubling. 9 years ago
bip32.c Add support for NIST256P1 elliptic curve 9 years ago
bip32.h Add support for NIST256P1 elliptic curve 9 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 9 years ago
c.pxd prepare cython-TrezorCrypto for pip release 10 years ago
ecdsa.c New jacobian_add that handles doubling. 9 years ago
ecdsa.h New jacobian_add that handles doubling. 9 years ago
hmac.c cleanup coding style 9 years ago
hmac.h fix copyright headers 10 years ago
macros.h cleanup coding style 9 years ago
nist256p1.c New jacobian_add that handles doubling. 9 years ago
nist256p1.h Add support for NIST256P1 elliptic curve 9 years ago
nist256p1.table Add support for NIST256P1 elliptic curve 9 years ago
options.h Optimized the bn_inverse method. 9 years ago
pbkdf2.c cleanup coding style 9 years ago
pbkdf2.h split pbkdf2 into pbkdf2_hmac_sha256 and pbkdf2_hmac_sha512 10 years ago
rand.c fix /dev/urandom problem 9 years ago
rand.h fix /dev/urandom problem 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 New jacobian_add that handles doubling. 9 years ago
secp256k1.h Add support for NIST256P1 elliptic curve 9 years ago
secp256k1.table Add support for NIST256P1 elliptic curve 9 years ago
setup.py whitespace 9 years ago
sha2.c Remove unused static variable sha384_initial_hash_value. 9 years ago
sha2.h fix copyright headers 10 years ago
test-openssl.c Add support for NIST256P1 elliptic curve 9 years ago
test.py prepare cython-TrezorCrypto for pip release 10 years ago
test_curves.py remove scons dependency, build shared library with Makefile 9 years ago
tests.c New Unit Tests 9 years ago

README.md

trezor-crypto

Build Status

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
  • 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.