Product Description

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. CycloneCrypto is available either as open source (GPLv2) or under a commercial license.

  • 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

CycloneCrypto supports the following 32-bit architectures:

  • 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

CycloneCrypto supports the following 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

Documentation


CycloneCrypto Brochure

Licensing

The cryptographic library is available either as open source (CycloneCrypto Open) or under a commercial license (CycloneCrypto Lite, Pro or Ultimate) for proprietary developments in a commercial context.


Product Licensing

Source Code

CycloneCrypto Open (GPLv2 license) and CycloneCrypto Eval (time-limited evaluation license) are available for download. If you want to browse the source tree instead of downloading, the complete source code and documentation are also available online.


Download Source Code
Browse Source Code and Documentation