1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-30 03:18:20 +00:00
Commit Graph

44 Commits

Author SHA1 Message Date
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