Embedded Cryptographic Toolkit

CycloneCrypto Logo

CycloneCrypto is a cryptographic toolkit designed for use in embedded systems. It provides a comprehensive set of cryptographic primitives (hash functions, stream and block ciphers, public key cryptography) that can be used to add security features to your embedded application.

Algorithms Wordcloud


  • Base64 data encoding
  • MD2, MD4 and MD5 hash functions
  • RIPEMD-128 and RIPEMD-160 hash functions
  • SHA-1 hash function
  • SHA-2 family hash functions (SHA-256, SHA-384, SHA-512, SHA-512/224 and SHA-512/256)
  • SHA-3 family hash functions (SHA3-224, SHA3-256, SHA3-384 and SHA3-512)
  • BLAKE2b family hash functions (BLAKE2b160, BLAKE2b256, BLAKE2b384, BLAKE2b512)
  • BLAKE2s family hash functions (BLAKE2s128, BLAKE2s160, BLAKE2s224, BLAKE2s256)
  • Tiger/192 hash function
  • Whirlpool hash function
  • SHAKE128 and SHAKE256 extendable-output functions (XOF)
  • Keccak sponge function
  • CMAC, HMAC and GMAC message-authentication code
  • RC4 stream cipher
  • Block ciphers (RC2, RC6, IDEA, DES, Triple DES, AES, Camellia, SEED, ARIA, PRESENT)
  • Supports ECB, CBC, CFB, OFB, CTR and XTS operation modes for all symmetric block ciphers
  • Cipher Block Chaining-MAC (CCM) and Galois Counter Mode (GCM)
  • ChaCha encryption algorithm
  • Poly1305 message-authentication code
  • ChaCha20Poly1305 Authenticated Encryption with Associated Data (AEAD)
  • RSA public key cryptography (PKCS #1 v1.5 and v2.2)
  • Digital Signature Algorithm (DSA)
  • Diffie-Hellman key exchange (PKCS #3)
  • Password-Based Cryptography Standard (PKCS #5)
  • Elliptic Curve Cryptography (ECC)
  • Curve25519 (X25519) and Curve448 (X448) elliptic curves
  • Elliptic Curve Diffie-Hellman (ECDH)
  • Elliptic Curve Digital Signature Algorithm (ECDSA)
  • EdDSA signature scheme (Ed25519 and Ed448 elliptic curves)
  • Supports elliptic curves defined over prime fields (NIST-P and Brainpool)
  • HKDF key derivation function
  • Multiple precision arithmetic library with optimized assembly code (for ARM and MIPS-based microcontrollers)
  • X.509 certificate parsing functions
  • Flexible memory footprint. Built-time configuration to embed only the necessary features
  • Portable architecture (supports little-endian and big-endian architectures)
  • Extensive test suite available on request (for commercial licenses)

Supported Devices

  • ARM7
  • ARM9
  • Cortex-M3
  • Cortex-M4
  • Cortex-R4
  • Cortex-A5
  • Cortex-A8
  • Cortex-A9
  • RISC-V
  • APS1 / APS3 / APS3R / APS5 / FPS6
  • AVR32
  • Coldfire V2
  • PIC32
  • PowerPC e200
  • RX600
  • Xtensa LX6

Supported Elliptic Curves

  • Curve25519 (X25519)
  • Curve448 (X448)
  • Ed25519
  • Ed448
  • secp160k1
  • secp160r1
  • secp160r2
  • secp192k1
  • secp192r1 (NIST P-192)
  • secp224k1
  • secp224r1 (NIST P-224)
  • secp256k1
  • secp256r1 (NIST P-256)
  • secp384r1 (NIST P-384)
  • secp521r1 (NIST P-521)
  • brainpoolP256r1
  • brainpoolP384r1
  • brainpoolP512r1