{
    "api": "YAML JSON TOON Database",
    "version": "1.0.0",
    "format": "json",
    "dataset": {
        "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"
        ],
        "category": "Cybersecurity",
        "category_slug": "cybersecurity",
        "tags": "security,cryptography,encryption,ciphers,hash",
        "view_count": 0,
        "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"
            }
        ]
    },
    "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"
        }
    ]
}
