Repository navigation
Expand file tree
/
Copy pathciphertext_election_context.schema.json
More file actions
88 lines (88 loc) · 2.8 KB
/
Copy pathciphertext_election_context.schema.json
File metadata and controls
88 lines (88 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://electionguard.vote/schemas/1.91/election-context",
"title": "Ciphertext Election Context",
"type": "object",
"required": [
"number_of_guardians",
"quorum",
"elgamal_public_key",
"commitment_hash",
"manifest_hash",
"crypto_base_hash",
"crypto_extended_base_hash",
"configuration"
],
"definitions": {
"ElementModP": {
"title": "ElementModP",
"description": "An element of the larger `mod p` space, i.e., in [0, P), where P is a 4096-bit prime.",
"type": "string"
},
"ElementModQ": {
"title": "ElementModQ",
"description": "An element of the smaller `mod q` space, i.e., in [0, Q), where Q is a 256-bit prime.",
"type": "string"
},
"Configuration": {
"title": "Configuration",
"type": "object",
"properties": {
"allow_overvotes": {
"title": "Allow Overvotes",
"default": true,
"type": "boolean"
},
"max_votes": {
"title": "Max Votes",
"default": 1000000,
"type": "integer"
}
}
}
},
"properties": {
"number_of_guardians": {
"title": "Number Of Guardians",
"type": "integer",
"description": "The number of guardians necessary to generate the public key"
},
"quorum": {
"title": "Quorum",
"type": "integer",
"description": "The quorum of guardians necessary to decrypt an election. Must be less than or equal to `number_of_guardians`"
},
"elgamal_public_key": {
"$ref": "#/definitions/ElementModP",
"description": "The `joint public key (K)` in the specification"
},
"commitment_hash": {
"$ref": "#/definitions/ElementModQ",
"description": "the `commitment hash H(K 1,0 , K 2,0 ... , K n,0 )` of the public commitments guardians make to each other in the specification"
},
"manifest_hash": {
"$ref": "#/definitions/ElementModQ",
"description": "The hash of the election metadata"
},
"crypto_base_hash": {
"$ref": "#/definitions/ElementModQ",
"description": "The `base hash code (𝑄)` in the specification"
},
"crypto_extended_base_hash": {
"$ref": "#/definitions/ElementModQ",
"description": "The `extended base hash code (𝑄')` in specification"
},
"extended_data": {
"title": "Extended Data",
"type": ["object", "null"],
"description": "Data to allow extending the context for special cases",
"additionalProperties": {
"type": "string"
}
},
"configuration": {
"$ref": "#/definitions/Configuration",
"description": "Configuration for the election edge cases"
}
}
}