1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-12 18:49:07 +00:00
Go to file
Pavol Rusnak a54c5fe89e
test_openssl: fix build with openssl 1.1.0+
OpenSSL 1.1.0 made R and S fields of ECDSA_SIG structure internal.
We need to use ECDSA_SIG_set0 function now. For some reason the test fails,
but previously the code was not even possible to compile with OpenSSL 1.1.0.

Still need to figure out why the test fails :-(
2018-01-07 21:51:33 +01:00
aes gitignore: Add aestst 2017-08-15 11:15:18 +02:00
chacha20poly1305 fix chacha20poly1305 issues 2017-05-11 13:27:59 +02:00
ed25519-donna ed25519-donna: Remove duplicate static code 2017-08-14 00:08:48 +02:00
gui introduce version attributes to hdnode_serialize_public/private and hdnode_deserialize functions 2017-04-21 13:42:58 +02:00
tools bip32: Add curve to hdnode_deserialize 2017-12-10 20:07:13 +01:00
.gitignore gitignore: Add aestst 2017-08-15 11:15:18 +02:00
.travis.yml Travis CI: Run aestst 2017-08-14 14:39:47 +02:00
address.c fix ethereum_address_checksum implementation 2017-07-11 21:17:22 +02:00
address.h include options.h in address.h 2017-07-11 21:34:47 +02:00
AUTHORS import sources 2013-08-17 14:20:15 +02:00
base32.c base32: Handle when char is unsigned 2017-06-05 12:32:48 +02:00
base32.h base32: Return char* from base32_encode 2017-06-05 12:32:48 +02:00
base58.c Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
base58.h Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
bignum.c bignum: Fix bn_digitcount 2017-07-27 21:20:43 +02:00
bignum.h bignum: Fix bn_digitcount 2017-07-27 21:20:43 +02:00
bip32.c bip32: Add secp256k1-decred 2017-12-10 20:07:13 +01:00
bip32.h bip32: Add curve to hdnode_deserialize 2017-12-10 20:07:13 +01:00
bip39_english.h bip39: use static modifier 2018-01-02 14:15:08 +01:00
bip39.c introduce confidential macro, mark confidential items 2017-08-16 13:38:49 +02:00
bip39.h add mnemonic generation methods with indexes option 2016-05-13 19:46:12 +02:00
blake2_common.h add Blake2b 2017-02-28 18:14:54 +01:00
blake2b.c add Blake2b 2017-02-28 18:14:54 +01:00
blake2b.h use BLOCK_LENGTH and DIGEST_LENGTH across all hash functions 2017-03-20 20:20:14 +01:00
blake2s.c add Blake2b 2017-02-28 18:14:54 +01:00
blake2s.h use BLOCK_LENGTH and DIGEST_LENGTH across all hash functions 2017-03-20 20:20:14 +01:00
blake256.c blake256: Replace with working implementation 2017-12-23 13:45:36 +01:00
blake256.h blake256: Replace with working implementation 2017-12-23 13:45:36 +01:00
check_mem.h check_mem: Fix Check 0.11 2017-06-03 23:39:36 +02:00
CMakeLists.txt blake256: Initial commit 2017-12-10 20:07:13 +01:00
CONTRIBUTORS bignum: introduce read/write_le 2016-08-25 23:18:24 +01:00
curves.c bip32: Add secp256k1-decred 2017-12-10 20:07:13 +01:00
curves.h bip32: Add secp256k1-decred 2017-12-10 20:07:13 +01:00
ecdsa.c Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
ecdsa.h Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
hasher.c hasher: Add HASHER_BLAKE 2017-12-10 20:07:13 +01:00
hasher.h hasher: Add HASHER_BLAKE 2017-12-10 20:07:13 +01:00
hmac.c introduce confidential macro, mark confidential items 2017-08-16 13:38:49 +02:00
hmac.h Faster PBKDF2 by reusing intermediate results. 2016-07-13 22:17:23 +02:00
LICENSE adjust format of LICENSE 2016-01-31 12:16:31 +01:00
macros.h cleanup coding style 2015-04-13 18:19:33 +02:00
Makefile blake256: Initial commit 2017-12-10 20:07:13 +01:00
nem_serialize.h nem: Add transaction serialization methods 2017-09-02 01:39:09 +02:00
nem.c nem: Add nem_transaction_create_importance_transfer 2017-10-09 00:00:02 +02:00
nem.h nem: Prevent underflow in NEM_DECRYPTED_SIZE 2017-12-16 00:18:26 +01:00
nist256p1.c Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
nist256p1.h ed25519 support 2016-04-22 18:21:58 +02:00
nist256p1.table Add support for NIST256P1 elliptic curve 2015-06-26 10:33:14 +03:00
options.h options: Add NEM support 2017-09-02 01:39:09 +02:00
pbkdf2.c Faster PBKDF2 by reusing intermediate results. 2016-07-13 22:17:23 +02:00
pbkdf2.h Faster PBKDF2 by reusing intermediate results. 2016-07-13 22:17:23 +02:00
rand.c fix build on _WIN32 2015-12-14 22:50:28 +01:00
rand.h fix /dev/urandom problem 2015-05-04 19:53:06 +02:00
rc4.c rc4: Initial commit 2017-08-14 00:11:43 +02:00
rc4.h rc4: Initial commit 2017-08-14 00:11:43 +02:00
README.md README: Add Base32 custom alphabet support 2017-06-08 22:00:32 +02:00
rfc6979.c split rfc6979 from ecdsa into separate module 2017-04-03 20:58:53 +02:00
rfc6979.h split rfc6979 from ecdsa into separate module 2017-04-03 20:58:53 +02:00
ripemd160.c cleanup context in ripemd160/sha3 2017-08-10 15:49:28 +02:00
ripemd160.h extract block size and digest size as macros in ripemd160 2016-11-01 16:32:44 +01:00
script.c Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
script.h add script parsing functions 2016-05-16 14:45:09 +02:00
secp256k1.c bip32: Add secp256k1-decred 2017-12-10 20:07:13 +01:00
secp256k1.h bip32: Add secp256k1-decred 2017-12-10 20:07:13 +01:00
secp256k1.table Add support for NIST256P1 elliptic curve 2015-06-26 10:33:14 +03:00
segwit_addr.c Updated to latest from bech32 repository. 2017-11-03 18:49:19 +01:00
segwit_addr.h Bech32 (BIP173) address support 2017-11-03 18:49:19 +01:00
setup.py Add Python tests for Curve25519 ECDH 2016-10-15 15:38:23 +03:00
sha2.c sha1: fix context zeroing 2016-11-06 16:02:10 +01:00
sha2.h sha2: import SHA1 implementation 2016-11-05 15:14:37 +01:00
sha3.c cleanup context in ripemd160/sha3 2017-08-10 15:49:28 +02:00
sha3.h tests: Import NEM test vectors for keccak_256 2017-06-05 16:34:52 +02:00
test_check.c bip32: Add secp256k1-decred 2017-12-10 20:07:13 +01:00
test_curves.py fix build 2017-03-30 15:07:29 +02:00
test_openssl.c test_openssl: fix build with openssl 1.1.0+ 2018-01-07 21:51:33 +01:00
test_segwit.c Bech32 (BIP173) address support 2017-11-03 18:49:19 +01:00
test_speed.c Fixed test suite to use generic hasher functions 2017-12-10 20:07:13 +01:00

trezor-crypto

Build Status gitter

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
  • Base32 (RFC4648 and custom alphabets)
  • Base58 address representation
  • Ed25519 signing/verifying (also SHA3 and Keccak variants)
  • ECDH using secp256k1, nist256p1 and Curve25519
  • HMAC-SHA256 and HMAC-SHA512
  • PBKDF2
  • RIPEMD-160
  • SHA1
  • SHA2-256/SHA2-512
  • SHA3/Keccak
  • BLAKE2s/BLAKE2b
  • Chacha20-Poly1305
  • unit tests (using Check - check.sf.net; in test_check.c)
  • tests against OpenSSL (in test_openssl.c)

Distibuted under MIT License.

Some parts of the library come from external sources: