{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "DsaPublicKey": {
      "type": "object",
      "properties": {
        "g": {
          "type": "string",
          "format": "BigInt",
          "description": "the generator of the multiplicative subgroup"
        },
        "keySize": {
          "type": "integer",
          "description": "the key size in bits"
        },
        "p": {
          "type": "string",
          "format": "BigInt",
          "description": "the modulus p"
        },
        "q": {
          "type": "string",
          "format": "BigInt",
          "description": "the order of the generator g"
        },
        "type": {
          "type": "string",
          "description": "the key type",
          "enum": [
            "DsaPublicKey"
          ]
        },
        "y": {
          "type": "string",
          "format": "BigInt",
          "description": "the public key value"
        }
      },
      "required": ["g", "keySize", "p", "q", "type", "y"],
      "additionalProperties": false
    }
  }
}
