1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-13 19:18:56 +00:00
trezor-firmware/crypto/README.md

46 lines
1.6 KiB
Markdown
Raw Normal View History

2016-05-11 19:15:48 +00:00
# trezor-crypto
2013-08-17 12:20:15 +00:00
2016-05-11 19:15:48 +00:00
[![Build Status](https://travis-ci.org/trezor/trezor-crypto.svg?branch=master)](https://travis-ci.org/trezor/trezor-crypto) [![gitter](https://badges.gitter.im/trezor/community.svg)](https://gitter.im/trezor/community)
2015-07-29 18:53:36 +00:00
Heavily optimized cryptography algorithms for embedded devices.
2013-08-17 12:20:15 +00:00
These include:
2013-10-10 12:58:59 +00:00
- AES/Rijndael encryption/decryption
- Big Number (256 bit) Arithmetics
- BIP32 Hierarchical Deterministic Wallets
2013-11-08 00:24:47 +00:00
- BIP39 Mnemonic code
- ECDSA signing/verifying (supports secp256k1 and nist256p1 curves,
2013-10-08 15:25:28 +00:00
uses RFC6979 for deterministic signatures)
- ECDSA public key derivation
- BIP340 Schnorr signature signing/verifying
- Base32 (RFC4648 and custom alphabets)
- Base58 address representation
2017-06-05 15:04:11 +00:00
- Ed25519 signing/verifying (also SHA3 and Keccak variants)
2016-10-21 22:29:14 +00:00
- ECDH using secp256k1, nist256p1 and Curve25519
- HMAC-SHA256 and HMAC-SHA512
2013-12-09 15:21:42 +00:00
- PBKDF2
- RIPEMD-160
2017-05-08 15:15:54 +00:00
- SHA1
- SHA2-256/SHA2-512
2016-04-26 09:09:29 +00:00
- SHA3/Keccak
2017-03-30 23:36:29 +00:00
- BLAKE2s/BLAKE2b
2017-05-11 11:27:34 +00:00
- Chacha20-Poly1305
- unit tests (using Check - check.sf.net; in test_check.c)
- tests against OpenSSL (in test_openssl.c)
2018-07-16 10:53:55 +00:00
- integrated Wycheproof tests
2013-08-21 16:07:02 +00:00
Distibuted under MIT License.
2017-05-08 15:15:54 +00:00
## 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
2017-05-11 11:27:34 +00:00
- Chacha20: https://github.com/wg/c20p1305
- Poly1305: https://github.com/floodyberry/poly1305-donna