Adding more links to type names.

NOKEYCHECK=True
PiperOrigin-RevId: 233588531
GitOrigin-RevId: eb79f2b0c494cc9b993f7391494074bd98e442d7
This commit is contained in:
bleichen
2019-02-12 05:22:19 -08:00
committed by Tink Team
parent 441894f256
commit 386767b289
2 changed files with 223 additions and 365 deletions
+42 -42
View File
@@ -2,7 +2,7 @@
# Test vector files
## AeadTest
## AeadTest {#AeadTest}
Test vectors of type AeadTest test authenticated encryption with additional
data. The test vectors are intended for testing both encryption and decryption.
@@ -28,7 +28,7 @@ aes_gcm_test.json | 256 | 139, 30, 87 | AES-GCM
chacha20_poly1305_test.json | 300 | 233, 0, 67 | CHACHA20-POLY1305
xchacha20_poly1305_test.json | 284 | 220, 0, 64 | XCHACHA20-POLY1305
## DaeadTest
## DaeadTest {#DaeadTest}
Test vectors of type DaeadTest are intended for verifying encryption and
decryption of deterministic authenticated encryption with additional data.
@@ -48,7 +48,7 @@ Type of the test vectors\: [DaeadTestVector](types.md#DaeadTestVector)
---------------------- | --------- | ------------ | -------------
aes_siv_cmac_test.json | 442 | 118, 0, 324 | AES-SIV-CMAC
## DsaVerify
## DsaVerify {#DsaVerify}
Test vectors of test DsaVerify are intended for checking the signature
verification of DSA signatures.
@@ -71,7 +71,7 @@ Type of the test vectors\:
------------- | --------- | ------------ | -------------
dsa_test.json | 855 | 33, 3, 819 | DSA
## EcPublicKeyVerify
## EcPublicKeyVerify {#EcPublicKeyVerify}
Test vectors of type EcPublicKeyVerify are intended for test that check the
verification of EC public key.
@@ -92,7 +92,7 @@ Type of the test vectors\:
--------------- | --------- | ------------ | ---------------
eckey_test.json | 19 | 14, 0, 5 | EcPublicKeyTest
## EcdhEcpointTest
## EcdhEcpointTest {#EcdhEcpointTest}
Test vectors of type EcdhWebTest are intended for testing an ECDH
implementations where the public key is just an ASN encoded point.
@@ -111,7 +111,7 @@ ecdh_secp256r1_ecpoint_test.json | 216 | 191, 1, 24 | ECDH
ecdh_secp384r1_ecpoint_test.json | 182 | 163, 1, 18 | ECDH
ecdh_secp521r1_ecpoint_test.json | 237 | 208, 1, 28 | ECDH
## EcdhTest
## EcdhTest {#EcdhTest}
Test vectors of type EcdhTest are intended for testing an ECDH implementations
using X509 encoded public keys and integers for private keys. Test vectors of
@@ -137,7 +137,7 @@ ecdh_secp384r1_test.json | 426 | 163, 219, 44 | ECDH
ecdh_secp521r1_test.json | 479 | 208, 217, 54 | ECDH
ecdh_test.json | 2989 | 2126, 120, 743 | ECDH
## EcdhWebcryptoTest
## EcdhWebcryptoTest {#EcdhWebcryptoTest}
Test vectors of type EcdhWebTest are intended for testing an ECDH
implementations using jwk encoded public and private keys.
@@ -154,7 +154,7 @@ Type of the test vectors\:
------------------------ | --------- | ------------ | -------------
ecdh_webcrypto_test.json | 833 | 743, 0, 90 | ECDH
## EcdsaP1363Verify
## EcdsaP1363Verify {#EcdsaP1363Verify}
Test vectors of type EcdsaVerify are meant for the verification of IEEE P1363
encoded ECDSA signatures.
@@ -194,7 +194,7 @@ 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
## EcdsaVerify
## EcdsaVerify {#EcdsaVerify}
Test vectors of type EcdsaVerify are meant for the verification of ASN encoded
ECDSA signatures.
@@ -242,7 +242,7 @@ ecdsa_secp521r1_sha3_512_test.json | 433 | 208, 0, 225 | ECDSA
ecdsa_secp521r1_sha512_test.json | 431 | 204, 0, 227 | ECDSA
ecdsa_test.json | 1525 | 989, 5, 531 | ECDSA
## EddsaVerify
## EddsaVerify {#EddsaVerify}
Test vectors of type EddsaVerify are intended for testing the verification of
Eddsa signatures.
@@ -258,7 +258,7 @@ Type of the test vectors\: [SignatureTestVector](types.md#SignatureTestVector)
ed448_test.json | 86 | 17, 0, 69 | EDDSA
eddsa_test.json | 111 | 50, 0, 61 | EDDSA
## HkdfTest
## HkdfTest {#HkdfTest}
Test vector of type HkdfTest are intended for the verification of HKDF.
@@ -277,7 +277,7 @@ hkdf_sha1_test.json | 61 | 61, 0, 0 | HKDF-SHA-1
hkdf_sha256_test.json | 60 | 60, 0, 0 | HKDF-SHA-256
hkdf_sha512_test.json | 57 | 57, 0, 0 | HKDF-SHA-512
## IndCpaTest
## IndCpaTest {#IndCpaTest}
Test vectors of type IndCpaTest are intended for test that verify encryption and
decryption of symmetric ciphers without authentication.
@@ -292,7 +292,7 @@ Type of the test vectors\: [IndCpaTestVector](types.md#IndCpaTestVector)
----------------------- | --------- | ------------ | -------------
aes_cbc_pkcs5_test.json | 183 | 72, 0, 111 | AES-CBC-PKCS5
## KeywrapTest
## KeywrapTest {#KeywrapTest}
Test vectors of type Keywrap are intended for tests checking the wrapping and
unwrapping of key material.
@@ -314,7 +314,7 @@ Type of the test vectors\: [KeywrapTestVector](types.md#KeywrapTestVector)
kw_test.json | 162 | 36, 0, 126 | KW
kwp_test.json | 224 | 20, 60, 144 | KWP
## MacTest
## MacTest {#MacTest}
Test vectors of type MacTest are intended for testing the generation and
verification of MACs.
@@ -334,7 +334,7 @@ Type of the test vectors\: [MacTestVector](types.md#MacTestVector)
------------------ | --------- | ------------ | -------------
aes_cmac_test.json | 290 | 42, 0, 248 | AES-CMAC
## RsaKeyTest
## RsaKeyTest {#RsaKeyTest}
Test vectors of type RsaKeyTest are intended for checking the decoding of RSA
public keys.
@@ -349,7 +349,7 @@ Type of the test vectors\: [RsaKeyTestVector](types.md#RsaKeyTestVector)
------------- | --------- | ------------ | ------------- | ----------------
rsa_test.json | 334 | 1, 333, 0 | RSA | 333
## RsaesOaepDecrypt
## RsaesOaepDecrypt {#RsaesOaepDecrypt}
Test vectors of type RsaOeapDecrypt are intended to check the decryption of RSA
encrypted ciphertexts.
@@ -386,7 +386,7 @@ rsa_oaep_4096_sha512_mgf1sha1_test.json | 29 | 13, 0, 16 | RSAES-OAE
rsa_oaep_4096_sha512_mgf1sha512_test.json | 34 | 17, 0, 17 | RSAES-OAEP
rsa_oaep_misc_test.json | 775 | 460, 315, 0 | RSAES-OAEP
## RsassaPkcs1Generate
## RsassaPkcs1Generate {#RsassaPkcs1Generate}
Test vectors of class RsassaPkcs1Generate are intended for checking the
generation of RSA PKCS #1 v 1.5 signatures.
@@ -405,7 +405,7 @@ Type of the test vectors\: [SignatureTestVector](types.md#SignatureTestVector)
-------------------------- | --------- | ------------ | -------------
rsa_sig_gen_misc_test.json | 158 | 80, 78, 0 | RSASSA-PKCS1-v1_5
## RsassaPkcs1Verify
## RsassaPkcs1Verify {#RsassaPkcs1Verify}
Test vectors of class RsassaPkcs1Verify are intended for checking the
verification of RSA PKCS #1 v 1.5 signatures.
@@ -424,17 +424,17 @@ Type of the test vectors\: [SignatureTestVector](types.md#SignatureTestVector)
**name** | **tests** | **validity** | **algorithm** {.sortable}
----------------------------------- | --------- | ------------ | -------------
rsa_signature_2048_sha224_test.json | 235 | 7, 1, 227 | RSASSA-PKCS1-v1_5
rsa_signature_2048_sha256_test.json | 235 | 7, 3, 225 | RSASSA-PKCS1-v1_5
rsa_signature_2048_sha512_test.json | 234 | 7, 2, 225 | RSASSA-PKCS1-v1_5
rsa_signature_3072_sha256_test.json | 234 | 7, 2, 225 | RSASSA-PKCS1-v1_5
rsa_signature_3072_sha384_test.json | 233 | 7, 1, 225 | RSASSA-PKCS1-v1_5
rsa_signature_3072_sha512_test.json | 234 | 7, 2, 225 | RSASSA-PKCS1-v1_5
rsa_signature_4096_sha384_test.json | 233 | 7, 1, 225 | RSASSA-PKCS1-v1_5
rsa_signature_4096_sha512_test.json | 233 | 7, 1, 225 | RSASSA-PKCS1-v1_5
rsa_signature_test.json | 372 | 77, 70, 225 | RSASSA-PKCS1-v1_5
rsa_signature_2048_sha224_test.json | 241 | 7, 1, 233 | RSASSA-PKCS1-v1_5
rsa_signature_2048_sha256_test.json | 240 | 7, 3, 230 | RSASSA-PKCS1-v1_5
rsa_signature_2048_sha512_test.json | 240 | 7, 2, 231 | RSASSA-PKCS1-v1_5
rsa_signature_3072_sha256_test.json | 239 | 7, 2, 230 | RSASSA-PKCS1-v1_5
rsa_signature_3072_sha384_test.json | 239 | 7, 1, 231 | RSASSA-PKCS1-v1_5
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
## RsassaPssVerify
## RsassaPssVerify {#RsassaPssVerify}
Test vectors of class RsassaPssVerify are intended for checking the verification
of RSASSA-PSS signatures.
@@ -451,17 +451,17 @@ Type of the test vectors\: [RsassaPssTestVector](types.md#RsassaPssTestVector)
**name** | **tests** | **validity** | **algorithm** {.sortable}
-------------------------------------------- | --------- | ------------ | -------------
rsa_pss_2048_sha1_mgf1_20_test.json | 47 | 0, 9, 38 | RSASSA-PSS
rsa_pss_2048_sha256_mgf1_0_test.json | 44 | 7, 0, 37 | RSASSA-PSS
rsa_pss_2048_sha256_mgf1_32_params_test.json | 47 | 9, 0, 38 | RSASSA-PSS
rsa_pss_2048_sha256_mgf1_32_test.json | 47 | 9, 0, 38 | RSASSA-PSS
rsa_pss_3072_sha256_mgf1_32_test.json | 47 | 9, 0, 38 | RSASSA-PSS
rsa_pss_4096_sha256_mgf1_32_test.json | 47 | 9, 0, 38 | RSASSA-PSS
rsa_pss_4096_sha512_mgf1_32_test.json | 46 | 9, 0, 37 | RSASSA-PSS
rsa_pss_2048_sha1_mgf1_20_test.json | 48 | 0, 9, 39 | RSASSA-PSS
rsa_pss_2048_sha256_mgf1_0_test.json | 45 | 7, 0, 38 | RSASSA-PSS
rsa_pss_2048_sha256_mgf1_32_params_test.json | 48 | 9, 0, 39 | RSASSA-PSS
rsa_pss_2048_sha256_mgf1_32_test.json | 48 | 9, 0, 39 | RSASSA-PSS
rsa_pss_3072_sha256_mgf1_32_test.json | 48 | 9, 0, 39 | RSASSA-PSS
rsa_pss_4096_sha256_mgf1_32_test.json | 48 | 9, 0, 39 | RSASSA-PSS
rsa_pss_4096_sha512_mgf1_32_test.json | 47 | 9, 0, 38 | RSASSA-PSS
rsa_pss_misc_params_test.json | 150 | 120, 30, 0 | RSASSA-PSS
rsa_pss_misc_test.json | 150 | 120, 30, 0 | RSASSA-PSS
## XdhAsnComp
## XdhAsnComp {#XdhAsnComp}
Test vectors of type XdhComp are intended for tests that verify the computation
of and Xdh key exchange.
@@ -476,10 +476,10 @@ Type of the test vectors\: [XdhAsnTestVector](types.md#XdhAsnTestVector)
**name** | **tests** | **validity** | **algorithm** {.sortable}
-------------------- | --------- | ------------ | -------------
x25519_asn_test.json | 175 | 61, 98, 16 | XDH
x448_asn_test.json | 150 | 59, 75, 16 | XDH
x25519_asn_test.json | 176 | 62, 98, 16 | XDH
x448_asn_test.json | 151 | 60, 75, 16 | XDH
## XdhComp
## XdhComp {#XdhComp}
Test vectors of type XdhComp are intended for tests that verify the computation
of and Xdh key exchange.
@@ -495,10 +495,10 @@ Type of the test vectors\: [XdhTestVector](types.md#XdhTestVector)
**name** | **tests** | **validity** | **algorithm** {.sortable}
---------------- | --------- | ------------ | -------------
x25519_test.json | 159 | 61, 98, 0 | XDH
x448_test.json | 134 | 59, 75, 0 | XDH
x25519_test.json | 160 | 62, 98, 0 | XDH
x448_test.json | 135 | 60, 75, 0 | XDH
## XdhJwkComp
## XdhJwkComp {#XdhJwkComp}
Test vectors of type XdhComp are intended for tests that verify the computation
of and Xdh key exchange.
+181 -323
View File
@@ -4,32 +4,21 @@
Version\: 0.7
[TOC]
## AeadTestGroup {#AeadTestGroup}
A test group for authenticated encryption with additional data.
Fields in AeadTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ---------------------- | --------------------------- | ---------- |
| ivSize | int | The IV size in bits. All IV | |
: : : sizes are multiple of 8 : :
: : : bits. : :
| keySize | int | the keySize in bits | |
| tagSize | int | The expected size of the | |
: : : tag in bits. This is the : :
: : : size that should be used to : :
: : : initialize instance of the : :
: : : cipher. The actual tag in : :
: : : the test vector may have a : :
: : : different size. Such a test : :
: : : vector is always invalid : :
: : : and an implementation is : :
: : : expected to reject such : :
: : : tags. All tag sizes are : :
: : : multiples of 8 bits. : :
| type | str | the type of the test | 'AeadTest' |
| tests | List of AeadTestVector | a list of test vectors | |
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------
ivSize | int | The IV size in bits. All IV sizes are multiple of 8 bits. |
keySize | int | the keySize in bits |
tagSize | int | The expected size of the tag in bits. This is the size that should be used to initialize instance of the cipher. The actual tag in the test vector may have a different size. Such a test vector is always invalid and an implementation is expected to reject such tags. All tag sizes are multiples of 8 bits. |
type | str | the type of the test | '[AeadTest](files.md#AeadTest)'
tests | List of [AeadTestVector](types.md#AeadTestVector) | a list of test vectors |
## AeadTestVector {#AeadTestVector}
@@ -89,11 +78,11 @@ Used in [DsaTestGroup](#DsaTestGroup), [EcdsaTestGroup](#EcdsaTestGroup).
Fields in DaeadTestGroup are\:
**name** | **type** | **desc** | **enum**
-------- | ----------------------- | ---------------------- | -----------
keySize | int | the keySize in bits |
type | str | the type of the test | 'DaeadTest'
tests | List of DaeadTestVector | a list of test vectors |
**name** | **type** | **desc** | **enum**
-------- | --------------------------------------------------- | ---------------------- | --------
keySize | int | the keySize in bits |
type | str | the type of the test | '[DaeadTest](files.md#DaeadTest)'
tests | List of [DaeadTestVector](types.md#DaeadTestVector) | a list of test vectors |
## DaeadTestVector {#DaeadTestVector}
@@ -159,36 +148,25 @@ The public key for DSA.
Fields in DsaTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ---------------------------------- | -------------- | ----------- |
| key | DsaPublicKey | unenocded DSA | |
: : : 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 DSA : :
| type | str | the type of | 'DsaVerify' |
: : : the test : :
| tests | List of AsnSignatureTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------------------------- | ------------------------------ | --------
key | DsaPublicKey | unenocded DSA 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 DSA |
type | str | the type of the test | '[DsaVerify](files.md#DsaVerify)'
tests | List of [AsnSignatureTestVector](types.md#AsnSignatureTestVector) | a list of test vectors |
## EcPointTestGroup {#EcPointTestGroup}
Fields in EcPointTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | --------------- | -------------- |
| curve | [EcCurve](formats.md#EcCurve) | the name of the | |
: : : elliptic curve : :
| encoding | str | the encoding | 'compressed', |
: : : used : 'uncompressed' :
| type | str | the type of the | 'EcPointTest' |
: : : test : :
| tests | List of EcPointTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------------- | ------------------------------ | --------
curve | [EcCurve](formats.md#EcCurve) | the name of the elliptic curve |
encoding | str | the encoding used | 'compressed', 'uncompressed'
type | str | the type of the test | '[EcPointTest](files.md#EcPointTest)'
tests | List of [EcPointTestVector](types.md#EcPointTestVector) | a list of test vectors |
## EcPointTestVector {#EcPointTestVector}
@@ -235,14 +213,11 @@ wy | [BigInt](formats.md#DataTypes) | the y-coordinate of the public
Fields in EcPublicKeyTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | --------------------- | ------------------- | ------------------- |
| encoding | str | the encoding of the | 'asn', 'pem', |
: : : encoded keys : 'webcrypto' :
| type | str | the type of the | 'EcPublicKeyVerify' |
: : : test : :
| tests | List of | a list of test | |
: : EcPublicKeyTestVector : vectors : :
**name** | **type** | **desc** | **enum**
-------- | --------------------------------------------------------------- | -------------------------------- | --------
encoding | str | the encoding of the encoded keys | 'asn', 'pem', 'webcrypto'
type | str | the type of the test | '[EcPublicKeyVerify](files.md#EcPublicKeyVerify)'
tests | List of [EcPublicKeyTestVector](types.md#EcPublicKeyTestVector) | a list of test vectors |
## EcPublicKeyTestVector {#EcPublicKeyTestVector}
@@ -313,18 +288,12 @@ An unamed EC group
Fields in EcdhEcpointTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | ------------- | ----------------- |
| curve | [EcCurve](formats.md#EcCurve) | the curve of | |
: : : the private : :
: : : key : :
| encoding | str | the encoding | 'ecpoint' |
: : : of the public : :
: : : key : :
| type | str | the type of | 'EcdhEcpointTest' |
: : : the test : :
| tests | List of EcdhEcpointTestVector | a list of | |
: : : test vectors : :
**name** | **type** | **desc** | **enum**
-------- | --------------------------------------------------------------- | ------------------------------ | --------
curve | [EcCurve](formats.md#EcCurve) | the curve of the private key |
encoding | str | the encoding of the public key | 'ecpoint'
type | str | the type of the test | '[EcdhEcpointTest](files.md#EcdhEcpointTest)'
tests | List of [EcdhEcpointTestVector](types.md#EcdhEcpointTestVector) | a list of test vectors |
## EcdhEcpointTestVector {#EcdhEcpointTestVector}
@@ -345,16 +314,12 @@ Used in [EcdhEcpointTestGroup](#EcdhEcpointTestGroup).
Fields in EcdhPemTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | ---------------- | ------------- |
| curve | [EcCurve](formats.md#EcCurve) | the curve of the | |
: : : private key : :
| encoding | str | the encoding of | 'pem' |
: : : the public key : :
| type | str | the type of the | 'EcdhPemTest' |
: : : test : :
| tests | List of EcdhPemTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------------- | ------------------------------ | --------
curve | [EcCurve](formats.md#EcCurve) | the curve of the private key |
encoding | str | the encoding of the public key | 'pem'
type | str | the type of the test | '[EcdhPemTest](files.md#EcdhPemTest)'
tests | List of [EcdhPemTestVector](types.md#EcdhPemTestVector) | a list of test vectors |
## EcdhPemTestVector {#EcdhPemTestVector}
@@ -372,15 +337,12 @@ Used in [EcdhPemTestGroup](#EcdhPemTestGroup).
Fields in EcdhTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | -------------------- | ---------- |
| curve | [EcCurve](formats.md#EcCurve) | the curve of the | |
: : : private key : :
| encoding | str | the encoding of the | 'asn' |
: : : public key : :
| type | str | the type of the test | 'EcdhTest' |
| tests | List of EcdhTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------- | ------------------------------ | --------
curve | [EcCurve](formats.md#EcCurve) | the curve of the private key |
encoding | str | the encoding of the public key | 'asn'
type | str | the type of the test | '[EcdhTest](files.md#EcdhTest)'
tests | List of [EcdhTestVector](types.md#EcdhTestVector) | a list of test vectors |
## EcdhTestVector {#EcdhTestVector}
@@ -415,20 +377,12 @@ Used in [EcdhTestGroup](#EcdhTestGroup).
Fields in EcdhWebcryptoTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | ----------- | ------------------- |
| curve | [EcCurve](formats.md#EcCurve) | the curve | |
: : : of the : :
: : : private key : :
| encoding | str | the | 'webcrypto' |
: : : encoding of : :
: : : the public : :
: : : key : :
| type | str | the type of | 'EcdhWebcryptoTest' |
: : : the test : :
| tests | List of | a list of | |
: : EcdhWebcryptoTestVector : test : :
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------------------------- | ------------------------------ | --------
curve | [EcCurve](formats.md#EcCurve) | the curve of the private key |
encoding | str | the encoding of the public key | 'webcrypto'
type | str | the type of the test | '[EcdhWebcryptoTest](files.md#EcdhWebcryptoTest)'
tests | List of [EcdhWebcryptoTestVector](types.md#EcdhWebcryptoTestVector) | a list of test vectors |
## EcdhWebcryptoTestVector {#EcdhWebcryptoTestVector}
@@ -452,15 +406,15 @@ functions such as SHA-1.
Fields in EcdsaP1363TestGroup are\:
**name** | **type** | **desc** | **enum**
-------- | ---------------------------------- | --------------------------------------------- | --------
jwk | Json | [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 |
sha | [MdName](formats.md#HashFunctions) | the hash function used for ECDSA |
type | str | the type of the test | 'EcdsaP1363Verify'
tests | List of SignatureTestVector | a list of test vectors |
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------------------- | --------------------------------------------- | --------
jwk | Json | [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 |
sha | [MdName](formats.md#HashFunctions) | the hash function used for ECDSA |
type | str | the type of the test | '[EcdsaP1363Verify](files.md#EcdsaP1363Verify)'
tests | List of [SignatureTestVector](types.md#SignatureTestVector) | a list of test vectors |
## EcdsaTestGroup {#EcdsaTestGroup}
@@ -471,35 +425,27 @@ exception that they may use short keys and weak hash functions such as SHA-1.
Fields in EcdsaTestGroup 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 : :
| type | str | the type of | 'EcdsaVerify' |
: : : the test : :
| tests | List of AsnSignatureTestVector | a list of | |
: : : test vectors : :
**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 |
type | str | the type of the test | '[EcdsaVerify](files.md#EcdsaVerify)'
tests | List of [AsnSignatureTestVector](types.md#AsnSignatureTestVector) | a list of test vectors |
## EddsaTestGroup {#EddsaTestGroup}
Fields in EddsaTestGroup are\:
**name** | **type** | **desc** | **since** | **ref** | **enum**
-------- | --------------------------- | ----------------------------------- | --------- | ------------------ | --------
jwk | Json | the private key in webcrypto format | 0.7 | RFC 8037 Section 2 |
key | Json | unencoded key pair | | |
keyDer | [Der](formats.md#DataTypes) | Asn encoded public key | | |
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key | | |
type | str | the type of the test | | | 'EddsaVerify'
tests | List of SignatureTestVector | a list of test vectors | | |
**name** | **type** | **desc** | **since** | **ref** | **enum**
-------- | ----------------------------------------------------------- | ----------------------------------- | --------- | ------------------ | --------
jwk | Json | the private key in webcrypto format | 0.7 | RFC 8037 Section 2 |
key | Json | unencoded key pair | | |
keyDer | [Der](formats.md#DataTypes) | Asn encoded public key | | |
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key | | |
type | str | the type of the test | | | '[EddsaVerify](files.md#EddsaVerify)'
tests | List of [SignatureTestVector](types.md#SignatureTestVector) | a list of test vectors | | |
## HkdfTestGroup {#HkdfTestGroup}
@@ -508,11 +454,11 @@ info, size) as input.
Fields in HkdfTestGroup are\:
**name** | **type** | **desc** | **enum**
-------- | ---------------------- | --------------------------- | ----------
keySize | int | the size of the ikm in bits |
type | str | the type of the test | 'HkdfTest'
tests | List of HkdfTestVector | a list of test vectors |
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------- | --------------------------- | --------
keySize | int | the size of the ikm in bits |
type | str | the type of the test | '[HkdfTest](files.md#HkdfTest)'
tests | List of [HkdfTestVector](types.md#HkdfTestVector) | a list of test vectors |
## HkdfTestVector {#HkdfTestVector}
@@ -539,15 +485,13 @@ Used in [HkdfTestGroup](#HkdfTestGroup).
Fields in IndCpaTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ---------------- | ------------------------------- | ------------ |
| ivSize | int | the IV size in bits | |
| keySize | int | the keySize in bits | |
| tagSize | int | the expected size of the tag in | |
: : : bits : :
| type | str | the type of the test | 'IndCpaTest' |
| tests | List of | a list of test vectors | |
: : IndCpaTestVector : : :
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------------- | ------------------------------------ | --------
ivSize | int | the IV size in bits |
keySize | int | the keySize in bits |
tagSize | int | the expected size of the tag in bits |
type | str | the type of the test | '[IndCpaTest](files.md#IndCpaTest)'
tests | List of [IndCpaTestVector](types.md#IndCpaTestVector) | a list of test vectors |
## IndCpaTestVector {#IndCpaTestVector}
@@ -571,11 +515,11 @@ Used in [IndCpaTestGroup](#IndCpaTestGroup).
Fields in KeywrapTestGroup are\:
**name** | **type** | **desc** | **enum**
-------- | ------------------------- | ---------------------- | -------------
keySize | int | the keySize in bits |
type | str | the type of the test | 'KeywrapTest'
tests | List of KeywrapTestVector | a list of test vectors |
**name** | **type** | **desc** | **enum**
-------- | ------------------------------------------------------- | ---------------------- | --------
keySize | int | the keySize in bits |
type | str | the type of the test | '[KeywrapTest](files.md#KeywrapTest)'
tests | List of [KeywrapTestVector](types.md#KeywrapTestVector) | a list of test vectors |
## KeywrapTestVector {#KeywrapTestVector}
@@ -599,13 +543,12 @@ Used in [KeywrapTestGroup](#KeywrapTestGroup).
Fields in MacTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | --------------------- | ---------------------------- | --------- |
| keySize | int | the keySize in bits | |
| tagSize | int | the expected size of the tag | |
: : : in bits : :
| type | str | the type of the test | 'MacTest' |
| tests | List of MacTestVector | a list of test vectors | |
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------- | ------------------------------------ | --------
keySize | int | the keySize in bits |
tagSize | int | the expected size of the tag in bits |
type | str | the type of the test | '[MacTest](files.md#MacTest)'
tests | List of [MacTestVector](types.md#MacTestVector) | a list of test vectors |
## MacTestVector {#MacTestVector}
@@ -625,18 +568,12 @@ Used in [MacTestGroup](#MacTestGroup).
Fields in RsaKeyTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ---------------- | ------------------------------- | ------------ |
| encoding | str | The encoding of the public key | 'asn', 'pem' |
: : : in the test vectors. asn : :
: : : implies PKCS8 encoded public : :
: : : keys. pem implies a PEM encoded : :
: : : public key (compatible with : :
: : : OpenSSL. : :
| private | Json | the private key | |
| type | str | the type of the test | 'RsaKeyTest' |
| tests | List of | a list of test vectors | |
: : RsaKeyTestVector : : :
**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 |
## RsaKeyTestVector {#RsaKeyTestVector}
@@ -652,18 +589,18 @@ Used in [RsaKeyTestGroup](#RsaKeyTestGroup).
Fields in RsaesOaepTestGroup are\:
**name** | **type** | **desc** | **enum**
--------------- | ---------------------------------- | ----------------------------------------------------------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent |
e | [BigInt](formats.md#DataTypes) | The public exponent |
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 |
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. |
type | str | the type of the test | 'RsaesOaepDecrypt'
tests | List of RsaesOaepTestVector | a list of test vectors |
**name** | **type** | **desc** | **enum**
--------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent |
e | [BigInt](formats.md#DataTypes) | The public exponent |
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 |
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. |
type | str | the type of the test | '[RsaesOaepDecrypt](files.md#RsaesOaepDecrypt)'
tests | List of [RsaesOaepTestVector](types.md#RsaesOaepTestVector) | a list of test vectors |
## RsaesOaepTestVector {#RsaesOaepTestVector}
@@ -681,59 +618,59 @@ Used in [RsaesOaepTestGroup](#RsaesOaepTestGroup).
Fields in RsassaPkcs1GenTestGroup are\:
**name** | **type** | **desc** | **ref** | **since** | **enum**
------------- | ---------------------------------- | -------------------------------------- | -------- | --------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent | | |
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 |
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 |
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'
tests | List of SignatureTestVector | a list of test vectors | | |
**name** | **type** | **desc** | **ref** | **since** | **enum**
------------- | ----------------------------------------------------------- | -------------------------------------- | -------- | --------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent | | |
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 |
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 |
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)'
tests | List of [SignatureTestVector](types.md#SignatureTestVector) | a list of test vectors | | |
## RsassaPkcs1TestGroup {#RsassaPkcs1TestGroup}
Fields in RsassaPkcs1TestGroup are\:
**name** | **type** | **desc** | **ref** | **since** | **enum**
-------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------- | --------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent | | |
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 |
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 | | |
sha | [MdName](formats.md#HashFunctions) | the hash function used for the message | | |
type | str | the type of the test | | | 'RsassaPkcs1Verify'
tests | List of SignatureTestVector | a list of test vectors | | |
**name** | **type** | **desc** | **ref** | **since** | **enum**
-------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------- | --------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent | | |
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 |
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 | | |
sha | [MdName](formats.md#HashFunctions) | the hash function used for the message | | |
type | str | the type of the test | | | '[RsassaPkcs1Verify](files.md#RsassaPkcs1Verify)'
tests | List of [SignatureTestVector](types.md#SignatureTestVector) | a list of test vectors | | |
## RsassaPssTestGroup {#RsassaPssTestGroup}
Fields in RsassaPssTestGroup are\:
**name** | **type** | **desc** | **enum**
-------- | ---------------------------------- | ----------------------------------------------------------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent |
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 |
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key |
keySize | int | the size of the modulus in bits |
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 |
sha | [MdName](formats.md#HashFunctions) | The hash function for hasing the message. |
type | str | the type of the test | 'RsassaPssVerify'
tests | List of RsassaPssTestVector | a list of test vectors |
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------------------- | ----------------------------------------------------------- | --------
d | [BigInt](formats.md#DataTypes) | The private exponent |
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 |
keyPem | [Pem](formats.md#DataTypes) | Pem encoded public key |
keySize | int | the size of the modulus in bits |
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 |
sha | [MdName](formats.md#HashFunctions) | The hash function for hasing the message. |
type | str | the type of the test | '[RsassaPssVerify](files.md#RsassaPssVerify)'
tests | List of [RsassaPssTestVector](types.md#RsassaPssTestVector) | a list of test vectors |
## RsassaPssTestVector {#RsassaPssTestVector}
@@ -865,23 +802,6 @@ the same file have the same type and test the same cryptographic primitive.
| testGroups | List | a list of test | |
: : : groups : :
## TestGroup {#TestGroup}
A test group contains a list of test vectors of the same type. The test group
describes parameters that are common for all the test vectors. Often some
parameters are given in multiple formats to simplify testing. For example,
asymmetric private key are typically given in a raw format, PKCS #8 encoded and
in PEM format. All fields in a test group are corretly formatted. Incorrectly
formatted inputs are always in the test vectors. The list below describes the
fields that are common to all test groups.
Fields in TestGroup are\:
**name** | **type** | **desc**
-------- | -------- | ----------------------
tests | List | a list of test vectors
type | str | the type of the test
## TestVector {#TestVector}
| **name** | **type** | **desc** | **enum** |
@@ -922,39 +842,15 @@ type | str | the type of the test
: : : uniquely identifies a : :
: : : test vector. : :
**name** | **type** | **desc**
-------- | -------- | --------
## XdhAsnTestGroup {#XdhAsnTestGroup}
Fields in XdhAsnTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | ------------------ | ------------ |
| curve | [EcCurve](formats.md#EcCurve) | The name of the | |
: : : curve. If test : :
: : : vectors encode the : :
: : : curve as part of : :
: : : the public and : :
: : : private key then : :
: : : this field : :
: : : describes the : :
: : : curve of the : :
: : : private key. Test : :
: : : vectors with such : :
: : : encoding can : :
: : : contain distinct : :
: : : curves. Such test : :
: : : vectors are of : :
: : : course invalid and : :
: : : an attempt to : :
: : : compute a shared : :
: : : secret is expected : :
: : : to fail. : :
| type | str | the type of the | 'XdhAsnComp' |
: : : test : :
| tests | List of XdhAsnTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------
curve | [EcCurve](formats.md#EcCurve) | The name of the curve. If test vectors encode the curve as part of the public and private key then this field describes the curve of the private key. Test vectors with such encoding can contain distinct curves. Such test vectors are of course invalid and an attempt to compute a shared secret is expected to fail. |
type | str | the type of the test | '[XdhAsnComp](files.md#XdhAsnComp)'
tests | List of [XdhAsnTestVector](types.md#XdhAsnTestVector) | a list of test vectors |
## XdhAsnTestVector {#XdhAsnTestVector}
@@ -975,32 +871,11 @@ Used in [XdhAsnTestGroup](#XdhAsnTestGroup).
Fields in XdhJwkTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | ------------------ | ------------ |
| curve | [EcCurve](formats.md#EcCurve) | The name of the | |
: : : curve. If test : :
: : : vectors encode the : :
: : : curve as part of : :
: : : the public and : :
: : : private key then : :
: : : this field : :
: : : describes the : :
: : : curve of the : :
: : : private key. Test : :
: : : vectors with such : :
: : : encoding can : :
: : : contain distinct : :
: : : curves. Such test : :
: : : vectors are of : :
: : : course invalid and : :
: : : an attempt to : :
: : : compute a shared : :
: : : secret is expected : :
: : : to fail. : :
| type | str | the type of the | 'XdhJwkComp' |
: : : test : :
| tests | List of XdhJwkTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------
curve | [EcCurve](formats.md#EcCurve) | The name of the curve. If test vectors encode the curve as part of the public and private key then this field describes the curve of the private key. Test vectors with such encoding can contain distinct curves. Such test vectors are of course invalid and an attempt to compute a shared secret is expected to fail. |
type | str | the type of the test | '[XdhJwkComp](files.md#XdhJwkComp)'
tests | List of [XdhJwkTestVector](types.md#XdhJwkTestVector) | a list of test vectors |
## XdhJwkTestVector {#XdhJwkTestVector}
@@ -1024,28 +899,11 @@ Used in [XdhJwkTestGroup](#XdhJwkTestGroup).
Fields in XdhTestGroup are\:
| **name** | **type** | **desc** | **enum** |
| -------- | ----------------------------- | --------------------- | --------- |
| curve | [EcCurve](formats.md#EcCurve) | The name of the | |
: : : curve. If test : :
: : : vectors encode the : :
: : : curve as part of the : :
: : : public and private : :
: : : key then this field : :
: : : describes the curve : :
: : : of the private key. : :
: : : Test vectors with : :
: : : such encoding can : :
: : : contain distinct : :
: : : curves. Such test : :
: : : vectors are of course : :
: : : invalid and an : :
: : : attempt to compute a : :
: : : shared secret is : :
: : : expected to fail. : :
| type | str | the type of the test | 'XdhComp' |
| tests | List of XdhTestVector | a list of test | |
: : : vectors : :
**name** | **type** | **desc** | **enum**
-------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------
curve | [EcCurve](formats.md#EcCurve) | The name of the curve. If test vectors encode the curve as part of the public and private key then this field describes the curve of the private key. Test vectors with such encoding can contain distinct curves. Such test vectors are of course invalid and an attempt to compute a shared secret is expected to fail. |
type | str | the type of the test | '[XdhComp](files.md#XdhComp)'
tests | List of [XdhTestVector](types.md#XdhTestVector) | a list of test vectors |
## XdhTestVector {#XdhTestVector}