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)
  • Tiger/192 hash function
  • Whirlpooh hash function
  • Keccak sponge function
  • Hash Message Authentication Code (HMAC) for all hash functions
  • RC4 stream cipher
  • Block ciphers (RC6, IDEA, DES, Triple DES, AES, Camellia, SEED, ARIA)
  • Supports ECB, CBC, CFB, OFB and CTR 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)
  • Digital Signature Algorithm (DSA)
  • Diffie-Hellman key exchange (PKCS #3)
  • Password-Based Cryptography Standard (PKCS #5)
  • Elliptic Curve Cryptography (ECC)
  • Elliptic Curve Digital Signature Algorithm (ECDSA)
  • Elliptic Curve Diffie-Hellman (ECDH)
  • Supports elliptic curves defined over prime fields (NIST-P and Brainpool)
  • 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
  • APS1 / APS3 / APS3R / APS5 / FPS6
  • AVR32
  • Coldfire V2
  • PIC32
  • RX600

Supported Elliptic Curves

CycloneCrypto supports the following elliptic curves:

  • 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

Source Code

CycloneCrypto Open is released under the GPLv2 license and is 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

Feature Comparison

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:

  • The open source version CycloneCrypto Open is available for free. Developers must freely distribute the complete source code of their application, making it available for end users.
  • The commercial version CycloneCrypto Lite includes basic algorithms only.
  • The commercial version CycloneCrypto Pro includes more advanced algorithms such as Diffie-Hellman key exchange, DSA signature, CCM/GCM cipher modes.
  • The commercial version CycloneCrypto Ultimate is a full-featured cryptographic library, including support for SHA-3, Chacha20Poly1305 and Elliptic-Curve Cryptography (ECC).
CycloneCrypto
Open
CycloneCrypto
Lite
CycloneCrypto
Pro
CycloneCrypto
Ultimate
LicenseOpen sourceCommercialCommercialCommercial
Source codeYYYY
Royalty freeYYYY
Doxygen documentationYYYY
Test suiteNYYY
Support and maintenanceoptionalYYY

CycloneCrypto
Open
CycloneCrypto
Lite
CycloneCrypto
Pro
CycloneCrypto
Ultimate
Base64 data encodingYYYY
MD2, MD4 and MD5 hash functionsYYYY
SHA-1 hash functionYYYY
SHA-2 family hash functionsYYYY
HMAC message authenticationYYYY
RC4 stream cipherYYYY
DES and Triple DES block cipherYYYY
AES block cipherYYYY
ECB, CBC, CFB, OFB and CTR cipher modesYYYY
RSA public key cryptographyYYYY
Multiple precision arithmetic libraryYYYY
X.509 certificate parsingYYYY
RIPEMD-128/160 hash functionsYNYY
Tiger/192 hash functionYNYY
Whirlpooh hash functionYNYY
RC6 block cipherYNYY
IDEA block cipherYNYY
Camellia block cipherYNYY
SEED block cipherYNYY
ARIA block cipherYNYY
CCM and GCM cipher modeYNYY
Diffie-Hellman key exchangeYNYY
Digital Signature Algorithm (DSA)YNYY
SHA-3 family hash functionsYNNY
Keccak sponge functionYNNY
ChaCha encryption algorithmYNNY
Poly1305 message authenticationYNNY
ChaCha20Poly1305 AEADYNNY
Password-Based Cryptography (PKCS #5)YNNY
Elliptic Curve Cryptography (ECC)YNNY
Elliptic Curve DSA (ECDSA)YNNY
Elliptic Curve Diffie-Hellman (ECDH)YNNY
NIST-P elliptic curvesYNNY
Brainpool elliptic curvesYNNY