{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "dictionary",
    "description": "A dictionary captures a set of key/value pairs",
    "type": "object",
    "patternProperties": {
        "^[a-zA-Z0-9_-]{1,}$": {
            "type": "string",
            "description": "Custom hash key"
        },
        "^MD5$": {
            "type": "string",
            "description": "Specifies the MD5 message digest algorithm.",
            "pattern": "^[a-fA-F0-9]{32}$"
        },
        "^MD6$": {
            "type": "string",
            "description": "Specifies the MD6 message digest algorithm.",
            "pattern": "^[a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{56}|[a-fA-F0-9]{64}|[a-fA-F0-9]{96}|[a-fA-F0-9]{128}$"
        },
        "^RIPEMD-160$": {
            "type": "string",
            "description": "Specifies the RIPEMD\u00ad-160 (R\u200bACE\u200b Integrity Primitives Evaluation Message Digest)\u200b cryptographic hash function.",
            "pattern": "^[a-fA-F0-9]{40}$"
        },
        "^SHA-1$": {
            "type": "string",
            "description": "Specifies the SHA\u00ad-1 (secure-\u00adhash algorithm 1) cryptographic hash function.",
            "pattern": "^[a-fA-F0-9]{40}$"
        },
        "^SHA-224$": {
            "type": "string",
            "description": "Specifies the SHA-\u00ad224 cryptographic hash function (part of the SHA\u00ad2 family).",
            "pattern": "^[a-fA-F0-9]{56}$"
        },
        "^SHA-256$": {
            "type": "string",
            "description": "Specifies the SHA-\u00ad256 cryptographic hash function (part of the SHA\u00ad2 family).",
            "pattern": "^[a-fA-F0-9]{64}$"
        },
        "^SHA-384$": {
            "type": "string",
            "description": "Specifies the SHA-\u00ad384 cryptographic hash function (part of the SHA\u00ad2 family).",
            "pattern": "^[a-fA-F0-9]{96}$"
        },
        "^SHA-512$": {
            "type": "string",
            "description": "Specifies the SHA-\u00ad512 cryptographic hash function (part of the SHA\u00ad2 family).",
            "pattern": "^[a-fA-F0-9]{128}$"
        },
        "^SHA3-224$": {
            "type": "string",
            "description": "Specifies the SHA3-224 cryptographic hash function.",
            "pattern": "^[a-fA-F0-9]{56}$"
        },
        "^SHA3-256$": {
            "type": "string",
            "description": "Specifies the SHA3-256 cryptographic hash function.",
            "pattern": "^[a-fA-F0-9]{64}$"
        },
        "^SHA3-384$": {
            "type": "string",
            "description": "Specifies the SHA3-384 cryptographic hash function.",
            "pattern": "^[a-fA-F0-9]{96}$"
        },
        "^SHA3-512$": {
            "type": "string",
            "description": "Specifies the SHA3-512 cryptographic hash function.",
            "pattern": "^[a-fA-F0-9]{128}$"
        },
        "^ssdeep$": {
            "type": "string",
            "description": "Specifies the ssdeep fuzzy hashing algorithm.",
            "pattern": "^[a-zA-Z0-9/+:.]{1,128}$"
        },
        "^WHIRLPOOL$": {
            "type": "string",
            "description": "Specifies the whirlpool cryptographic hash function",
            "pattern": "^[a-fA-F0-9]{128}$"
        }
    },
    "additionalProperties": false
}