1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-18 04:18:10 +00:00
Commit Graph

71 Commits

Author SHA1 Message Date
Fabien
9ef26c347e Add support for Schnorr crypto (BCH variant)
Support Schnorr signature and verification defined in
https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2019-05-15-schnorr.md.

The implementation is based on https://github.com/Bitcoin-ABC/secp256k1
as well as the test vectors.
2021-03-09 14:22:56 +01:00
Pavol Rusnak
d6d1cd7b4c style(crypto): cleanup unused functions 2021-03-09 13:21:34 +01:00
Pavol Rusnak
93215ae3c7 style: reformat with clang-format 11 2021-01-04 14:40:16 +01:00
Rafael Korbas
edf9b4ee85 Refactor mnemonic_to_entropy to not (misleadingly) return checksum 2020-12-19 20:17:16 +01:00
Andrew Kozlik
b90ce7f2fc test(crypto): Add unit tests for ecdsa_sig_from_der(). 2020-12-17 16:33:33 +01:00
Andrew Kozlik
9f6d4ec538 chore(crypto): Implement DER signature parsing. 2020-12-17 16:33:33 +01:00
Pavol Rusnak
78be2c9cac fix(crypto): fix build on clang/arm64 2020-12-17 00:09:47 +01:00
Andrew Kozlik
acf7294ca2 test(crypto): Add more unit tests for invalid T9 prefix in SLIP39 word lookup. 2020-12-15 13:41:42 +01:00
Andrew Kozlik
55f3df6b0c chore(crypto): Rework SLIP-39 word lookup. 2020-12-15 13:41:42 +01:00
Andrew Kozlik
e3afd984ae test(crypto): Add SLIP39 word completion test. 2020-12-15 13:41:42 +01:00
Andrew Kozlik
e615fc6263 chore(crypto): Rename wordlist to slip39_wordlist and add include guards. 2020-12-15 13:41:42 +01:00
Andrew Kozlik
7fc1851279 fix(crypto): Improve naming and robustness of SLIP39's T9 mask lookup. 2020-12-15 13:41:42 +01:00
Andrew Kozlik
c5f26beeea fix(crypto): Fix undefined behavior in xmr_read_varint(). 2020-12-03 20:05:05 +01:00
Andrew Kozlik
dab353f888 test(crypto): Test signature verification for a digest which is equal to the group order. 2020-12-02 17:11:29 +01:00
Andrew Kozlik
fed59ec770 fix(crypto): In ecdsa_verify_digest() allow the digest to be equal to the order of the group. 2020-12-02 17:11:29 +01:00
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues 2020-11-11 14:43:50 +01:00
Andrew Kozlik
7ae338bd87 chore(crypto): Improve comments and error handling in ecdsa_verify_digest(). 2020-10-23 15:05:07 +02:00
Andrew Kozlik
c67ecb984b chore(crypto): Move XPUB_MAXLEN and ADDRESS_MAXLEN from modtrezorcrypto to bip32.h. 2020-10-13 13:13:49 +02:00
Andrew Kozlik
5429acdb7f
crypto: fix undefined behavior in shamir unbitslice (#1219) 2020-08-24 14:25:43 +02:00
Christian Reitter
676ac1571a crypto: add fuzz testing harnesses and documentation 2020-07-07 14:41:10 +02:00
Ondřej Vejpustek
9598d17f10 crypto: make bn_format faster 2020-06-26 12:29:21 +02:00
Ondřej Vejpustek
015c294857 crypto/tests: parametrize test_bn_format 2020-06-26 12:29:21 +02:00
Ondřej Vejpustek
e630279487 crypto: fix comment 2020-06-17 18:56:03 +02:00
Ondřej Vejpustek
76849f0bd6 crypto: make ecdsa_recover_pub_from_sig faster 2020-06-17 18:56:03 +02:00
Ondřej Vejpustek
24ceb0ab6b crypto/bignum: change limb size to 29, add tests 2020-05-24 14:36:38 +00:00
Andrew Kozlik
3843f917e9 crypto: Check for invalid characters in Monero Base58 decode. 2020-05-24 14:36:37 +00:00
Andrew Kozlik
20dd1ddc60 crypto: Fix buffer overflow in b58tobin. 2020-05-24 14:36:37 +00:00
Ondřej Vejpustek
4504469e80 crypto: add tests for chacha_drbg 2020-04-16 11:51:28 +02:00
Ondřej Vejpustek
d5bfe6b32f crypto: add chacha_drbg 2020-04-16 11:51:28 +02:00
Pavol Rusnak
ff706eb70b
crypto: split hdnode_deserialize into hdnode_deserialize_{public,private} 2020-04-06 16:28:02 +00:00
Pavol Rusnak
b5446bd125
crypto: fix last commit 2020-02-17 19:16:54 +00:00
Pavol Rusnak
1859b5b588
crypto: update bip39bruteforce.c to segwit-in-p2sh 2020-02-17 19:01:43 +00:00
Ondřej Vejpustek
e7a81560f1
crypto: derive public key in hdnode_sign only for supported ed25519 curves 2020-01-18 15:18:03 +00:00
Pavol Rusnak
76eefd026f
all: let's use -Wno-missing-braces because clang does not respect
initialization of structs with = {0};
2019-10-11 09:59:32 +02:00
Ondřej Vejpustek
11aa654abc
crypto: explicitly initialize variable length arrays 2019-10-09 17:05:34 +02:00
Ondřej Vejpustek
fdad317d8c
crypto: explicitly initialize variables 2019-10-09 17:05:33 +02:00
Pavol Rusnak
8eee90fd9a
crypto: sync base58.c with upstream 2019-09-29 08:46:21 +00:00
Pavol Rusnak
78041d261b
crypto: refactor bip39 api 2019-09-23 17:56:36 +02:00
Pavol Rusnak
b3c58e4a17
git subrepo pull crypto
subrepo:
  subdir:   "crypto"
  merged:   "915b3dbbb"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-crypto"
  branch:   "master"
  commit:   "915b3dbbb"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2019-09-12 11:52:12 +02:00
Pavol Rusnak
db86092319
crypto: fix valgrind issue with ed25519-donna, clean local variables 2019-08-30 17:21:15 +02:00
Marius Kjærstad
1d6ea33ec6 docs: switch http to https in links (#419) 2019-08-16 17:28:15 +02:00
Andrew Kozlik
217c910b4b cardano: Implement SLIP-0023 and add SLIP-0039 support for Cardano. 2019-07-25 19:43:05 +02:00
Tomas Susanka
49d6a35249 core: add slip39 keyboard 2019-06-23 21:33:58 +02:00
Pavol Rusnak
54d348228f
all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00
Andrew Kozlik
013929de0b crypto/hmac_drbg: Fix buffer overflow. 2019-06-11 11:41:40 +02:00
Andrew Kozlik
d95756ccf3 crypto/hmac_drbg: Fix style. 2019-06-11 11:41:40 +02:00
Andrew Kozlik
1d9e125fd4 crypto/rfc6979: Use the new HMAC DRBG implementation in rfc6979.c. Remove code duplication between rfc6979.c and ecdsa.c. 2019-06-11 11:41:40 +02:00
Andrew Kozlik
b915092a44 crypto/hmac_drbg: Add nonce parameter to hmac_drbg_init(). 2019-06-11 11:41:40 +02:00
Andrew Kozlik
7c44340c40 crypto: Add HMAC deterministic random bit generator and unit tests. 2019-06-11 11:41:40 +02:00
Pavol Rusnak
f7053d96fe
all: remove extraneous whitespace 2019-05-26 22:20:14 +02:00