Updating documentation.
* including new primitives * more detailed description of JSON types. * adding links for algorithms NOKEYCHECK=True PiperOrigin-RevId: 252799091 GitOrigin-RevId: ebf54ad59ebc55f4cbee010d67867ee9a95ce987
This commit is contained in:
+113
-76
@@ -21,6 +21,9 @@ Type of the test vectors\: [AeadTestVector](types.md#AeadTestVector)
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
---------------------------- | --------- | ------------ | -------------
|
||||
aead_aes_siv_cmac_test.json | 828 | 180, 0, 648 | AEAD-AES-SIV-CMAC
|
||||
aegis128L_test.json | 462 | 350, 0, 112 | AEGIS128L
|
||||
aegis128_test.json | 465 | 357, 0, 108 | AEGIS128
|
||||
aegis256_test.json | 460 | 348, 0, 112 | AEGIS256
|
||||
aes_ccm_test.json | 510 | 366, 0, 144 | AES-CCM
|
||||
aes_eax_test.json | 171 | 78, 12, 81 | AES-EAX
|
||||
aes_gcm_siv_test.json | 155 | 88, 0, 67 | AES-GCM-SIV
|
||||
@@ -154,6 +157,34 @@ Type of the test vectors\:
|
||||
------------------------ | --------- | ------------ | -------------
|
||||
ecdh_webcrypto_test.json | 833 | 743, 0, 90 | ECDH
|
||||
|
||||
## EcdsaBitcoinVerify {#EcdsaBitcoinVerify}
|
||||
|
||||
Test vectors of type EcdsaBitcoinVerify are meant for the verification of a
|
||||
ECDSA variant used for bitcoin, that add signature non-malleability.
|
||||
|
||||
The bitcoin protocol requires that the signature scheme is non-malleable. It
|
||||
must not be possible to format the same signature in multiple ways. This variant
|
||||
is described in https\://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki
|
||||
|
||||
Test vectors with "result" \: "valid" are valid signatures. Test vectors with
|
||||
"result" \: "invalid" are invalid. Test vectors with "result" \: "acceptable"
|
||||
are signatures that may or may not be rejected.
|
||||
|
||||
Compared to normal ECDSA signatures, all alternative BER encodings of the
|
||||
signature are invalid. The value s in the signature must be a positive integer
|
||||
smaller than n/2.
|
||||
|
||||
JSON schema\: ecdsa_bitcoin_verify_schema.json
|
||||
|
||||
Type of the test group\: [EcdsaBitcoinTestGroup](types.md#EcdsaBitcoinTestGroup)
|
||||
|
||||
Type of the test vectors\:
|
||||
[AsnSignatureTestVector](types.md#AsnSignatureTestVector)
|
||||
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
---------------------------------------- | --------- | ------------ | -------------
|
||||
ecdsa_secp256k1_sha256_bitcoin_test.json | 374 | 140, 0, 234 | ECDSA
|
||||
|
||||
## EcdsaP1363Verify {#EcdsaP1363Verify}
|
||||
|
||||
Test vectors of type EcdsaVerify are meant for the verification of IEEE P1363
|
||||
@@ -177,22 +208,22 @@ Type of the test vectors\: [SignatureTestVector](types.md#SignatureTestVector)
|
||||
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
-------------------------------------------- | --------- | ------------ | -------------
|
||||
ecdsa_brainpoolP224r1_sha224_p1363_test.json | 188 | 118, 3, 67 | ECDSA
|
||||
ecdsa_brainpoolP256r1_sha256_p1363_test.json | 218 | 147, 3, 68 | ECDSA
|
||||
ecdsa_brainpoolP320r1_sha384_p1363_test.json | 221 | 150, 3, 68 | ECDSA
|
||||
ecdsa_brainpoolP384r1_sha384_p1363_test.json | 249 | 178, 3, 68 | ECDSA
|
||||
ecdsa_brainpoolP512r1_sha512_p1363_test.json | 292 | 222, 3, 67 | ECDSA
|
||||
ecdsa_secp224r1_sha224_p1363_test.json | 185 | 115, 3, 67 | ECDSA
|
||||
ecdsa_secp224r1_sha256_p1363_test.json | 213 | 143, 3, 67 | ECDSA
|
||||
ecdsa_secp224r1_sha512_p1363_test.json | 282 | 212, 3, 67 | ECDSA
|
||||
ecdsa_secp256k1_sha256_p1363_test.json | 209 | 139, 3, 67 | ECDSA
|
||||
ecdsa_secp256k1_sha512_p1363_test.json | 278 | 208, 3, 67 | ECDSA
|
||||
ecdsa_secp256r1_sha256_p1363_test.json | 217 | 144, 4, 69 | ECDSA
|
||||
ecdsa_secp256r1_sha512_p1363_test.json | 286 | 213, 4, 69 | ECDSA
|
||||
ecdsa_secp384r1_sha384_p1363_test.json | 237 | 165, 3, 69 | ECDSA
|
||||
ecdsa_secp384r1_sha512_p1363_test.json | 274 | 202, 3, 69 | ECDSA
|
||||
ecdsa_secp521r1_sha512_p1363_test.json | 275 | 203, 3, 69 | ECDSA
|
||||
ecdsa_webcrypto_test.json | 358 | 266, 10, 82 | ECDSA
|
||||
ecdsa_brainpoolP224r1_sha224_p1363_test.json | 190 | 120, 3, 67 | ECDSA
|
||||
ecdsa_brainpoolP256r1_sha256_p1363_test.json | 220 | 149, 3, 68 | ECDSA
|
||||
ecdsa_brainpoolP320r1_sha384_p1363_test.json | 223 | 152, 3, 68 | ECDSA
|
||||
ecdsa_brainpoolP384r1_sha384_p1363_test.json | 251 | 180, 3, 68 | ECDSA
|
||||
ecdsa_brainpoolP512r1_sha512_p1363_test.json | 294 | 224, 3, 67 | ECDSA
|
||||
ecdsa_secp224r1_sha224_p1363_test.json | 187 | 117, 3, 67 | ECDSA
|
||||
ecdsa_secp224r1_sha256_p1363_test.json | 215 | 145, 3, 67 | ECDSA
|
||||
ecdsa_secp224r1_sha512_p1363_test.json | 284 | 214, 3, 67 | ECDSA
|
||||
ecdsa_secp256k1_sha256_p1363_test.json | 211 | 141, 3, 67 | ECDSA
|
||||
ecdsa_secp256k1_sha512_p1363_test.json | 280 | 210, 3, 67 | ECDSA
|
||||
ecdsa_secp256r1_sha256_p1363_test.json | 219 | 146, 4, 69 | ECDSA
|
||||
ecdsa_secp256r1_sha512_p1363_test.json | 288 | 215, 4, 69 | ECDSA
|
||||
ecdsa_secp384r1_sha384_p1363_test.json | 239 | 167, 3, 69 | ECDSA
|
||||
ecdsa_secp384r1_sha512_p1363_test.json | 276 | 204, 3, 69 | ECDSA
|
||||
ecdsa_secp521r1_sha512_p1363_test.json | 277 | 205, 3, 69 | ECDSA
|
||||
ecdsa_webcrypto_test.json | 362 | 270, 10, 82 | ECDSA
|
||||
|
||||
## EcdsaVerify {#EcdsaVerify}
|
||||
|
||||
@@ -215,32 +246,32 @@ Type of the test vectors\:
|
||||
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
-------------------------------------- | --------- | ------------ | -------------
|
||||
ecdsa_brainpoolP224r1_sha224_test.json | 351 | 119, 2, 230 | ECDSA
|
||||
ecdsa_brainpoolP256r1_sha256_test.json | 381 | 148, 0, 233 | ECDSA
|
||||
ecdsa_brainpoolP320r1_sha384_test.json | 384 | 151, 1, 232 | ECDSA
|
||||
ecdsa_brainpoolP384r1_sha384_test.json | 412 | 179, 0, 233 | ECDSA
|
||||
ecdsa_brainpoolP512r1_sha512_test.json | 454 | 223, 0, 231 | ECDSA
|
||||
ecdsa_secp224r1_sha224_test.json | 348 | 116, 1, 231 | ECDSA
|
||||
ecdsa_secp224r1_sha256_test.json | 376 | 144, 0, 232 | ECDSA
|
||||
ecdsa_secp224r1_sha3_224_test.json | 376 | 144, 2, 230 | ECDSA
|
||||
ecdsa_secp224r1_sha3_256_test.json | 384 | 152, 2, 230 | ECDSA
|
||||
ecdsa_secp224r1_sha3_512_test.json | 449 | 217, 2, 230 | ECDSA
|
||||
ecdsa_secp224r1_sha512_test.json | 445 | 213, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha256_test.json | 372 | 140, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha3_256_test.json | 380 | 148, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha3_512_test.json | 445 | 213, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha512_test.json | 441 | 209, 1, 231 | ECDSA
|
||||
ecdsa_secp256r1_sha256_test.json | 379 | 145, 1, 233 | ECDSA
|
||||
ecdsa_secp256r1_sha3_256_test.json | 387 | 153, 1, 233 | ECDSA
|
||||
ecdsa_secp256r1_sha3_512_test.json | 452 | 218, 2, 232 | ECDSA
|
||||
ecdsa_secp256r1_sha512_test.json | 448 | 214, 1, 233 | ECDSA
|
||||
ecdsa_secp384r1_sha384_test.json | 400 | 166, 1, 233 | ECDSA
|
||||
ecdsa_secp384r1_sha3_384_test.json | 410 | 176, 0, 234 | ECDSA
|
||||
ecdsa_secp384r1_sha3_512_test.json | 441 | 207, 2, 232 | ECDSA
|
||||
ecdsa_secp384r1_sha512_test.json | 437 | 203, 2, 232 | ECDSA
|
||||
ecdsa_secp521r1_sha3_512_test.json | 441 | 208, 0, 233 | ECDSA
|
||||
ecdsa_secp521r1_sha512_test.json | 439 | 204, 0, 235 | ECDSA
|
||||
ecdsa_test.json | 1541 | 989, 5, 547 | ECDSA
|
||||
ecdsa_brainpoolP224r1_sha224_test.json | 353 | 121, 2, 230 | ECDSA
|
||||
ecdsa_brainpoolP256r1_sha256_test.json | 383 | 150, 0, 233 | ECDSA
|
||||
ecdsa_brainpoolP320r1_sha384_test.json | 386 | 153, 1, 232 | ECDSA
|
||||
ecdsa_brainpoolP384r1_sha384_test.json | 414 | 181, 0, 233 | ECDSA
|
||||
ecdsa_brainpoolP512r1_sha512_test.json | 456 | 225, 0, 231 | ECDSA
|
||||
ecdsa_secp224r1_sha224_test.json | 350 | 118, 1, 231 | ECDSA
|
||||
ecdsa_secp224r1_sha256_test.json | 378 | 146, 0, 232 | ECDSA
|
||||
ecdsa_secp224r1_sha3_224_test.json | 378 | 146, 2, 230 | ECDSA
|
||||
ecdsa_secp224r1_sha3_256_test.json | 386 | 154, 2, 230 | ECDSA
|
||||
ecdsa_secp224r1_sha3_512_test.json | 451 | 219, 2, 230 | ECDSA
|
||||
ecdsa_secp224r1_sha512_test.json | 447 | 215, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha256_test.json | 374 | 142, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha3_256_test.json | 382 | 150, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha3_512_test.json | 447 | 215, 1, 231 | ECDSA
|
||||
ecdsa_secp256k1_sha512_test.json | 443 | 211, 1, 231 | ECDSA
|
||||
ecdsa_secp256r1_sha256_test.json | 381 | 147, 1, 233 | ECDSA
|
||||
ecdsa_secp256r1_sha3_256_test.json | 389 | 155, 1, 233 | ECDSA
|
||||
ecdsa_secp256r1_sha3_512_test.json | 454 | 220, 2, 232 | ECDSA
|
||||
ecdsa_secp256r1_sha512_test.json | 450 | 216, 1, 233 | ECDSA
|
||||
ecdsa_secp384r1_sha384_test.json | 402 | 168, 1, 233 | ECDSA
|
||||
ecdsa_secp384r1_sha3_384_test.json | 412 | 178, 0, 234 | ECDSA
|
||||
ecdsa_secp384r1_sha3_512_test.json | 443 | 209, 2, 232 | ECDSA
|
||||
ecdsa_secp384r1_sha512_test.json | 439 | 205, 2, 232 | ECDSA
|
||||
ecdsa_secp521r1_sha3_512_test.json | 443 | 210, 0, 233 | ECDSA
|
||||
ecdsa_secp521r1_sha512_test.json | 441 | 206, 0, 235 | ECDSA
|
||||
ecdsa_test.json | 1559 | 1007, 5, 547 | ECDSA
|
||||
|
||||
## EddsaVerify {#EddsaVerify}
|
||||
|
||||
@@ -312,7 +343,7 @@ Type of the test vectors\: [KeywrapTestVector](types.md#KeywrapTestVector)
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
------------- | --------- | ------------ | -------------
|
||||
kw_test.json | 162 | 36, 0, 126 | KW
|
||||
kwp_test.json | 224 | 20, 60, 144 | KWP
|
||||
kwp_test.json | 254 | 20, 60, 174 | KWP
|
||||
|
||||
## MacTest {#MacTest}
|
||||
|
||||
@@ -334,20 +365,22 @@ Type of the test vectors\: [MacTestVector](types.md#MacTestVector)
|
||||
------------------ | --------- | ------------ | -------------
|
||||
aes_cmac_test.json | 290 | 42, 0, 248 | AES-CMAC
|
||||
|
||||
## RsaKeyTest {#RsaKeyTest}
|
||||
## RsaPublicKeyAsnTest {#RsaPublicKeyAsnTest}
|
||||
|
||||
Test vectors of type RsaKeyTest are intended for checking the decoding of RSA
|
||||
public keys.
|
||||
Test vectors of type RsaKeyTest are intended for checking the decoding of X509
|
||||
encoded RSA public keys.
|
||||
|
||||
JSON schema\: rsa_key_test_schema.json
|
||||
JSON schema\: rsa_public_key_asn_test_schema.json
|
||||
|
||||
Type of the test group\: [RsaKeyTestGroup](types.md#RsaKeyTestGroup)
|
||||
Type of the test group\:
|
||||
[RsaPublicKeyAsnTestGroup](types.md#RsaPublicKeyAsnTestGroup)
|
||||
|
||||
Type of the test vectors\: [RsaKeyTestVector](types.md#RsaKeyTestVector)
|
||||
Type of the test vectors\:
|
||||
[RsaPublicKeyAsnTestVector](types.md#RsaPublicKeyAsnTestVector)
|
||||
|
||||
**name** | **tests** | **validity** | **algorithm** | **missingFlags** {.sortable}
|
||||
------------- | --------- | ------------ | ------------- | ----------------
|
||||
rsa_test.json | 334 | 1, 333, 0 | RSA | 333
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
------------- | --------- | ------------ | -------------
|
||||
rsa_test.json | 335 | 1, 334, 0 | RSA
|
||||
|
||||
## RsaesOaepDecrypt {#RsaesOaepDecrypt}
|
||||
|
||||
@@ -365,26 +398,29 @@ Type of the test group\: [RsaesOaepTestGroup](types.md#RsaesOaepTestGroup)
|
||||
|
||||
Type of the test vectors\: [RsaesOaepTestVector](types.md#RsaesOaepTestVector)
|
||||
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
----------------------------------------- | --------- | ------------ | -------------
|
||||
rsa_oaep_2048_sha1_mgf1sha1_test.json | 34 | 17, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha224_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha224_mgf1sha224_test.json | 33 | 17, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha256_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha384_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha384_mgf1sha384_test.json | 32 | 16, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha512_mgf1sha512_test.json | 31 | 14, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha256_mgf1sha1_test.json | 30 | 13, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha512_mgf1sha512_test.json | 31 | 15, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha256_mgf1sha1_test.json | 30 | 13, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha512_mgf1sha512_test.json | 34 | 17, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_misc_test.json | 775 | 460, 315, 0 | RSAES-OAEP
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
------------------------------------------------------ | --------- | ------------ | -------------
|
||||
rsa_oaep_2048_sha1_mgf1sha1_test.json | 34 | 17, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha224_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha224_mgf1sha224_test.json | 33 | 17, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha256_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha384_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha384_mgf1sha384_test.json | 32 | 16, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_2048_sha512_mgf1sha512_test.json | 31 | 14, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha256_mgf1sha1_test.json | 30 | 13, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_3072_sha512_mgf1sha512_test.json | 31 | 15, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha256_mgf1sha1_test.json | 30 | 13, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAEP
|
||||
rsa_oaep_4096_sha512_mgf1sha512_test.json | 34 | 17, 0, 17 | RSAES-OAEP
|
||||
rsa_oaep_misc_test.json | 775 | 460, 315, 0 | RSAES-OAEP
|
||||
rsa_three_primes_oaep_2048_sha1_mgf1sha1_test.json | 34 | 17, 0, 17 | RSAES-OAEP
|
||||
rsa_three_primes_oaep_3072_sha224_mgf1sha224_test.json | 35 | 19, 0, 16 | RSAES-OAEP
|
||||
rsa_three_primes_oaep_4096_sha256_mgf1sha256_test.json | 35 | 18, 0, 17 | RSAES-OAEP
|
||||
|
||||
## RsaesPkcs1Decrypt {#RsaesPkcs1Decrypt}
|
||||
|
||||
@@ -423,9 +459,10 @@ Type of the test group\:
|
||||
|
||||
Type of the test vectors\: [SignatureTestVector](types.md#SignatureTestVector)
|
||||
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
-------------------------- | --------- | ------------ | -------------
|
||||
rsa_sig_gen_misc_test.json | 158 | 80, 78, 0 | RSASSA-PKCS1-v1_5
|
||||
**name** | **tests** | **validity** | **algorithm** {.sortable}
|
||||
--------------------------------------- | --------- | ------------ | -------------
|
||||
rsa_sig_gen_misc_test.json | 158 | 80, 78, 0 | RSASSA-PKCS1-v1_5
|
||||
rsa_sig_gen_misc_three_primes_test.json | 32 | 24, 8, 0 | RSASSA-PKCS1-v1_5
|
||||
|
||||
## RsassaPkcs1Verify {#RsassaPkcs1Verify}
|
||||
|
||||
@@ -454,7 +491,7 @@ rsa_signature_3072_sha384_test.json | 239 | 7, 1, 231 | RSASSA-PKCS1-v1
|
||||
rsa_signature_3072_sha512_test.json | 240 | 7, 2, 231 | RSASSA-PKCS1-v1_5
|
||||
rsa_signature_4096_sha384_test.json | 239 | 7, 1, 231 | RSASSA-PKCS1-v1_5
|
||||
rsa_signature_4096_sha512_test.json | 239 | 7, 1, 231 | RSASSA-PKCS1-v1_5
|
||||
rsa_signature_test.json | 377 | 77, 70, 230 | RSASSA-PKCS1-v1_5
|
||||
rsa_signature_test.json | 377 | 84, 63, 230 | RSASSA-PKCS1-v1_5
|
||||
|
||||
## RsassaPssVerify {#RsassaPssVerify}
|
||||
|
||||
|
||||
+169
-29
@@ -2,7 +2,7 @@
|
||||
|
||||
# Test vector types
|
||||
|
||||
Version\: 0.7
|
||||
Version\: 0.8r4
|
||||
|
||||
[TOC]
|
||||
|
||||
@@ -55,7 +55,9 @@ Fields additional to the fields in TestVector are\:
|
||||
msg | [HexBytes](formats.md#DataTypes) | The message to sign
|
||||
sig | Asn | An ASN encoded signature for msg
|
||||
|
||||
Used in [DsaTestGroup](#DsaTestGroup), [EcdsaTestGroup](#EcdsaTestGroup).
|
||||
Used in [DsaTestGroup](#DsaTestGroup),
|
||||
[EcdsaBitcoinTestGroup](#EcdsaBitcoinTestGroup),
|
||||
[EcdsaTestGroup](#EcdsaTestGroup).
|
||||
|
||||
## DaeadTestGroup {#DaeadTestGroup}
|
||||
|
||||
@@ -310,13 +312,31 @@ tests | List of [EcdhWebcryptoTestVector](types.md#EcdhWebcryptoTestVector) |
|
||||
Fields additional to the fields in TestVector are\:
|
||||
|
||||
**name** | **type** | **desc**
|
||||
-------- | -------------------------------- | -------------------------------
|
||||
public | Json | Public key in webcrypto format
|
||||
private | Json | Private key in webcrypto format
|
||||
-------- | -------------------------------- | --------
|
||||
public | Json | Valid or invalid public key in webcrypto format
|
||||
private | JwkEcPrivateKey | Private key in webcrypto format
|
||||
shared | [HexBytes](formats.md#DataTypes) | The shared secret key
|
||||
|
||||
Used in [EcdhWebcryptoTestGroup](#EcdhWebcryptoTestGroup).
|
||||
|
||||
## EcdsaBitcoinTestGroup {#EcdsaBitcoinTestGroup}
|
||||
|
||||
A test group for the bitcoin variant of ECDSA signatures. The test vectors in
|
||||
this group are meant for signature verification. The test group contains the
|
||||
same public key for the signatures in multiple representations. The public keys
|
||||
are valid.
|
||||
|
||||
Fields in EcdsaBitcoinTestGroup are\:
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | ----------------------------------------------------------------- | -------------------------------- | --------
|
||||
key | EcPublicKey | unenocded EC public key |
|
||||
keyDer | [Der](formats.md#DataTypes) | DER encoded public key |
|
||||
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key |
|
||||
sha | [MdName](formats.md#HashFunctions) | the hash function used for ECDSA | 'SHA-256'
|
||||
type | str | the type of the test | '[EcdsaBitcoinVerify](files.md#EcdsaBitcoinVerify)'
|
||||
tests | List of [AsnSignatureTestVector](types.md#AsnSignatureTestVector) | a list of test vectors |
|
||||
|
||||
## EcdsaP1363TestGroup {#EcdsaP1363TestGroup}
|
||||
|
||||
A test group for ECDSA signatures using IEEE P1363 encoding. The test vectors in
|
||||
@@ -329,7 +349,7 @@ Fields in EcdsaP1363TestGroup are\:
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | ----------------------------------------------------------- | --------------------------------------------- | --------
|
||||
jwk | Json | [optional] the public key in webcrypto format |
|
||||
jwk | JwkEcPublicKey | [optional] the public key in webcrypto format |
|
||||
key | EcPublicKey | unenocded EC public key |
|
||||
keyDer | [Der](formats.md#DataTypes) | DER encoded public key |
|
||||
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key |
|
||||
@@ -428,6 +448,74 @@ ct | [HexBytes](formats.md#DataTypes) | the raw ciphertext (without IV)
|
||||
|
||||
Used in [IndCpaTestGroup](#IndCpaTestGroup).
|
||||
|
||||
## JwkEcPrivateKey {#JwkEcPrivateKey}
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | --------------------------------- | ------------------------------------ | --------
|
||||
crv | str | the curve | 'P-256', 'P-384', 'P-521', 'P-256K'
|
||||
d | [Base64Url](formats.md#DataTypes) | The private multiplier |
|
||||
kid | str | the key id |
|
||||
kty | str | the algorithm | 'EC'
|
||||
use | str | the purpose of the key |
|
||||
x | [Base64Url](formats.md#DataTypes) | The x-coordinate of the public point |
|
||||
y | [Base64Url](formats.md#DataTypes) | The y-coordinate of the public point |
|
||||
|
||||
## JwkEcPublicKey {#JwkEcPublicKey}
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | --------------------------------- | ------------------------------------ | --------
|
||||
crv | str | the curve | 'P-256', 'P-384', 'P-521', 'P-256K'
|
||||
kid | str | the key id |
|
||||
kty | str | the algorithm | 'EC'
|
||||
use | str | the purpose of the key |
|
||||
x | [Base64Url](formats.md#DataTypes) | The x-coordinate of the public point |
|
||||
y | [Base64Url](formats.md#DataTypes) | The y-coordinate of the public point |
|
||||
|
||||
## JwkRsaPrivateKey {#JwkRsaPrivateKey}
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | --------------------------------- | ----------------------------- | --------
|
||||
d | [Base64Url](formats.md#DataTypes) | the private exponent |
|
||||
dp | [Base64Url](formats.md#DataTypes) | the value d % (p-1) |
|
||||
dq | [Base64Url](formats.md#DataTypes) | the value d % (q-1) |
|
||||
e | [Base64Url](formats.md#DataTypes) | the public exponent |
|
||||
kid | str | the key identifier |
|
||||
kty | str | the algorithm | 'RSA'
|
||||
n | [Base64Url](formats.md#DataTypes) | the modulus of the key |
|
||||
p | [Base64Url](formats.md#DataTypes) | a prime factor of the modulus |
|
||||
q | [Base64Url](formats.md#DataTypes) | a prime factor of the modulus |
|
||||
qi | [Base64Url](formats.md#DataTypes) | the CRT value q^(-1) % p |
|
||||
use | str | the purpose of the key | 'sig', 'enc'
|
||||
|
||||
## JwkRsaPublicKey {#JwkRsaPublicKey}
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | --------------------------------- | ---------------------- | --------
|
||||
e | [Base64Url](formats.md#DataTypes) | the public exponent |
|
||||
kid | str | the key identifier |
|
||||
kty | str | the algorithm | 'RSA'
|
||||
n | [Base64Url](formats.md#DataTypes) | the modulus of the key |
|
||||
use | str | the purpose of the key | 'sig', 'enc'
|
||||
|
||||
## JwkXdhPrivateKey {#JwkXdhPrivateKey}
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | --------------------------------- | --------------------- | --------
|
||||
crv | str | the DH function | 'X25519', 'X448'
|
||||
d | [Base64Url](formats.md#DataTypes) | the private key value |
|
||||
kid | str | the key identifier |
|
||||
kty | str | the key type | 'OKP'
|
||||
x | [Base64Url](formats.md#DataTypes) | the public key value |
|
||||
|
||||
## JwkXdhPublicKey {#JwkXdhPublicKey}
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | --------------------------------- | -------------------- | --------
|
||||
crv | str | the DH function | 'X25519', 'X448'
|
||||
kid | str | the key identifier |
|
||||
kty | str | the key type | 'OKP'
|
||||
x | [Base64Url](formats.md#DataTypes) | the public key value |
|
||||
|
||||
## KeywrapTestGroup {#KeywrapTestGroup}
|
||||
|
||||
Fields in KeywrapTestGroup are\:
|
||||
@@ -481,26 +569,78 @@ tag | [HexBytes](formats.md#DataTypes) | the authentication tag
|
||||
|
||||
Used in [MacTestGroup](#MacTestGroup).
|
||||
|
||||
## RsaKeyTestGroup {#RsaKeyTestGroup}
|
||||
## RsaPrivateKey {#RsaPrivateKey}
|
||||
|
||||
Fields in RsaKeyTestGroup are\:
|
||||
Describes an RSA private key. The data type is based on the RSAPrivateKey type
|
||||
defined in Section A.1.2 of RFC 8017.
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------
|
||||
encoding | str | The encoding of the public key in the test vectors. asn implies PKCS8 encoded public keys. pem implies a PEM encoded public key (compatible with OpenSSL. | 'asn', 'pem'
|
||||
private | Json | the private key |
|
||||
type | str | the type of the test | '[RsaKeyTest](files.md#RsaKeyTest)'
|
||||
tests | List of [RsaKeyTestVector](types.md#RsaKeyTestVector) | a list of test vectors |
|
||||
**name** | **type** | **desc** | **enum**
|
||||
--------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | --------
|
||||
coefficient | [BigInt](formats.md#DataTypes) | the CRT value q^(-1) % p |
|
||||
exponent1 | [BigInt](formats.md#DataTypes) | the value d % (p-1) |
|
||||
exponent2 | [BigInt](formats.md#DataTypes) | the value d % (q-1) |
|
||||
modulus | [BigInt](formats.md#DataTypes) | the modulus of the key |
|
||||
otherPrimeInfos | List | list of triples [prime, exponent, coefficient] |
|
||||
prime1 | [BigInt](formats.md#DataTypes) | p: a prime factor of the modulus |
|
||||
prime2 | [BigInt](formats.md#DataTypes) | q: a prime factor of the modulus |
|
||||
privateExponent | [BigInt](formats.md#DataTypes) | the private exponent |
|
||||
publicExponent | [BigInt](formats.md#DataTypes) | the public exponent |
|
||||
version | int | The version of the private key. This is 0 for keys with no otherPrimeInfos and 1 for keys with otherPrimeInfos, i.e. multiprime keys. | 0, 1
|
||||
|
||||
## RsaKeyTestVector {#RsaKeyTestVector}
|
||||
## RsaPublicKey {#RsaPublicKey}
|
||||
|
||||
Describes an RSA private key. The data type is based on the RSAPublicKey type
|
||||
defined in Appendix C of RFC 8017.
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
-------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | --------
|
||||
modulus | [BigInt](formats.md#DataTypes) | the modulus of the key |
|
||||
publicExponent | [BigInt](formats.md#DataTypes) | the public exponent |
|
||||
version | int | The version of the private key. This is 0 for keys with no otherPrimeInfos and 1 for keys with otherPrimeInfos, i.e. multiprime keys. | 0, 1
|
||||
|
||||
## RsaPublicKeyAsnTestGroup {#RsaPublicKeyAsnTestGroup}
|
||||
|
||||
Fields in RsaPublicKeyAsnTestGroup are\:
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
------------- | ----------------------------------------------------------------------- | --------------------------- | --------
|
||||
privateKey | RsaPrivateKey | the private key |
|
||||
privateKeyAsn | [Der](formats.md#DataTypes) | PKCS #8 encoded private key |
|
||||
publicKeyAsn | [Der](formats.md#DataTypes) | the X509 encoded public key |
|
||||
type | str | the type of the test | '[RsaPublicKeyAsnTest](files.md#RsaPublicKeyAsnTest)'
|
||||
tests | List of [RsaPublicKeyAsnTestVector](types.md#RsaPublicKeyAsnTestVector) | a list of test vectors |
|
||||
|
||||
## RsaPublicKeyAsnTestVector {#RsaPublicKeyAsnTestVector}
|
||||
|
||||
Fields additional to the fields in TestVector are\:
|
||||
|
||||
**name** | **type** | **desc**
|
||||
-------- | -------------------------------- | ----------------------
|
||||
public | [HexBytes](formats.md#DataTypes) | the encoded public key
|
||||
**name** | **type** | **desc**
|
||||
-------- | --------------------------- | ----------------------------------
|
||||
encoded | [Asn](formats.md#DataTypes) | a modified X509 encoded public key
|
||||
|
||||
Used in [RsaKeyTestGroup](#RsaKeyTestGroup).
|
||||
Used in [RsaPublicKeyAsnTestGroup](#RsaPublicKeyAsnTestGroup).
|
||||
|
||||
## RsaPublicKeyPemTestGroup {#RsaPublicKeyPemTestGroup}
|
||||
|
||||
Fields in RsaPublicKeyPemTestGroup are\:
|
||||
|
||||
**name** | **type** | **desc** | **enum**
|
||||
------------- | ----------------------------------------------------------------------- | ---------------------------------------- | --------
|
||||
privateKey | RsaPrivateKey | the private key |
|
||||
privateKeyPem | [Pem](formats.md#DataTypes) | PEM encoded private key |
|
||||
publicKeyPem | [Pem](formats.md#DataTypes) | the corresponding PEM encoded public key |
|
||||
type | str | the type of the test | '[RsaPublicKeyPemTest](files.md#RsaPublicKeyPemTest)'
|
||||
tests | List of [RsaPublicKeyPemTestVector](types.md#RsaPublicKeyPemTestVector) | a list of test vectors |
|
||||
|
||||
## RsaPublicKeyPemTestVector {#RsaPublicKeyPemTestVector}
|
||||
|
||||
Fields additional to the fields in TestVector are\:
|
||||
|
||||
**name** | **type** | **desc**
|
||||
-------- | --------------------------- | ---------------------------------
|
||||
encoded | [Pem](formats.md#DataTypes) | a modified PEM encoded public key
|
||||
|
||||
Used in [RsaPublicKeyPemTestGroup](#RsaPublicKeyPemTestGroup).
|
||||
|
||||
## RsaesOaepTestGroup {#RsaesOaepTestGroup}
|
||||
|
||||
@@ -513,7 +653,7 @@ e | [BigInt](formats.md#DataTypes) |
|
||||
mgf | str | the message generating function (e.g. MGF1) | |
|
||||
mgfSha | [MdName](formats.md#HashFunctions) | The hash function used for the message generating function. | |
|
||||
n | [BigInt](formats.md#DataTypes) | The modulus of the key | |
|
||||
privateKeyJwk | JSON | [optional] JSON encoded private key | 0.7 |
|
||||
privateKeyJwk | JwkRsaPrivateKey | [optional] JSON encoded private key | 0.7 |
|
||||
privateKeyPem | [Pem](formats.md#DataTypes) | Pem encoded private key | |
|
||||
privateKeyPkcs8 | [Der](formats.md#DataTypes) | Pkcs 8 encoded private key | |
|
||||
sha | [MdName](formats.md#HashFunctions) | The hash function for hashing the label. | |
|
||||
@@ -541,7 +681,7 @@ Fields in RsaesPkcs1TestGroup are\:
|
||||
d | [BigInt](formats.md#DataTypes) | The private exponent | |
|
||||
e | [BigInt](formats.md#DataTypes) | The public exponent | |
|
||||
n | [BigInt](formats.md#DataTypes) | The modulus of the key | |
|
||||
privateKeyJwk | JSON | JWK encoded private key | 0.7 |
|
||||
privateKeyJwk | JwkRsaPrivateKey | JWK encoded private key | 0.7 |
|
||||
privateKeyPem | [Pem](formats.md#DataTypes) | Pem encoded private key | |
|
||||
privateKeyPkcs8 | [Der](formats.md#DataTypes) | Pkcs 8 encoded private key. | |
|
||||
type | str | the type of the test | | '[RsaesPkcs1Decrypt](files.md#RsaesPkcs1Decrypt)'
|
||||
@@ -568,12 +708,12 @@ d | [BigInt](formats.md#DataTypes) | Th
|
||||
e | [BigInt](formats.md#DataTypes) | The public exponent | | |
|
||||
keyAsn | [Der](formats.md#DataTypes) | DER encoding of the sequence [n, e] | | |
|
||||
keyDer | [Der](formats.md#DataTypes) | DER encoding of the public key | | |
|
||||
keyJwk | Json | [Optional] Private key in JWK format | RFC 7517 | 0.7 |
|
||||
keyJwk | JwkRsaPublicKey | [Optional] public key in JWK format | RFC 7517 | 0.7 |
|
||||
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key | | |
|
||||
keySize | int | the size of the modulus in bits | | |
|
||||
n | [BigInt](formats.md#DataTypes) | The modulus of the key | | |
|
||||
privateKeyDer | [Der](formats.md#DataTypes) | DER encoding of the private key | | |
|
||||
privateKeyJwk | Json | [Optional] Private key in JWK format | RFC 7517 | 0.7 |
|
||||
privateKeyJwk | JwkRsaPrivateKey | [Optional] Private key in JWK format | RFC 7517 | 0.7 |
|
||||
privateKeyPem | Pem | Pem encoded private key | | |
|
||||
sha | [MdName](formats.md#HashFunctions) | the hash function used for the message | | |
|
||||
type | str | the type of the test | | | '[RsassaPkcs1Generate](files.md#RsassaPkcs1Generate)'
|
||||
@@ -589,7 +729,7 @@ d | [BigInt](formats.md#DataTypes) | The pri
|
||||
e | [BigInt](formats.md#DataTypes) | The public exponent | | |
|
||||
keyAsn | [Der](formats.md#DataTypes) | ASN encoding of the sequence [n, e] | | |
|
||||
keyDer | [Der](formats.md#DataTypes) | ASN encoding of the public key | | |
|
||||
keyJwk | Json | The public key in JWK format. The key is missing if the signature algorithm for the given hash is not defined. | RFC 7517 | 0.7 |
|
||||
keyJwk | JwkRsaPublicKey | The public key in JWK format. The key is missing if the signature algorithm for the given hash is not defined. | RFC 7517 | 0.7 |
|
||||
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key | | |
|
||||
keySize | int | the size of the modulus in bits | | |
|
||||
n | [BigInt](formats.md#DataTypes) | The modulus of the key | | |
|
||||
@@ -733,11 +873,11 @@ the jwk format.
|
||||
|
||||
Fields additional to the fields in TestVector are\:
|
||||
|
||||
**name** | **type** | **desc** | **ref**
|
||||
-------- | -------------------------------- | ----------------------------- | -------
|
||||
public | JSON | the public key in jwk format | RFC 8037
|
||||
private | JSON | the private key in jwk format | RFC 8037
|
||||
shared | [HexBytes](formats.md#DataTypes) | the shared secret |
|
||||
**name** | **type** | **desc** | **ref**
|
||||
-------- | -------------------------------- | ----------------------------------------- | -------
|
||||
public | JSON | valid or invalid public key in jwk format | RFC 8037
|
||||
private | JwkXdhPrivateKey | the private key in jwk format | RFC 8037
|
||||
shared | [HexBytes](formats.md#DataTypes) | the shared secret |
|
||||
|
||||
Used in [XdhJwkTestGroup](#XdhJwkTestGroup).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user