mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-22 23:48:12 +00:00
525bbab165
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. |
||
---|---|---|
.. | ||
aes | ||
chacha20poly1305 | ||
ed25519-donna | ||
fuzzer | ||
gui | ||
monero | ||
tests | ||
tools | ||
.gitignore | ||
.gitmodules | ||
.gitrepo | ||
address.c | ||
address.h | ||
AUTHORS | ||
base32.c | ||
base32.h | ||
base58.c | ||
base58.h | ||
bignum.c | ||
bignum.h | ||
bip32.c | ||
bip32.h | ||
bip39_english.h | ||
bip39.c | ||
bip39.h | ||
blake2_common.h | ||
blake2b.c | ||
blake2b.h | ||
blake2s.c | ||
blake2s.h | ||
blake256.c | ||
blake256.h | ||
byte_order.h | ||
cardano.c | ||
cardano.h | ||
cash_addr.c | ||
cash_addr.h | ||
chacha_drbg.c | ||
chacha_drbg.h | ||
check_mem.h | ||
CONTRIBUTORS | ||
curves.c | ||
curves.h | ||
ecdsa.c | ||
ecdsa.h | ||
groestl_internal.h | ||
groestl.c | ||
groestl.h | ||
hasher.c | ||
hasher.h | ||
hmac_drbg.c | ||
hmac_drbg.h | ||
hmac.c | ||
hmac.h | ||
LICENSE | ||
Makefile | ||
memzero.c | ||
memzero.h | ||
nem.c | ||
nem.h | ||
nist256p1.c | ||
nist256p1.h | ||
nist256p1.table | ||
options.h | ||
pbkdf2.c | ||
pbkdf2.h | ||
rand.c | ||
rand.h | ||
rc4.c | ||
rc4.h | ||
README.md | ||
rfc6979.c | ||
rfc6979.h | ||
ripemd160.c | ||
ripemd160.h | ||
schnorr.c | ||
schnorr.h | ||
script.c | ||
script.h | ||
secp256k1.c | ||
secp256k1.h | ||
secp256k1.table | ||
segwit_addr.c | ||
segwit_addr.h | ||
setup.py | ||
sha2.c | ||
sha2.h | ||
sha3.c | ||
sha3.h | ||
shamir.c | ||
shamir.h | ||
slip39_wordlist.h | ||
slip39.c | ||
slip39.h | ||
zkp_bip340.c | ||
zkp_bip340.h | ||
zkp_context.c | ||
zkp_context.h | ||
zkp_ecdsa.c | ||
zkp_ecdsa.h |
trezor-crypto
Heavily optimized cryptography algorithms for embedded devices.
These include:
- AES/Rijndael encryption/decryption
- Big Number (256 bit) Arithmetics
- BIP32 Hierarchical Deterministic Wallets
- BIP39 Mnemonic code
- ECDSA signing/verifying (supports secp256k1 and nist256p1 curves, uses RFC6979 for deterministic signatures)
- ECDSA public key derivation
- Schnorr (BCH variant) signing/verifying
- Base32 (RFC4648 and custom alphabets)
- Base58 address representation
- Ed25519 signing/verifying (also SHA3 and Keccak variants)
- ECDH using secp256k1, nist256p1 and Curve25519
- HMAC-SHA256 and HMAC-SHA512
- PBKDF2
- RIPEMD-160
- SHA1
- SHA2-256/SHA2-512
- SHA3/Keccak
- BLAKE2s/BLAKE2b
- Chacha20-Poly1305
- unit tests (using Check - check.sf.net; in test_check.c)
- tests against OpenSSL (in test_openssl.c)
- integrated Wycheproof tests
Distibuted under MIT License.
Some parts of the library come from external sources:
- AES: https://github.com/BrianGladman/aes
- Base58: https://github.com/luke-jr/libbase58
- BLAKE2s/BLAKE2b: https://github.com/BLAKE2/BLAKE2
- RIPEMD-160: https://github.com/ARMmbed/mbedtls
- SHA1/SHA2: http://www.aarongifford.com/computers/sha.html
- SHA3: https://github.com/rhash/RHash
- Curve25519: https://github.com/agl/curve25519-donna
- Ed25519: https://github.com/floodyberry/ed25519-donna
- Chacha20: https://github.com/wg/c20p1305
- Poly1305: https://github.com/floodyberry/poly1305-donna