suyang160 / trezor-crypto

:lock: Don't use this repo, use the new monorepo instead:

Home Page:https://github.com/trezor/trezor-firmware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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
  • 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:

About

:lock: Don't use this repo, use the new monorepo instead:

https://github.com/trezor/trezor-firmware

License:MIT License


Languages

Language:C 93.7%Language:C++ 3.1%Language:Python 2.6%Language:Makefile 0.3%Language:Ruby 0.2%Language:QMake 0.0%Language:HTML 0.0%Language:Nix 0.0%