mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-04-09 11:55:58 +00:00
![]() Signing uses the bn_inverse function that is prone to side-channel attacks. We randomize its argument by multiplying it with a random non-zero number. At the end we multiply again by the same number to cancel it out. Changed get_k_random to take the prime range as a second argument and to return a non-zero number. This function was previously only used for (non-rfc6979) signing and is now used for side-channel protection. |
||
---|---|---|
curve25519-donna | ||
ed25519-donna | ||
emscripten | ||
gui | ||
tools | ||
.gitignore | ||
.travis.yml | ||
address.c | ||
address.h | ||
aes_modes.c | ||
aes.h | ||
aescrypt.c | ||
aeskey.c | ||
aesopt.h | ||
aestab.c | ||
aestab.h | ||
AUTHORS | ||
base58.c | ||
base58.h | ||
bignum.c | ||
bignum.h | ||
bip32.c | ||
bip32.h | ||
bip39_english.h | ||
bip39.c | ||
bip39.h | ||
blake2s.c | ||
blake2s.h | ||
check_mem.h | ||
CMakeLists.txt | ||
CONTRIBUTORS | ||
curves.c | ||
curves.h | ||
ecdsa.c | ||
ecdsa.h | ||
hmac.c | ||
hmac.h | ||
LICENSE | ||
macros.h | ||
Makefile | ||
nist256p1.c | ||
nist256p1.h | ||
nist256p1.table | ||
options.h | ||
pbkdf2.c | ||
pbkdf2.h | ||
rand.c | ||
rand.h | ||
README.md | ||
ripemd160.c | ||
ripemd160.h | ||
script.c | ||
script.h | ||
secp256k1.c | ||
secp256k1.h | ||
secp256k1.table | ||
setup.py | ||
sha2.c | ||
sha2.h | ||
sha3.c | ||
sha3.h | ||
test_curves.py | ||
test_speed.c | ||
test-openssl.c | ||
tests.c |
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 + Base58 address representation
- Ed25519 signing/verifying
- ECDH using secp256k1, nist256p1 and Curve25519
- HMAC-SHA256 and HMAC-SHA512
- PBKDF2
- RIPEMD-160
- SHA256/SHA512
- SHA3/Keccak
- BLAKE2s
- unit tests (using Check - check.sf.net; in tests.c)
- tests against OpenSSL (in test-openssl.c)
Distibuted under MIT License.