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
Ondřej Vejpustek
4a686d9231
feat(crypto): introduce bn_read_be_512
2023-09-27 14:04:45 +02:00
Ondřej Vejpustek
93bb4c2e35
feat(crypto): introduce bn_reduce and bn_copy_lower
2023-09-27 14:04:45 +02:00
Ondřej Vejpustek
2b00c72094
refactor(crypto): introduce bignum512
2023-09-27 14:04:45 +02:00
Ondřej Vejpustek
3a2bdf16dd
feat(crypto): implement Legendre symbol
2023-09-27 14:04:45 +02:00
Ondřej Vejpustek
5a9d399012
test(crypto): use P-256 prime in test_bignum.py
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
Martin Milata
56491a0530
test(crypto): use newer OpenSSL API
...
[no changelog]
2023-04-19 13:05:03 +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
81c9cd66ef
fix(crypto): Set output length correctly in xmr_base58_decode().
2022-07-14 15:47:54 +02:00
Andrew Kozlik
093fbecb7a
refactor(crypto): Clean up ed25519_publickey_ext() API.
2022-07-07 18:47:33 +02:00
matejcik
8c3d3c6548
chore: bump black to 22.3
...
changes:
* exponent operator ** now allows no spaces around itself: https://github.com/psf/black/issues/538
* optional unicode marker u"" is no longer allowed
[no changelog]
2022-06-29 14:35:16 +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
525bbab165
tests(crypto): update wycheproof testcase source and parsing
...
The JSON schema of the test cases has slightly changed.
The "curve" field has moved to the "testGroups" level and the X25519 algorithm has been renamed,
which requires adjustments in the parsing code.
A duplicate definition of "ecdh_vectors" has also been removed.
2022-01-07 16:55:24 +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
Martin Milata
cace42c6e9
fix(crypto/test): fix uninitialized variable use
...
tests/test_speed.c:61:3: error: ‘sk’ may be used uninitialized [-Werror=maybe-uninitialized]
61 | ed25519_publickey(sk, pk);
tests/test_speed.c:145:3: error: ‘sk’ may be used uninitialized [-Werror=maybe-uninitialized]
145 | ed25519_publickey(sk, pk);
2021-12-06 16:25:59 +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