1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-01 18:30:56 +00:00
trezor-firmware/crypto
2021-08-05 17:03:04 +02:00
..
aes
chacha20poly1305
ed25519-donna
fuzzer
gui
monero
tests
tools
.gitignore
.gitmodules
.gitrepo
address.c
address.h MONOREPO MERGE trezor-crypto 2019-04-15 19:14:52 +02:00
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
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 Add support for Schnorr crypto (BCH variant) 2021-03-09 14:22:56 +01:00
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

trezor-crypto

Build Status gitter

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: