-
Notifications
You must be signed in to change notification settings - Fork 298
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding JSON schemas for the test vectors.
Requires test vectors with version 0.7 or higher. NOKEYCHECK=True PiperOrigin-RevId: 228853889 GitOrigin-RevId: d669cb263964511c7c95cb32f83e1f07f4bf6b51
- Loading branch information
Showing
24 changed files
with
3,011 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
{ | ||
"type": "object", | ||
"definitions": { | ||
"AeadTestGroup": { | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"enum": [ | ||
"AeadTest" | ||
] | ||
}, | ||
"ivSize": { | ||
"type": "integer", | ||
"description": "the IV size in bits" | ||
}, | ||
"keySize": { | ||
"type": "integer", | ||
"description": "the keySize in bits" | ||
}, | ||
"tagSize": { | ||
"type": "integer", | ||
"description": "the expected size of the tag in bits" | ||
}, | ||
"tests": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/AeadTestVector" | ||
} | ||
} | ||
} | ||
}, | ||
"AeadTestVector": { | ||
"type": "object", | ||
"properties": { | ||
"tcId": { | ||
"type": "integer", | ||
"description": "Identifier of the test case" | ||
}, | ||
"comment": { | ||
"type": "string", | ||
"description": "A brief description of the test case" | ||
}, | ||
"key": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the key" | ||
}, | ||
"iv": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the nonce" | ||
}, | ||
"aad": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "additional authenticated data" | ||
}, | ||
"msg": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the plaintext" | ||
}, | ||
"ct": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the ciphertext (without iv and tag)" | ||
}, | ||
"tag": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the authentication tag" | ||
}, | ||
"result": { | ||
"type": "string", | ||
"description": "Test result", | ||
"enum": [ | ||
"valid", | ||
"invalid", | ||
"acceptable" | ||
] | ||
}, | ||
"flags": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "A list of flags" | ||
} | ||
} | ||
} | ||
}, | ||
"properties": { | ||
"algorithm": { | ||
"type": "string", | ||
"description": "the primitive tested in the test file" | ||
}, | ||
"generatorVersion": { | ||
"type": "string", | ||
"description": "the version of the test vectors." | ||
}, | ||
"header": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "additional documentation" | ||
}, | ||
"notes": { | ||
"type": "object", | ||
"description": "a description of the labels used in the test vectors" | ||
}, | ||
"numberOfTests": { | ||
"type": "integer", | ||
"description": "the number of test vectors in this test" | ||
}, | ||
"schema": { | ||
"enum": [ | ||
"aead_test_schema.json" | ||
] | ||
}, | ||
"testGroups": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/AeadTestGroup" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
{ | ||
"type": "object", | ||
"definitions": { | ||
"DaeadTestGroup": { | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"enum": [ | ||
"DaeadTest" | ||
] | ||
}, | ||
"keySize": { | ||
"type": "integer", | ||
"description": "the keySize in bits" | ||
}, | ||
"tests": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/DaeadTestVector" | ||
} | ||
} | ||
} | ||
}, | ||
"DaeadTestVector": { | ||
"type": "object", | ||
"properties": { | ||
"tcId": { | ||
"type": "integer", | ||
"description": "Identifier of the test case" | ||
}, | ||
"comment": { | ||
"type": "string", | ||
"description": "A brief description of the test case" | ||
}, | ||
"key": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the key" | ||
}, | ||
"aad": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "additional authenticated data" | ||
}, | ||
"msg": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the plaintext" | ||
}, | ||
"ct": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "the ciphertext including tag" | ||
}, | ||
"result": { | ||
"type": "string", | ||
"description": "Test result", | ||
"enum": [ | ||
"valid", | ||
"invalid", | ||
"acceptable" | ||
] | ||
}, | ||
"flags": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "A list of flags" | ||
} | ||
} | ||
} | ||
}, | ||
"properties": { | ||
"algorithm": { | ||
"type": "string", | ||
"description": "the primitive tested in the test file" | ||
}, | ||
"generatorVersion": { | ||
"type": "string", | ||
"description": "the version of the test vectors." | ||
}, | ||
"header": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "additional documentation" | ||
}, | ||
"notes": { | ||
"type": "object", | ||
"description": "a description of the labels used in the test vectors" | ||
}, | ||
"numberOfTests": { | ||
"type": "integer", | ||
"description": "the number of test vectors in this test" | ||
}, | ||
"schema": { | ||
"enum": [ | ||
"daead_test_schema.json" | ||
] | ||
}, | ||
"testGroups": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/DaeadTestGroup" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
{ | ||
"type": "object", | ||
"definitions": { | ||
"DsaTestGroup": { | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"enum": [ | ||
"DsaVerify" | ||
] | ||
}, | ||
"key": { | ||
"$ref": "#/definitions/DsaPublicKey", | ||
"description": "unenocded DSA public key" | ||
}, | ||
"keyDer": { | ||
"type": "string", | ||
"format": "Der", | ||
"description": "DER encoded public key" | ||
}, | ||
"keyPem": { | ||
"type": "string", | ||
"format": "Pem", | ||
"description": "Pem encoded public key" | ||
}, | ||
"sha": { | ||
"type": "string", | ||
"description": "the hash function used for DSA" | ||
}, | ||
"tests": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/AsnSignatureTestVector" | ||
} | ||
} | ||
} | ||
}, | ||
"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" | ||
} | ||
} | ||
}, | ||
"AsnSignatureTestVector": { | ||
"type": "object", | ||
"properties": { | ||
"tcId": { | ||
"type": "integer", | ||
"description": "Identifier of the test case" | ||
}, | ||
"comment": { | ||
"type": "string", | ||
"description": "A brief description of the test case" | ||
}, | ||
"msg": { | ||
"type": "string", | ||
"format": "HexBytes", | ||
"description": "The message to sign" | ||
}, | ||
"sig": { | ||
"type": "string", | ||
"format": "Asn", | ||
"description": "An ASN encoded signature for msg" | ||
}, | ||
"result": { | ||
"type": "string", | ||
"description": "Test result", | ||
"enum": [ | ||
"valid", | ||
"invalid", | ||
"acceptable" | ||
] | ||
}, | ||
"flags": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "A list of flags" | ||
} | ||
} | ||
} | ||
}, | ||
"properties": { | ||
"algorithm": { | ||
"type": "string", | ||
"description": "the primitive tested in the test file" | ||
}, | ||
"generatorVersion": { | ||
"type": "string", | ||
"description": "the version of the test vectors." | ||
}, | ||
"header": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "additional documentation" | ||
}, | ||
"notes": { | ||
"type": "object", | ||
"description": "a description of the labels used in the test vectors" | ||
}, | ||
"numberOfTests": { | ||
"type": "integer", | ||
"description": "the number of test vectors in this test" | ||
}, | ||
"schema": { | ||
"enum": [ | ||
"dsa_verify_schema.json" | ||
] | ||
}, | ||
"testGroups": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/DsaTestGroup" | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.