Overview of TinyCrypt cryptographic primitives
masterTinyCrypt provides a minimal set of standard cryptographic primitives designed for constrained devices. The library is modular, allowing you to compile only the primitives required by your application to minimize code size and dependencies.
Available primitives include:
- Hashing & MACs:
SHA-256: Hash function (NIST FIPS PUB 180-4).HMAC-SHA256: Message authentication code (RFC 2104). RequiresSHA-256.HMAC-PRNG: 256-bit strength Pseudo-random number generator (NIST SP 800-90A). RequiresSHA-256andHMAC-SHA256.
- AES Block Cipher & Modes:
AES-128: Block cipher (NIST FIPS PUB 197).AES-CBC: Encryption mode (NIST SP 800-38A). RequiresAES-128.AES-CTR: Encryption mode (NIST SP 800-38A). RequiresAES-128.AES-CMAC: Message authentication code (NIST SP 800-38B). RequiresAES-128.AES-CCM: Authenticated encryption (NIST SP 800-38C). RequiresAES-128.CTR-PRNG: 128-bit strength Pseudo-random number generator (NIST SP 800-90A). RequiresAES-128.
- Elliptic Curve Cryptography (ECC):
ECC-DH: Key exchange based on NIST p-256 curve (RFC 6090). Requiresecc.h/c.ECC-DSA: Digital signature based on NIST p-256 curve (RFC 6090). Requiresecc.h/c.