api: YAML JSON TOON Database
version: 1.0.0
format: yaml
dataset:
  id: 2769
  slug: cryptographic-algorithms
  title: Cryptographic Algorithms
  description: Overview of symmetric, asymmetric, hashing, and key exchange algorithms.
  summary: "Widely used cryptographic algorithms grouped by purpose: symmetric ciphers, public-key systems, hashing, message authentication and key exchange, with the use case for each. Extra rows cover authenticated encryption, password hashing, modern signatures and the post-quantum algorithms standardized by NIST."
  use_when:
    - You need the current default algorithm for a purpose and the situations it fits.
    - You are reviewing a design for outdated primitives.
  caveats:
    - Recommendations change as cryptanalysis and hardware advance. Treat the rows as a snapshot and check current guidance (NIST, IETF) for new designs.
    - "Algorithm names are not enough: modes, parameters and key sizes decide whether a use is secure."
  related:
    - cryptography-basics
    - network-security-devices
    - common-vulnerabilities-owasp
  entry_count: 17
  fields:
    - section: data
      field: type
      type: string
      example: Symmetric (AES)
    - section: data
      field: algorithm
      type: string
      example: AES-128/192/256
    - section: data
      field: description
      type: string
      example: Same key for encryption and decryption. Block c…
    - section: data
      field: use_case
      type: string
      example: Bulk data encryption
  category: Cybersecurity
  category_slug: cybersecurity
  tags: security,cryptography,encryption,ciphers,hash
  view_count: 42
  created_at: 1793403093
  updated_at: 1793403093
data:
  - type: Symmetric (AES)
    algorithm: AES-128/192/256
    description: Same key for encryption and decryption. Block cipher, 128-bit blocks.
    use_case: Bulk data encryption
  - type: Symmetric (ChaCha20)
    algorithm: ChaCha20-Poly1305
    description: Stream cipher with built-in authentication. Efficient on mobile.
    use_case: Mobile and IoT devices
  - type: Asymmetric (RSA)
    algorithm: RSA-2048/4096
    description: Public key encryption based on factoring large primes.
    use_case: Key exchange, digital signatures
  - type: Asymmetric (ECC)
    algorithm: ECDSA, Ed25519
    description: Elliptic curve cryptography. Smaller keys than RSA for equivalent security.
    use_case: TLS certificates, cryptocurrency
  - type: Hashing
    algorithm: SHA-256, BLAKE3
    description: One-way functions producing fixed-size digests.
    use_case: Integrity verification, passwords
  - type: Key Exchange
    algorithm: X25519, DH
    description: Agreed shared secret over an insecure channel.
    use_case: TLS handshake
  - type: MAC
    algorithm: HMAC-SHA256
    description: Message authentication code using a secret key and hash.
    use_case: Message integrity and authenticity
  - type: Authenticated Encryption (AES-GCM)
    algorithm: AES-GCM
    description: AES in Galois/Counter Mode, providing confidentiality and integrity together; nonces must never repeat under one key.
    use_case: TLS, disk and storage encryption, general-purpose encryption
  - type: Hashing (SHA-256)
    algorithm: SHA-256
    description: A member of the SHA-2 family producing a 256-bit digest.
    use_case: Integrity checks, signatures, certificates, content addressing
  - type: Hashing (SHA-3)
    algorithm: SHA-3 / Keccak
    description: A sponge-based hash standardized as an alternative to SHA-2.
    use_case: Applications wanting a structurally different hash from SHA-2
  - type: Password Hashing
    algorithm: Argon2id
    description: A memory-hard password hashing function and the winner of the Password Hashing Competition.
    use_case: Storing user passwords
  - type: Password Hashing (bcrypt)
    algorithm: bcrypt
    description: A deliberately slow adaptive password hash based on the Blowfish cipher.
    use_case: Storing user passwords where Argon2 is not available
  - type: Signature (EdDSA)
    algorithm: Ed25519
    description: A fast, compact elliptic-curve signature scheme with deterministic signatures.
    use_case: SSH keys, software signing, modern protocols
  - type: Key Exchange (X25519)
    algorithm: X25519
    description: Elliptic-curve Diffie-Hellman over Curve25519.
    use_case: TLS 1.3 key agreement, secure messaging
  - type: Post-Quantum KEM
    algorithm: ML-KEM (Kyber)
    description: A lattice-based key-encapsulation mechanism standardized by NIST in FIPS 203.
    use_case: Key establishment designed to resist quantum attacks
  - type: Post-Quantum Signature
    algorithm: ML-DSA (Dilithium)
    description: A lattice-based digital signature scheme standardized by NIST in FIPS 204.
    use_case: Signatures designed to resist quantum attacks
  - type: Deprecated (Triple DES)
    algorithm: 3DES
    description: Applies DES three times; small 64-bit blocks make it vulnerable to birthday-style attacks and it is being retired.
    use_case: Legacy systems only; avoid in new designs
