Andrew Kozlik
388e925de8
feat(crypto): Add basic DER decoding functions.
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
9949f0d88a
feat(crypto): Implement TLS PRF with SHA-256.
2023-08-29 10:59:34 +02:00
Andrew Kozlik
4accf76954
feat(crypto): Implement AES-CCM.
2023-08-29 10:59:34 +02:00
grdddj
8ee4c41938
chore(crypto): refactor slip39 same way as bip39
2023-05-11 21:02:21 +02:00
Ondrej Mikle
4d0381055c
fix(crypto): adapt to changing insecure PRNG to be opt-in
2023-03-22 10:21:21 +01:00
Christian Reitter
d2737308c4
feat(crypto): remove -Wstrict-prototypes issues in zkp_context.c
2022-10-04 16:46:33 +02:00
Christian Reitter
f1870102d2
feat(crypto): add targets and improve trezor-crypto fuzzer
2022-10-04 16:46:33 +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
matejcik
dfa4b1d9a1
build: add bip39_english.o where appropriate
...
[no changelog]
2022-06-01 16:35:33 +02:00
matejcik
e98464d2c8
build(crypto): make clang version cross-platform compatible
2022-06-01 16:35:33 +02:00
Ondřej Vejpustek
db0da196a8
chore(vendor): update secp256k1-zkp to latest
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
Pavol Rusnak
8f1d33d5f9
build(core,legacy): remove gcc, use cc instead of gcc
...
for firmware builds we still use arm-none-eabi-gcc via $(PREFIX)gcc
[no changelog]
2022-04-27 15:48:14 +02:00
Christian Reitter
b9a3a73c27
feat(crypto): improved clang version checks, remove duplicate, adapt to refactor
...
Makefiles do not natively support compiler version checks, so some
shell-based tricks have to be used instead.
The ethereum_address_checksum() function changed, adapt input length.
2022-04-01 15:31:38 +02:00
Christian Reitter
cf3c57d0ae
feat(crypto): improve trezor-crypto fuzzer, add new dictionary extraction program
...
Introduce fuzzing harnesses for zkp* functions and adapt some differential fuzzing
Additional documentation and minor cleanup
Add temporary workaround for clang-14 and more explicit Makefile behavior
2022-04-01 15:31:38 +02:00
Christian Reitter
5564251920
feat(crypto): improve fuzzer secp256k1-zkp integration, add build workaround and sanitizer optimization, minor renaming
2022-04-01 15:31:38 +02:00
Ondřej Vejpustek
27d5bf1573
revert(crypto): remove BCH Schnorr signatures
...
This reverts commit 9ef26c347e
.
2022-01-31 13:56:06 +01:00
Andrew Kozlik
d6fdadf673
feat(crypto): Sanitize undefined behavior.
2022-01-19 15:22:03 +01:00
Andrew Kozlik
56126b75a7
ci: Use address sanitizer in CI.
...
[no changelog]
2022-01-19 15:22:03 +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
2e4884199b
build(crypto): build secp256k1-zkp with flags needed by sanitizers
2021-11-18 19:05:40 +01:00
Ondřej Vejpustek
3612620268
build(crypto,core): make secp256k1-zkp context as small as possible
2021-11-18 19:05:40 +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
Ondřej Vejpustek
05ae15bcb6
build(crypto): use precomputed context for secp256k1-zkp
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
29ce860d46
refactor(core,crypto): rename schnorr to BIP340
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
1dad7fe7c5
feat(crypto): add wrapers for BIP-340 compatible Schnorr signatures from secp256k1_zkp
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
d2f8f4b021
feat(crypto): add wrappers for ecdsa from secp256k1_zkp
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
75e61da70b
feat(crypto): implement randomizable secp256k1_zkp context
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
6bee78af19
feat(crypto): compile crypto with secp256k1_zkp
2021-10-25 14:41:28 +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
Pavol Rusnak
78be2c9cac
fix(crypto): fix build on clang/arm64
2020-12-17 00:09:47 +01:00
Christian Reitter
676ac1571a
crypto: add fuzz testing harnesses and documentation
2020-07-07 14:41:10 +02:00
Ondřej Vejpustek
4504469e80
crypto: add tests for chacha_drbg
2020-04-16 11:51:28 +02: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
Tomas Susanka
49d6a35249
core: add slip39 keyboard
2019-06-23 21:33:58 +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
7c44340c40
crypto: Add HMAC deterministic random bit generator and unit tests.
2019-06-11 11:41:40 +02:00
Pavol Rusnak
cc2acb2e67
Revert "crypto: add support for schnorr signatures"
...
This reverts commit 8114e0f9fc
.
2019-05-23 20:15:30 +02:00
Andrew Kozlik
e631983d6d
Merge remote-tracking branch 'origin/master' into andrewkozlik/slip0039
2019-04-29 11:29:54 +02:00
armatusmiles
8114e0f9fc
crypto: add support for schnorr signatures
2019-04-22 00:52:50 +02:00
Andrew Kozlik
1b3c0e0243
crypto/tests: Add unit tests for Shamir secret sharing.
2019-04-17 17:28:34 +02:00
matejcik
4e0d813269
MONOREPO MERGE trezor-crypto
2019-04-15 19:14:52 +02:00