# Cryptographic Features

User available cryptographic services that are provided by the Arm CryptoCell-312 include the following:

- Encryption and decryption schemes, including:
  - Advanced Encryption Standard (AES-128, AES-192, AES-256)
  - RSA (RSA-2048, RSA-3072, RSA-4096)
  - ChaCha (ChaCha20, ChaCha20-Poly1305)
  - Elliptic Curve Integrated Encryption Scheme (ECIES)
  - Galois Counter Mode (GCM) support, typically using AES
- Hash schemes, including:
  - Secure Hash Algorithms (SHA-1, SHA-224, SHA-256, SHA-384, SHA-512)
- Message Authentication Coding, including:
  - Hash Message Authentication Code (HMAC), typically using SHA-256
  - Cipher-based Message Authentication Code (CMAC), typically using AES
  - Elliptic Curve Digital Signature Algorithm (ECDSA)
  - Secure Remote Password (SRP)
- Key generation and exchange algorithms, including:
  - Elliptic-Curve Diffie-Hellman (ECDH)
  - DHM key exchange (DHM)
- CCM (CRT CBC-Mac, or Counter mode cipher block chaining message authentication codes calculated using a counter-based initialization vector)
- CTR-DRBG (Counter mode deterministic random bit/byte generator)
- Key Derivation

These services allow for development of custom proprietary security solutions.