1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 15:38:11 +00:00
Commit Graph

71 Commits

Author SHA1 Message Date
Andrew Kozlik
8e8f1afa85 feat(crypto): Use strict DER-decoding in ecdsa_sig_from_der(). 2023-12-08 12:30:28 +01:00
Andrew Kozlik
f4b1b8a76a test(crypto): Test DER encoding. 2023-12-01 00:09:17 +01:00
Ondřej Vejpustek
4ecd4cc323 feat(crypto): implement hashing to curve 2023-09-27 14:04:45 +02:00
Andrew Kozlik
2b97a5bac0 test(crypto): Add SHA-384 test vectors. 2023-08-29 10:59:34 +02:00
Andrew Kozlik
b8adcf35fe test(crypto): Add test vectors for TLS PRF with SHA-256. 2023-08-29 10:59:34 +02:00
Andrew Kozlik
f540bab5b8 test(crypto): Add AES-CCM test vectors. 2023-08-29 10:59:34 +02:00
Andrew Kozlik
21f4aec8de refactor: Unify secp256k1_zkp usage.
[no changelog]
2023-06-21 08:36:20 +02:00
grdddj
8ee4c41938 chore(crypto): refactor slip39 same way as bip39 2023-05-11 21:02:21 +02:00
Pavol Rusnak
c962d3520b
Merge branch 'release/22.08' 2022-08-22 11:10:45 +02:00
Pavol Rusnak
cba74272e1 chore(crypto): remove graphene base58 functions as they are not used anywhere
[no changelog]
2022-08-08 12:02:01 +02:00
Andrew Kozlik
fa5e7feda6 fix(crypto): Fix nonce bias in CoSi signing. 2022-08-02 20:38:04 +02:00
matejcik
fcd43b93ac feat(crypto): add thousands separator to bn_format 2022-08-02 20:35:49 +02:00
Andrew Kozlik
892f3e348d fix(crypto): Remove public key from the ed25519 signing API.
[no changelog]
2022-06-27 18:59:08 +02:00
matejcik
38a36a131f chore: rename BIP39_WORDS to BIP39_WORD_COUNT 2022-06-01 16:35:33 +02:00
Ondřej Vejpustek
53d522a1fd fix(crypto): reduce digest in RFC6979 to match specification 2022-05-16 16:23:18 +02:00
Ondřej Vejpustek
ea5886026f refactor(crypto,legacy): extend parameters of init_rfc6979 by curve 2022-05-16 16:23:18 +02:00
Dusan Klinec
e69467bc04 chore(crypto): drop support for Monero range proof 2022-05-16 12:37:24 +02:00
Ondřej Vejpustek
146c1fe721 test(crypto): add tests for zkp_bip340_verify_publickey 2022-02-16 10:25:15 +01:00
Ondřej Vejpustek
27d5bf1573 revert(crypto): remove BCH Schnorr signatures
This reverts commit 9ef26c347e.
2022-01-31 13:56:06 +01:00
Pavol Rusnak
2880a2fa33
fix(crypto): refactor ethereum_address_checksum to prepend "0x" (#2029)
[no changelog]
2022-01-12 21:00:54 +01:00
Andrew Kozlik
8baf1ca79f fix(crypto): Fix out of bounds read in ecdsa_sig_to_der().
[no changelog]
2022-01-11 17:29:53 +01:00
Christian Reitter
176b12762f fix(crypto): fix expected_sig buffer handling 2022-01-07 14:54:52 +01:00
Christian Reitter
64281c69ce fix(crypto): fix incorrect sig buffer size 2022-01-07 14:54:52 +01:00
Andrew Kozlik
4882648dad fix(crypto): Treat point at infinity as an invalid public key in ecdsa_recover_pub_from_sig(). 2022-01-07 14:37:40 +01:00
Pavol Rusnak
c0510fc91e
build(crypto): make valgrind flag compatible with secp256k1-zkp (#2027)
Co-authored-by: Ondřej Vejpustek <ondrej.vejpustek@satoshilabs.com>
2021-12-20 15:19:14 +01:00
Ondřej Vejpustek
ad38d8e324 refactor(crypto,core): make zkp_context_init() return status 2021-11-18 19:05:40 +01:00
Andrew Kozlik
85ff3682c9 test(crypto): Add BIP-341 test vectors. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
3f5c11a919 test(crypto): Add unit test for BIP340 tweak. 2021-11-13 13:33:46 +01:00
matejcik
80e4b27f09 feat(crypto/cardano): implement Cardano Ledger derivation 2021-11-10 13:57:57 +01:00
matejcik
1174648777 refactor(crypto): extract Cardano derivations to separate file
Changes the API: all Cardano derivations will now produce a 96-byte
secret in the format of private_key + private_key_ext + chain_code.
This can then be trivially converted to a HDNode.
2021-11-10 13:57:57 +01:00
2128675309
684e0c886d feat(crypto): add big endian support 2021-11-04 20:38:52 +01:00
Andrew Kozlik
eb90efd914 chore(crypto,core,legacy): Add return code to hdnode_fill_public_key().
[no changelog]
2021-11-01 16:39:53 +01:00
Andrew Kozlik
34621a6b6d fix(crypto,core,legacy): Check private key validity when deriving public key.
[no changelog]
2021-11-01 16:39:53 +01:00
Ondřej Vejpustek
29ce860d46 refactor(core,crypto): rename schnorr to BIP340 2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
15bb085509 refactor(core,crypto): make public key derivation functions return
status
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
61143edb4d test(crypto): add tests for Schnorr signatures 2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
f2459e335d test(crypto): add tests for get_public_key{33,65} 2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
79153135b7 test(crypto): add ecdsa tests for secp256k1_zkp 2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
aca37e5eb2 refactor(crypto): make helper function for ecdsa_recover_pub_from_sig and
ecdsa_verify_digest
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
3cd2e89fbc refactor(crypto): split test_ecdsa_signature into two tests 2021-10-25 14:41:28 +02:00
Andrew Kozlik
ce18f4bc8a test(crypto): Add progressive tests for hash functions. 2021-06-11 20:22:42 +02:00
Adam R
c4bf522b31
feat(crypto): add extra BIP32 test (test vector #4) (#1646) 2021-06-03 15:37:23 +02:00
Ondřej Vejpustek
e1a5f42c81 feat(core): make chacha_drbg more robust 2021-05-21 13:42:53 +02:00
Pavol Rusnak
b04d5bd514 fix(crypto): use ck_assert_uint_eq where we compare unsigned values 2021-05-13 14:13:56 +02:00
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
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
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