# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.


import binascii
import inspect
import os
import textwrap

import pretend
import pytest

import cryptography
import cryptography.utils
import cryptography_vectors
from cryptography.exceptions import UnsupportedAlgorithm, _Reasons

from . import deprecated_module
from .utils import (
    check_backend_support,
    load_cryptrec_vectors,
    load_ed25519_vectors,
    load_fips_dsa_key_pair_vectors,
    load_fips_dsa_sig_vectors,
    load_fips_ecdsa_key_pair_vectors,
    load_fips_ecdsa_signing_vectors,
    load_hash_vectors,
    load_kasvs_dh_vectors,
    load_kasvs_ecdh_vectors,
    load_nist_ccm_vectors,
    load_nist_kbkdf_vectors,
    load_nist_vectors,
    load_pkcs1_vectors,
    load_rsa_nist_vectors,
    load_vectors_from_file,
    load_x963_vectors,
    raises_unsupported_algorithm,
)


def test_int_to_bytes_rejects_zero_length():
    with pytest.raises(ValueError):
        cryptography.utils.int_to_bytes(123, 0)
    with pytest.raises(ValueError):
        cryptography.utils.int_to_bytes(0, 0)


def test_check_backend_support_skip():
    supported = pretend.stub(
        kwargs={"only_if": lambda backend: False, "skip_message": "Nope"}
    )
    node = pretend.stub(iter_markers=lambda x: [supported])
    item = pretend.stub(node=node)
    with pytest.raises(pytest.skip.Exception) as exc_info:
        check_backend_support(True, item)
    assert exc_info.value.args[0] == "Nope (True)"


def test_check_backend_support_no_skip():
    supported = pretend.stub(
        kwargs={"only_if": lambda backend: True, "skip_message": "Nope"}
    )
    node = pretend.stub(iter_markers=lambda x: [supported])
    item = pretend.stub(node=node)
    assert check_backend_support(None, item) is None


def test_load_nist_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 11.1
    # Config info for aes_values
    # AESVS GFSbox test data for CBC
    # State : Encrypt and Decrypt
    # Key Length : 128
    # Generated on Fri Apr 22 15:11:33 2011

    [ENCRYPT]

    COUNT = 0
    KEY = 00000000000000000000000000000000
    IV = 00000000000000000000000000000000
    PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6
    CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e

    COUNT = 1
    KEY = 00000000000000000000000000000000
    IV = 00000000000000000000000000000000
    PLAINTEXT = 9798c4640bad75c7c3227db910174e72
    CIPHERTEXT = a9a1631bf4996954ebc093957b234589

    [DECRYPT]

    COUNT = 0
    KEY = 00000000000000000000000000000000
    IV = 00000000000000000000000000000000
    CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e
    PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6

    COUNT = 1
    KEY = 00000000000000000000000000000000
    IV = 00000000000000000000000000000000
    CIPHERTEXT = a9a1631bf4996954ebc093957b234589
    PLAINTEXT = 9798c4640bad75c7c3227db910174e72
    """
    ).splitlines()

    assert load_nist_vectors(vector_data) == [
        {
            "key": b"00000000000000000000000000000000",
            "iv": b"00000000000000000000000000000000",
            "plaintext": b"f34481ec3cc627bacd5dc3fb08f273e6",
            "ciphertext": b"0336763e966d92595a567cc9ce537f5e",
        },
        {
            "key": b"00000000000000000000000000000000",
            "iv": b"00000000000000000000000000000000",
            "plaintext": b"9798c4640bad75c7c3227db910174e72",
            "ciphertext": b"a9a1631bf4996954ebc093957b234589",
        },
        {
            "key": b"00000000000000000000000000000000",
            "iv": b"00000000000000000000000000000000",
            "plaintext": b"f34481ec3cc627bacd5dc3fb08f273e6",
            "ciphertext": b"0336763e966d92595a567cc9ce537f5e",
        },
        {
            "key": b"00000000000000000000000000000000",
            "iv": b"00000000000000000000000000000000",
            "plaintext": b"9798c4640bad75c7c3227db910174e72",
            "ciphertext": b"a9a1631bf4996954ebc093957b234589",
        },
    ]


def test_load_nist_vectors_with_null_chars():
    vector_data = textwrap.dedent(
        """
    COUNT = 0
    KEY = thing\\0withnulls

    COUNT = 1
    KEY = 00000000000000000000000000000000
    """
    ).splitlines()

    assert load_nist_vectors(vector_data) == [
        {"key": b"thing\x00withnulls"},
        {"key": b"00000000000000000000000000000000"},
    ]


def test_load_ed25519_vectors():
    vector_data = (
        "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60d75a9"
        "80182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a:d75a98018"
        "2b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a::e5564300c360"
        "ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc"
        "61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b:\n"
        "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb3d401"
        "7c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c:3d4017c3e"
        "843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c:72:92a009a9f0"
        "d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996"
        "e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c0072:\n"
        "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7fc51c"
        "d8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025:fc51cd8e6"
        "218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025:af82:6291d657"
        "deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f"
        "290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40aaf82:\n"
        "0d4a05b07352a5436e180356da0ae6efa0345ff7fb1572575772e8005ed978e9e61a1"
        "85bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057:e61a185bc"
        "ef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57057:cbc77b:d9868d"
        "52c2bebce5f3fa5a79891970f309cb6591e3e1702a70276fa97c24b3a8e58606c38c9"
        "758529da50ee31b8219cba45271c689afa60b0ea26c99db19b00ccbc77b:\n"
    ).splitlines()

    assert load_ed25519_vectors(vector_data) == [
        {
            "secret_key": (
                "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7"
                "f60"
            ),
            "public_key": (
                "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f7075"
                "11a"
            ),
            "message": "",
            "signature": (
                "e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e06522490"
                "1555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e"
                "7a100b"
            ),
        },
        {
            "secret_key": (
                "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a"
                "6fb"
            ),
            "public_key": (
                "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af46"
                "60c"
            ),
            "message": "72",
            "signature": (
                "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb6"
                "9da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612"
                "bb0c00"
            ),
        },
        {
            "secret_key": (
                "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b445"
                "8f7"
            ),
            "public_key": (
                "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908"
                "025"
            ),
            "message": "af82",
            "signature": (
                "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac"
                "3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea"
                "1ec40a"
            ),
        },
        {
            "secret_key": (
                "0d4a05b07352a5436e180356da0ae6efa0345ff7fb1572575772e8005ed97"
                "8e9"
            ),
            "public_key": (
                "e61a185bcef2613a6c7cb79763ce945d3b245d76114dd440bcf5f2dc1aa57"
                "057"
            ),
            "message": "cbc77b",
            "signature": (
                "d9868d52c2bebce5f3fa5a79891970f309cb6591e3e1702a70276fa97c24b"
                "3a8e58606c38c9758529da50ee31b8219cba45271c689afa60b0ea26c99db"
                "19b00c"
            ),
        },
    ]


def test_load_cryptrec_vectors():
    vector_data = textwrap.dedent(
        """
    # Vectors taken from https://info.isl.ntt.co.jp/crypt/eng/camellia/
    # Download is t_camelia.txt

    # Camellia with 128-bit key

    K No.001 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    P No.001 : 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    C No.001 : 07 92 3A 39 EB 0A 81 7D 1C 4D 87 BD B8 2D 1F 1C

    P No.002 : 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    C No.002 : 48 CD 64 19 80 96 72 D2 34 92 60 D8 9A 08 D3 D3

    K No.002 : 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    P No.001 : 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    C No.001 : 07 92 3A 39 EB 0A 81 7D 1C 4D 87 BD B8 2D 1F 1C
    """
    ).splitlines()

    assert load_cryptrec_vectors(vector_data) == [
        {
            "key": b"00000000000000000000000000000000",
            "plaintext": b"80000000000000000000000000000000",
            "ciphertext": b"07923A39EB0A817D1C4D87BDB82D1F1C",
        },
        {
            "key": b"00000000000000000000000000000000",
            "plaintext": b"40000000000000000000000000000000",
            "ciphertext": b"48CD6419809672D2349260D89A08D3D3",
        },
        {
            "key": b"10000000000000000000000000000000",
            "plaintext": b"80000000000000000000000000000000",
            "ciphertext": b"07923A39EB0A817D1C4D87BDB82D1F1C",
        },
    ]


def test_load_cryptrec_vectors_invalid():
    vector_data = textwrap.dedent(
        """
    # Vectors taken from https://info.isl.ntt.co.jp/crypt/eng/camellia/
    # Download is t_camelia.txt

    # Camellia with 128-bit key

    E No.001 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    """
    ).splitlines()

    with pytest.raises(ValueError):
        load_cryptrec_vectors(vector_data)


def test_load_hash_vectors():
    vector_data = textwrap.dedent(
        """

        # https://tools.ietf.org/html/rfc1321
        [irrelevant]

        Len = 0
        Msg = 00
        MD = d41d8cd98f00b204e9800998ecf8427e

        Len = 8
        Msg = 61
        MD = 0cc175b9c0f1b6a831c399e269772661

        Len = 24
        Msg = 616263
        MD = 900150983cd24fb0d6963f7d28e17f72

        Len = 112
        Msg = 6d65737361676520646967657374
        MD = f96b697d7cb7938d525a2f31aaf161d0
    """
    ).splitlines()
    assert load_hash_vectors(vector_data) == [
        (b"", "d41d8cd98f00b204e9800998ecf8427e"),
        (b"61", "0cc175b9c0f1b6a831c399e269772661"),
        (b"616263", "900150983cd24fb0d6963f7d28e17f72"),
        (b"6d65737361676520646967657374", "f96b697d7cb7938d525a2f31aaf161d0"),
    ]


def test_load_hmac_vectors():
    vector_data = textwrap.dedent(
        """
Len = 224
# "Jefe"
Key = 4a656665
# "what do ya want for nothing?"
Msg = 7768617420646f2079612077616e7420666f72206e6f7468696e673f
MD = 750c783e6ab0b503eaa86e310a5db738
    """
    ).splitlines()
    assert load_hash_vectors(vector_data) == [
        (
            b"7768617420646f2079612077616e7420666f72206e6f7468696e673f",
            "750c783e6ab0b503eaa86e310a5db738",
            b"4a656665",
        ),
    ]


def test_load_hash_vectors_bad_data():
    vector_data = textwrap.dedent(
        """
        # https://tools.ietf.org/html/rfc1321

        Len = 0
        Msg = 00
        UNKNOWN=Hello World
    """
    ).splitlines()
    with pytest.raises(ValueError):
        load_hash_vectors(vector_data)


def test_load_vectors_from_file():
    vectors = load_vectors_from_file(
        os.path.join("ciphers", "Blowfish", "bf-cfb.txt"),
        load_nist_vectors,
    )
    assert vectors == [
        {
            "key": b"0123456789ABCDEFF0E1D2C3B4A59687",
            "iv": b"FEDCBA9876543210",
            "plaintext": (
                b"37363534333231204E6F77206973207468652074696D6520666F722000"
            ),
            "ciphertext": (
                b"E73214A2822139CAF26ECF6D2EB9E76E3DA3DE04D1517200519D57A6C3"
            ),
        }
    ]


def test_load_nist_gcm_vectors():
    vector_data = textwrap.dedent(
        """
        [Keylen = 128]
        [IVlen = 96]
        [PTlen = 0]
        [AADlen = 0]
        [Taglen = 128]

        Count = 0
        Key = 11754cd72aec309bf52f7687212e8957
        IV = 3c819d9a9bed087615030b65
        PT =
        AAD =
        CT =
        Tag = 250327c674aaf477aef2675748cf6971

        Count = 1
        Key = 272f16edb81a7abbea887357a58c1917
        IV = 794ec588176c703d3d2a7a07
        PT =
        AAD =
        CT =
        Tag = b6e6f197168f5049aeda32dafbdaeb

        Count = 2
        Key = a49a5e26a2f8cb63d05546c2a62f5343
        IV = 907763b19b9b4ab6bd4f0281
        CT =
        AAD =
        Tag = a2be08210d8c470a8df6e8fbd79ec5cf
        FAIL

        Count = 3
        Key = 5c1155084cc0ede76b3bc22e9f7574ef
        IV = 9549e4ba69a61cad7856efc1
        PT = d1448fa852b84408e2dad8381f363de7
        AAD = e98e9d9c618e46fef32660976f854ee3
        CT = f78b60ca125218493bea1c50a2e12ef4
        Tag = d72da7f5c6cf0bca7242c71835809449

        [Keylen = 128]
        [IVlen = 96]
        [PTlen = 0]
        [AADlen = 0]
        [Taglen = 120]

        Count = 0
        Key = eac258e99c55e6ae8ef1da26640613d7
        IV = 4e8df20faaf2c8eebe922902
        CT =
        AAD =
        Tag = e39aeaebe86aa309a4d062d6274339
        PT =

        Count = 1
        Key = 3726cf02fcc6b8639a5497652c94350d
        IV = 55fef82cde693ce76efcc193
        CT =
        AAD =
        Tag = 3d68111a81ed22d2ef5bccac4fc27f
        FAIL

        Count = 2
        Key = f202299d5fd74f03b12d2119a6c4c038
        IV = eec51e7958c3f20a1bb71815
        CT =
        AAD =
        Tag = a81886b3fb26e51fca87b267e1e157
        FAIL

        Count = 3
        Key = fd52925f39546b4c55ffb6b20c59898c
        IV = f5cf3227444afd905a5f6dba
        CT =
        AAD =
        Tag = 1665b0f1a0b456e1664cfd3de08ccd
        PT =

        [Keylen = 128]
        [IVlen = 8]
        [PTlen = 104]
        [AADlen = 0]
        [Taglen = 128]

        Count = 0
        Key = 58fab7632bcf10d2bcee58520bf37414
        IV = 3c
        CT = 15c4db4cbb451211179d57017f
        AAD =
        Tag = eae841d4355feeb3f786bc86625f1e5b
        FAIL
    """
    ).splitlines()
    assert load_nist_vectors(vector_data) == [
        {
            "aad": b"",
            "pt": b"",
            "iv": b"3c819d9a9bed087615030b65",
            "tag": b"250327c674aaf477aef2675748cf6971",
            "key": b"11754cd72aec309bf52f7687212e8957",
            "ct": b"",
        },
        {
            "aad": b"",
            "pt": b"",
            "iv": b"794ec588176c703d3d2a7a07",
            "tag": b"b6e6f197168f5049aeda32dafbdaeb",
            "key": b"272f16edb81a7abbea887357a58c1917",
            "ct": b"",
        },
        {
            "aad": b"",
            "iv": b"907763b19b9b4ab6bd4f0281",
            "tag": b"a2be08210d8c470a8df6e8fbd79ec5cf",
            "key": b"a49a5e26a2f8cb63d05546c2a62f5343",
            "ct": b"",
            "fail": True,
        },
        {
            "aad": b"e98e9d9c618e46fef32660976f854ee3",
            "pt": b"d1448fa852b84408e2dad8381f363de7",
            "iv": b"9549e4ba69a61cad7856efc1",
            "tag": b"d72da7f5c6cf0bca7242c71835809449",
            "key": b"5c1155084cc0ede76b3bc22e9f7574ef",
            "ct": b"f78b60ca125218493bea1c50a2e12ef4",
        },
        {
            "aad": b"",
            "pt": b"",
            "iv": b"4e8df20faaf2c8eebe922902",
            "tag": b"e39aeaebe86aa309a4d062d6274339",
            "key": b"eac258e99c55e6ae8ef1da26640613d7",
            "ct": b"",
        },
        {
            "aad": b"",
            "iv": b"55fef82cde693ce76efcc193",
            "tag": b"3d68111a81ed22d2ef5bccac4fc27f",
            "key": b"3726cf02fcc6b8639a5497652c94350d",
            "ct": b"",
            "fail": True,
        },
        {
            "aad": b"",
            "iv": b"eec51e7958c3f20a1bb71815",
            "tag": b"a81886b3fb26e51fca87b267e1e157",
            "key": b"f202299d5fd74f03b12d2119a6c4c038",
            "ct": b"",
            "fail": True,
        },
        {
            "aad": b"",
            "pt": b"",
            "iv": b"f5cf3227444afd905a5f6dba",
            "tag": b"1665b0f1a0b456e1664cfd3de08ccd",
            "key": b"fd52925f39546b4c55ffb6b20c59898c",
            "ct": b"",
        },
        {
            "aad": b"",
            "iv": b"3c",
            "tag": b"eae841d4355feeb3f786bc86625f1e5b",
            "key": b"58fab7632bcf10d2bcee58520bf37414",
            "ct": b"15c4db4cbb451211179d57017f",
            "fail": True,
        },
    ]


def test_load_pkcs1_vectors():
    vector_data = textwrap.dedent(
        """
    Test vectors for RSA-PSS
    ========================

    This file contains an extract of the original pss-vect.txt

    Key lengths:

    Key  8: 1031 bits
    Key  9: 1536 bits
    ===========================================================================

    <snip>

    # Example 8: A 1031-bit RSA key pair
    # -----------------------------------


    # Public key
    # ----------

    # Modulus:
    49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d
    f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f
    bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba
    6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2
    d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1
    d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa
    dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad
    4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73
    3f

    # Exponent:
    01 00 01

    # Private key
    # -----------

    # Modulus:
    49 53 70 a1 fb 18 54 3c 16 d3 63 1e 31 63 25 5d
    f6 2b e6 ee e8 90 d5 f2 55 09 e4 f7 78 a8 ea 6f
    bb bc df 85 df f6 4e 0d 97 20 03 ab 36 81 fb ba
    6d d4 1f d5 41 82 9b 2e 58 2d e9 f2 a4 a4 e0 a2
    d0 90 0b ef 47 53 db 3c ee 0e e0 6c 7d fa e8 b1
    d5 3b 59 53 21 8f 9c ce ea 69 5b 08 66 8e de aa
    dc ed 94 63 b1 d7 90 d5 eb f2 7e 91 15 b4 6c ad
    4d 9a 2b 8e fa b0 56 1b 08 10 34 47 39 ad a0 73
    3f

    # Public exponent:
    01 00 01

    # Exponent:
    6c 66 ff e9 89 80 c3 8f cd ea b5 15 98 98 83 61
    65 f4 b4 b8 17 c4 f6 a8 d4 86 ee 4e a9 13 0f e9
    b9 09 2b d1 36 d1 84 f9 5f 50 4a 60 7e ac 56 58
    46 d2 fd d6 59 7a 89 67 c7 39 6e f9 5a 6e ee bb
    45 78 a6 43 96 6d ca 4d 8e e3 de 84 2d e6 32 79
    c6 18 15 9c 1a b5 4a 89 43 7b 6a 61 20 e4 93 0a
    fb 52 a4 ba 6c ed 8a 49 47 ac 64 b3 0a 34 97 cb
    e7 01 c2 d6 26 6d 51 72 19 ad 0e c6 d3 47 db e9

    # Prime 1:
    08 da d7 f1 13 63 fa a6 23 d5 d6 d5 e8 a3 19 32
    8d 82 19 0d 71 27 d2 84 6c 43 9b 0a b7 26 19 b0
    a4 3a 95 32 0e 4e c3 4f c3 a9 ce a8 76 42 23 05
    bd 76 c5 ba 7b e9 e2 f4 10 c8 06 06 45 a1 d2 9e
    db

    # Prime 2:
    08 47 e7 32 37 6f c7 90 0f 89 8e a8 2e b2 b0 fc
    41 85 65 fd ae 62 f7 d9 ec 4c e2 21 7b 97 99 0d
    d2 72 db 15 7f 99 f6 3c 0d cb b9 fb ac db d4 c4
    da db 6d f6 77 56 35 8c a4 17 48 25 b4 8f 49 70
    6d

    # Prime exponent 1:
    05 c2 a8 3c 12 4b 36 21 a2 aa 57 ea 2c 3e fe 03
    5e ff 45 60 f3 3d de bb 7a da b8 1f ce 69 a0 c8
    c2 ed c1 65 20 dd a8 3d 59 a2 3b e8 67 96 3a c6
    5f 2c c7 10 bb cf b9 6e e1 03 de b7 71 d1 05 fd
    85

    # Prime exponent 2:
    04 ca e8 aa 0d 9f aa 16 5c 87 b6 82 ec 14 0b 8e
    d3 b5 0b 24 59 4b 7a 3b 2c 22 0b 36 69 bb 81 9f
    98 4f 55 31 0a 1a e7 82 36 51 d4 a0 2e 99 44 79
    72 59 51 39 36 34 34 e5 e3 0a 7e 7d 24 15 51 e1
    b9

    # Coefficient:
    07 d3 e4 7b f6 86 60 0b 11 ac 28 3c e8 8d bb 3f
    60 51 e8 ef d0 46 80 e4 4c 17 1e f5 31 b8 0b 2b
    7c 39 fc 76 63 20 e2 cf 15 d8 d9 98 20 e9 6f f3
    0d c6 96 91 83 9c 4b 40 d7 b0 6e 45 30 7d c9 1f
    3f

    # RSA-PSS signing of 6 random messages with random salts
    # -------------------------------------------------------
    # PSS Example 8.1

    # -----------------

    # Message to be signed:
    81 33 2f 4b e6 29 48 41 5e a1 d8 99 79 2e ea cf
    6c 6e 1d b1 da 8b e1 3b 5c ea 41 db 2f ed 46 70
    92 e1 ff 39 89 14 c7 14 25 97 75 f5 95 f8 54 7f
    73 56 92 a5 75 e6 92 3a f7 8f 22 c6 99 7d db 90
    fb 6f 72 d7 bb 0d d5 74 4a 31 de cd 3d c3 68 58
    49 83 6e d3 4a ec 59 63 04 ad 11 84 3c 4f 88 48
    9f 20 97 35 f5 fb 7f da f7 ce c8 ad dc 58 18 16
    8f 88 0a cb f4 90 d5 10 05 b7 a8 e8 4e 43 e5 42
    87 97 75 71 dd 99 ee a4 b1 61 eb 2d f1 f5 10 8f
    12 a4 14 2a 83 32 2e db 05 a7 54 87 a3 43 5c 9a
    78 ce 53 ed 93 bc 55 08 57 d7 a9 fb

    # Salt:
    1d 65 49 1d 79 c8 64 b3 73 00 9b e6 f6 f2 46 7b
    ac 4c 78 fa

    # Signature:
    02 62 ac 25 4b fa 77 f3 c1 ac a2 2c 51 79 f8 f0
    40 42 2b 3c 5b af d4 0a 8f 21 cf 0f a5 a6 67 cc
    d5 99 3d 42 db af b4 09 c5 20 e2 5f ce 2b 1e e1
    e7 16 57 7f 1e fa 17 f3 da 28 05 2f 40 f0 41 9b
    23 10 6d 78 45 aa f0 11 25 b6 98 e7 a4 df e9 2d
    39 67 bb 00 c4 d0 d3 5b a3 55 2a b9 a8 b3 ee f0
    7c 7f ec db c5 42 4a c4 db 1e 20 cb 37 d0 b2 74
    47 69 94 0e a9 07 e1 7f bb ca 67 3b 20 52 23 80
    c5

    # PSS Example 8.2

    # -----------------

    # Message to be signed:
    e2 f9 6e af 0e 05 e7 ba 32 6e cc a0 ba 7f d2 f7
    c0 23 56 f3 ce de 9d 0f aa bf 4f cc 8e 60 a9 73
    e5 59 5f d9 ea 08

    # Salt:
    43 5c 09 8a a9 90 9e b2 37 7f 12 48 b0 91 b6 89
    87 ff 18 38

    # Signature:
    27 07 b9 ad 51 15 c5 8c 94 e9 32 e8 ec 0a 28 0f
    56 33 9e 44 a1 b5 8d 4d dc ff 2f 31 2e 5f 34 dc
    fe 39 e8 9c 6a 94 dc ee 86 db bd ae 5b 79 ba 4e
    08 19 a9 e7 bf d9 d9 82 e7 ee 6c 86 ee 68 39 6e
    8b 3a 14 c9 c8 f3 4b 17 8e b7 41 f9 d3 f1 21 10
    9b f5 c8 17 2f ad a2 e7 68 f9 ea 14 33 03 2c 00
    4a 8a a0 7e b9 90 00 0a 48 dc 94 c8 ba c8 aa be
    2b 09 b1 aa 46 c0 a2 aa 0e 12 f6 3f bb a7 75 ba
    7e

    # <snip>

    # =============================================

    # Example 9: A 1536-bit RSA key pair
    # -----------------------------------


    # Public key
    # ----------

    # Modulus:
    e6 bd 69 2a c9 66 45 79 04 03 fd d0 f5 be b8 b9
    bf 92 ed 10 00 7f c3 65 04 64 19 dd 06 c0 5c 5b
    5b 2f 48 ec f9 89 e4 ce 26 91 09 97 9c bb 40 b4
    a0 ad 24 d2 24 83 d1 ee 31 5a d4 cc b1 53 42 68
    35 26 91 c5 24 f6 dd 8e 6c 29 d2 24 cf 24 69 73
    ae c8 6c 5b f6 b1 40 1a 85 0d 1b 9a d1 bb 8c bc
    ec 47 b0 6f 0f 8c 7f 45 d3 fc 8f 31 92 99 c5 43
    3d db c2 b3 05 3b 47 de d2 ec d4 a4 ca ef d6 14
    83 3d c8 bb 62 2f 31 7e d0 76 b8 05 7f e8 de 3f
    84 48 0a d5 e8 3e 4a 61 90 4a 4f 24 8f b3 97 02
    73 57 e1 d3 0e 46 31 39 81 5c 6f d4 fd 5a c5 b8
    17 2a 45 23 0e cb 63 18 a0 4f 14 55 d8 4e 5a 8b

    # Exponent:
    01 00 01

    # Private key
    # -----------

    # Modulus:
    e6 bd 69 2a c9 66 45 79 04 03 fd d0 f5 be b8 b9
    bf 92 ed 10 00 7f c3 65 04 64 19 dd 06 c0 5c 5b
    5b 2f 48 ec f9 89 e4 ce 26 91 09 97 9c bb 40 b4
    a0 ad 24 d2 24 83 d1 ee 31 5a d4 cc b1 53 42 68
    35 26 91 c5 24 f6 dd 8e 6c 29 d2 24 cf 24 69 73
    ae c8 6c 5b f6 b1 40 1a 85 0d 1b 9a d1 bb 8c bc
    ec 47 b0 6f 0f 8c 7f 45 d3 fc 8f 31 92 99 c5 43
    3d db c2 b3 05 3b 47 de d2 ec d4 a4 ca ef d6 14
    83 3d c8 bb 62 2f 31 7e d0 76 b8 05 7f e8 de 3f
    84 48 0a d5 e8 3e 4a 61 90 4a 4f 24 8f b3 97 02
    73 57 e1 d3 0e 46 31 39 81 5c 6f d4 fd 5a c5 b8
    17 2a 45 23 0e cb 63 18 a0 4f 14 55 d8 4e 5a 8b

    # Public exponent:
    01 00 01

    # Exponent:
    6a 7f d8 4f b8 5f ad 07 3b 34 40 6d b7 4f 8d 61
    a6 ab c1 21 96 a9 61 dd 79 56 5e 9d a6 e5 18 7b
    ce 2d 98 02 50 f7 35 95 75 35 92 70 d9 15 90 bb
    0e 42 7c 71 46 0b 55 d5 14 10 b1 91 bc f3 09 fe
    a1 31 a9 2c 8e 70 27 38 fa 71 9f 1e 00 41 f5 2e
    40 e9 1f 22 9f 4d 96 a1 e6 f1 72 e1 55 96 b4 51
    0a 6d ae c2 61 05 f2 be bc 53 31 6b 87 bd f2 13
    11 66 60 70 e8 df ee 69 d5 2c 71 a9 76 ca ae 79
    c7 2b 68 d2 85 80 dc 68 6d 9f 51 29 d2 25 f8 2b
    3d 61 55 13 a8 82 b3 db 91 41 6b 48 ce 08 88 82
    13 e3 7e eb 9a f8 00 d8 1c ab 32 8c e4 20 68 99
    03 c0 0c 7b 5f d3 1b 75 50 3a 6d 41 96 84 d6 29

    # Prime 1:
    f8 eb 97 e9 8d f1 26 64 ee fd b7 61 59 6a 69 dd
    cd 0e 76 da ec e6 ed 4b f5 a1 b5 0a c0 86 f7 92
    8a 4d 2f 87 26 a7 7e 51 5b 74 da 41 98 8f 22 0b
    1c c8 7a a1 fc 81 0c e9 9a 82 f2 d1 ce 82 1e dc
    ed 79 4c 69 41 f4 2c 7a 1a 0b 8c 4d 28 c7 5e c6
    0b 65 22 79 f6 15 4a 76 2a ed 16 5d 47 de e3 67

    # Prime 2:
    ed 4d 71 d0 a6 e2 4b 93 c2 e5 f6 b4 bb e0 5f 5f
    b0 af a0 42 d2 04 fe 33 78 d3 65 c2 f2 88 b6 a8
    da d7 ef e4 5d 15 3e ef 40 ca cc 7b 81 ff 93 40
    02 d1 08 99 4b 94 a5 e4 72 8c d9 c9 63 37 5a e4
    99 65 bd a5 5c bf 0e fe d8 d6 55 3b 40 27 f2 d8
    62 08 a6 e6 b4 89 c1 76 12 80 92 d6 29 e4 9d 3d

    # Prime exponent 1:
    2b b6 8b dd fb 0c 4f 56 c8 55 8b ff af 89 2d 80
    43 03 78 41 e7 fa 81 cf a6 1a 38 c5 e3 9b 90 1c
    8e e7 11 22 a5 da 22 27 bd 6c de eb 48 14 52 c1
    2a d3 d6 1d 5e 4f 77 6a 0a b5 56 59 1b ef e3 e5
    9e 5a 7f dd b8 34 5e 1f 2f 35 b9 f4 ce e5 7c 32
    41 4c 08 6a ec 99 3e 93 53 e4 80 d9 ee c6 28 9f

    # Prime exponent 2:
    4f f8 97 70 9f ad 07 97 46 49 45 78 e7 0f d8 54
    61 30 ee ab 56 27 c4 9b 08 0f 05 ee 4a d9 f3 e4
    b7 cb a9 d6 a5 df f1 13 a4 1c 34 09 33 68 33 f1
    90 81 6d 8a 6b c4 2e 9b ec 56 b7 56 7d 0f 3c 9c
    69 6d b6 19 b2 45 d9 01 dd 85 6d b7 c8 09 2e 77
    e9 a1 cc cd 56 ee 4d ba 42 c5 fd b6 1a ec 26 69

    # Coefficient:
    77 b9 d1 13 7b 50 40 4a 98 27 29 31 6e fa fc 7d
    fe 66 d3 4e 5a 18 26 00 d5 f3 0a 0a 85 12 05 1c
    56 0d 08 1d 4d 0a 18 35 ec 3d 25 a6 0f 4e 4d 6a
    a9 48 b2 bf 3d bb 5b 12 4c bb c3 48 92 55 a3 a9
    48 37 2f 69 78 49 67 45 f9 43 e1 db 4f 18 38 2c
    ea a5 05 df c6 57 57 bb 3f 85 7a 58 dc e5 21 56

    # PKCS#1 v1.5 Signature Example 2.17

    # -----------------

    # Message to be signed:
    06 ad d7 5a b6 89 de 06 77 44 e6 9a 2e bd 4b 90
    fa 93 83 00 3c d0 5f f5 36 cb f2 94 cd 21 5f 09
    23 b7 fc 90 04 f0 aa 18 52 71 a1 d0 06 1f d0 e9
    77 7a d1 ec 0c 71 59 1f 57 8b f7 b8 e5 a1

    # Signature:
    45 14 21 0e 54 1d 5b ad 7d d6 0a e5 49 b9 43 ac
    c4 4f 21 39 0d f5 b6 13 18 45 5a 17 61 0d f5 b7
    4d 84 ae d2 32 f1 7e 59 d9 1d d2 65 99 22 f8 12
    db d4 96 81 69 03 84 b9 54 e9 ad fb 9b 1a 96 8c
    0c bf f7 63 ec ee d6 27 50 c5 91 64 b5 e0 80 a8
    fe f3 d5 5b fe 2a cf ad 27 52 a6 a8 45 9f a1 fa
    b4 9a d3 78 c6 96 4b 23 ee 97 fd 10 34 61 0c 5c
    c1 4c 61 e0 eb fb 17 11 f8 ad e9 6f e6 55 7b 38

    # <snip>

    # =============================================

    # <snip>
    """
    ).splitlines()

    vectors = tuple(load_pkcs1_vectors(vector_data))
    expected = (
        (
            {
                "modulus": int(
                    "495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f77"
                    "8a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e58"
                    "2de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218"
                    "f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a"
                    "2b8efab0561b0810344739ada0733f",
                    16,
                ),
                "public_exponent": int("10001", 16),
                "private_exponent": int(
                    "6c66ffe98980c38fcdeab5159898836165f4b4b817c4f6a8d486ee4ea"
                    "9130fe9b9092bd136d184f95f504a607eac565846d2fdd6597a8967c7"
                    "396ef95a6eeebb4578a643966dca4d8ee3de842de63279c618159c1ab"
                    "54a89437b6a6120e4930afb52a4ba6ced8a4947ac64b30a3497cbe701"
                    "c2d6266d517219ad0ec6d347dbe9",
                    16,
                ),
                "p": int(
                    "8dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab7"
                    "2619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c"
                    "8060645a1d29edb",
                    16,
                ),
                "q": int(
                    "847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b"
                    "97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca41"
                    "74825b48f49706d",
                    16,
                ),
                "dmp1": int(
                    "05c2a83c124b3621a2aa57ea2c3efe035eff4560f33ddebb7adab81fc"
                    "e69a0c8c2edc16520dda83d59a23be867963ac65f2cc710bbcfb96ee1"
                    "03deb771d105fd85",
                    16,
                ),
                "dmq1": int(
                    "04cae8aa0d9faa165c87b682ec140b8ed3b50b24594b7a3b2c220b366"
                    "9bb819f984f55310a1ae7823651d4a02e99447972595139363434e5e3"
                    "0a7e7d241551e1b9",
                    16,
                ),
                "iqmp": int(
                    "07d3e47bf686600b11ac283ce88dbb3f6051e8efd04680e44c171ef53"
                    "1b80b2b7c39fc766320e2cf15d8d99820e96ff30dc69691839c4b40d7"
                    "b06e45307dc91f3f",
                    16,
                ),
                "examples": [
                    {
                        "message": b"81332f4be62948415ea1d899792eeacf6c6e1db1d"
                        b"a8be13b5cea41db2fed467092e1ff398914c71425"
                        b"9775f595f8547f735692a575e6923af78f22c6997"
                        b"ddb90fb6f72d7bb0dd5744a31decd3dc368584983"
                        b"6ed34aec596304ad11843c4f88489f209735f5fb7"
                        b"fdaf7cec8addc5818168f880acbf490d51005b7a8"
                        b"e84e43e54287977571dd99eea4b161eb2df1f5108"
                        b"f12a4142a83322edb05a75487a3435c9a78ce53ed"
                        b"93bc550857d7a9fb",
                        "salt": b"1d65491d79c864b373009be6f6f2467bac4c78fa",
                        "signature": b"0262ac254bfa77f3c1aca22c5179f8f040422b3"
                        b"c5bafd40a8f21cf0fa5a667ccd5993d42dbafb4"
                        b"09c520e25fce2b1ee1e716577f1efa17f3da280"
                        b"52f40f0419b23106d7845aaf01125b698e7a4df"
                        b"e92d3967bb00c4d0d35ba3552ab9a8b3eef07c7"
                        b"fecdbc5424ac4db1e20cb37d0b2744769940ea9"
                        b"07e17fbbca673b20522380c5",
                    },
                    {
                        "message": b"e2f96eaf0e05e7ba326ecca0ba7fd2f7c02356f3c"
                        b"ede9d0faabf4fcc8e60a973e5595fd9ea08",
                        "salt": b"435c098aa9909eb2377f1248b091b68987ff1838",
                        "signature": b"2707b9ad5115c58c94e932e8ec0a280f56339e4"
                        b"4a1b58d4ddcff2f312e5f34dcfe39e89c6a94dc"
                        b"ee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6"
                        b"c86ee68396e8b3a14c9c8f34b178eb741f9d3f1"
                        b"21109bf5c8172fada2e768f9ea1433032c004a8"
                        b"aa07eb990000a48dc94c8bac8aabe2b09b1aa46"
                        b"c0a2aa0e12f63fbba775ba7e",
                    },
                ],
            },
            {
                "modulus": int(
                    "495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f77"
                    "8a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e58"
                    "2de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218"
                    "f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a"
                    "2b8efab0561b0810344739ada0733f",
                    16,
                ),
                "public_exponent": int("10001", 16),
            },
        ),
        (
            {
                "modulus": int(
                    "e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd0"
                    "6c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee31"
                    "5ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b"
                    "1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddb"
                    "c2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8d"
                    "e3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6f"
                    "d4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b",
                    16,
                ),
                "public_exponent": int("10001", 16),
                "private_exponent": int(
                    "6a7fd84fb85fad073b34406db74f8d61a6abc12196a961dd79565e9da"
                    "6e5187bce2d980250f7359575359270d91590bb0e427c71460b55d514"
                    "10b191bcf309fea131a92c8e702738fa719f1e0041f52e40e91f229f4"
                    "d96a1e6f172e15596b4510a6daec26105f2bebc53316b87bdf2131166"
                    "6070e8dfee69d52c71a976caae79c72b68d28580dc686d9f5129d225f"
                    "82b3d615513a882b3db91416b48ce08888213e37eeb9af800d81cab32"
                    "8ce420689903c00c7b5fd31b75503a6d419684d629",
                    16,
                ),
                "p": int(
                    "f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac"
                    "086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a"
                    "82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f61"
                    "54a762aed165d47dee367",
                    16,
                ),
                "q": int(
                    "ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f"
                    "288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e472"
                    "8cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b48"
                    "9c176128092d629e49d3d",
                    16,
                ),
                "dmp1": int(
                    "2bb68bddfb0c4f56c8558bffaf892d8043037841e7fa81cfa61a38c5e"
                    "39b901c8ee71122a5da2227bd6cdeeb481452c12ad3d61d5e4f776a0a"
                    "b556591befe3e59e5a7fddb8345e1f2f35b9f4cee57c32414c086aec9"
                    "93e9353e480d9eec6289f",
                    16,
                ),
                "dmq1": int(
                    "4ff897709fad079746494578e70fd8546130eeab5627c49b080f05ee4"
                    "ad9f3e4b7cba9d6a5dff113a41c3409336833f190816d8a6bc42e9bec"
                    "56b7567d0f3c9c696db619b245d901dd856db7c8092e77e9a1cccd56e"
                    "e4dba42c5fdb61aec2669",
                    16,
                ),
                "iqmp": int(
                    "77b9d1137b50404a982729316efafc7dfe66d34e5a182600d5f30a0a8"
                    "512051c560d081d4d0a1835ec3d25a60f4e4d6aa948b2bf3dbb5b124c"
                    "bbc3489255a3a948372f6978496745f943e1db4f18382ceaa505dfc65"
                    "757bb3f857a58dce52156",
                    16,
                ),
                "examples": [
                    {
                        "message": b"06add75ab689de067744e69a2ebd4b90fa9383003"
                        b"cd05ff536cbf294cd215f0923b7fc9004f0aa1852"
                        b"71a1d0061fd0e9777ad1ec0c71591f578bf7b8e5a"
                        b"1",
                        "signature": b"4514210e541d5bad7dd60ae549b943acc44f213"
                        b"90df5b61318455a17610df5b74d84aed232f17e"
                        b"59d91dd2659922f812dbd49681690384b954e9a"
                        b"dfb9b1a968c0cbff763eceed62750c59164b5e0"
                        b"80a8fef3d55bfe2acfad2752a6a8459fa1fab49"
                        b"ad378c6964b23ee97fd1034610c5cc14c61e0eb"
                        b"fb1711f8ade96fe6557b38",
                    }
                ],
            },
            {
                "modulus": int(
                    "e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd0"
                    "6c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee31"
                    "5ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b"
                    "1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddb"
                    "c2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8d"
                    "e3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6f"
                    "d4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b",
                    16,
                ),
                "public_exponent": int("10001", 16),
            },
        ),
    )
    assert vectors == expected


def test_load_pkcs1_oaep_vectors():
    vector_data = textwrap.dedent(
        """
    Test vectors for RSA-OAEP
    =========================

    This file contains test vectors for the RSA-OAEP encryption

    Key lengths:

    Key  1: 1024 bits
    # <snip>
    ===========================================================================
    # Example 1: A 1024-bit RSA key pair
    # -----------------------------------


    # Public key
    # ----------

    # Modulus:
    a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4
    91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab
    c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85
    12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72
    f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97
    c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14
    8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24
    76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb

    # Exponent:
    01 00 01

    # Private key
    # -----------

    # Modulus:
    a8 b3 b2 84 af 8e b5 0b 38 70 34 a8 60 f1 46 c4
    91 9f 31 87 63 cd 6c 55 98 c8 ae 48 11 a1 e0 ab
    c4 c7 e0 b0 82 d6 93 a5 e7 fc ed 67 5c f4 66 85
    12 77 2c 0c bc 64 a7 42 c6 c6 30 f5 33 c8 cc 72
    f6 2a e8 33 c4 0b f2 58 42 e9 84 bb 78 bd bf 97
    c0 10 7d 55 bd b6 62 f5 c4 e0 fa b9 84 5c b5 14
    8e f7 39 2d d3 aa ff 93 ae 1e 6b 66 7b b3 d4 24
    76 16 d4 f5 ba 10 d4 cf d2 26 de 88 d3 9f 16 fb

    # Public exponent:
    01 00 01

    # Exponent:
    53 33 9c fd b7 9f c8 46 6a 65 5c 73 16 ac a8 5c
    55 fd 8f 6d d8 98 fd af 11 95 17 ef 4f 52 e8 fd
    8e 25 8d f9 3f ee 18 0f a0 e4 ab 29 69 3c d8 3b
    15 2a 55 3d 4a c4 d1 81 2b 8b 9f a5 af 0e 7f 55
    fe 73 04 df 41 57 09 26 f3 31 1f 15 c4 d6 5a 73
    2c 48 31 16 ee 3d 3d 2d 0a f3 54 9a d9 bf 7c bf
    b7 8a d8 84 f8 4d 5b eb 04 72 4d c7 36 9b 31 de
    f3 7d 0c f5 39 e9 cf cd d3 de 65 37 29 ea d5 d1

    # Prime 1:
    d3 27 37 e7 26 7f fe 13 41 b2 d5 c0 d1 50 a8 1b
    58 6f b3 13 2b ed 2f 8d 52 62 86 4a 9c b9 f3 0a
    f3 8b e4 48 59 8d 41 3a 17 2e fb 80 2c 21 ac f1
    c1 1c 52 0c 2f 26 a4 71 dc ad 21 2e ac 7c a3 9d

    # Prime 2:
    cc 88 53 d1 d5 4d a6 30 fa c0 04 f4 71 f2 81 c7
    b8 98 2d 82 24 a4 90 ed be b3 3d 3e 3d 5c c9 3c
    47 65 70 3d 1d d7 91 64 2f 1f 11 6a 0d d8 52 be
    24 19 b2 af 72 bf e9 a0 30 e8 60 b0 28 8b 5d 77

    # Prime exponent 1:
    0e 12 bf 17 18 e9 ce f5 59 9b a1 c3 88 2f e8 04
    6a 90 87 4e ef ce 8f 2c cc 20 e4 f2 74 1f b0 a3
    3a 38 48 ae c9 c9 30 5f be cb d2 d7 68 19 96 7d
    46 71 ac c6 43 1e 40 37 96 8d b3 78 78 e6 95 c1

    # Prime exponent 2:
    95 29 7b 0f 95 a2 fa 67 d0 07 07 d6 09 df d4 fc
    05 c8 9d af c2 ef 6d 6e a5 5b ec 77 1e a3 33 73
    4d 92 51 e7 90 82 ec da 86 6e fe f1 3c 45 9e 1a
    63 13 86 b7 e3 54 c8 99 f5 f1 12 ca 85 d7 15 83

    # Coefficient:
    4f 45 6c 50 24 93 bd c0 ed 2a b7 56 a3 a6 ed 4d
    67 35 2a 69 7d 42 16 e9 32 12 b1 27 a6 3d 54 11
    ce 6f a9 8d 5d be fd 73 26 3e 37 28 14 27 43 81
    81 66 ed 7d d6 36 87 dd 2a 8c a1 d2 f4 fb d8 e1

    # RSA-OAEP encryption of 6 random messages with random seeds
    # -----------------------------------------------------------

    # OAEP Example 1.1
    # ------------------

    # Message:
    66 28 19 4e 12 07 3d b0 3b a9 4c da 9e f9 53 23
    97 d5 0d ba 79 b9 87 00 4a fe fe 34

    # Seed:
    18 b7 76 ea 21 06 9d 69 77 6a 33 e9 6b ad 48 e1
    dd a0 a5 ef

    # Encryption:
    35 4f e6 7b 4a 12 6d 5d 35 fe 36 c7 77 79 1a 3f
    7b a1 3d ef 48 4e 2d 39 08 af f7 22 fa d4 68 fb
    21 69 6d e9 5d 0b e9 11 c2 d3 17 4f 8a fc c2 01
    03 5f 7b 6d 8e 69 40 2d e5 45 16 18 c2 1a 53 5f
    a9 d7 bf c5 b8 dd 9f c2 43 f8 cf 92 7d b3 13 22
    d6 e8 81 ea a9 1a 99 61 70 e6 57 a0 5a 26 64 26
    d9 8c 88 00 3f 84 77 c1 22 70 94 a0 d9 fa 1e 8c
    40 24 30 9c e1 ec cc b5 21 00 35 d4 7a c7 2e 8a

    # OAEP Example 1.2
    # ------------------

    # Message:
    75 0c 40 47 f5 47 e8 e4 14 11 85 65 23 29 8a c9
    ba e2 45 ef af 13 97 fb e5 6f 9d d5

    # Seed:
    0c c7 42 ce 4a 9b 7f 32 f9 51 bc b2 51 ef d9 25
    fe 4f e3 5f

    # Encryption:
    64 0d b1 ac c5 8e 05 68 fe 54 07 e5 f9 b7 01 df
    f8 c3 c9 1e 71 6c 53 6f c7 fc ec 6c b5 b7 1c 11
    65 98 8d 4a 27 9e 15 77 d7 30 fc 7a 29 93 2e 3f
    00 c8 15 15 23 6d 8d 8e 31 01 7a 7a 09 df 43 52
    d9 04 cd eb 79 aa 58 3a dc c3 1e a6 98 a4 c0 52
    83 da ba 90 89 be 54 91 f6 7c 1a 4e e4 8d c7 4b
    bb e6 64 3a ef 84 66 79 b4 cb 39 5a 35 2d 5e d1
    15 91 2d f6 96 ff e0 70 29 32 94 6d 71 49 2b 44

    # =============================================
    """
    ).splitlines()

    vectors = load_pkcs1_vectors(vector_data)
    expected = [
        (
            {
                "modulus": int(
                    "a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae481"
                    "1a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6"
                    "c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb"
                    "662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616"
                    "d4f5ba10d4cfd226de88d39f16fb",
                    16,
                ),
                "public_exponent": int("10001", 16),
                "private_exponent": int(
                    "53339cfdb79fc8466a655c7316aca85c55fd8f6dd898fdaf119517ef4"
                    "f52e8fd8e258df93fee180fa0e4ab29693cd83b152a553d4ac4d1812b"
                    "8b9fa5af0e7f55fe7304df41570926f3311f15c4d65a732c483116ee3"
                    "d3d2d0af3549ad9bf7cbfb78ad884f84d5beb04724dc7369b31def37d"
                    "0cf539e9cfcdd3de653729ead5d1",
                    16,
                ),
                "p": int(
                    "d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9"
                    "cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dc"
                    "ad212eac7ca39d",
                    16,
                ),
                "q": int(
                    "cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3"
                    "d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030"
                    "e860b0288b5d77",
                    16,
                ),
                "dmp1": int(
                    "0e12bf1718e9cef5599ba1c3882fe8046a90874eefce8f2ccc20e4f27"
                    "41fb0a33a3848aec9c9305fbecbd2d76819967d4671acc6431e403796"
                    "8db37878e695c1",
                    16,
                ),
                "dmq1": int(
                    "95297b0f95a2fa67d00707d609dfd4fc05c89dafc2ef6d6ea55bec771"
                    "ea333734d9251e79082ecda866efef13c459e1a631386b7e354c899f5"
                    "f112ca85d71583",
                    16,
                ),
                "iqmp": int(
                    "4f456c502493bdc0ed2ab756a3a6ed4d67352a697d4216e93212b127a"
                    "63d5411ce6fa98d5dbefd73263e3728142743818166ed7dd63687dd2a"
                    "8ca1d2f4fbd8e1",
                    16,
                ),
                "examples": [
                    {
                        "message": b"6628194e12073db03ba94cda9ef9532397d50dba7"
                        b"9b987004afefe34",
                        "seed": b"18b776ea21069d69776a33e96bad48e1dda0a5ef",
                        "encryption": b"354fe67b4a126d5d35fe36c777791a3f7ba13d"
                        b"ef484e2d3908aff722fad468fb21696de95d0b"
                        b"e911c2d3174f8afcc201035f7b6d8e69402de5"
                        b"451618c21a535fa9d7bfc5b8dd9fc243f8cf92"
                        b"7db31322d6e881eaa91a996170e657a05a2664"
                        b"26d98c88003f8477c1227094a0d9fa1e8c4024"
                        b"309ce1ecccb5210035d47ac72e8a",
                    },
                    {
                        "message": b"750c4047f547e8e41411856523298ac9bae245efa"
                        b"f1397fbe56f9dd5",
                        "seed": b"0cc742ce4a9b7f32f951bcb251efd925fe4fe35f",
                        "encryption": b"640db1acc58e0568fe5407e5f9b701dff8c3c9"
                        b"1e716c536fc7fcec6cb5b71c1165988d4a279e"
                        b"1577d730fc7a29932e3f00c81515236d8d8e31"
                        b"017a7a09df4352d904cdeb79aa583adcc31ea6"
                        b"98a4c05283daba9089be5491f67c1a4ee48dc7"
                        b"4bbbe6643aef846679b4cb395a352d5ed11591"
                        b"2df696ffe0702932946d71492b44",
                    },
                ],
            },
            {
                "modulus": int(
                    "a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae481"
                    "1a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6"
                    "c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb"
                    "662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616"
                    "d4f5ba10d4cfd226de88d39f16fb",
                    16,
                ),
                "public_exponent": int("10001", 16),
            },
        )
    ]
    assert vectors == expected


def test_load_hotp_vectors():
    vector_data = textwrap.dedent(
        """
    # HOTP Test Vectors
    # RFC 4226 Appendix D

    COUNT = 0
    COUNTER = 0
    INTERMEDIATE = cc93cf18508d94934c64b65d8ba7667fb7cde4b0
    TRUNCATED = 4c93cf18
    HOTP = 755224
    SECRET = 12345678901234567890

    COUNT = 1
    COUNTER = 1
    INTERMEDIATE = 75a48a19d4cbe100644e8ac1397eea747a2d33ab
    TRUNCATED = 41397eea
    HOTP = 287082
    SECRET = 12345678901234567890


    COUNT = 2
    COUNTER = 2
    INTERMEDIATE = 0bacb7fa082fef30782211938bc1c5e70416ff44
    TRUNCATED = 82fef30
    HOTP = 359152
    SECRET = 12345678901234567890


    COUNT = 3
    COUNTER = 3
    INTERMEDIATE = 66c28227d03a2d5529262ff016a1e6ef76557ece
    TRUNCATED = 66ef7655
    HOTP = 969429
    SECRET = 12345678901234567890
    """
    ).splitlines()

    assert load_nist_vectors(vector_data) == [
        {
            "counter": b"0",
            "intermediate": b"cc93cf18508d94934c64b65d8ba7667fb7cde4b0",
            "truncated": b"4c93cf18",
            "hotp": b"755224",
            "secret": b"12345678901234567890",
        },
        {
            "counter": b"1",
            "intermediate": b"75a48a19d4cbe100644e8ac1397eea747a2d33ab",
            "truncated": b"41397eea",
            "hotp": b"287082",
            "secret": b"12345678901234567890",
        },
        {
            "counter": b"2",
            "intermediate": b"0bacb7fa082fef30782211938bc1c5e70416ff44",
            "truncated": b"82fef30",
            "hotp": b"359152",
            "secret": b"12345678901234567890",
        },
        {
            "counter": b"3",
            "intermediate": b"66c28227d03a2d5529262ff016a1e6ef76557ece",
            "truncated": b"66ef7655",
            "hotp": b"969429",
            "secret": b"12345678901234567890",
        },
    ]


def test_load_totp_vectors():
    vector_data = textwrap.dedent(
        """
    # TOTP Test Vectors
    # RFC 6238 Appendix B

    COUNT = 0
    TIME = 59
    TOTP = 94287082
    MODE = SHA1
    SECRET = 12345678901234567890

    COUNT = 1
    TIME = 59
    TOTP = 46119246
    MODE = SHA256
    SECRET = 12345678901234567890

    COUNT = 2
    TIME = 59
    TOTP = 90693936
    MODE = SHA512
    SECRET = 12345678901234567890
    """
    ).splitlines()

    assert load_nist_vectors(vector_data) == [
        {
            "time": b"59",
            "totp": b"94287082",
            "mode": b"SHA1",
            "secret": b"12345678901234567890",
        },
        {
            "time": b"59",
            "totp": b"46119246",
            "mode": b"SHA256",
            "secret": b"12345678901234567890",
        },
        {
            "time": b"59",
            "totp": b"90693936",
            "mode": b"SHA512",
            "secret": b"12345678901234567890",
        },
    ]


def test_load_rsa_nist_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 11.4
    # "SigGen PKCS#1 RSASSA-PSS" information
    # Mod sizes selected: 1024 1536 2048 3072 4096
    # SHA Algorithm selected:SHA1 SHA224 SHA256 SHA384 SHA512
    # Salt len: 20

    [mod = 1024]

    n = bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989d

    e = 00000000000000000000000000000000000000000000000000000000000000000010001
    SHAAlg = SHA1
    Msg = 1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e
    S = 682cf53c1145d22a50caa9eb1a9ba70670c5915e0fdfde6457a765de2a8fe12de97

    SHAAlg = SHA384
    Msg = e511903c2f1bfba245467295ac95413ac4746c984c3750a728c388aa628b0ebf
    S = 9c748702bbcc1f9468864cd360c8c39d007b2d8aaee833606c70f7593cf0d1519

    [mod = 1024]

    n = 1234567890

    e = 0010001

    SHAAlg = SHA512
    Msg = 3456781293fab829
    S = deadbeef0000
    """
    ).splitlines()

    vectors = load_rsa_nist_vectors(vector_data)
    assert vectors == [
        {
            "modulus": int(
                "bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda"
                "707a146b3b4e29989d",
                16,
            ),
            "public_exponent": 65537,
            "algorithm": "SHA1",
            "salt_length": 20,
            "msg": b"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc6"
            b"11714f14e",
            "s": b"682cf53c1145d22a50caa9eb1a9ba70670c5915e0fdfde6457a765de2a8"
            b"fe12de97",
            "fail": False,
        },
        {
            "modulus": int(
                "bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda"
                "707a146b3b4e29989d",
                16,
            ),
            "public_exponent": 65537,
            "algorithm": "SHA384",
            "salt_length": 20,
            "msg": b"e511903c2f1bfba245467295ac95413ac4746c984c3750a728c388aa6"
            b"28b0ebf",
            "s": b"9c748702bbcc1f9468864cd360c8c39d007b2d8aaee833606c70f7593cf"
            b"0d1519",
            "fail": False,
        },
        {
            "modulus": 78187493520,
            "public_exponent": 65537,
            "algorithm": "SHA512",
            "salt_length": 20,
            "msg": b"3456781293fab829",
            "s": b"deadbeef0000",
            "fail": False,
        },
    ]


def test_load_rsa_nist_pkcs1v15_verification_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 11.0
    # "SigVer PKCS#1 Ver 1.5" information
    # Mod sizes selected: 1024 1536 2048 3072 4096
    # SHA Algorithm selected:SHA1 SHA224 SHA256 SHA384 SHA512
    # Generated on Wed Mar 02 00:13:02 2011

    [mod = 1024]

    n = be499b5e7f06c83fa0293e31465c8eb6b58af920bae52a7b5b9bfeb7aa72db126411

    p = e7a80c5d211c06acb900939495f26d365fc2b4825b75e356f89003eaa5931e6be5c3
    q = d248aa248000f720258742da67b711940c8f76e1ecd52b67a6ffe1e49354d66ff84f

    SHAAlg = SHA1
    e = 00000000000000000000000000000000000000000000000000000000000000000011
    d = 0d0f17362bdad181db4e1fe03e8de1a3208989914e14bf269558826bfa20faf4b68d
    Msg = 6b9cfac0ba1c7890b13e381ce752195cc1375237db2afcf6a9dcd1f95ec733a80c
    S = 562d87b5781c01d166fef3972669a0495c145b898a17df4743fbefb0a1582bd6ba9d
    SaltVal = 11223344555432167890
    Result = F (3 - Signature changed )

    SHAAlg = SHA1
    e = 0000000000003
    d = bfa20faf4b68d
    Msg = 2a67c70ff14f9b34ddb42e6f89d5971057a0da980fc9ae70c81a84da0c0ac42737
    S = 2b91c6ae2b3c46ff18d5b7abe239634cb752d0acb53eea0ccd8ea8483036a50e8faf
    SaltVal = 11223344555432167890
    Result = P
    """
    ).splitlines()

    vectors = load_rsa_nist_vectors(vector_data)
    assert vectors == [
        {
            "modulus": int(
                "be499b5e7f06c83fa0293e31465c8eb6b58af920bae52a7b5b"
                "9bfeb7aa72db126411",
                16,
            ),
            "p": int(
                "e7a80c5d211c06acb900939495f26d365fc2b4825b75e356f89003ea"
                "a5931e6be5c3",
                16,
            ),
            "q": int(
                "d248aa248000f720258742da67b711940c8f76e1ecd52b67a6ffe1e4"
                "9354d66ff84f",
                16,
            ),
            "public_exponent": 17,
            "algorithm": "SHA1",
            "private_exponent": int(
                "0d0f17362bdad181db4e1fe03e8de1a3208989914"
                "e14bf269558826bfa20faf4b68d",
                16,
            ),
            "msg": b"6b9cfac0ba1c7890b13e381ce752195cc1375237db2afcf6a9dcd1f95"
            b"ec733a80c",
            "s": b"562d87b5781c01d166fef3972669a0495c145b898a17df4743fbefb0a15"
            b"82bd6ba9d",
            "saltval": b"11223344555432167890",
            "fail": True,
        },
        {
            "modulus": int(
                "be499b5e7f06c83fa0293e31465c8eb6b58af920bae52a7b5b"
                "9bfeb7aa72db126411",
                16,
            ),
            "p": int(
                "e7a80c5d211c06acb900939495f26d365fc2b4825b75e356f89003ea"
                "a5931e6be5c3",
                16,
            ),
            "q": int(
                "d248aa248000f720258742da67b711940c8f76e1ecd52b67a6ffe1e4"
                "9354d66ff84f",
                16,
            ),
            "public_exponent": 3,
            "algorithm": "SHA1",
            "private_exponent": int("bfa20faf4b68d", 16),
            "msg": b"2a67c70ff14f9b34ddb42e6f89d5971057a0da980fc9ae70c81a84da0"
            b"c0ac42737",
            "s": b"2b91c6ae2b3c46ff18d5b7abe239634cb752d0acb53eea0ccd8ea848303"
            b"6a50e8faf",
            "saltval": b"11223344555432167890",
            "fail": False,
        },
    ]


def test_load_rsa_nist_pss_verification_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 11.0
    # "SigVer PKCS#1 RSASSA-PSS" information
    # Mod sizes selected: 1024 1536 2048 3072 4096
    # SHA Algorithm selected:SHA1 SHA224 SHA256 SHA384 SHA512
    # Salt len: 10
    # Generated on Wed Mar 02 00:25:22 2011

    [mod = 1024]

    n = be499b5e7f06c83fa0293e31465c8eb6b5

    p = e7a80c5d211c06acb900939495f26d365f
    q = d248aa248000f720258742da67b711940c

    SHAAlg = SHA1
    e = 00000000000000011
    d = c8e26a88239672cf49b3422a07c4d834ba
    Msg = 6b9cfac0ba1c7890b13e381ce752195c
    S = 562d87b5781c01d166fef3972669a0495c
    SaltVal = 11223344555432167890
    Result = F (3 - Signature changed )

    SHAAlg = SHA384
    e = 000003
    d = 0d0f17362bdad181db4e1fe03e8de1a320
    Msg = 2a67c70ff14f9b34ddb42e6f89d59710
    S = 2b91c6ae2b3c46ff18d5b7abe239634cb7
    SaltVal = 11223344555432167890
    Result = P
    """
    ).splitlines()

    vectors = load_rsa_nist_vectors(vector_data)
    assert vectors == [
        {
            "modulus": int("be499b5e7f06c83fa0293e31465c8eb6b5", 16),
            "p": int("e7a80c5d211c06acb900939495f26d365f", 16),
            "q": int("d248aa248000f720258742da67b711940c", 16),
            "public_exponent": 17,
            "algorithm": "SHA1",
            "private_exponent": int("c8e26a88239672cf49b3422a07c4d834ba", 16),
            "msg": b"6b9cfac0ba1c7890b13e381ce752195c",
            "s": b"562d87b5781c01d166fef3972669a0495c",
            "saltval": b"11223344555432167890",
            "salt_length": 10,
            "fail": True,
        },
        {
            "modulus": int("be499b5e7f06c83fa0293e31465c8eb6b5", 16),
            "p": int("e7a80c5d211c06acb900939495f26d365f", 16),
            "q": int("d248aa248000f720258742da67b711940c", 16),
            "public_exponent": 3,
            "algorithm": "SHA384",
            "private_exponent": int("0d0f17362bdad181db4e1fe03e8de1a320", 16),
            "msg": b"2a67c70ff14f9b34ddb42e6f89d59710",
            "s": b"2b91c6ae2b3c46ff18d5b7abe239634cb7",
            "saltval": b"11223344555432167890",
            "salt_length": 10,
            "fail": False,
        },
    ]


def test_load_fips_dsa_key_pair_vectors():
    vector_data = textwrap.dedent(
        """
    #  CAVS 11.1
    #  "KeyPair" information
    #  Mod sizes selected: L=1024, N=160:: L=2048, N=224 :: L=2048, N=256 :: L
=3072, N=256
    # Generated on Wed May 04 08:50:52 2011


    [mod = L=1024, N=160]

    P = d38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b725ef341eabb47cf8a7a\
8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b502e59050b5b21ce263dddb2044b65223\
6f4d42ab4b5d6aa73189cef1ace778d7845a5c1c1c7147123188f8dc551054ee162b634d60f097\
f719076640e20980a0093113a8bd73
    Q = 96c5390a8b612c0e422bb2b0ea194a3ec935a281
    G = 06b7861abbd35cc89e79c52f68d20875389b127361ca66822138ce4991d2b862259d6b\
4548a6495b195aa0e0b6137ca37eb23b94074d3c3d300042bdf15762812b6333ef7b07ceba7860\
7610fcc9ee68491dbc1e34cd12615474e52b18bc934fb00c61d39e7da8902291c4434a4e2224c3\
f4fd9f93cd6f4f17fc076341a7e7d9

    X = 8185fee9cc7c0e91fd85503274f1cd5a3fd15a49
    Y = 6f26d98d41de7d871b6381851c9d91fa03942092ab6097e76422070edb71db44ff5682\
80fdb1709f8fc3feab39f1f824adaeb2a298088156ac31af1aa04bf54f475bdcfdcf2f8a2dd973\
e922d83e76f016558617603129b21c70bf7d0e5dc9e68fe332e295b65876eb9a12fe6fca9f1a1c\
e80204646bf99b5771d249a6fea627

    X = 85322d6ea73083064376099ca2f65f56e8522d9b
    Y = 21f8690f717c9f4dcb8f4b6971de2f15b9231fcf41b7eeb997d781f240bfdddfd2090d\
22083c26cca39bf37c9caf1ec89518ea64845a50d747b49131ffff6a2fd11ea7bacbb93c7d0513\
7383a06365af82225dd3713ca5a45006316f53bd12b0e260d5f79795e5a4c9f353f12867a1d320\
2394673ada8563b71555e53f415254

    [mod = L=2048, N=256]

    P = ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace5e9c41434c9cf0a8e9\
498acb0f4663c08b4484eace845f6fb17dac62c98e706af0fc74e4da1c6c2b3fbf5a1d58ff82fc\
1a66f3e8b12252c40278fff9dd7f102eed2cb5b7323ebf1908c234d935414dded7f8d244e54561\
b0dca39b301de8c49da9fb23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cb\
b9ac247baba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6ecabf2\
1bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6db2df0a908c36e95e60\
bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa66ef7
    Q = 8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b18f507192c19d
    G = e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6ccb6b1913413d344d1d\
8d84a333839d88eee431521f6e357c16e6a93be111a98076739cd401bab3b9d565bf4fb99e9d18\
5b1e14d61c93700133f908bae03e28764d107dcd2ea7674217622074bb19efff482f5f5c1a86d5\
551b2fc68d1c6e9d8011958ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b\
4f197c322b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd74f13\
b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b629ddfa971f2ed273b14\
6ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e558302

    X = 405772da6e90d809e77d5de796562a2dd4dfd10ef00a83a3aba6bd818a0348a1
    Y = 6b32e31ab9031dc4dd0b5039a78d07826687ab087ae6de4736f5b0434e1253092e8a0b\
231f9c87f3fc8a4cb5634eb194bf1b638b7a7889620ce6711567e36aa36cda4604cfaa601a4591\
8371d4ccf68d8b10a50a0460eb1dc0fff62ef5e6ee4d473e18ea4a66c196fb7e677a49b48241a0\
b4a97128eff30fa437050501a584f8771e7280d26d5af30784039159c11ebfea10b692fd0a5821\
5eeb18bff117e13f08db792ed4151a218e4bed8dddfb0793225bd1e9773505166f4bd8cedbb286\
ea28232972da7bae836ba97329ba6b0a36508e50a52a7675e476d4d4137eae13f22a9d2fefde70\
8ba8f34bf336c6e76331761e4b0617633fe7ec3f23672fb19d27

    X = 0e0b95e31fda3f888059c46c3002ef8f2d6be112d0209aeb9e9545da67aeea80
    Y = 778082b77ddba6f56597cc74c3a612abf2ddbd85cc81430c99ab843c1f630b9db01399\
65f563978164f9bf3a8397256be714625cd41cd7fa0067d94ea66d7e073f7125af692ad01371d4\
a17f4550590378f2b074030c20e36911598a1018772f61be3b24de4be5a388ccc09e15a92819c3\
1dec50de9fde105b49eaa097b9d13d9219eeb33b628facfd1c78a7159c8430d0647c506e7e3de7\
4763cb351eada72c00bef3c9641881e6254870c1e6599f8ca2f1bbb74f39a905e3a34e4544168e\
6e50c9e3305fd09cab6ed4aff6fda6e0d5bf375c81ac9054406d9193b003c89272f1bd83d48250\
134b65c77c2b6332d38d34d9016f0e8975536ad6c348a1faedb0

    [mod = L=3072, N=256]

    P = f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e7d5828c352f593a9a7\
87760ce34b789879941f2f01f02319f6ae0b756f1a842ba54c85612ed632ee2d79ef17f06b77c6\
41b7b080aff52a03fc2462e80abc64d223723c236deeb7d201078ec01ca1fbc1763139e25099a8\
4ec389159c409792080736bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554d\
b2561d706a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5df831d\
36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284f5b71282045aba9844\
d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb50c6bf1d54f90cce1a491a9c74fea88f\
7e7230b047d16b5a6027881d6f154818f06e513faf40c8814630e4e254f17a47bfe9cb519b9828\
9935bf17673ae4c8033504a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaab\
b7338b854e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b692229957
    Q = d3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210f6169041653b
    G = ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978db2104d7394b493c183\
32c64cec906a71c3778bd93341165dee8e6cd4ca6f13afff531191194ada55ecf01ff94d6cf7c4\
768b82dd29cd131aaf202aefd40e564375285c01f3220af4d70b96f1395420d778228f1461f5d0\
b8e47357e87b1fe3286223b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce7782\
0d88cdf50a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9fb23c1\
d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37daddade2d823a4d8e3\
62721082e279d003b575ee59fd050d105dfd71cd63154efe431a0869178d9811f4f231dc5dcf3b\
0ec0f2b0f9896c32ec6c7ee7d60aa97109e09224907328d4e6acd10117e45774406c4c947da802\
0649c3168f690e0bd6e91ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb07\
3cecfe83fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775ae

    X = b2764c46113983777d3e7e97589f1303806d14ad9f2f1ef033097de954b17706
    Y = 814824e435e1e6f38daa239aad6dad21033afce6a3ebd35c1359348a0f2418871968c2\
babfc2baf47742148828f8612183178f126504da73566b6bab33ba1f124c15aa461555c2451d86\
c94ee21c3e3fc24c55527e01b1f03adcdd8ec5cb08082803a7b6a829c3e99eeb332a2cf5c035b0\
ce0078d3d414d31fa47e9726be2989b8d06da2e6cd363f5a7d1515e3f4925e0b32adeae3025cc5\
a996f6fd27494ea408763de48f3bb39f6a06514b019899b312ec570851637b8865cff3a52bf5d5\
4ad5a19e6e400a2d33251055d0a440b50d53f4791391dc754ad02b9eab74c46b4903f9d76f8243\
39914db108057af7cde657d41766a99991ac8787694f4185d6f91d7627048f827b405ec67bf2fe\
56141c4c581d8c317333624e073e5879a82437cb0c7b435c0ce434e15965db1315d64895991e6b\
be7dac040c42052408bbc53423fd31098248a58f8a67da3a39895cd0cc927515d044c1e3cb6a32\
59c3d0da354cce89ea3552c59609db10ee989986527436af21d9485ddf25f90f7dff6d2bae

    X = 52e3e040efb30e1befd909a0bdbcfd140d005b1bff094af97186080262f1904d
    Y = a5ae6e8f9b7a68ab0516dad4d7b7d002126f811d5a52e3d35c6d387fcb43fd19bf7792\
362f9c98f8348aa058bb62376685f3d0c366c520d697fcd8416947151d4bbb6f32b53528a01647\
9e99d2cd48d1fc679027c15f0042f207984efe05c1796bca8eba678dfdd00b80418e3ea840557e\
73b09e003882f9a68edba3431d351d1ca07a8150b018fdbdf6c2f1ab475792a3ccaa6594472a45\
f8dc777b60bf67de3e0f65c20d11b7d59faedf83fbce52617f500d9e514947c455274c6e900464\
767fb56599b81344cf6d12c25cb2b7d038d7b166b6cf30534811c15d0e8ab880a2ac06786ae2dd\
de61329a78d526f65245380ce877e979c5b50de66c9c30d66382c8f254653d25a1eb1d3a4897d7\
623399b473ce712a2184cf2da1861706c41466806aefe41b497db82aca6c31c8f4aa68c17d1d9e\
380b57998917655783ec96e5234a131f7299398d36f1f5f84297a55ff292f1f060958c358fed34\
6db2de45127ca728a9417b2c54203e33e53b9a061d924395b09afab8daf3e8dd7eedcec3ac
    """
    ).splitlines()

    expected = [
        {
            "g": int(
                "06b7861abbd35cc89e79c52f68d20875389b127361ca66822138ce499"
                "1d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d3000"
                "42bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12"
                "615474e52b18bc934fb00c61d39e7da8902291c4434a4e2224c3f"
                "4fd9f93cd6f4f17fc076341a7e7d9",
                16,
            ),
            "p": int(
                "d38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b725e"
                "f341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae791210"
                "2b6b502e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189c"
                "ef1ace778d7845a5c1c1c7147123188f8dc551054ee162b634d60f097f7"
                "19076640e20980a0093113a8bd73",
                16,
            ),
            "q": int("96c5390a8b612c0e422bb2b0ea194a3ec935a281", 16),
            "x": int("8185fee9cc7c0e91fd85503274f1cd5a3fd15a49", 16),
            "y": int(
                "6f26d98d41de7d871b6381851c9d91fa03942092ab6097e76422"
                "070edb71db44ff568280fdb1709f8fc3feab39f1f824adaeb2a29808815"
                "6ac31af1aa04bf54f475bdcfdcf2f8a2dd973e922d83e76f01655861760"
                "3129b21c70bf7d0e5dc9e68fe332e295b65876eb9a12fe6fca9f1a1ce80"
                "204646bf99b5771d249a6fea627",
                16,
            ),
        },
        {
            "g": int(
                "06b7861abbd35cc89e79c52f68d20875389b127361ca66822138ce4991d"
                "2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004"
                "2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd126"
                "15474e52b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9"
                "f93cd6f4f17fc076341a7e7d9",
                16,
            ),
            "p": int(
                "d38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b725ef341e"
                "abb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50"
                "2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1a"
                "ce778d7845a5c1c1c7147123188f8dc551054ee162b634d6"
                "0f097f719076640e20980a0093113a8bd73",
                16,
            ),
            "q": int("96c5390a8b612c0e422bb2b0ea194a3ec935a281", 16),
            "x": int("85322d6ea73083064376099ca2f65f56e8522d9b", 16),
            "y": int(
                "21f8690f717c9f4dcb8f4b6971de2f15b9231fcf41b7eeb997d781f240"
                "bfdddfd2090d22083c26cca39bf37c9caf1ec89518ea64845a50d747b49"
                "131ffff6a2fd11ea7bacbb93c7d05137383a06365af82225dd3713c"
                "a5a45006316f53bd12b0e260d5f79795e5a4c9f353f12867a1d3"
                "202394673ada8563b71555e53f415254",
                16,
            ),
        },
        {
            "g": int(
                "e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6ccb6b191"
                "3413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807"
                "6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae0"
                "3e28764d107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2"
                "fc68d1c6e9d8011958ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78"
                "d0706b10a26f23b4f197c322b825002284a0aca91807bba98ece912"
                "b80e10cdf180cf99a35f210c1655fbfdd74f13b1b5046591f8403873d"
                "12239834dd6c4eceb42bf7482e1794a1601357b629ddfa971f2ed273b1"
                "46ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e558302",
                16,
            ),
            "p": int(
                "ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace"
                "5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17d"
                "ac62c98e706af0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b122"
                "52c40278fff9dd7f102eed2cb5b7323ebf1908c234d935414dded7f8d2"
                "44e54561b0dca39b301de8c49da9fb23df33c6182e3f983208c560fb5"
                "119fbf78ebe3e6564ee235c6a15cbb9ac247baba5a423bc6582a1a9d8a"
                "2b4f0e9e3d9dbac122f750dd754325135257488b1f6ecabf21bff2947"
                "fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6db2df0a"
                "908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac"
                "5aa66ef7",
                16,
            ),
            "q": int(
                "8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1"
                "8f507192c19d",
                16,
            ),
            "x": int(
                "405772da6e90d809e77d5de796562a2dd4dfd10ef00a83a3aba6"
                "bd818a0348a1",
                16,
            ),
            "y": int(
                "6b32e31ab9031dc4dd0b5039a78d07826687ab087ae6de4736f5"
                "b0434e1253092e8a0b231f9c87f3fc8a4cb5634eb194bf1b638"
                "b7a7889620ce6711567e36aa36cda4604cfaa601a45918371d"
                "4ccf68d8b10a50a0460eb1dc0fff62ef5e6ee4d473e18ea4a6"
                "6c196fb7e677a49b48241a0b4a97128eff30fa437050501a584"
                "f8771e7280d26d5af30784039159c11ebfea10b692fd0a58215ee"
                "b18bff117e13f08db792ed4151a218e4bed8dddfb0793225bd1e97"
                "73505166f4bd8cedbb286ea28232972da7bae836ba97329ba6b0a36508"
                "e50a52a7675e476d4d4137eae13f22a9d2fefde708ba8f34bf336c6e7"
                "6331761e4b0617633fe7ec3f23672fb19d27",
                16,
            ),
        },
        {
            "g": int(
                "e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6ccb6b191"
                "3413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807"
                "6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae0"
                "3e28764d107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2"
                "fc68d1c6e9d8011958ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78"
                "d0706b10a26f23b4f197c322b825002284a0aca91807bba98ece912"
                "b80e10cdf180cf99a35f210c1655fbfdd74f13b1b5046591f8403873d"
                "12239834dd6c4eceb42bf7482e1794a1601357b629ddfa971f2ed273b1"
                "46ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e558302",
                16,
            ),
            "p": int(
                "ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace"
                "5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17d"
                "ac62c98e706af0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b122"
                "52c40278fff9dd7f102eed2cb5b7323ebf1908c234d935414dded7f8d2"
                "44e54561b0dca39b301de8c49da9fb23df33c6182e3f983208c560fb5"
                "119fbf78ebe3e6564ee235c6a15cbb9ac247baba5a423bc6582a1a9d8a"
                "2b4f0e9e3d9dbac122f750dd754325135257488b1f6ecabf21bff2947"
                "fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6db2df0a"
                "908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac"
                "5aa66ef7",
                16,
            ),
            "q": int(
                "8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1"
                "8f507192c19d",
                16,
            ),
            "x": int(
                "0e0b95e31fda3f888059c46c3002ef8f2d6be112d0209aeb9e95"
                "45da67aeea80",
                16,
            ),
            "y": int(
                "778082b77ddba6f56597cc74c3a612abf2ddbd85cc81430c99ab"
                "843c1f630b9db0139965f563978164f9bf3a8397256be714625"
                "cd41cd7fa0067d94ea66d7e073f7125af692ad01371d4a17f45"
                "50590378f2b074030c20e36911598a1018772f61be3b24de4be"
                "5a388ccc09e15a92819c31dec50de9fde105b49eaa097b9d13d"
                "9219eeb33b628facfd1c78a7159c8430d0647c506e7e3de74763c"
                "b351eada72c00bef3c9641881e6254870c1e6599f8ca2f1bbb74f"
                "39a905e3a34e4544168e6e50c9e3305fd09cab6ed4aff6fda6e0d"
                "5bf375c81ac9054406d9193b003c89272f1bd83d48250134b65c77"
                "c2b6332d38d34d9016f0e8975536ad6c348a1faedb0",
                16,
            ),
        },
        {
            "g": int(
                "ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d"
                "b2104d7394b493c18332c64cec906a71c3778bd93341165dee8"
                "e6cd4ca6f13afff531191194ada55ecf01ff94d6cf7c4768b82"
                "dd29cd131aaf202aefd40e564375285c01f3220af4d70b96f1"
                "395420d778228f1461f5d0b8e47357e87b1fe3286223b553e3"
                "fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf"
                "50a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721f"
                "f141f93a9fb23c1d1f7654c07c46e58836d1652828f71057b8aff0b077"
                "8ef2ca934ea9d0f37daddade2d823a4d8e362721082e279d003b575ee"
                "59fd050d105dfd71cd63154efe431a0869178d9811f4f231dc5dcf3b"
                "0ec0f2b0f9896c32ec6c7ee7d60aa97109e09224907328d4e6acd1011"
                "7e45774406c4c947da8020649c3168f690e0bd6e91ac67074d1d436b"
                "58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83fa939"
                "8cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d"
                "775ae",
                16,
            ),
            "p": int(
                "f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e7d5828"
                "c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842"
                "ba54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e8"
                "0abc64d223723c236deeb7d201078ec01ca1fbc1763139e25099a84ec"
                "389159c409792080736bd7caa816b92edf23f2c351f90074aa5ea2651"
                "b372f8b58a0a65554db2561d706a63685000ac576b7e4562e262a1428"
                "5a9c6370b290e4eb7757527d80b6c0fd5df831d36f3d1d35f12ab0605"
                "48de1605fd15f7c7aafed688b146a02c945156e284f5b71282045aba9"
                "844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb50c6bf1d"
                "54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f"
                "06e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673a"
                "e4c8033504a20a898d0032ee402b72d5986322f3bdfb27400561f7476"
                "cd715eaabb7338b854e51fc2fa026a5a579b6dcea1b1c0559c13d3c11"
                "36f303f4b4d25ad5b692229957",
                16,
            ),
            "q": int(
                "d3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210"
                "f6169041653b",
                16,
            ),
            "x": int(
                "b2764c46113983777d3e7e97589f1303806d14ad9f2f1ef03309"
                "7de954b17706",
                16,
            ),
            "y": int(
                "814824e435e1e6f38daa239aad6dad21033afce6a3ebd35c1359348a0f2"
                "418871968c2babfc2baf47742148828f8612183178f126504da73566b6"
                "bab33ba1f124c15aa461555c2451d86c94ee21c3e3fc24c55527e"
                "01b1f03adcdd8ec5cb08082803a7b6a829c3e99eeb332a2cf5c035b0c"
                "e0078d3d414d31fa47e9726be2989b8d06da2e6cd363f5a7d1515e3f4"
                "925e0b32adeae3025cc5a996f6fd27494ea408763de48f3bb39f6a06"
                "514b019899b312ec570851637b8865cff3a52bf5d54ad5a19e6e400"
                "a2d33251055d0a440b50d53f4791391dc754ad02b9eab74c46b4903"
                "f9d76f824339914db108057af7cde657d41766a99991ac8787694f"
                "4185d6f91d7627048f827b405ec67bf2fe56141c4c581d8c317333"
                "624e073e5879a82437cb0c7b435c0ce434e15965db1315d648959"
                "91e6bbe7dac040c42052408bbc53423fd31098248a58f8a67da3a"
                "39895cd0cc927515d044c1e3cb6a3259c3d0da354cce89ea3552c"
                "59609db10ee989986527436af21d9485ddf25f90f7dff6d2bae",
                16,
            ),
        },
        {
            "g": int(
                "ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d"
                "b2104d7394b493c18332c64cec906a71c3778bd93341165dee8"
                "e6cd4ca6f13afff531191194ada55ecf01ff94d6cf7c4768b82"
                "dd29cd131aaf202aefd40e564375285c01f3220af4d70b96f1"
                "395420d778228f1461f5d0b8e47357e87b1fe3286223b553e3"
                "fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf"
                "50a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721f"
                "f141f93a9fb23c1d1f7654c07c46e58836d1652828f71057b8aff0b077"
                "8ef2ca934ea9d0f37daddade2d823a4d8e362721082e279d003b575ee"
                "59fd050d105dfd71cd63154efe431a0869178d9811f4f231dc5dcf3b"
                "0ec0f2b0f9896c32ec6c7ee7d60aa97109e09224907328d4e6acd1011"
                "7e45774406c4c947da8020649c3168f690e0bd6e91ac67074d1d436b"
                "58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83fa939"
                "8cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d"
                "775ae",
                16,
            ),
            "p": int(
                "f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e7d5828"
                "c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842"
                "ba54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e8"
                "0abc64d223723c236deeb7d201078ec01ca1fbc1763139e25099a84ec"
                "389159c409792080736bd7caa816b92edf23f2c351f90074aa5ea2651"
                "b372f8b58a0a65554db2561d706a63685000ac576b7e4562e262a1428"
                "5a9c6370b290e4eb7757527d80b6c0fd5df831d36f3d1d35f12ab0605"
                "48de1605fd15f7c7aafed688b146a02c945156e284f5b71282045aba9"
                "844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb50c6bf1d"
                "54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f"
                "06e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673a"
                "e4c8033504a20a898d0032ee402b72d5986322f3bdfb27400561f7476"
                "cd715eaabb7338b854e51fc2fa026a5a579b6dcea1b1c0559c13d3c11"
                "36f303f4b4d25ad5b692229957",
                16,
            ),
            "q": int(
                "d3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210"
                "f6169041653b",
                16,
            ),
            "x": int(
                "52e3e040efb30e1befd909a0bdbcfd140d005b1bff094af97186"
                "080262f1904d",
                16,
            ),
            "y": int(
                "a5ae6e8f9b7a68ab0516dad4d7b7d002126f811d5a52e3d35c6d"
                "387fcb43fd19bf7792362f9c98f8348aa058bb62376685f3d0c3"
                "66c520d697fcd8416947151d4bbb6f32b53528a016479e99d2cd"
                "48d1fc679027c15f0042f207984efe05c1796bca8eba678dfdd0"
                "0b80418e3ea840557e73b09e003882f9a68edba3431d351d1ca0"
                "7a8150b018fdbdf6c2f1ab475792a3ccaa6594472a45f8dc777b"
                "60bf67de3e0f65c20d11b7d59faedf83fbce52617f500d9e5149"
                "47c455274c6e900464767fb56599b81344cf6d12c25cb2b7d038"
                "d7b166b6cf30534811c15d0e8ab880a2ac06786ae2ddde61329a"
                "78d526f65245380ce877e979c5b50de66c9c30d66382c8f25465"
                "3d25a1eb1d3a4897d7623399b473ce712a2184cf2da1861706c4"
                "1466806aefe41b497db82aca6c31c8f4aa68c17d1d9e380b5799"
                "8917655783ec96e5234a131f7299398d36f1f5f84297a55ff292"
                "f1f060958c358fed346db2de45127ca728a9417b2c54203e33e5"
                "3b9a061d924395b09afab8daf3e8dd7eedcec3ac",
                16,
            ),
        },
    ]

    assert expected == load_fips_dsa_key_pair_vectors(vector_data)


def test_load_fips_dsa_sig_ver_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 11.0
    # "SigVer" information
    # Mod sizes selected: SHA-1 L=1024, N=160,SHA-384 L=2048, N=256
    # Generated on Fri Apr 01 08:37:15 2011

    [mod = L=1024, N=160, SHA-1]

    P = dc5bf3a88b2d99e4c95cdd7a0501cc38630d425cf5c390af3429cff1f35147b795cae\
a923f0d3577158f8a0c89dabd1962c2c453306b5d70cacfb01430aceb54e5a5fa6f93\
40d3bd2da612fceeb76b0ec1ebfae635a56ab141b108e00dc76eefe2edd0c514c21c4\
57457c39065dba9d0ecb7569c247172d8438ad2827b60435b
    Q = e956602b83d195dbe945b3ac702fc61f81571f1d
    G = d7eb9ca20a3c7a079606bafc4c9261ccaba303a5dc9fe9953f197dfe548c234895baa\
77f441ee6a2d97b909cbbd26ff7b869d24cae51b5c6edb127a4b5d75cd8b46608bfa1\
48249dffdb59807c5d7dde3fe3080ca3a2d28312142becb1fa8e24003e21c72871081\
74b95d5bc711e1c8d9b1076784f5dc37a964a5e51390da713

    Msg = 0fe1bfee500bdb76026099b1d37553f6bdfe48c82094ef98cb309dd777330bedfaa\
2f94c823ef74ef4074b50d8706041ac0e371c7c22dcf70263b8d60e17a86c7c379c\
fda8f22469e0df9d49d59439fc99891873628fff25dda5fac5ac794e948babdde96\
8143ba05f1128f34fdad5875edc4cd71c6c24ba2060ffbd439ce2b3
    X = 1d93010c29ecfc432188942f46f19f44f0e1bb5d
    Y = 6240ea0647117c38fe705106d56db578f3e10130928452d4f3587881b8a2bc6873a8b\
efc3237f20914e2a91c7f07a928ee22adeed23d74ab7f82ea11f70497e578f7a9b4cb\
d6f10226222b0b4da2ea1e49813d6bb9882fbf675c0846bb80cc891857b89b0ef1beb\
6cce3378a9aab5d66ad4cb9277cf447dfe1e64434749432fb
    R = b5af307867fb8b54390013cc67020ddf1f2c0b81
    S = 620d3b22ab5031440c3e35eab6f481298f9e9f08
    Result = P

    Msg = 97d50898025d2f9ba633866e968ca75e969d394edba6517204cb3dd537c2ba38778\
a2dc9dbc685a915e5676fcd43bc3726bc59ce3d7a9fae35565082a069c139fa37c9\
0d922b126933db3fa6c5ef6b1edf00d174a51887bb76909c6a94fe994ecc7b7fc8f\
26113b17f30f9d01693df99a125b4f17e184331c6b6e8ca00f54f3a
    X = 350e13534692a7e0c4b7d58836046c436fbb2322
    Y = 69974de550fe6bd3099150faea1623ad3fb6d9bf23a07215093f319725ad0877accff\
d291b6da18eb0cbe51676ceb0977504eb97c27c0b191883f72fb2710a9fbd8bcf13be\
0bf854410b32f42b33ec89d3cc1cf892bcd536c4195ca9ada302ad600c3408739935d\
77dc247529ca47f844cc86f5016a2fe962c6e20ca7c4d4e8f
    R = b5d05faa7005764e8dae0327c5bf1972ff7681b9
    S = 18ea15bd9f00475b25204cbc23f8c23e01588015
    Result = F (3 - R changed )

    [mod = L=2048, N=256, SHA-384]

    P = e7c1c86125db9ef417da1ced7ea0861bdad629216a3f3c745df42a46b989e59f4d984\
25ee3c932fa3c2b6f637bdb6545bec526faa037e11f5578a4363b9fca5eba60d6a9cb\
aa2befd04141d989c7356285132c2eaf74f2d868521cdc0a17ae9a2546ef863027d3f\
8cc7949631fd0e2971417a912c8b8c5c989730db6ea6e8baee0e667850429038093c8\
51ccb6fb173bb081e0efe0bd7450e0946888f89f75e443ab93ef2da293a01622cf43c\
6dd79625d41ba8f9ef7e3086ab39134283d8e96c89249488120fd061e4a87d34af410\
69c0b4fd3934c31b589cbe85b68b912718d5dab859fda7082511fad1d152044905005\
546e19b14aa96585a55269bf2b831
    Q = 8e056ec9d4b7acb580087a6ed9ba3478711bb025d5b8d9c731ef9b38bd43db2f
    G = dc2bfb9776786ad310c8b0cdcbba3062402613c67e6959a8d8d1b05aab636528b7b1f\
e9cd33765f853d6dbe13d09f2681f8c7b1ed7886aaed70c7bd76dbe858ffb8bd86235\
ddf759244678f428c6519af593dc94eeadbd9852ba2b3d61664e8d58c29d2039af3c3\
d6d16f90988f6a8c824569f3d48050e30896a9e17cd0232ef01ab8790008f6973b84c\
763a72f4ae8b485abfb7e8efeb86808fa2b281d3e5d65d28f5992a34c077c5aa8026c\
b2fbc34a45f7e9bd216b10e6f12ecb172e9a6eb8f2e91316905b6add1fd22e83bc2f0\
89f1d5e6a6e6707c18ff55ddcb7954e8bceaf0efc4e8314910c03b0e51175f344faaf\
ee476a373ac95743cec712b72cf2e

    Msg = 6cd6ccfd66bcd832189c5f0c77994210e3bf2c43416f0fe77c4e92f31c5369538dc\
2c003f146c5ac79df43194ccf3c44d470d9f1083bd15b99b5bcf88c32d8a9021f09\
ea2288d7b3bf345a12aef3949c1e121b9fb371a67c2d1377364206ac839dd784835\
61426bda0303f285aa12e9c45d3cdfc6beae3549703b187deeb3296
    X = 56c897b5938ad5b3d437d7e4826da586a6b3be15e893fa1aaa946f20a028b6b3
    Y = 38ad44489e1a5778b9689f4dcf40e2acf23840fb954e987d6e8cb629106328ac64e1f\
3c3eba48b21176ad4afe3b733bead382ee1597e1b83e4b43424f2daaba04e5bd79e14\
36693ac2bddb79a298f026e57e200a252efd1e848a4a2e90be6e78f5242b468b9c0c6\
d2615047a5a40b9ae7e57a519114db55bf3bed65e580f894b094630ca9c217f6accd0\
91e72d2f22da620044ff372d7273f9445017fad492959e59600b7494dbe766a03e401\
25d4e6747c76f68a5b0cdc0e7d7cee12d08c6fb7d0fb049e420a33405075ed4463296\
345ca695fb7feab7c1b5333ae519fcd4bb6a043f4555378969114743d4face96cad31\
c0e0089da4e3f61b6d7dabc088ab7
    R = 3b85b17be240ed658beb3652c9d93e8e9eea160d35ee2459614305802963374e
    S = 726800a5174a53b56dce86064109c0273cd11fcfa3c92c5cd6aa910260c0e3c7
    Result = F (1 - Message changed)

    Msg = 3ad6b0884f358dea09c31a9abc40c45a6000611fc2b907b30eac00413fd2819de70\
15488a411609d46c499b8f7afa1b78b352ac7f8535bd805b8ff2a5eae557098c668\
f7ccd73af886d6823a6d456c29931ee864ed46d767382785728c2a83fcff5271007\
d2a67d06fa205fd7b9d1a42ea5d6dc76e5e18a9eb148cd1e8b262ae
    X = 2faf566a9f057960f1b50c69508f483d9966d6e35743591f3a677a9dc40e1555
    Y = 926425d617babe87c442b03903e32ba5bbf0cd9d602b59c4df791a4d64a6d4333ca0c\
0d370552539197d327dcd1bbf8c454f24b03fc7805f862db34c7b066ddfddbb11dbd0\
10b27123062d028fe041cb56a2e77488348ae0ab6705d87aac4d4e9e6600e9e706326\
d9979982cffa839beb9eacc3963bcca455a507e80c1c37ad4e765b2c9c0477a075e9b\
c584feacdf3a35a9391d4711f14e197c54022282bfed9a191213d64127f17a9c5affe\
c26e0c71f15d3a5b16098fec118c45bf8bb2f3b1560df0949254c1c0aeb0a16d5a95a\
40fab8521fbe8ea77c51169b587cc3360e5733e6a23b9fded8c40724ea1f9e93614b3\
a6c9b4f8dbbe915b794497227ba62
    R = 343ea0a9e66277380f604d5880fca686bffab69ca97bfba015a102a7e23dce0e
    S = 6258488c770e0f5ad7b9da8bade5023fc0d17c6ec517bd08d53e6dc01ac5c2b3
    Result = P
    """
    ).splitlines()

    expected = [
        {
            "p": int(
                "dc5bf3a88b2d99e4c95cdd7a0501cc38630d425cf5c390af3429cff1"
                "f35147b795caea923f0d3577158f8a0c89dabd1962c2c453306b5d70"
                "cacfb01430aceb54e5a5fa6f9340d3bd2da612fceeb76b0ec1ebfae6"
                "35a56ab141b108e00dc76eefe2edd0c514c21c457457c39065dba9d0"
                "ecb7569c247172d8438ad2827b60435b",
                16,
            ),
            "q": int("e956602b83d195dbe945b3ac702fc61f81571f1d", 16),
            "g": int(
                "d7eb9ca20a3c7a079606bafc4c9261ccaba303a5dc9fe9953f197dfe"
                "548c234895baa77f441ee6a2d97b909cbbd26ff7b869d24cae51b5c6"
                "edb127a4b5d75cd8b46608bfa148249dffdb59807c5d7dde3fe3080c"
                "a3a2d28312142becb1fa8e24003e21c7287108174b95d5bc711e1c8d"
                "9b1076784f5dc37a964a5e51390da713",
                16,
            ),
            "digest_algorithm": "SHA-1",
            "msg": binascii.unhexlify(
                b"0fe1bfee500bdb76026099b1d37553f6bdfe48c82094ef98cb309dd77733"
                b"0bedfaa2f94c823ef74ef4074b50d8706041ac0e371c7c22dcf70263b8d6"
                b"0e17a86c7c379cfda8f22469e0df9d49d59439fc99891873628fff25dda5"
                b"fac5ac794e948babdde968143ba05f1128f34fdad5875edc4cd71c6c24ba"
                b"2060ffbd439ce2b3"
            ),
            "x": int("1d93010c29ecfc432188942f46f19f44f0e1bb5d", 16),
            "y": int(
                "6240ea0647117c38fe705106d56db578f3e10130928452d4f3587881"
                "b8a2bc6873a8befc3237f20914e2a91c7f07a928ee22adeed23d74ab"
                "7f82ea11f70497e578f7a9b4cbd6f10226222b0b4da2ea1e49813d6b"
                "b9882fbf675c0846bb80cc891857b89b0ef1beb6cce3378a9aab5d66"
                "ad4cb9277cf447dfe1e64434749432fb",
                16,
            ),
            "r": int("b5af307867fb8b54390013cc67020ddf1f2c0b81", 16),
            "s": int("620d3b22ab5031440c3e35eab6f481298f9e9f08", 16),
            "result": "P",
        },
        {
            "p": int(
                "dc5bf3a88b2d99e4c95cdd7a0501cc38630d425cf5c390af3429cff1"
                "f35147b795caea923f0d3577158f8a0c89dabd1962c2c453306b5d70"
                "cacfb01430aceb54e5a5fa6f9340d3bd2da612fceeb76b0ec1ebfae6"
                "35a56ab141b108e00dc76eefe2edd0c514c21c457457c39065dba9d0"
                "ecb7569c247172d8438ad2827b60435b",
                16,
            ),
            "q": int("e956602b83d195dbe945b3ac702fc61f81571f1d", 16),
            "g": int(
                "d7eb9ca20a3c7a079606bafc4c9261ccaba303a5dc9fe9953f197dfe"
                "548c234895baa77f441ee6a2d97b909cbbd26ff7b869d24cae51b5c6"
                "edb127a4b5d75cd8b46608bfa148249dffdb59807c5d7dde3fe3080c"
                "a3a2d28312142becb1fa8e24003e21c7287108174b95d5bc711e1c8d"
                "9b1076784f5dc37a964a5e51390da713",
                16,
            ),
            "digest_algorithm": "SHA-1",
            "msg": binascii.unhexlify(
                b"97d50898025d2f9ba633866e968ca75e969d394edba6517204cb3dd537c2"
                b"ba38778a2dc9dbc685a915e5676fcd43bc3726bc59ce3d7a9fae35565082"
                b"a069c139fa37c90d922b126933db3fa6c5ef6b1edf00d174a51887bb7690"
                b"9c6a94fe994ecc7b7fc8f26113b17f30f9d01693df99a125b4f17e184331"
                b"c6b6e8ca00f54f3a"
            ),
            "x": int("350e13534692a7e0c4b7d58836046c436fbb2322", 16),
            "y": int(
                "69974de550fe6bd3099150faea1623ad3fb6d9bf23a07215093f3197"
                "25ad0877accffd291b6da18eb0cbe51676ceb0977504eb97c27c0b19"
                "1883f72fb2710a9fbd8bcf13be0bf854410b32f42b33ec89d3cc1cf8"
                "92bcd536c4195ca9ada302ad600c3408739935d77dc247529ca47f84"
                "4cc86f5016a2fe962c6e20ca7c4d4e8f",
                16,
            ),
            "r": int("b5d05faa7005764e8dae0327c5bf1972ff7681b9", 16),
            "s": int("18ea15bd9f00475b25204cbc23f8c23e01588015", 16),
            "result": "F",
        },
        {
            "p": int(
                "e7c1c86125db9ef417da1ced7ea0861bdad629216a3f3c745df42a4"
                "6b989e59f4d98425ee3c932fa3c2b6f637bdb6545bec526faa037e1"
                "1f5578a4363b9fca5eba60d6a9cbaa2befd04141d989c7356285132"
                "c2eaf74f2d868521cdc0a17ae9a2546ef863027d3f8cc7949631fd0"
                "e2971417a912c8b8c5c989730db6ea6e8baee0e667850429038093c"
                "851ccb6fb173bb081e0efe0bd7450e0946888f89f75e443ab93ef2d"
                "a293a01622cf43c6dd79625d41ba8f9ef7e3086ab39134283d8e96c"
                "89249488120fd061e4a87d34af41069c0b4fd3934c31b589cbe85b6"
                "8b912718d5dab859fda7082511fad1d152044905005546e19b14aa9"
                "6585a55269bf2b831",
                16,
            ),
            "q": int(
                "8e056ec9d4b7acb580087a6ed9ba3478711bb025d5b8d9c731ef9b3"
                "8bd43db2f",
                16,
            ),
            "g": int(
                "dc2bfb9776786ad310c8b0cdcbba3062402613c67e6959a8d8d1b05"
                "aab636528b7b1fe9cd33765f853d6dbe13d09f2681f8c7b1ed7886a"
                "aed70c7bd76dbe858ffb8bd86235ddf759244678f428c6519af593d"
                "c94eeadbd9852ba2b3d61664e8d58c29d2039af3c3d6d16f90988f6"
                "a8c824569f3d48050e30896a9e17cd0232ef01ab8790008f6973b84"
                "c763a72f4ae8b485abfb7e8efeb86808fa2b281d3e5d65d28f5992a"
                "34c077c5aa8026cb2fbc34a45f7e9bd216b10e6f12ecb172e9a6eb8"
                "f2e91316905b6add1fd22e83bc2f089f1d5e6a6e6707c18ff55ddcb"
                "7954e8bceaf0efc4e8314910c03b0e51175f344faafee476a373ac9"
                "5743cec712b72cf2e",
                16,
            ),
            "digest_algorithm": "SHA-384",
            "msg": binascii.unhexlify(
                b"6cd6ccfd66bcd832189c5f0c77994210e3bf2c43416f0fe77c4e92f31c5"
                b"369538dc2c003f146c5ac79df43194ccf3c44d470d9f1083bd15b99b5bc"
                b"f88c32d8a9021f09ea2288d7b3bf345a12aef3949c1e121b9fb371a67c2"
                b"d1377364206ac839dd78483561426bda0303f285aa12e9c45d3cdfc6bea"
                b"e3549703b187deeb3296"
            ),
            "x": int(
                "56c897b5938ad5b3d437d7e4826da586a6b3be15e893fa1aaa946f2"
                "0a028b6b3",
                16,
            ),
            "y": int(
                "38ad44489e1a5778b9689f4dcf40e2acf23840fb954e987d6e8cb62"
                "9106328ac64e1f3c3eba48b21176ad4afe3b733bead382ee1597e1b"
                "83e4b43424f2daaba04e5bd79e1436693ac2bddb79a298f026e57e2"
                "00a252efd1e848a4a2e90be6e78f5242b468b9c0c6d2615047a5a40"
                "b9ae7e57a519114db55bf3bed65e580f894b094630ca9c217f6accd"
                "091e72d2f22da620044ff372d7273f9445017fad492959e59600b74"
                "94dbe766a03e40125d4e6747c76f68a5b0cdc0e7d7cee12d08c6fb7"
                "d0fb049e420a33405075ed4463296345ca695fb7feab7c1b5333ae5"
                "19fcd4bb6a043f4555378969114743d4face96cad31c0e0089da4e3"
                "f61b6d7dabc088ab7",
                16,
            ),
            "r": int(
                "3b85b17be240ed658beb3652c9d93e8e9eea160d35ee24596143058"
                "02963374e",
                16,
            ),
            "s": int(
                "726800a5174a53b56dce86064109c0273cd11fcfa3c92c5cd6aa910"
                "260c0e3c7",
                16,
            ),
            "result": "F",
        },
        {
            "p": int(
                "e7c1c86125db9ef417da1ced7ea0861bdad629216a3f3c745df42a4"
                "6b989e59f4d98425ee3c932fa3c2b6f637bdb6545bec526faa037e1"
                "1f5578a4363b9fca5eba60d6a9cbaa2befd04141d989c7356285132"
                "c2eaf74f2d868521cdc0a17ae9a2546ef863027d3f8cc7949631fd0"
                "e2971417a912c8b8c5c989730db6ea6e8baee0e667850429038093c"
                "851ccb6fb173bb081e0efe0bd7450e0946888f89f75e443ab93ef2d"
                "a293a01622cf43c6dd79625d41ba8f9ef7e3086ab39134283d8e96c"
                "89249488120fd061e4a87d34af41069c0b4fd3934c31b589cbe85b6"
                "8b912718d5dab859fda7082511fad1d152044905005546e19b14aa9"
                "6585a55269bf2b831",
                16,
            ),
            "q": int(
                "8e056ec9d4b7acb580087a6ed9ba3478711bb025d5b8d9c731ef9b3"
                "8bd43db2f",
                16,
            ),
            "g": int(
                "dc2bfb9776786ad310c8b0cdcbba3062402613c67e6959a8d8d1b05"
                "aab636528b7b1fe9cd33765f853d6dbe13d09f2681f8c7b1ed7886a"
                "aed70c7bd76dbe858ffb8bd86235ddf759244678f428c6519af593d"
                "c94eeadbd9852ba2b3d61664e8d58c29d2039af3c3d6d16f90988f6"
                "a8c824569f3d48050e30896a9e17cd0232ef01ab8790008f6973b84"
                "c763a72f4ae8b485abfb7e8efeb86808fa2b281d3e5d65d28f5992a"
                "34c077c5aa8026cb2fbc34a45f7e9bd216b10e6f12ecb172e9a6eb8"
                "f2e91316905b6add1fd22e83bc2f089f1d5e6a6e6707c18ff55ddcb"
                "7954e8bceaf0efc4e8314910c03b0e51175f344faafee476a373ac9"
                "5743cec712b72cf2e",
                16,
            ),
            "digest_algorithm": "SHA-384",
            "msg": binascii.unhexlify(
                b"3ad6b0884f358dea09c31a9abc40c45a6000611fc2b907b30eac00413fd"
                b"2819de7015488a411609d46c499b8f7afa1b78b352ac7f8535bd805b8ff"
                b"2a5eae557098c668f7ccd73af886d6823a6d456c29931ee864ed46d7673"
                b"82785728c2a83fcff5271007d2a67d06fa205fd7b9d1a42ea5d6dc76e5e"
                b"18a9eb148cd1e8b262ae"
            ),
            "x": int(
                "2faf566a9f057960f1b50c69508f483d9966d6e35743591f3a677a9"
                "dc40e1555",
                16,
            ),
            "y": int(
                "926425d617babe87c442b03903e32ba5bbf0cd9d602b59c4df791a4d"
                "64a6d4333ca0c0d370552539197d327dcd1bbf8c454f24b03fc7805f"
                "862db34c7b066ddfddbb11dbd010b27123062d028fe041cb56a2e774"
                "88348ae0ab6705d87aac4d4e9e6600e9e706326d9979982cffa839be"
                "b9eacc3963bcca455a507e80c1c37ad4e765b2c9c0477a075e9bc584"
                "feacdf3a35a9391d4711f14e197c54022282bfed9a191213d64127f1"
                "7a9c5affec26e0c71f15d3a5b16098fec118c45bf8bb2f3b1560df09"
                "49254c1c0aeb0a16d5a95a40fab8521fbe8ea77c51169b587cc3360e"
                "5733e6a23b9fded8c40724ea1f9e93614b3a6c9b4f8dbbe915b79449"
                "7227ba62",
                16,
            ),
            "r": int(
                "343ea0a9e66277380f604d5880fca686bffab69ca97bfba015a102a"
                "7e23dce0e",
                16,
            ),
            "s": int(
                "6258488c770e0f5ad7b9da8bade5023fc0d17c6ec517bd08d53e6dc"
                "01ac5c2b3",
                16,
            ),
            "result": "P",
        },
    ]

    assert expected == load_fips_dsa_sig_vectors(vector_data)


def test_load_fips_dsa_sig_gen_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 11.2
    # "SigGen" information for "dsa2_values"
    # Mod sizes selected: SHA-1 L=1024, N=160, SHA-256 L=2048, N=256

    [mod = L=1024, N=160, SHA-1]

    P = a8f9cd201e5e35d892f85f80e4db2599a5676a3b1d4f190330ed3256b26d0e80a0e49\
a8fffaaad2a24f472d2573241d4d6d6c7480c80b4c67bb4479c15ada7ea8424d2502fa01472e7\
60241713dab025ae1b02e1703a1435f62ddf4ee4c1b664066eb22f2e3bf28bb70a2a76e4fd5eb\
e2d1229681b5b06439ac9c7e9d8bde283
    Q = f85f0f83ac4df7ea0cdf8f469bfeeaea14156495
    G = 2b3152ff6c62f14622b8f48e59f8af46883b38e79b8c74deeae9df131f8b856e3ad6c\
8455dab87cc0da8ac973417ce4f7878557d6cdf40b35b4a0ca3eb310c6a95d68ce284ad4e25ea\
28591611ee08b8444bd64b25f3f7c572410ddfb39cc728b9c936f85f419129869929cdb909a6a\
3a99bbe089216368171bd0ba81de4fe33

    Msg = 3b46736d559bd4e0c2c1b2553a33ad3c6cf23cac998d3d0c0e8fa4b19bca06f2f38\
6db2dcff9dca4f40ad8f561ffc308b46c5f31a7735b5fa7e0f9e6cb512e63d7eea05538d66a75\
cd0d4234b5ccf6c1715ccaaf9cdc0a2228135f716ee9bdee7fc13ec27a03a6d11c5c5b3685f51\
900b1337153bc6c4e8f52920c33fa37f4e7
    Y = 313fd9ebca91574e1c2eebe1517c57e0c21b0209872140c5328761bbb2450b33f1b18\
b409ce9ab7c4cd8fda3391e8e34868357c199e16a6b2eba06d6749def791d79e95d3a4d09b24c\
392ad89dbf100995ae19c01062056bb14bce005e8731efde175f95b975089bdcdaea562b32786\
d96f5a31aedf75364008ad4fffebb970b
    R = 50ed0e810e3f1c7cb6ac62332058448bd8b284c0
    S = c6aded17216b46b7e4b6f2a97c1ad7cc3da83fde

    Msg = d2bcb53b044b3e2e4b61ba2f91c0995fb83a6a97525e66441a3b489d9594238bc74\
0bdeea0f718a769c977e2de003877b5d7dc25b182ae533db33e78f2c3ff0645f2137abc137d4e\
7d93ccf24f60b18a820bc07c7b4b5fe08b4f9e7d21b256c18f3b9d49acc4f93e2ce6f3754c780\
7757d2e1176042612cb32fc3f4f70700e25
    Y = 29bdd759aaa62d4bf16b4861c81cf42eac2e1637b9ecba512bdbc13ac12a80ae8de25\
26b899ae5e4a231aef884197c944c732693a634d7659abc6975a773f8d3cd5a361fe2492386a3\
c09aaef12e4a7e73ad7dfc3637f7b093f2c40d6223a195c136adf2ea3fbf8704a675aa7817aa7\
ec7f9adfb2854d4e05c3ce7f76560313b
    R = a26c00b5750a2d27fe7435b93476b35438b4d8ab
    S = 61c9bfcb2938755afa7dad1d1e07c6288617bf70

    [mod = L=2048, N=256, SHA-256]

    P = a8adb6c0b4cf9588012e5deff1a871d383e0e2a85b5e8e03d814fe13a059705e66323\
0a377bf7323a8fa117100200bfd5adf857393b0bbd67906c081e585410e38480ead51684dac3a\
38f7b64c9eb109f19739a4517cd7d5d6291e8af20a3fbf17336c7bf80ee718ee087e322ee4104\
7dabefbcc34d10b66b644ddb3160a28c0639563d71993a26543eadb7718f317bf5d9577a61565\
61b082a10029cd44012b18de6844509fe058ba87980792285f2750969fe89c2cd6498db354563\
8d5379d125dccf64e06c1af33a6190841d223da1513333a7c9d78462abaab31b9f96d5f34445c\
eb6309f2f6d2c8dde06441e87980d303ef9a1ff007e8be2f0be06cc15f
    Q = e71f8567447f42e75f5ef85ca20fe557ab0343d37ed09edc3f6e68604d6b9dfb
    G = 5ba24de9607b8998e66ce6c4f812a314c6935842f7ab54cd82b19fa104abfb5d84579\
a623b2574b37d22ccae9b3e415e48f5c0f9bcbdff8071d63b9bb956e547af3a8df99e5d306197\
9652ff96b765cb3ee493643544c75dbe5bb39834531952a0fb4b0378b3fcbb4c8b5800a533039\
2a2a04e700bb6ed7e0b85795ea38b1b962741b3f33b9dde2f4ec1354f09e2eb78e95f037a5804\
b6171659f88715ce1a9b0cc90c27f35ef2f10ff0c7c7a2bb0154d9b8ebe76a3d764aa879af372\
f4240de8347937e5a90cec9f41ff2f26b8da9a94a225d1a913717d73f10397d2183f1ba3b7b45\
a68f1ff1893caf69a827802f7b6a48d51da6fbefb64fd9a6c5b75c4561

    Msg = 4e3a28bcf90d1d2e75f075d9fbe55b36c5529b17bc3a9ccaba6935c9e20548255b3\
dfae0f91db030c12f2c344b3a29c4151c5b209f5e319fdf1c23b190f64f1fe5b330cb7c8fa952\
f9d90f13aff1cb11d63181da9efc6f7e15bfed4862d1a62c7dcf3ba8bf1ff304b102b1ec3f149\
7dddf09712cf323f5610a9d10c3d9132659
    Y = 5a55dceddd1134ee5f11ed85deb4d634a3643f5f36dc3a70689256469a0b651ad2288\
0f14ab85719434f9c0e407e60ea420e2a0cd29422c4899c416359dbb1e592456f2b3cce233259\
c117542fd05f31ea25b015d9121c890b90e0bad033be1368d229985aac7226d1c8c2eab325ef3\
b2cd59d3b9f7de7dbc94af1a9339eb430ca36c26c46ecfa6c5481711496f624e188ad7540ef5d\
f26f8efacb820bd17a1f618acb50c9bc197d4cb7ccac45d824a3bf795c234b556b06aeb929173\
453252084003f69fe98045fe74002ba658f93475622f76791d9b2623d1b5fff2cc16844746efd\
2d30a6a8134bfc4c8cc80a46107901fb973c28fc553130f3286c1489da
    R = 633055e055f237c38999d81c397848c38cce80a55b649d9e7905c298e2a51447
    S = 2bbf68317660ec1e4b154915027b0bc00ee19cfc0bf75d01930504f2ce10a8b0

    Msg = a733b3f588d5ac9b9d4fe2f804df8c256403a9f8eef6f191fc48e1267fb5b4d546b\
a11e77b667844e489bf0d5f72990aeb061d01ccd7949a23def74a803b7d92d51abfadeb4885ff\
d8ffd58ab87548a15c087a39b8993b2fa64c9d31a594eeb7512da16955834336a234435c5a9d0\
dd9b15a94e116154dea63fdc8dd7a512181
    Y = 356ed47537fbf02cb30a8cee0537f300dff1d0c467399ce70b87a8758d5ec9dd25624\
6fccaeb9dfe109f2a984f2ddaa87aad54ce0d31f907e504521baf4207d7073b0a4a9fc67d8ddd\
a99f87aed6e0367cec27f9c608af743bf1ee6e11d55a182d43b024ace534029b866f6422828bb\
81a39aae9601ee81c7f81dd358e69f4e2edfa4654d8a65bc64311dc86aac4abc1fc7a3f651596\
61a0d8e288eb8d665cb0adf5ac3d6ba8e9453facf7542393ae24fd50451d3828086558f7ec528\
e284935a53f67a1aa8e25d8ad5c4ad55d83aef883a4d9eeb6297e6a53f65049ba9e2c6b7953a7\
60bc1dc46f78ceaaa2c02f5375dd82e708744aa40b15799eb81d7e5b1a
    R = bcd490568c0a89ba311bef88ea4f4b03d273e793722722327095a378dd6f3522
    S = 74498fc43091fcdd2d1ef0775f8286945a01cd72b805256b0451f9cbd943cf82
    """
    ).splitlines()

    expected = [
        {
            "p": int(
                "a8f9cd201e5e35d892f85f80e4db2599a5676a3b1d4f190330ed325"
                "6b26d0e80a0e49a8fffaaad2a24f472d2573241d4d6d6c7480c80b4"
                "c67bb4479c15ada7ea8424d2502fa01472e760241713dab025ae1b0"
                "2e1703a1435f62ddf4ee4c1b664066eb22f2e3bf28bb70a2a76e4fd"
                "5ebe2d1229681b5b06439ac9c7e9d8bde283",
                16,
            ),
            "q": int("f85f0f83ac4df7ea0cdf8f469bfeeaea14156495", 16),
            "g": int(
                "2b3152ff6c62f14622b8f48e59f8af46883b38e79b8c74deeae9df1"
                "31f8b856e3ad6c8455dab87cc0da8ac973417ce4f7878557d6cdf40"
                "b35b4a0ca3eb310c6a95d68ce284ad4e25ea28591611ee08b8444bd"
                "64b25f3f7c572410ddfb39cc728b9c936f85f419129869929cdb909"
                "a6a3a99bbe089216368171bd0ba81de4fe33",
                16,
            ),
            "digest_algorithm": "SHA-1",
            "msg": binascii.unhexlify(
                b"3b46736d559bd4e0c2c1b2553a33ad3c6cf23cac998d3d0c0e8fa4b19bc"
                b"a06f2f386db2dcff9dca4f40ad8f561ffc308b46c5f31a7735b5fa7e0f9"
                b"e6cb512e63d7eea05538d66a75cd0d4234b5ccf6c1715ccaaf9cdc0a222"
                b"8135f716ee9bdee7fc13ec27a03a6d11c5c5b3685f51900b1337153bc6c"
                b"4e8f52920c33fa37f4e7"
            ),
            "y": int(
                "313fd9ebca91574e1c2eebe1517c57e0c21b0209872140c5328761b"
                "bb2450b33f1b18b409ce9ab7c4cd8fda3391e8e34868357c199e16a"
                "6b2eba06d6749def791d79e95d3a4d09b24c392ad89dbf100995ae1"
                "9c01062056bb14bce005e8731efde175f95b975089bdcdaea562b32"
                "786d96f5a31aedf75364008ad4fffebb970b",
                16,
            ),
            "r": int("50ed0e810e3f1c7cb6ac62332058448bd8b284c0", 16),
            "s": int("c6aded17216b46b7e4b6f2a97c1ad7cc3da83fde", 16),
        },
        {
            "p": int(
                "a8f9cd201e5e35d892f85f80e4db2599a5676a3b1d4f190330ed325"
                "6b26d0e80a0e49a8fffaaad2a24f472d2573241d4d6d6c7480c80b4"
                "c67bb4479c15ada7ea8424d2502fa01472e760241713dab025ae1b0"
                "2e1703a1435f62ddf4ee4c1b664066eb22f2e3bf28bb70a2a76e4fd"
                "5ebe2d1229681b5b06439ac9c7e9d8bde283",
                16,
            ),
            "q": int("f85f0f83ac4df7ea0cdf8f469bfeeaea14156495", 16),
            "g": int(
                "2b3152ff6c62f14622b8f48e59f8af46883b38e79b8c74deeae9df1"
                "31f8b856e3ad6c8455dab87cc0da8ac973417ce4f7878557d6cdf40"
                "b35b4a0ca3eb310c6a95d68ce284ad4e25ea28591611ee08b8444bd"
                "64b25f3f7c572410ddfb39cc728b9c936f85f419129869929cdb909"
                "a6a3a99bbe089216368171bd0ba81de4fe33",
                16,
            ),
            "digest_algorithm": "SHA-1",
            "msg": binascii.unhexlify(
                b"d2bcb53b044b3e2e4b61ba2f91c0995fb83a6a97525e66441a3b489d959"
                b"4238bc740bdeea0f718a769c977e2de003877b5d7dc25b182ae533db33e"
                b"78f2c3ff0645f2137abc137d4e7d93ccf24f60b18a820bc07c7b4b5fe08"
                b"b4f9e7d21b256c18f3b9d49acc4f93e2ce6f3754c7807757d2e11760426"
                b"12cb32fc3f4f70700e25"
            ),
            "y": int(
                "29bdd759aaa62d4bf16b4861c81cf42eac2e1637b9ecba512bdbc13"
                "ac12a80ae8de2526b899ae5e4a231aef884197c944c732693a634d7"
                "659abc6975a773f8d3cd5a361fe2492386a3c09aaef12e4a7e73ad7"
                "dfc3637f7b093f2c40d6223a195c136adf2ea3fbf8704a675aa7817"
                "aa7ec7f9adfb2854d4e05c3ce7f76560313b",
                16,
            ),
            "r": int("a26c00b5750a2d27fe7435b93476b35438b4d8ab", 16),
            "s": int("61c9bfcb2938755afa7dad1d1e07c6288617bf70", 16),
        },
        {
            "p": int(
                "a8adb6c0b4cf9588012e5deff1a871d383e0e2a85b5e8e03d814fe1"
                "3a059705e663230a377bf7323a8fa117100200bfd5adf857393b0bb"
                "d67906c081e585410e38480ead51684dac3a38f7b64c9eb109f1973"
                "9a4517cd7d5d6291e8af20a3fbf17336c7bf80ee718ee087e322ee4"
                "1047dabefbcc34d10b66b644ddb3160a28c0639563d71993a26543e"
                "adb7718f317bf5d9577a6156561b082a10029cd44012b18de684450"
                "9fe058ba87980792285f2750969fe89c2cd6498db3545638d5379d1"
                "25dccf64e06c1af33a6190841d223da1513333a7c9d78462abaab31"
                "b9f96d5f34445ceb6309f2f6d2c8dde06441e87980d303ef9a1ff00"
                "7e8be2f0be06cc15f",
                16,
            ),
            "q": int(
                "e71f8567447f42e75f5ef85ca20fe557ab0343d37ed09edc3f6e686"
                "04d6b9dfb",
                16,
            ),
            "g": int(
                "5ba24de9607b8998e66ce6c4f812a314c6935842f7ab54cd82b19fa"
                "104abfb5d84579a623b2574b37d22ccae9b3e415e48f5c0f9bcbdff"
                "8071d63b9bb956e547af3a8df99e5d3061979652ff96b765cb3ee49"
                "3643544c75dbe5bb39834531952a0fb4b0378b3fcbb4c8b5800a533"
                "0392a2a04e700bb6ed7e0b85795ea38b1b962741b3f33b9dde2f4ec"
                "1354f09e2eb78e95f037a5804b6171659f88715ce1a9b0cc90c27f3"
                "5ef2f10ff0c7c7a2bb0154d9b8ebe76a3d764aa879af372f4240de8"
                "347937e5a90cec9f41ff2f26b8da9a94a225d1a913717d73f10397d"
                "2183f1ba3b7b45a68f1ff1893caf69a827802f7b6a48d51da6fbefb"
                "64fd9a6c5b75c4561",
                16,
            ),
            "digest_algorithm": "SHA-256",
            "msg": binascii.unhexlify(
                b"4e3a28bcf90d1d2e75f075d9fbe55b36c5529b17bc3a9ccaba6935c9e20"
                b"548255b3dfae0f91db030c12f2c344b3a29c4151c5b209f5e319fdf1c23"
                b"b190f64f1fe5b330cb7c8fa952f9d90f13aff1cb11d63181da9efc6f7e1"
                b"5bfed4862d1a62c7dcf3ba8bf1ff304b102b1ec3f1497dddf09712cf323"
                b"f5610a9d10c3d9132659"
            ),
            "y": int(
                "5a55dceddd1134ee5f11ed85deb4d634a3643f5f36dc3a706892564"
                "69a0b651ad22880f14ab85719434f9c0e407e60ea420e2a0cd29422"
                "c4899c416359dbb1e592456f2b3cce233259c117542fd05f31ea25b"
                "015d9121c890b90e0bad033be1368d229985aac7226d1c8c2eab325"
                "ef3b2cd59d3b9f7de7dbc94af1a9339eb430ca36c26c46ecfa6c548"
                "1711496f624e188ad7540ef5df26f8efacb820bd17a1f618acb50c9"
                "bc197d4cb7ccac45d824a3bf795c234b556b06aeb92917345325208"
                "4003f69fe98045fe74002ba658f93475622f76791d9b2623d1b5fff"
                "2cc16844746efd2d30a6a8134bfc4c8cc80a46107901fb973c28fc5"
                "53130f3286c1489da",
                16,
            ),
            "r": int(
                "633055e055f237c38999d81c397848c38cce80a55b649d9e7905c29"
                "8e2a51447",
                16,
            ),
            "s": int(
                "2bbf68317660ec1e4b154915027b0bc00ee19cfc0bf75d01930504f"
                "2ce10a8b0",
                16,
            ),
        },
        {
            "p": int(
                "a8adb6c0b4cf9588012e5deff1a871d383e0e2a85b5e8e03d814fe1"
                "3a059705e663230a377bf7323a8fa117100200bfd5adf857393b0bb"
                "d67906c081e585410e38480ead51684dac3a38f7b64c9eb109f1973"
                "9a4517cd7d5d6291e8af20a3fbf17336c7bf80ee718ee087e322ee4"
                "1047dabefbcc34d10b66b644ddb3160a28c0639563d71993a26543e"
                "adb7718f317bf5d9577a6156561b082a10029cd44012b18de684450"
                "9fe058ba87980792285f2750969fe89c2cd6498db3545638d5379d1"
                "25dccf64e06c1af33a6190841d223da1513333a7c9d78462abaab31"
                "b9f96d5f34445ceb6309f2f6d2c8dde06441e87980d303ef9a1ff00"
                "7e8be2f0be06cc15f",
                16,
            ),
            "q": int(
                "e71f8567447f42e75f5ef85ca20fe557ab0343d37ed09edc3f6e686"
                "04d6b9dfb",
                16,
            ),
            "g": int(
                "5ba24de9607b8998e66ce6c4f812a314c6935842f7ab54cd82b19fa"
                "104abfb5d84579a623b2574b37d22ccae9b3e415e48f5c0f9bcbdff"
                "8071d63b9bb956e547af3a8df99e5d3061979652ff96b765cb3ee49"
                "3643544c75dbe5bb39834531952a0fb4b0378b3fcbb4c8b5800a533"
                "0392a2a04e700bb6ed7e0b85795ea38b1b962741b3f33b9dde2f4ec"
                "1354f09e2eb78e95f037a5804b6171659f88715ce1a9b0cc90c27f3"
                "5ef2f10ff0c7c7a2bb0154d9b8ebe76a3d764aa879af372f4240de8"
                "347937e5a90cec9f41ff2f26b8da9a94a225d1a913717d73f10397d"
                "2183f1ba3b7b45a68f1ff1893caf69a827802f7b6a48d51da6fbefb"
                "64fd9a6c5b75c4561",
                16,
            ),
            "digest_algorithm": "SHA-256",
            "msg": binascii.unhexlify(
                b"a733b3f588d5ac9b9d4fe2f804df8c256403a9f8eef6f191fc48e1267fb"
                b"5b4d546ba11e77b667844e489bf0d5f72990aeb061d01ccd7949a23def7"
                b"4a803b7d92d51abfadeb4885ffd8ffd58ab87548a15c087a39b8993b2fa"
                b"64c9d31a594eeb7512da16955834336a234435c5a9d0dd9b15a94e11615"
                b"4dea63fdc8dd7a512181"
            ),
            "y": int(
                "356ed47537fbf02cb30a8cee0537f300dff1d0c467399ce70b87a87"
                "58d5ec9dd256246fccaeb9dfe109f2a984f2ddaa87aad54ce0d31f9"
                "07e504521baf4207d7073b0a4a9fc67d8ddda99f87aed6e0367cec2"
                "7f9c608af743bf1ee6e11d55a182d43b024ace534029b866f642282"
                "8bb81a39aae9601ee81c7f81dd358e69f4e2edfa4654d8a65bc6431"
                "1dc86aac4abc1fc7a3f65159661a0d8e288eb8d665cb0adf5ac3d6b"
                "a8e9453facf7542393ae24fd50451d3828086558f7ec528e284935a"
                "53f67a1aa8e25d8ad5c4ad55d83aef883a4d9eeb6297e6a53f65049"
                "ba9e2c6b7953a760bc1dc46f78ceaaa2c02f5375dd82e708744aa40"
                "b15799eb81d7e5b1a",
                16,
            ),
            "r": int(
                "bcd490568c0a89ba311bef88ea4f4b03d273e793722722327095a37"
                "8dd6f3522",
                16,
            ),
            "s": int(
                "74498fc43091fcdd2d1ef0775f8286945a01cd72b805256b0451f9c"
                "bd943cf82",
                16,
            ),
        },
    ]
    assert expected == load_fips_dsa_sig_vectors(vector_data)


def test_load_fips_ecdsa_key_pair_vectors():
    vector_data = textwrap.dedent(
        """
    #  CAVS 11.0
    #  "Key Pair" information
    #  Curves selected: P-192 K-233 B-571
    #  Generated on Wed Mar 16 16:16:42 2011


    [P-192]

    [B.4.2 Key Pair Generation by Testing Candidates]
    N = 2

    d = e5ce89a34adddf25ff3bf1ffe6803f57d0220de3118798ea
    Qx = 8abf7b3ceb2b02438af19543d3e5b1d573fa9ac60085840f
    Qy = a87f80182dcd56a6a061f81f7da393e7cffd5e0738c6b245

    d = 7d14435714ad13ff23341cb567cc91198ff8617cc39751b2
    Qx = 39dc723b19527daa1e80425209c56463481b9b47c51f8cbd
    Qy = 432a3e84f2a16418834fabaf6b7d2341669512951f1672ad


    [K-233]

    [B.4.2 Key Pair Generation by Testing Candidates]
    N = 2

    d = 01da7422b50e3ff051f2aaaed10acea6cbf6110c517da2f4eaca8b5b87
    Qx = 01c7475da9a161e4b3f7d6b086494063543a979e34b8d7ac44204d47bf9f
    Qy = 0131cbd433f112871cc175943991b6a1350bf0cdd57ed8c831a2a7710c92

    d = 530951158f7b1586978c196603c12d25607d2cb0557efadb23cd0ce8
    Qx = d37500a0391d98d3070d493e2b392a2c79dc736c097ed24b7dd5ddec44
    Qy = 01d996cc79f37d8dba143d4a8ad9a8a60ed7ea760aae1ddba34d883f65d9


    [B-571]

    [B.4.2 Key Pair Generation by Testing Candidates]
    N = 2

    d = 01443e93c7ef6802655f641ecbe95e75f1f15b02d2e172f49a32e22047d5c00ebe1b3f\
f0456374461360667dbf07bc67f7d6135ee0d1d46a226a530fefe8ebf3b926e9fbad8d57a6
    Qx = 053e3710d8e7d4138db0a369c97e5332c1be38a20a4a84c36f5e55ea9fd6f34545b86\
4ea64f319e74b5ee9e4e1fa1b7c5b2db0e52467518f8c45b658824871d5d4025a6320ca06f8
    Qy = 03a22cfd370c4a449b936ae97ab97aab11c57686cca99d14ef184f9417fad8bedae4d\
f8357e3710bcda1833b30e297d4bf637938b995d231e557d13f062e81e830af5ab052208ead

    d = 03d2bd44ca9eeee8c860a4873ed55a54bdfdf5dab4060df7292877960b85d1fd496aa3\
3c587347213d7f6bf208a6ab4b430546e7b6ffbc3135bd12f44a28517867ca3c83a821d6f8
    Qx = 07a7af10f6617090bade18b2e092d0dfdc87cd616db7f2db133477a82bfe3ea421ebb\
7d6289980819292a719eb247195529ea60ad62862de0a26c72bfc49ecc81c2f9ed704e3168f
    Qy = 0721496cf16f988b1aabef3368450441df8439a0ca794170f270ead56203d675b57f5\
a4090a3a2f602a77ff3bac1417f7e25a683f667b3b91f105016a47afad46a0367b18e2bdf0c
    """
    ).splitlines()

    expected = [
        {
            "curve": "secp192r1",
            "d": int("e5ce89a34adddf25ff3bf1ffe6803f57d0220de3118798ea", 16),
            "x": int("8abf7b3ceb2b02438af19543d3e5b1d573fa9ac60085840f", 16),
            "y": int("a87f80182dcd56a6a061f81f7da393e7cffd5e0738c6b245", 16),
        },
        {
            "curve": "secp192r1",
            "d": int("7d14435714ad13ff23341cb567cc91198ff8617cc39751b2", 16),
            "x": int("39dc723b19527daa1e80425209c56463481b9b47c51f8cbd", 16),
            "y": int("432a3e84f2a16418834fabaf6b7d2341669512951f1672ad", 16),
        },
        {
            "curve": "sect233k1",
            "d": int(
                "1da7422b50e3ff051f2aaaed10acea6cbf6110c517da2f4eaca8b5b87",
                16,
            ),
            "x": int(
                "1c7475da9a161e4b3f7d6b086494063543a979e34b8d7ac44204d47bf9f",
                16,
            ),
            "y": int(
                "131cbd433f112871cc175943991b6a1350bf0cdd57ed8c831a2a7710c92",
                16,
            ),
        },
        {
            "curve": "sect233k1",
            "d": int(
                "530951158f7b1586978c196603c12d25607d2cb0557efadb23cd0ce8",
                16,
            ),
            "x": int(
                "d37500a0391d98d3070d493e2b392a2c79dc736c097ed24b7dd5ddec44",
                16,
            ),
            "y": int(
                "1d996cc79f37d8dba143d4a8ad9a8a60ed7ea760aae1ddba34d883f65d9",
                16,
            ),
        },
        {
            "curve": "sect571r1",
            "d": int(
                "1443e93c7ef6802655f641ecbe95e75f1f15b02d2e172f49"
                "a32e22047d5c00ebe1b3ff0456374461360667dbf07bc67f"
                "7d6135ee0d1d46a226a530fefe8ebf3b926e9fbad8d57a6",
                16,
            ),
            "x": int(
                "53e3710d8e7d4138db0a369c97e5332c1be38a20a4a84c36"
                "f5e55ea9fd6f34545b864ea64f319e74b5ee9e4e1fa1b7c5"
                "b2db0e52467518f8c45b658824871d5d4025a6320ca06f8",
                16,
            ),
            "y": int(
                "3a22cfd370c4a449b936ae97ab97aab11c57686cca99d14e"
                "f184f9417fad8bedae4df8357e3710bcda1833b30e297d4b"
                "f637938b995d231e557d13f062e81e830af5ab052208ead",
                16,
            ),
        },
        {
            "curve": "sect571r1",
            "d": int(
                "3d2bd44ca9eeee8c860a4873ed55a54bdfdf5dab4060df72"
                "92877960b85d1fd496aa33c587347213d7f6bf208a6ab4b4"
                "30546e7b6ffbc3135bd12f44a28517867ca3c83a821d6f8",
                16,
            ),
            "x": int(
                "7a7af10f6617090bade18b2e092d0dfdc87cd616db7f2db1"
                "33477a82bfe3ea421ebb7d6289980819292a719eb2471955"
                "29ea60ad62862de0a26c72bfc49ecc81c2f9ed704e3168f",
                16,
            ),
            "y": int(
                "721496cf16f988b1aabef3368450441df8439a0ca794170f"
                "270ead56203d675b57f5a4090a3a2f602a77ff3bac1417f7"
                "e25a683f667b3b91f105016a47afad46a0367b18e2bdf0c",
                16,
            ),
        },
    ]

    assert expected == load_fips_ecdsa_key_pair_vectors(vector_data)


def test_load_fips_ecdsa_signing_vectors():
    vector_data = textwrap.dedent(
        """
    #  CAVS 11.2
    #  "SigVer" information for "ecdsa_values"
    #  Curves/SHAs selected: P-192, B-571,SHA-512
    #  Generated on Tue Aug 16 15:27:42 2011

    [P-192,SHA-1]

    Msg = ebf748d748ebbca7d29fb473698a6e6b4fb10c865d4af024cc39ae3df3464ba4f1d6\
d40f32bf9618a91bb5986fa1a2af048a0e14dc51e5267eb05e127d689d0ac6f1a7f156ce066316\
b971cc7a11d0fd7a2093e27cf2d08727a4e6748cc32fd59c7810c5b9019df21cdcc0bca432c0a3\
eed0785387508877114359cee4a071cf
    d = e14f37b3d1374ff8b03f41b9b3fdd2f0ebccf275d660d7f3
    Qx = 07008ea40b08dbe76432096e80a2494c94982d2d5bcf98e6
    Qy = 76fab681d00b414ea636ba215de26d98c41bd7f2e4d65477
    k = cb0abc7043a10783684556fb12c4154d57bc31a289685f25
    R = 6994d962bdd0d793ffddf855ec5bf2f91a9698b46258a63e
    S = 02ba6465a234903744ab02bc8521405b73cf5fc00e1a9f41
    Result = F (3 - S changed)

    Msg = 0dcb3e96d77ee64e9d0a350d31563d525755fc675f0c833504e83fc69c030181b42f\
e80c378e86274a93922c570d54a7a358c05755ec3ae91928e02236e81b43e596e4ccbf6a910488\
9c388072bec4e1faeae11fe4eb24fa4f9573560dcf2e3abc703c526d46d502c7a7222583431cc8\
178354ae7dbb84e3479917707bce0968
    d = 7a0235bea3d70445f14d56f9b7fb80ec8ff4eb2f76865244
    Qx = 0ea3c1fa1f124f26530cbfddeb831eecc67df31e08889d1d
    Qy = 7215a0cce0501b47903bd8fe1179c2dfe07bd076f89f5225
    k = 3c646b0f03f5575e5fd463d4319817ce8bd3022eaf551cef
    R = a3ba51c39c43991d87dff0f34d0bec7c883299e04f60f95e
    S = 8a7f9c59c6d65ad390e4c19636ba92b53be5d0f848b4e1f7

    [B-571,SHA-512]

    Msg = 10d2e00ae57176c79cdfc746c0c887abe799ee445b151b008e3d9f81eb69be40298d\
df37b5c45a9b6e5ff83785d8c140cf11e6a4c3879a2845796872363da24b10f1f8d9cc48f8af20\
681dceb60dd62095d6d3b1779a4a805de3d74e38983b24c0748618e2f92ef7cac257ff4bd1f411\
13f2891eb13c47930e69ddbe91f270fb
    d = 03e1b03ffca4399d5b439fac8f87a5cb06930f00d304193d7daf83d5947d0c1e293f74\
aef8e56849f16147133c37a6b3d1b1883e5d61d6b871ea036c5291d9a74541f28878cb986
    Qx = 3b236fc135d849d50140fdaae1045e6ae35ef61091e98f5059b30eb16acdd0deb2bc0\
d3544bc3a666e0014e50030134fe5466a9e4d3911ed580e28851f3747c0010888e819d3d1f
    Qy = 3a8b6627a587d289032bd76374d16771188d7ff281c39542c8977f6872fa932e5daa1\
4e13792dea9ffe8e9f68d6b525ec99b81a5a60cfb0590cc6f297cfff8d7ba1a8bb81fe2e16
    k = 2e56a94cfbbcd293e242f0c2a2e9df289a9480e6ba52e0f00fa19bcf2a7769bd155e6b\
79ddbd6a8646b0e69c8baea27f8034a18796e8eb4fe6e0e2358c383521d9375d2b6b437f9
    R = 2eb1c5c1fc93cf3c8babed12c031cf1504e094174fd335104cbe4a2abd210b5a14b1c3\
a455579f1ed0517c31822340e4dd3c1f967e1b4b9d071a1072afc1a199f8c548cd449a634
    S = 22f97bb48641235826cf4e597fa8de849402d6bd6114ad2d7fbcf53a08247e5ee921f1\
bd5994dffee36eedff5592bb93b8bb148214da3b7baebffbd96b4f86c55b3f6bbac142442
    Result = P (0 )

    Msg = b61a0849a28672cb536fcf61ea2eb389d02ff7a09aa391744cae6597bd56703c40c5\
0ca2dee5f7ee796acfd47322f03d8dbe4d99dc8eec588b4e5467f123075b2d74b2a0b0bbfd3ac5\
487a905fad6d6ac1421c2e564c0cf15e1f0f10bc31c249b7b46edd2462a55f85560d99bde9d5b0\
6b97817d1dbe0a67c701d6e6e7878272
    d = 2e09ffd8b434bb7f67d1d3ccf482164f1653c6e4ec64dec2517aa21b7a93b2b21ea1ee\
bb54734882f29303e489f02e3b741a87287e2dcdf3858eb6d2ec668f8b5b26f442ce513a2
    Qx = 36f1be8738dd7dae4486b86a08fe90424f3673e76b10e739442e15f3bfafaf841842a\
c98e490521b7e7bb94c127529f6ec6a42cc6f06fc80606f1210fe020ff508148f93301c9d3
    Qy = 4d39666ebe99fe214336ad440d776c88eb916f2f4a3433548b87d2aebed840b424d15\
c8341b4a0a657bf6a234d4fe78631c8e07ac1f4dc7474cd6b4545d536b7b17c160db4562d9
    k = 378e7801566d7b77db7a474717ab2195b02957cc264a9449d4126a7cc574728ed5a476\
9abd5dde987ca66cfe3d45b5fc52ffd266acb8a8bb3fcb4b60f7febbf48aebe33bd3efbdd
    R = 3d8105f87fe3166046c08e80a28acc98a80b8b7a729623053c2a9e80afd06756edfe09\
bdcf3035f6829ede041b745955d219dc5d30ddd8b37f6ba0f6d2857504cdc68a1ed812a10
    S = 34db9998dc53527114518a7ce3783d674ca8cced823fa05e2942e7a0a20b3cc583dcd9\
30c43f9b93079c5ee18a1f5a66e7c3527c18610f9b47a4da7e245ef803e0662e4d2ad721c
    """
    ).splitlines()

    expected = [
        {
            "curve": "secp192r1",
            "digest_algorithm": "SHA-1",
            "message": binascii.unhexlify(
                b"ebf748d748ebbca7d29fb473698a6e6b4fb10c865d4af024cc39ae3df346"
                b"4ba4f1d6d40f32bf9618a91bb5986fa1a2af048a0e14dc51e5267eb05e12"
                b"7d689d0ac6f1a7f156ce066316b971cc7a11d0fd7a2093e27cf2d08727a4"
                b"e6748cc32fd59c7810c5b9019df21cdcc0bca432c0a3eed0785387508877"
                b"114359cee4a071cf"
            ),
            "d": int("e14f37b3d1374ff8b03f41b9b3fdd2f0ebccf275d660d7f3", 16),
            "x": int("7008ea40b08dbe76432096e80a2494c94982d2d5bcf98e6", 16),
            "y": int("76fab681d00b414ea636ba215de26d98c41bd7f2e4d65477", 16),
            "r": int("6994d962bdd0d793ffddf855ec5bf2f91a9698b46258a63e", 16),
            "s": int("02ba6465a234903744ab02bc8521405b73cf5fc00e1a9f41", 16),
            "fail": True,
        },
        {
            "curve": "secp192r1",
            "digest_algorithm": "SHA-1",
            "message": binascii.unhexlify(
                b"0dcb3e96d77ee64e9d0a350d31563d525755fc675f0c833504e83fc69c03"
                b"0181b42fe80c378e86274a93922c570d54a7a358c05755ec3ae91928e022"
                b"36e81b43e596e4ccbf6a9104889c388072bec4e1faeae11fe4eb24fa4f95"
                b"73560dcf2e3abc703c526d46d502c7a7222583431cc8178354ae7dbb84e3"
                b"479917707bce0968"
            ),
            "d": int("7a0235bea3d70445f14d56f9b7fb80ec8ff4eb2f76865244", 16),
            "x": int("ea3c1fa1f124f26530cbfddeb831eecc67df31e08889d1d", 16),
            "y": int("7215a0cce0501b47903bd8fe1179c2dfe07bd076f89f5225", 16),
            "r": int("a3ba51c39c43991d87dff0f34d0bec7c883299e04f60f95e", 16),
            "s": int("8a7f9c59c6d65ad390e4c19636ba92b53be5d0f848b4e1f7", 16),
        },
        {
            "curve": "sect571r1",
            "digest_algorithm": "SHA-512",
            "message": binascii.unhexlify(
                b"10d2e00ae57176c79cdfc746c0c887abe799ee445b151b008e3d9f81eb69"
                b"be40298ddf37b5c45a9b6e5ff83785d8c140cf11e6a4c3879a2845796872"
                b"363da24b10f1f8d9cc48f8af20681dceb60dd62095d6d3b1779a4a805de3"
                b"d74e38983b24c0748618e2f92ef7cac257ff4bd1f41113f2891eb13c4793"
                b"0e69ddbe91f270fb"
            ),
            "d": int(
                "3e1b03ffca4399d5b439fac8f87a5cb06930f00d304193d7daf83d59"
                "47d0c1e293f74aef8e56849f16147133c37a6b3d1b1883e5d61d6b87"
                "1ea036c5291d9a74541f28878cb986",
                16,
            ),
            "x": int(
                "3b236fc135d849d50140fdaae1045e6ae35ef61091e98f5059b30eb1"
                "6acdd0deb2bc0d3544bc3a666e0014e50030134fe5466a9e4d3911ed"
                "580e28851f3747c0010888e819d3d1f",
                16,
            ),
            "y": int(
                "3a8b6627a587d289032bd76374d16771188d7ff281c39542c8977f68"
                "72fa932e5daa14e13792dea9ffe8e9f68d6b525ec99b81a5a60cfb05"
                "90cc6f297cfff8d7ba1a8bb81fe2e16",
                16,
            ),
            "r": int(
                "2eb1c5c1fc93cf3c8babed12c031cf1504e094174fd335104cbe4a2a"
                "bd210b5a14b1c3a455579f1ed0517c31822340e4dd3c1f967e1b4b9d"
                "071a1072afc1a199f8c548cd449a634",
                16,
            ),
            "s": int(
                "22f97bb48641235826cf4e597fa8de849402d6bd6114ad2d7fbcf53a"
                "08247e5ee921f1bd5994dffee36eedff5592bb93b8bb148214da3b7b"
                "aebffbd96b4f86c55b3f6bbac142442",
                16,
            ),
            "fail": False,
        },
        {
            "curve": "sect571r1",
            "digest_algorithm": "SHA-512",
            "message": binascii.unhexlify(
                b"b61a0849a28672cb536fcf61ea2eb389d02ff7a09aa391744cae6597bd56"
                b"703c40c50ca2dee5f7ee796acfd47322f03d8dbe4d99dc8eec588b4e5467"
                b"f123075b2d74b2a0b0bbfd3ac5487a905fad6d6ac1421c2e564c0cf15e1f"
                b"0f10bc31c249b7b46edd2462a55f85560d99bde9d5b06b97817d1dbe0a67"
                b"c701d6e6e7878272"
            ),
            "d": int(
                "2e09ffd8b434bb7f67d1d3ccf482164f1653c6e4ec64dec2517aa21b"
                "7a93b2b21ea1eebb54734882f29303e489f02e3b741a87287e2dcdf3"
                "858eb6d2ec668f8b5b26f442ce513a2",
                16,
            ),
            "x": int(
                "36f1be8738dd7dae4486b86a08fe90424f3673e76b10e739442e15f3"
                "bfafaf841842ac98e490521b7e7bb94c127529f6ec6a42cc6f06fc80"
                "606f1210fe020ff508148f93301c9d3",
                16,
            ),
            "y": int(
                "4d39666ebe99fe214336ad440d776c88eb916f2f4a3433548b87d2ae"
                "bed840b424d15c8341b4a0a657bf6a234d4fe78631c8e07ac1f4dc74"
                "74cd6b4545d536b7b17c160db4562d9",
                16,
            ),
            "r": int(
                "3d8105f87fe3166046c08e80a28acc98a80b8b7a729623053c2a9e80"
                "afd06756edfe09bdcf3035f6829ede041b745955d219dc5d30ddd8b3"
                "7f6ba0f6d2857504cdc68a1ed812a10",
                16,
            ),
            "s": int(
                "34db9998dc53527114518a7ce3783d674ca8cced823fa05e2942e7a0"
                "a20b3cc583dcd930c43f9b93079c5ee18a1f5a66e7c3527c18610f9b"
                "47a4da7e245ef803e0662e4d2ad721c",
                16,
            ),
        },
    ]
    assert expected == load_fips_ecdsa_signing_vectors(vector_data)


def test_load_kasvs_dh_vectors():
    vector_data = textwrap.dedent(
        """
    [SHA(s) supported (Used for hashing Z): SHA256 ]
    #  Generated on Thu Mar 17 20:44:26 2011



    [FA - SHA1]
    P = da3a8085d372437805de95b88b675122f575df976610c6a844de99f1df82a06848bf7a\
42f18895c97402e81118e01a00d0855d51922f434c022350861d58ddf60d65bc6941fc6064b147\
071a4c30426d82fc90d888f94990267c64beef8c304a4b2b26fb93724d6a9472fa16bc50c5b9b8\
b59afb62cfe9ea3ba042c73a6ade35
    Q = f2ca7621eb250aa5f22cef1907011295defc50a7
    G = a51883e9ac0539859df3d25c716437008bb4bd8ec4786eb4bc643299daef5e3e5af586\
3a6ac40a597b83a27583f6a658d408825105b16d31b6ed088fc623f648fd6d95e9cefcb0745763\
cddf564c87bcf4ba7928e74fd6a3080481f588d535e4c026b58a21e1e5ec412ff241b436043e29\
173f1dc6cb943c09742de989547288



    COUNT = 0
    XstatCAVS = 42c6ee70beb7465928a1efe692d2281b8f7b53d6
    YstatCAVS = 5a7890f6d20ee9c7162cd84222cb0c7cb5b4f29244a58fc95327fc41045f47\
6fb3da42fca76a1dd59222a7a7c3872d5af7d8dc254e003eccdb38f291619c51911df2b6ed67d0\
b459f4bc25819c0078777b9a1a24c72e7c037a3720a1edad5863ef5ac75ce816869c820859558d\
5721089ddbe331f55bef741396a3bbf85c6c1a
    XstatIUT = 54081a8fef2127a1f22ed90440b1b09c331d0614
    YstatIUT = 0b92af0468b841ea5de4ca91d895b5e922245421de57ed7a88d2de41610b208\
e8e233705f17b2e9eb91914bad2fa87f0a58519a7da2980bc06e7411c925a6050526bd86e62150\
5e6f610b63fdcd9afcfaa96bd087afca44d9197cc35b559f731357a5b979250c0f3a254bb8165f\
5072156e3fd6f9a6e69bcf4b4578f78b3bde7
    Z = 8d8f4175e16e15a42eb9099b11528af88741cc206a088971d3064bb291eda608d1600b\
ff829624db258fd15e95d96d3e74c6be3232afe5c855b9c59681ce13b7aea9ff2b16707e4c02f0\
e82bf6dadf2149ac62630f6c62dea0e505e3279404da5ffd5a088e8474ae0c8726b8189cb3d2f0\
4baffe700be849df9f91567fc2ebb8
    CAVSHashZZ = eb99e77ac2272c7a2ee70c59375ac4d167312c20
    Result = P (0 - Correct)



    COUNT = 2
    XstatCAVS = 32e642683d745a23dccf4f12f989d8dfd1fd9894c422930950cb4c71
    YstatCAVS = 8cd371363b32fcc2e936e345f2278b77001f2efdf78512c3ee75c12f88507e\
2d5c0e5cdded3bb78435506c8028a3f4d6f028c0f49a0d61f1285795197e56deac80279e723f2b\
3746e213ac8ec60f1cefc2308ff17a7e9e2efab537e17406d2829fd85e0c54dda2d9f0b4fcda3d\
2776110e096a817588e19588b77be8b41bafdd41ad91b0edf629333bd6ac1e461208ead124c31b\
8a7935c723e1c450c5798dc05f8265ad9e35095ff112af9e889f00315fa337a76a450670866eca\
12cc6ad0778576962eb9cdc12721d3c15e4d87b67488a145d400240670eb26695a42879cd3940a\
55087f6527667277e1212a202dbe455c45c64b9be4a38153557bbb8fd755
    XstatIUT = 7d8ae93df3bc09d399a4157ec562126acf51092c3269ab27f60a3a2b
    YstatIUT = 22127e9728e906ea4b1512c8b1e80474b58446210c23ccfc800f83c2c15da81\
59940e494b235266f6a9d5f80529067794f1a9edd566755d23d0a3060fe074c5a10122df3e4729\
73bba39ea3a988e8387f5f0491e590b6b5edc299b4598ab1e79b72681a0be8cd8735a5adb85fa3\
1310f29ec407c9654f1bb83bcdf7f771b68d176817f662e8d798b53ebb4e5dd407b7b1d8fdb62e\
a9e1b60d6c3d75d9bcf83f4b8d1ed39408bd8d973b4ea81e8e832eac361dcd530713388a60971e\
a9f8b1e69c1e99df1cca12bdaf293dacfa1419c5692ceffa91988aef3321ac8cbc2efae6c4337c\
8808310fb5a240395a98e6004fe613c39e84f4177341746d9e388dcb2e8
    Z = 0efeaa399a182e0a603baf0dd95aa0fae5289ebd47d5f0f60c86bc936839c31c9f7f37\
bf04f76ab02f4094a8ab10ed907ec7291585cc085c3e8981df2bd46a01c19ec9a2f66709df1d4f\
efbeb48c8263554e46890f59eb642bf95ff7f0de70138621c22c4cc32be6c3d5c82c0c9a76a9f5\
a65bffe0c096a350f96a9da945d7e5095b15b566ce3cb8b0377cd9375b6c046afa9ea0bc084677\
3445f16566b2c84cae4f6d212e89ee539a1ce7ea325273fd228053efce2a585eb9e8f308b48cf4\
e29593b6f7a02e8625e1e8bff1ea1405f8c8c34b8339a9a99c7c9de4eb9895df7719ccda9394f5\
3080eff1226f6b9c7ae0a38941e18b1a137aabbb62308eb35ba2
    CAVSHashZZ = 76dedc997d5113573bbeeaf991f62b257511b7d9aa83270dfc4fec40
    Result = P (10 - Z value should have leading 0 nibble )



    COUNT = 3
    XstatCAVS = 66502429aba271e2f2ee2197a2b336e5f0467f192aa28b60dcbf1194
    YstatCAVS = dfb001294215423d7146a2453cdb8598ccef01e1d931a913c3e4ed4a3cf38a\
912066c28e4eaf77dd80ff07183a6160bd95932f513402f864dcf7a70cbedc9b60bbfbc67f72a8\
3d5f6463a2b5a4fc906d3e921f5e1069126113265b440e15ccf2d7164bad7131f1613fec35df7f\
470d45888e0c91be091f3f9552d670b8b7f479853193cb3c39f35fc7bd547ccb1bc579a67302b4\
ba948e6db51043d351bb74a952e6a694e6e7456f714c47d7c8eeeb4fd83ad93c86b78445f9393f\
dfd65c7dbd7fd6eba9794ddf183901b1d213321fd0ab3f7588ab0f6b3692f365a87131eda0e062\
505861988f6ce63150207545ecf9678e0971330253dfb7cfd546c5346fec
    XstatIUT = 106b358be4f068348ac240ecbb454e5c39ca80b078cb0fafd856e9c5
    YstatIUT = 715d0781975b7b03162f4401c1eda343fd9bf1140006034573b31828a618c35\
6163554cd27da956f7179a69e860fb6efeaa2e2aa9f1261506a8344c4929953621381b13d6426e\
152c0f2f94bfcd2b758eca24923596d427ed8f957e8bc9b1c7d21a87ef02222a1477cf3bfaadc6\
8106456ab9706026006eccd290b21543de6bb97d5b8cf4ccee1c081a6d1dd27aaef060fa93888a\
47a4a416ad5c5bd490ea600e04379232fb1077fbf394f4579accdbe352714e25b88916dca8d8f7\
e0c4ed9594f7693f656a235a2e88ebda48b0d557e32da9f12d2a4c3180f05b16b4fba9bec79278\
a3971b77f9223b5ab78b857e0376c5008211592c8c72d521373ee3b22b8
    Z = cf879ebd107bb877457809c3fc410218b7acba3c5967495a8f1c3370d57f038a48dd69\
f9f69b9f4dd855e7c58a1e4ec32646a978266eb314db468ea1dfcee8a85a1644a5732498c4fbcd\
f85098c6ed0ce12e431e99142fd2335369b3f56620ada21aa69d883e82a0b5e35484dde32d17c2\
dc873f2cc5518eb7fc19695dff9fc94c9d9432bb4b09d8180323cfc561ebc2d6eff8dd5f8496f2\
b22377700a22bbfe61a6969c198129397454843e4fc3540026986039665095490056287e4fc49e\
6cb3181cb2bf06444fd0040150271c9ce1f61c13ecd5dd022194a2dbf3e1c7fbc6bd19497c7b88\
8b4da613d28fa6f378a43369cb8795a1c823f7d6cf4d84bba578
    CAVSHashZZ = ebac4fb70699224f85d9e3c799b1f3a56dab268b882aba49525df02d
    Result = F (5 - Z changed )



    [FB - SHA224]
    P = f3722b9b911c6aede9eaeeaa406283de66a097f39a7225df6c3c916e57920d356e5047\
8d307dbfd146bfb91b6f68ecbbcf54b3d19c33a4b17293fea3e3d6bff8ac4cca93a805386f062a\
8a27ae906ef5da94d279fd7b3d7289e00956f76bae9c0d2b8d11742ca5809630632aae58f9c6dc\
e00c7380581deffde2187b022f83c6ceaeaadb0844a17fcbb04039ca6843c91f0c9058b22434b2\
63c3dfda8de8429e087c5be97fc5c9db9526031ad3a218bd9916fb4a3c27966d208b1e360014c0\
1e95530c148fb3cd27e6a7250d3c3b81dcd220ca14548dbccf99ebb9e334db6bcd14e632c98dd3\
f9860af7ae450f1b7809b45f0ec10e6f27672beebc9963befc73
    Q = a9a17de95a29091bf8e07dab53ea1aba9403be3c61027c6c8f48bac5
    G = 035513ec441402b78353ab1bba550b21c76c89973885a627170262ef52497d5d137b89\
27a212aaab2f051198c90bb81dffd9eb10b36b7ca3b63565b4c1025aea3b5e9c4a348c9cfa17f3\
907a1e4469701c0dedb8a4b9e96c5965b1fb8c229b0c34baac774bf9dda4fc5ee8764358b3c848\
12878aab7464bc09e97aecab7d7e3fbb4870e2a3b89667a4158bf1ed1a90dfaf47019fbb52b1b9\
6365bb4e1e9474993fe382fd23480dc875861be152997a621fdb7aef977ea5b4d3d74486b162dc\
28f95a64cf65587a919a57eef92934fc9410df7f09fa82f975328ed82ff29cc3e15a971f56f4ac\
2dcb289252575e02a6cdb7fcc6cddd7b0dca9c422e63eb2b8f05



    COUNT = 0
    XstatCAVS = 1610eaa4e0ccc8857e2b53149e008492b1fbd9025a6e8d95aaee9c0f
    YstatCAVS = 51ee21cd9f97015180f258fad5c94ff5a458806b1412087236bf77fe87aae1\
a36735816ed6e2160a731159814b6ae1f3f52c478dd9207094adfb62f7667d5c366327e66d2309\
6395e938504db330953a708015f861fe9d9487611093b9fe7327518a7cc15994ab573313e15411\
7c1a3ae88b8bdd1e316748249e4a9cbd1947f159836d13613d1f9449fc3442171d1970bc28958c\
1cafa2776a6f14ccdb29db02f64911bd83bfdcdfc843dd14a4cab9acb0bda8b293d2f5f7050768\
e57533cbc415a29e6f31cc365e107f91ae3722484e2c7329a85af69055a5a104da37e810878896\
d1b247b02b75234ecff82b1958f42d7b031622e9394c98b5229112f7f620
    XstatIUT = 0c4c83d75b27864b052cadc556e500e25aabf0c9d1bc01f0e1fe3862
    YstatIUT = 467a857337a82472a1307a64dccc8e9994c5c63ec4312936885d17be419051a\
5f037fbb052d7010ebe01634d9e8b8b522d9ab4749fdc274f465369b89e360df8f70b7865a3c71\
d2dbcd2df19e9293dab1153d3d63fcb7deb559b684dde6c6eed63214444807041c9a0ce3f52ca4\
39ec16dd231995b5dc6f18e6801b6bd6454babccf9abbfacffb49c71e6494a4779cbfa550c5d71\
44114e6fc193f460dcd0be7e6e06e546da7653770dc5859df87029e722dbe81361030569148d16\
36988926bf0dcfe47c9d8a54698c08b3b5c70afe86b5c6f643463f8f34889d27d6cfd2d478c2d7\
b3d008a985c7380f0b43f10024b59c3543880883c42d0e7e0a07326ba3a
    Z = 10a30bacab82e652415376baffdbc008c7eb2e5a3aa68bc10ce486ca84983fd89b1b02\
7bb40e75333406361005f5e756526a95fe01202df9217d81b1713d5187c368fdd4c9c2433d9e6c\
18844769479b725c4140c92a304ee1bc5726d8f5321b5b1c54a1a6b67c527e6817c0ed613a0d4e\
60db55de898788b7e8d4aa9a81ab5ed7f6282962c433d246ed640555bdd76d29c2874551264d74\
c76373f8a88871b41b041c98041b16f94f983ddf00f5bc7d2416d19168c90178974a0602436cd1\
86748bcc63a629edc3a0db59415cccd37a65130ea477c89da92d41371f5972891cf41f9c7f0e75\
ccbff9893225384db30daa5e310f08e3e0fad98bcdf8ecf35fe5
    CAVSHashZZ = 014f5daea733d0e9e100f852e74d64a319f741cfbdb47975ab9dd3d0
    Result = F (3 - IUT's Static public key fails PKV 5.6.2.4)


    COUNT = 1
    XstatCAVS = 9ee22ac51664e40e0a24dbb94142dba40605e2b6eeaaa0268a0f6847
    YstatCAVS = c2630c9d38ed5c825d1c6a3eba7143f3fc8a049c8bcd1efc212d2af64eca99\
4308208691d330aa8f27fc4a1e55de4e512113996d21375a667f8c26d76dee2f6809b15432a33f\
b735aca5c2263940f58712bded08f55443dee300b9489589e0462bd6bce19deaec4adc12fa61a6\
94c8c5c999b28211d7835bac0ffd2b316850823e2dc1d1f58e05cbf75c673036d116b3f03b9687\
c89f9c2a0d43c4ffc9a605addbdcce0cb3790c6db846156bb857a7b3df40dc6ed04d19cc9eaebb\
6bbc034e77c3d882a1a62317cce25b6130f0803e3bc49b5e36768260073a617034872be0b50bed\
32740224beaf582d67fbcfef3b3ecc18f9c71c782e9a68495ef31dc7986e
    XstatIUT = 438093a468236658821bf64eb08456139963d4fb27121c3ed6c55876
    YstatIUT = e192da8e1244e27221c1765344a5bb379dce741d427a734b4bdb6c4d16b2490\
bd37564d745008e63ae46ef332331d79887ac63298ce143e125f8b320c0f859b7f5f2c1e0053e4\
a7a16997e6143ff702300c9863ae7caef5c1dfca0ecf5197c557745b793f0790a4fe678aeb93fd\
b52490d4f273a5553944dda3ac8b9b792c9b67f8d7b9496398e432a423ae87ebeba688be3ed67e\
ddd7575fa56431cd48579bf53c903bbe066dd78b23c0996ef3a880f0d91315104366a82f01abde\
cce96fd371f94e8420f8bc5b896c801df573554f749b03d0d28b1e1a990bc61c7e9659342ac7e2\
68e9c0b7c40fdaab394f29cf0a54f780022f9a03b0bd28eb7db8b0b1b47
    Z = 56f8f40fa4b8f3580f9014b30d60a42933a53a62182a690142f458dc275c3b2f0e721b\
c5ee6e890b14516419110f5252ff1cceea8e274b2987aa78e3bae90c1935b276b7a1f1c944f79d\
4774b7a85b3355bdf25cb02bddfbda4ee7918bc93a5c9ca6d7e8fdedbda8e6c8a6ca794bad055a\
52b19c148958227344cbddd70271d4610316cfea1e559b0bc3a12d15023b30d9f2db602053a056\
9c3bd2ce1faf59280ecd339f845dbcaaf2e883c5cc6263996f866b18b75d049d4c82097af8a5ce\
353e14416b3eeb31ba9bc4f6f3dbd846c5299fb5c0043a1b95b9149b39d14df9e6a69547abf8a4\
d518475576730ed528779366568e46b7dd4ed787cb72d0733c93
    CAVSHashZZ = 17dbbaa7a20c1390cd8cb3d31ee947bf9dde87739e067b9861ffeea9
    Result = P (0 - Correct)
    """
    ).splitlines()

    expected = [
        {
            "fail_agree": False,
            "fail_z": False,
            "g": int(
                "a51883e9ac0539859df3d25c716437008bb4bd8ec4786eb4bc643299daef5"
                "e3e5af5863a6ac40a597b83a27583f6a658d408825105b16d31b6ed088fc6"
                "23f648fd6d95e9cefcb0745763cddf564c87bcf4ba7928e74fd6a3080481f"
                "588d535e4c026b58a21e1e5ec412ff241b436043e29173f1dc6cb943c0974"
                "2de989547288",
                16,
            ),
            "p": int(
                "da3a8085d372437805de95b88b675122f575df976610c6a844de99f1df82a"
                "06848bf7a42f18895c97402e81118e01a00d0855d51922f434c022350861d"
                "58ddf60d65bc6941fc6064b147071a4c30426d82fc90d888f94990267c64b"
                "eef8c304a4b2b26fb93724d6a9472fa16bc50c5b9b8b59afb62cfe9ea3ba0"
                "42c73a6ade35",
                16,
            ),
            "q": 1386090807861091316803998193774751098153687863463,
            "x1": 381229709512864262422021151581620734547375903702,
            "x2": 479735944608461101114916716909067001453470352916,
            "y1": int(
                "5a7890f6d20ee9c7162cd84222cb0c7cb5b4f29244a58fc95327fc41045f4"
                "76fb3da42fca76a1dd59222a7a7c3872d5af7d8dc254e003eccdb38f29161"
                "9c51911df2b6ed67d0b459f4bc25819c0078777b9a1a24c72e7c037a3720a"
                "1edad5863ef5ac75ce816869c820859558d5721089ddbe331f55bef741396"
                "a3bbf85c6c1a",
                16,
            ),
            "y2": int(
                "b92af0468b841ea5de4ca91d895b5e922245421de57ed7a88d2de41610b20"
                "8e8e233705f17b2e9eb91914bad2fa87f0a58519a7da2980bc06e7411c925"
                "a6050526bd86e621505e6f610b63fdcd9afcfaa96bd087afca44d9197cc35"
                "b559f731357a5b979250c0f3a254bb8165f5072156e3fd6f9a6e69bcf4b45"
                "78f78b3bde7",
                16,
            ),
            "z": binascii.unhexlify(
                b"8d8f4175e16e15a42eb9099b11528af88741cc206a088971d3064bb291ed"
                b"a608d1600bff829624db258fd15e95d96d3e74c6be3232afe5c855b9c596"
                b"81ce13b7aea9ff2b16707e4c02f0e82bf6dadf2149ac62630f6c62dea0e5"
                b"05e3279404da5ffd5a088e8474ae0c8726b8189cb3d2f04baffe700be849"
                b"df9f91567fc2ebb8"
            ),
        },
        {
            "fail_agree": False,
            "fail_z": False,
            "g": int(
                "a51883e9ac0539859df3d25c716437008bb4bd8ec4786eb4bc643299daef5"
                "e3e5af5863a6ac40a597b83a27583f6a658d408825105b16d31b6ed088fc6"
                "23f648fd6d95e9cefcb0745763cddf564c87bcf4ba7928e74fd6a3080481f"
                "588d535e4c026b58a21e1e5ec412ff241b436043e29173f1dc6cb943c0974"
                "2de989547288",
                16,
            ),
            "p": int(
                "da3a8085d372437805de95b88b675122f575df976610c6a844de99f1df82a"
                "06848bf7a42f18895c97402e81118e01a00d0855d51922f434c022350861d"
                "58ddf60d65bc6941fc6064b147071a4c30426d82fc90d888f94990267c64b"
                "eef8c304a4b2b26fb93724d6a9472fa16bc50c5b9b8b59afb62cfe9ea3ba0"
                "42c73a6ade35",
                16,
            ),
            "q": 1386090807861091316803998193774751098153687863463,
            "x1": int(
                "32e642683d745a23dccf4f12f989d8dfd1fd9894c422930950cb4c71", 16
            ),
            "x2": int(
                "7d8ae93df3bc09d399a4157ec562126acf51092c3269ab27f60a3a2b", 16
            ),
            "y1": int(
                "8cd371363b32fcc2e936e345f2278b77001f2efdf78512c3ee75c12f88507"
                "e2d5c0e5cdded3bb78435506c8028a3f4d6f028c0f49a0d61f1285795197e"
                "56deac80279e723f2b3746e213ac8ec60f1cefc2308ff17a7e9e2efab537e"
                "17406d2829fd85e0c54dda2d9f0b4fcda3d2776110e096a817588e19588b7"
                "7be8b41bafdd41ad91b0edf629333bd6ac1e461208ead124c31b8a7935c72"
                "3e1c450c5798dc05f8265ad9e35095ff112af9e889f00315fa337a76a4506"
                "70866eca12cc6ad0778576962eb9cdc12721d3c15e4d87b67488a145d4002"
                "40670eb26695a42879cd3940a55087f6527667277e1212a202dbe455c45c6"
                "4b9be4a38153557bbb8fd755",
                16,
            ),
            "y2": int(
                "22127e9728e906ea4b1512c8b1e80474b58446210c23ccfc800f83c2c15da"
                "8159940e494b235266f6a9d5f80529067794f1a9edd566755d23d0a3060fe"
                "074c5a10122df3e472973bba39ea3a988e8387f5f0491e590b6b5edc299b4"
                "598ab1e79b72681a0be8cd8735a5adb85fa31310f29ec407c9654f1bb83bc"
                "df7f771b68d176817f662e8d798b53ebb4e5dd407b7b1d8fdb62ea9e1b60d"
                "6c3d75d9bcf83f4b8d1ed39408bd8d973b4ea81e8e832eac361dcd5307133"
                "88a60971ea9f8b1e69c1e99df1cca12bdaf293dacfa1419c5692ceffa9198"
                "8aef3321ac8cbc2efae6c4337c8808310fb5a240395a98e6004fe613c39e8"
                "4f4177341746d9e388dcb2e8",
                16,
            ),
            "z": binascii.unhexlify(
                b"0efeaa399a182e0a603baf0dd95aa0fae5289ebd47d5f0f60c86bc936839"
                b"c31c9f7f37bf04f76ab02f4094a8ab10ed907ec7291585cc085c3e8981df"
                b"2bd46a01c19ec9a2f66709df1d4fefbeb48c8263554e46890f59eb642bf9"
                b"5ff7f0de70138621c22c4cc32be6c3d5c82c0c9a76a9f5a65bffe0c096a3"
                b"50f96a9da945d7e5095b15b566ce3cb8b0377cd9375b6c046afa9ea0bc08"
                b"46773445f16566b2c84cae4f6d212e89ee539a1ce7ea325273fd228053ef"
                b"ce2a585eb9e8f308b48cf4e29593b6f7a02e8625e1e8bff1ea1405f8c8c3"
                b"4b8339a9a99c7c9de4eb9895df7719ccda9394f53080eff1226f6b9c7ae0"
                b"a38941e18b1a137aabbb62308eb35ba2"
            ),
        },
        {
            "fail_agree": False,
            "fail_z": True,
            "g": int(
                "a51883e9ac0539859df3d25c716437008bb4bd8ec4786eb4bc643299daef5"
                "e3e5af5863a6ac40a597b83a27583f6a658d408825105b16d31b6ed088fc6"
                "23f648fd6d95e9cefcb0745763cddf564c87bcf4ba7928e74fd6a3080481f"
                "588d535e4c026b58a21e1e5ec412ff241b436043e29173f1dc6cb943c0974"
                "2de989547288",
                16,
            ),
            "p": int(
                "da3a8085d372437805de95b88b675122f575df976610c6a844de99f1df82a"
                "06848bf7a42f18895c97402e81118e01a00d0855d51922f434c022350861d"
                "58ddf60d65bc6941fc6064b147071a4c30426d82fc90d888f94990267c64b"
                "eef8c304a4b2b26fb93724d6a9472fa16bc50c5b9b8b59afb62cfe9ea3ba0"
                "42c73a6ade35",
                16,
            ),
            "q": 1386090807861091316803998193774751098153687863463,
            "x1": int(
                "66502429aba271e2f2ee2197a2b336e5f0467f192aa28b60dcbf1194", 16
            ),
            "x2": int(
                "106b358be4f068348ac240ecbb454e5c39ca80b078cb0fafd856e9c5", 16
            ),
            "y1": int(
                "dfb001294215423d7146a2453cdb8598ccef01e1d931a913c3e4ed4a3cf38"
                "a912066c28e4eaf77dd80ff07183a6160bd95932f513402f864dcf7a70cbe"
                "dc9b60bbfbc67f72a83d5f6463a2b5a4fc906d3e921f5e1069126113265b4"
                "40e15ccf2d7164bad7131f1613fec35df7f470d45888e0c91be091f3f9552"
                "d670b8b7f479853193cb3c39f35fc7bd547ccb1bc579a67302b4ba948e6db"
                "51043d351bb74a952e6a694e6e7456f714c47d7c8eeeb4fd83ad93c86b784"
                "45f9393fdfd65c7dbd7fd6eba9794ddf183901b1d213321fd0ab3f7588ab0"
                "f6b3692f365a87131eda0e062505861988f6ce63150207545ecf9678e0971"
                "330253dfb7cfd546c5346fec",
                16,
            ),
            "y2": int(
                "715d0781975b7b03162f4401c1eda343fd9bf1140006034573b31828a618c"
                "356163554cd27da956f7179a69e860fb6efeaa2e2aa9f1261506a8344c492"
                "9953621381b13d6426e152c0f2f94bfcd2b758eca24923596d427ed8f957e"
                "8bc9b1c7d21a87ef02222a1477cf3bfaadc68106456ab9706026006eccd29"
                "0b21543de6bb97d5b8cf4ccee1c081a6d1dd27aaef060fa93888a47a4a416"
                "ad5c5bd490ea600e04379232fb1077fbf394f4579accdbe352714e25b8891"
                "6dca8d8f7e0c4ed9594f7693f656a235a2e88ebda48b0d557e32da9f12d2a"
                "4c3180f05b16b4fba9bec79278a3971b77f9223b5ab78b857e0376c500821"
                "1592c8c72d521373ee3b22b8",
                16,
            ),
            "z": binascii.unhexlify(
                b"cf879ebd107bb877457809c3fc410218b7acba3c5967495a8f1c3370d57f"
                b"038a48dd69f9f69b9f4dd855e7c58a1e4ec32646a978266eb314db468ea1"
                b"dfcee8a85a1644a5732498c4fbcdf85098c6ed0ce12e431e99142fd23353"
                b"69b3f56620ada21aa69d883e82a0b5e35484dde32d17c2dc873f2cc5518e"
                b"b7fc19695dff9fc94c9d9432bb4b09d8180323cfc561ebc2d6eff8dd5f84"
                b"96f2b22377700a22bbfe61a6969c198129397454843e4fc3540026986039"
                b"665095490056287e4fc49e6cb3181cb2bf06444fd0040150271c9ce1f61c"
                b"13ecd5dd022194a2dbf3e1c7fbc6bd19497c7b888b4da613d28fa6f378a4"
                b"3369cb8795a1c823f7d6cf4d84bba578"
            ),
        },
        {
            "fail_agree": True,
            "fail_z": False,
            "g": int(
                "35513ec441402b78353ab1bba550b21c76c89973885a627170262ef52497d"
                "5d137b8927a212aaab2f051198c90bb81dffd9eb10b36b7ca3b63565b4c10"
                "25aea3b5e9c4a348c9cfa17f3907a1e4469701c0dedb8a4b9e96c5965b1fb"
                "8c229b0c34baac774bf9dda4fc5ee8764358b3c84812878aab7464bc09e97"
                "aecab7d7e3fbb4870e2a3b89667a4158bf1ed1a90dfaf47019fbb52b1b963"
                "65bb4e1e9474993fe382fd23480dc875861be152997a621fdb7aef977ea5b"
                "4d3d74486b162dc28f95a64cf65587a919a57eef92934fc9410df7f09fa82"
                "f975328ed82ff29cc3e15a971f56f4ac2dcb289252575e02a6cdb7fcc6cdd"
                "d7b0dca9c422e63eb2b8f05",
                16,
            ),
            "p": int(
                "f3722b9b911c6aede9eaeeaa406283de66a097f39a7225df6c3c916e57920"
                "d356e50478d307dbfd146bfb91b6f68ecbbcf54b3d19c33a4b17293fea3e3"
                "d6bff8ac4cca93a805386f062a8a27ae906ef5da94d279fd7b3d7289e0095"
                "6f76bae9c0d2b8d11742ca5809630632aae58f9c6dce00c7380581deffde2"
                "187b022f83c6ceaeaadb0844a17fcbb04039ca6843c91f0c9058b22434b26"
                "3c3dfda8de8429e087c5be97fc5c9db9526031ad3a218bd9916fb4a3c2796"
                "6d208b1e360014c01e95530c148fb3cd27e6a7250d3c3b81dcd220ca14548"
                "dbccf99ebb9e334db6bcd14e632c98dd3f9860af7ae450f1b7809b45f0ec1"
                "0e6f27672beebc9963befc73",
                16,
            ),
            "q": int(
                "a9a17de95a29091bf8e07dab53ea1aba9403be3c61027c6c8f48bac5", 16
            ),
            "x1": int(
                "1610eaa4e0ccc8857e2b53149e008492b1fbd9025a6e8d95aaee9c0f", 16
            ),
            "x2": int(
                "c4c83d75b27864b052cadc556e500e25aabf0c9d1bc01f0e1fe3862", 16
            ),
            "y1": int(
                "51ee21cd9f97015180f258fad5c94ff5a458806b1412087236bf77fe87aae"
                "1a36735816ed6e2160a731159814b6ae1f3f52c478dd9207094adfb62f766"
                "7d5c366327e66d23096395e938504db330953a708015f861fe9d948761109"
                "3b9fe7327518a7cc15994ab573313e154117c1a3ae88b8bdd1e316748249e"
                "4a9cbd1947f159836d13613d1f9449fc3442171d1970bc28958c1cafa2776"
                "a6f14ccdb29db02f64911bd83bfdcdfc843dd14a4cab9acb0bda8b293d2f5"
                "f7050768e57533cbc415a29e6f31cc365e107f91ae3722484e2c7329a85af"
                "69055a5a104da37e810878896d1b247b02b75234ecff82b1958f42d7b0316"
                "22e9394c98b5229112f7f620",
                16,
            ),
            "y2": int(
                "467a857337a82472a1307a64dccc8e9994c5c63ec4312936885d17be41905"
                "1a5f037fbb052d7010ebe01634d9e8b8b522d9ab4749fdc274f465369b89e"
                "360df8f70b7865a3c71d2dbcd2df19e9293dab1153d3d63fcb7deb559b684"
                "dde6c6eed63214444807041c9a0ce3f52ca439ec16dd231995b5dc6f18e68"
                "01b6bd6454babccf9abbfacffb49c71e6494a4779cbfa550c5d7144114e6f"
                "c193f460dcd0be7e6e06e546da7653770dc5859df87029e722dbe81361030"
                "569148d1636988926bf0dcfe47c9d8a54698c08b3b5c70afe86b5c6f64346"
                "3f8f34889d27d6cfd2d478c2d7b3d008a985c7380f0b43f10024b59c35438"
                "80883c42d0e7e0a07326ba3a",
                16,
            ),
            "z": binascii.unhexlify(
                b"10a30bacab82e652415376baffdbc008c7eb2e5a3aa68bc10ce486ca8498"
                b"3fd89b1b027bb40e75333406361005f5e756526a95fe01202df9217d81b1"
                b"713d5187c368fdd4c9c2433d9e6c18844769479b725c4140c92a304ee1bc"
                b"5726d8f5321b5b1c54a1a6b67c527e6817c0ed613a0d4e60db55de898788"
                b"b7e8d4aa9a81ab5ed7f6282962c433d246ed640555bdd76d29c287455126"
                b"4d74c76373f8a88871b41b041c98041b16f94f983ddf00f5bc7d2416d191"
                b"68c90178974a0602436cd186748bcc63a629edc3a0db59415cccd37a6513"
                b"0ea477c89da92d41371f5972891cf41f9c7f0e75ccbff9893225384db30d"
                b"aa5e310f08e3e0fad98bcdf8ecf35fe5"
            ),
        },
        {
            "fail_agree": False,
            "fail_z": False,
            "g": int(
                "35513ec441402b78353ab1bba550b21c76c89973885a627170262ef5"
                "2497d5d137b8927a212aaab2f051198c90bb81dffd9eb10b36b7ca3b"
                "63565b4c1025aea3b5e9c4a348c9cfa17f3907a1e4469701c0dedb8a"
                "4b9e96c5965b1fb8c229b0c34baac774bf9dda4fc5ee8764358b3c84"
                "812878aab7464bc09e97aecab7d7e3fbb4870e2a3b89667a4158bf1e"
                "d1a90dfaf47019fbb52b1b96365bb4e1e9474993fe382fd23480dc87"
                "5861be152997a621fdb7aef977ea5b4d3d74486b162dc28f95a64cf6"
                "5587a919a57eef92934fc9410df7f09fa82f975328ed82ff29cc3e15"
                "a971f56f4ac2dcb289252575e02a6cdb7fcc6cddd7b0dca9c422e63e"
                "b2b8f05",
                16,
            ),
            "p": int(
                "f3722b9b911c6aede9eaeeaa406283de66a097f39a7225df6c3c916e"
                "57920d356e50478d307dbfd146bfb91b6f68ecbbcf54b3d19c33a4b1"
                "7293fea3e3d6bff8ac4cca93a805386f062a8a27ae906ef5da94d279"
                "fd7b3d7289e00956f76bae9c0d2b8d11742ca5809630632aae58f9c6"
                "dce00c7380581deffde2187b022f83c6ceaeaadb0844a17fcbb04039"
                "ca6843c91f0c9058b22434b263c3dfda8de8429e087c5be97fc5c9db"
                "9526031ad3a218bd9916fb4a3c27966d208b1e360014c01e95530c14"
                "8fb3cd27e6a7250d3c3b81dcd220ca14548dbccf99ebb9e334db6bcd"
                "14e632c98dd3f9860af7ae450f1b7809b45f0ec10e6f27672beebc99"
                "63befc73",
                16,
            ),
            "q": int(
                "a9a17de95a29091bf8e07dab53ea1aba9403be3c61027c6c8f48bac5", 16
            ),
            "x1": int(
                "9ee22ac51664e40e0a24dbb94142dba40605e2b6eeaaa0268a0f6847", 16
            ),
            "x2": int(
                "438093a468236658821bf64eb08456139963d4fb27121c3ed6c55876", 16
            ),
            "y1": int(
                "c2630c9d38ed5c825d1c6a3eba7143f3fc8a049c8bcd1efc212d2af64eca9"
                "94308208691d330aa8f27fc4a1e55de4e512113996d21375a667f8c26d76d"
                "ee2f6809b15432a33fb735aca5c2263940f58712bded08f55443dee300b94"
                "89589e0462bd6bce19deaec4adc12fa61a694c8c5c999b28211d7835bac0f"
                "fd2b316850823e2dc1d1f58e05cbf75c673036d116b3f03b9687c89f9c2a0"
                "d43c4ffc9a605addbdcce0cb3790c6db846156bb857a7b3df40dc6ed04d19"
                "cc9eaebb6bbc034e77c3d882a1a62317cce25b6130f0803e3bc49b5e36768"
                "260073a617034872be0b50bed32740224beaf582d67fbcfef3b3ecc18f9c7"
                "1c782e9a68495ef31dc7986e",
                16,
            ),
            "y2": int(
                "e192da8e1244e27221c1765344a5bb379dce741d427a734b4bdb6c4d16b24"
                "90bd37564d745008e63ae46ef332331d79887ac63298ce143e125f8b320c0"
                "f859b7f5f2c1e0053e4a7a16997e6143ff702300c9863ae7caef5c1dfca0e"
                "cf5197c557745b793f0790a4fe678aeb93fdb52490d4f273a5553944dda3a"
                "c8b9b792c9b67f8d7b9496398e432a423ae87ebeba688be3ed67eddd7575f"
                "a56431cd48579bf53c903bbe066dd78b23c0996ef3a880f0d91315104366a"
                "82f01abdecce96fd371f94e8420f8bc5b896c801df573554f749b03d0d28b"
                "1e1a990bc61c7e9659342ac7e268e9c0b7c40fdaab394f29cf0a54f780022"
                "f9a03b0bd28eb7db8b0b1b47",
                16,
            ),
            "z": binascii.unhexlify(
                b"56f8f40fa4b8f3580f9014b30d60a42933a53a62182a690142f458dc275c"
                b"3b2f0e721bc5ee6e890b14516419110f5252ff1cceea8e274b2987aa78e3"
                b"bae90c1935b276b7a1f1c944f79d4774b7a85b3355bdf25cb02bddfbda4e"
                b"e7918bc93a5c9ca6d7e8fdedbda8e6c8a6ca794bad055a52b19c14895822"
                b"7344cbddd70271d4610316cfea1e559b0bc3a12d15023b30d9f2db602053"
                b"a0569c3bd2ce1faf59280ecd339f845dbcaaf2e883c5cc6263996f866b18"
                b"b75d049d4c82097af8a5ce353e14416b3eeb31ba9bc4f6f3dbd846c5299f"
                b"b5c0043a1b95b9149b39d14df9e6a69547abf8a4d518475576730ed52877"
                b"9366568e46b7dd4ed787cb72d0733c93"
            ),
        },
    ]

    assert expected == load_kasvs_dh_vectors(vector_data)


def test_load_kasvs_ecdh_vectors_empty_vector_data():
    assert [] == load_kasvs_ecdh_vectors([])


def test_load_kasvs_ecdh_vectors():
    vector_data = textwrap.dedent(
        """
    #  CAVS 11.0
    #  Parameter set(s) supported: EA EB EC ED EE
    #  CAVSid: CAVSid (in hex: 434156536964)
    #  IUTid: In hex: a1b2c3d4e5
    [EA]

    [Curve selected:  P-192]
    [SHA(s) supported (Used for hashing Z):  SHA1]
    [EB]

    [Curve selected:  P-224]
    [SHA(s) supported (Used for hashing Z):  SHA224]
    [EC]

    [Curve selected:  P-256]
    [SHA(s) supported (Used for hashing Z):  SHA256]
    [ED]

    [Curve selected:  P-384]
    [SHA(s) supported (Used for hashing Z):  SHA384]
    [EE]

    [Curve selected:  P-521]
    [SHA(s) supported (Used for hashing Z):  SHA512]
    #  Generated on Thu Mar 17 19:46:10 2011



    [EA - SHA1]


    COUNT = 0
    dsCAVS = f70c297a683d6b7ef82b5af7349606c4447c8b4fc6fa5e80
    QsCAVSx = f7b5061fb557e516c50abf541d97dbfd76ca7172b22cf590
    QsCAVSy = 135e15e21f9e85c76205fd148a92ac19f9e6243ddab322d1
    dsIUT = a5b4bbad57f101ca48021cb7440cd681a9d40cd51b99d917
    QsIUTx = 79a77fcb18a32cdb59ed5d87740f29e8565d649dbf01ce86
    QsIUTy = f7187efaa0b1573f1fb00905d46810b880bf738b4c720bb7
    Z = 26382468d721761e14a87dc3bee67340095c6455962d1ba3
    CAVSHashZZ = af52ba700d3bbba7ce2916d6b729422c26c32364
    Result = P (0 - Correct)



    COUNT = 2
    dsCAVS = 5f909dcb0ccce58c82fada748c47297579e6a981b5518a96
    QsCAVSx = 537f1ecfda0e366de393a9bc8188fcc280311bffefe21ecf
    QsCAVSy = a1fa1f98498d65f2754caff4e5303a4066a5ff89fde95381
    dsIUT = 3357aa7f47f3e09421602cc12cdce4434c68e330d44de05e
    QsIUTx = 6a33d43d9c72173eabc7a771a5687748c4774c62762e96ec
    QsIUTy = 8033f238b3abc69470aad4be8dbe4f60a2fd50207626c56a
    Z = 3153034f6617326f19c35be8c99a0585431adf09d2f8e0fd
    CAVSHashZZ = f8414e30c2d382e28d2a57a2447fdc203baa416b
    Result = F (8 - Z changed )



    COUNT = 8
    dsCAVS = 8fcfaf0524cc868fad20e50410a2205319f1327308d98dc8
    QsCAVSx = 9b0243d80a9e328738080fb4d46bc450243d0efb7ead0c92
    QsCAVSy = ad5bebad7f03849693071537f60ef858cad214123beee7c7
    dsIUT = bba95dac90289cb68ca2b006f9757219b70579c299ad7a7d
    QsIUTx = 7733dc0cb365cd6312724196b9b4eb491fd4d2e31b9afdb1
    QsIUTy = 92ffa3722acc5b94d772258ba2d471b06c0f53f56fcd8662
    Z = 0f3c6e4a29a08296ae730f56a1ebf819ea2edfa6f0434e40
    CAVSHashZZ = c124545eed4b83a799e7e90371d806b5684a1bd2
    Result = P (13 - Z value should have leading 0 nibble )


    [EB - SHA224]


    COUNT = 0
    dsCAVS = e53a88af7cf8ce6bf13c8b9ad191494e37a6acc1368c71f4306e39e5
    QsCAVSx = 3a24217c4b957fea922eec9d9ac52d5cb4b3fcd95efde1e4fa0dd6e2
    QsCAVSy = 775b94025a808eb6f4af14ea4b57dca576c35373c6dc198b15b981df
    dsIUT = 09f51e302c6a0fe6ff48f34c208c6af91e70f65f88102e6fcab9af4a
    QsIUTx = c5d5706ccd7424c74fd616e699865af96e56f39adea6aa059e5092b5
    QsIUTy = f0729077bb602404d56d2f7e2ba5bb2f383df4a5425567881ff0165d
    Z = b1259ceedfb663d9515089cf727e7024fb3d86cbcec611b4ba0b4ab6
    CAVSHashZZ = 8b21fd05a4b50e401908cd8f26757f5c57f22b69f170aa7381f8596d
    Result = P (0 - Correct)



    [EC - SHA256]


    COUNT = 0
    dsCAVS = 305dfb4a8850cc59280891147baf457bfe5e2bae984571634a77dc8d3472fa9b
    QsCAVSx = 202cb5a224e6c2a84e624094486edf04116c8d68ec1f4a0e0ed9ee090e1a900b
    QsCAVSy = cacf3a5789bb33954be600425d62d9eae5371f90f88167258814213e4a4f4b1a
    dsIUT = 72cc52808f294b64b6f7233c3d2f5d96cc1d29287320e39e1c151deef0bc14eb
    QsIUTx = 49a768c9a4ca56e374f685dd76a461b1016c59dcded2c8d8cbd9f23ca453831f
    QsIUTy = b1e3bb9b5f12a3b5ae788535d4554bd8c46e0e6130075e4e437d3854cf8f1c34
    Z = c0147c3c2691b450b5edc08b51aea224d9f4359ff67aab6da3146f396dbceaea
    CAVSHashZZ = ea9ffd54511979ab8c4b387784972cbd05fc5fd4ff78e048b0026557b56a5\
1dd
    Result = F (2 - CAVS's Static public key Y fails PKV 5.6.2.5)



    [ED - SHA384]


    COUNT = 0
    dsCAVS = 0e5c98ff2d2a3aab14ad0067b60dbe64e4f541ab5bed11c5a0c55ae1e60b51ff5\
faaf377837977d80cbfdc33c2ff542b
    QsCAVSx = d1bf2ac21637d66d6398aac01dcd56ac6f065fb45d1f6f16747bab9e9b01b463\
0b59b20927aea147355bf41838acb482
    QsCAVSy = 4c9e23f1c5a41647d094086bf4ed31708651f21d996c47780688ac10f77deee2\
e43b5241b6caecd2fd5444bc50472e0e
    dsIUT = f865418473e5bf7d2e1bbcd9bd5a9270c003a9dd35e778133ca59fcab4bb64fe24\
d6800e7047bdd033abc8bfa8db35b5
    QsIUTx = 32b72ab9b558249dcbc6cbade234f58e4f7aa5d3f6420ea99a5f997e8c2a91fb7\
fd83779d0d2169428683771c745fd1a
    QsIUTy = c749e02a3719bb56bf1dfc4ba3820309c01ab6e84cb29db7cdd80f127233f5295\
687f8178f3a8704c1063b84c2ee472f
    Z = a781430e6078a179df3f9ee27cd8fdc6188f161b6c4ccc4053ef6c6ca6fc222946883a\
53c06db08f0a020023ced055aa
    CAVSHashZZ = ccb70d0adbabe4d8956519db0d536605cbb366aed58fc55718f56ae3648fa\
5c9ee7bae56cc463587cb74e2f9c6ace1cb
    Result = P (0 - Correct)



    [EE - SHA512]


    COUNT = 0
    dsCAVS = 0000002fef62381162942889a6094a6bb9ac1f4ddf66d9cda9f618232d31b90c5\
0d7da78a47ed91d40cae946898571db972dc294b109815f38feee9eaac0d5f7c3250728
    QsCAVSx = 0000004b05ffa025113390797f2736174aa1c784f4dd34e764ee40d40e4d2442\
677ebea3498086c9473e5c92789cbdb02bb327bbd61d58690f6a83d9ca73bccbde37dec4
    QsCAVSy = 0000004da67cffc98070b82af61feba78787efefb13bd810d80ff92304788e49\
a4e5b634b3565474a8ecb1615d7b1b77a7a27875adb73a8a5d8f3f84e5e8b744cda250b0
    dsIUT = 00000311a5e520e238141527671a38cb6f776d96a9f82ef70dffa11dc0895f4060\
f1abbb9ad6fd259e4a7beaf5f7266ea1bb45bcbfebfda2705e5c551e710fb1d745f57e
    QsIUTx = 0000010ba3778cb2cc965834c0a9593adc6a222692656d657fb0d15293edf0ab3\
3762384a96a16fddea7540b7ccbcca46ec4ac9bcf95fdb5aa18e158aab4d91981bd733e
    QsIUTy = 0000018522df93ddd636e5bc94daecdc600fa241686ec18634fd30b7cbdfdc9ff\
ba1166ac08df34a31896f6fad191414929261ebd7187afb72919f8a0c926be37f99c1e5
    Z = 01a5e4b31be4b1346e53906b6767b1fe94ec1a8a5abc28fb6f01518c056959af3bc933\
5dddab178b52318cc5512559931b8dc18de0ce810c2c7f15769d7ce70e719c
    CAVSHashZZ = d2d6538feb65d609f377b81a027dc800eed07b69c0e9eedb243369202ed47\
f47021022a6c9b45ed791d09d9540eb81ea065fc1959eca365001ee39928c343d75
    Result = F (7 - IUT's Static private key d changed-prikey validity)



    """
    ).splitlines()

    expected = [
        {
            "errno": 0,
            "fail": False,
            "COUNT": 0,
            "CAVS": {
                "d": int(
                    "f70c297a683d6b7ef82b5af7349606c4447c8b4fc6fa5e80", 16
                ),
                "x": int(
                    "f7b5061fb557e516c50abf541d97dbfd76ca7172b22cf590", 16
                ),
                "y": int(
                    "135e15e21f9e85c76205fd148a92ac19f9e6243ddab322d1", 16
                ),
            },
            "IUT": {
                "d": int(
                    "a5b4bbad57f101ca48021cb7440cd681a9d40cd51b99d917", 16
                ),
                "x": int(
                    "79a77fcb18a32cdb59ed5d87740f29e8565d649dbf01ce86", 16
                ),
                "y": int(
                    "f7187efaa0b1573f1fb00905d46810b880bf738b4c720bb7", 16
                ),
            },
            "Z": int("26382468d721761e14a87dc3bee67340095c6455962d1ba3", 16),
            "curve": "secp192r1",
        },
        {
            "errno": 8,
            "fail": True,
            "COUNT": 2,
            "CAVS": {
                "d": int(
                    "5f909dcb0ccce58c82fada748c47297579e6a981b5518a96", 16
                ),
                "x": int(
                    "537f1ecfda0e366de393a9bc8188fcc280311bffefe21ecf", 16
                ),
                "y": int(
                    "a1fa1f98498d65f2754caff4e5303a4066a5ff89fde95381", 16
                ),
            },
            "IUT": {
                "d": int(
                    "3357aa7f47f3e09421602cc12cdce4434c68e330d44de05e", 16
                ),
                "x": int(
                    "6a33d43d9c72173eabc7a771a5687748c4774c62762e96ec", 16
                ),
                "y": int(
                    "8033f238b3abc69470aad4be8dbe4f60a2fd50207626c56a", 16
                ),
            },
            "Z": int("3153034f6617326f19c35be8c99a0585431adf09d2f8e0fd", 16),
            "curve": "secp192r1",
        },
        {
            "errno": 13,
            "fail": False,
            "COUNT": 8,
            "CAVS": {
                "d": int(
                    "8fcfaf0524cc868fad20e50410a2205319f1327308d98dc8", 16
                ),
                "x": int(
                    "9b0243d80a9e328738080fb4d46bc450243d0efb7ead0c92", 16
                ),
                "y": int(
                    "ad5bebad7f03849693071537f60ef858cad214123beee7c7", 16
                ),
            },
            "IUT": {
                "d": int(
                    "bba95dac90289cb68ca2b006f9757219b70579c299ad7a7d", 16
                ),
                "x": int(
                    "7733dc0cb365cd6312724196b9b4eb491fd4d2e31b9afdb1", 16
                ),
                "y": int(
                    "92ffa3722acc5b94d772258ba2d471b06c0f53f56fcd8662", 16
                ),
            },
            "Z": int("0f3c6e4a29a08296ae730f56a1ebf819ea2edfa6f0434e40", 16),
            "curve": "secp192r1",
        },
        {
            "errno": 0,
            "fail": False,
            "COUNT": 0,
            "CAVS": {
                "d": int(
                    "e53a88af7cf8ce6bf13c8b9ad191494e37a6acc1368c71f4306e39e5",
                    16,
                ),
                "x": int(
                    "3a24217c4b957fea922eec9d9ac52d5cb4b3fcd95efde1e4fa0dd6e2",
                    16,
                ),
                "y": int(
                    "775b94025a808eb6f4af14ea4b57dca576c35373c6dc198b15b981df",
                    16,
                ),
            },
            "IUT": {
                "d": int(
                    "09f51e302c6a0fe6ff48f34c208c6af91e70f65f88102e6fcab9af4a",
                    16,
                ),
                "x": int(
                    "c5d5706ccd7424c74fd616e699865af96e56f39adea6aa059e5092b5",
                    16,
                ),
                "y": int(
                    "f0729077bb602404d56d2f7e2ba5bb2f383df4a5425567881ff0165d",
                    16,
                ),
            },
            "Z": int(
                "b1259ceedfb663d9515089cf727e7024fb3d86cbcec611b4ba0b4ab6",
                16,
            ),
            "curve": "secp224r1",
        },
        {
            "errno": 2,
            "fail": True,
            "COUNT": 0,
            "CAVS": {
                "d": int(
                    "305dfb4a8850cc59280891147baf457bfe5e2bae98457163"
                    "4a77dc8d3472fa9b",
                    16,
                ),
                "x": int(
                    "202cb5a224e6c2a84e624094486edf04116c8d68ec1f4a0e"
                    "0ed9ee090e1a900b",
                    16,
                ),
                "y": int(
                    "cacf3a5789bb33954be600425d62d9eae5371f90f8816725"
                    "8814213e4a4f4b1a",
                    16,
                ),
            },
            "IUT": {
                "d": int(
                    "72cc52808f294b64b6f7233c3d2f5d96cc1d29287320e39e"
                    "1c151deef0bc14eb",
                    16,
                ),
                "x": int(
                    "49a768c9a4ca56e374f685dd76a461b1016c59dcded2c8d8"
                    "cbd9f23ca453831f",
                    16,
                ),
                "y": int(
                    "b1e3bb9b5f12a3b5ae788535d4554bd8c46e0e6130075e4e"
                    "437d3854cf8f1c34",
                    16,
                ),
            },
            "Z": int(
                "c0147c3c2691b450b5edc08b51aea224d9f4359ff67aab6d"
                "a3146f396dbceaea",
                16,
            ),
            "curve": "secp256r1",
        },
        {
            "errno": 0,
            "fail": False,
            "COUNT": 0,
            "CAVS": {
                "d": int(
                    "0e5c98ff2d2a3aab14ad0067b60dbe64e4f541ab5bed11c5"
                    "a0c55ae1e60b51ff5faaf377837977d80cbfdc33c2ff542b",
                    16,
                ),
                "x": int(
                    "d1bf2ac21637d66d6398aac01dcd56ac6f065fb45d1f6f16"
                    "747bab9e9b01b4630b59b20927aea147355bf41838acb482",
                    16,
                ),
                "y": int(
                    "4c9e23f1c5a41647d094086bf4ed31708651f21d996c4778"
                    "0688ac10f77deee2e43b5241b6caecd2fd5444bc50472e0e",
                    16,
                ),
            },
            "IUT": {
                "d": int(
                    "f865418473e5bf7d2e1bbcd9bd5a9270c003a9dd35e77813"
                    "3ca59fcab4bb64fe24d6800e7047bdd033abc8bfa8db35b5",
                    16,
                ),
                "x": int(
                    "32b72ab9b558249dcbc6cbade234f58e4f7aa5d3f6420ea9"
                    "9a5f997e8c2a91fb7fd83779d0d2169428683771c745fd1a",
                    16,
                ),
                "y": int(
                    "c749e02a3719bb56bf1dfc4ba3820309c01ab6e84cb29db7"
                    "cdd80f127233f5295687f8178f3a8704c1063b84c2ee472f",
                    16,
                ),
            },
            "Z": int(
                "a781430e6078a179df3f9ee27cd8fdc6188f161b6c4ccc40"
                "53ef6c6ca6fc222946883a53c06db08f0a020023ced055aa",
                16,
            ),
            "curve": "secp384r1",
        },
        {
            "errno": 7,
            "fail": True,
            "COUNT": 0,
            "CAVS": {
                "d": int(
                    "0000002fef62381162942889a6094a6bb9ac1f4ddf66d9cd"
                    "a9f618232d31b90c50d7da78a47ed91d40cae946898571db"
                    "972dc294b109815f38feee9eaac0d5f7c3250728",
                    16,
                ),
                "x": int(
                    "0000004b05ffa025113390797f2736174aa1c784f4dd34e7"
                    "64ee40d40e4d2442677ebea3498086c9473e5c92789cbdb0"
                    "2bb327bbd61d58690f6a83d9ca73bccbde37dec4",
                    16,
                ),
                "y": int(
                    "0000004da67cffc98070b82af61feba78787efefb13bd810"
                    "d80ff92304788e49a4e5b634b3565474a8ecb1615d7b1b77"
                    "a7a27875adb73a8a5d8f3f84e5e8b744cda250b0",
                    16,
                ),
            },
            "IUT": {
                "d": int(
                    "00000311a5e520e238141527671a38cb6f776d96a9f82ef7"
                    "0dffa11dc0895f4060f1abbb9ad6fd259e4a7beaf5f7266e"
                    "a1bb45bcbfebfda2705e5c551e710fb1d745f57e",
                    16,
                ),
                "x": int(
                    "0000010ba3778cb2cc965834c0a9593adc6a222692656d65"
                    "7fb0d15293edf0ab33762384a96a16fddea7540b7ccbcca4"
                    "6ec4ac9bcf95fdb5aa18e158aab4d91981bd733e",
                    16,
                ),
                "y": int(
                    "0000018522df93ddd636e5bc94daecdc600fa241686ec186"
                    "34fd30b7cbdfdc9ffba1166ac08df34a31896f6fad191414"
                    "929261ebd7187afb72919f8a0c926be37f99c1e5",
                    16,
                ),
            },
            "Z": int(
                "01a5e4b31be4b1346e53906b6767b1fe94ec1a8a5abc28fb"
                "6f01518c056959af3bc9335dddab178b52318cc551255993"
                "1b8dc18de0ce810c2c7f15769d7ce70e719c",
                16,
            ),
            "curve": "secp521r1",
        },
    ]

    assert expected == load_kasvs_ecdh_vectors(vector_data)


def test_load_kasvs_ecdh_kdf_vectors():
    vector_data = textwrap.dedent(
        """
    #  Parameter set(s) supported: EB EC ED EE
    #  CAVSid: CAVSid (in hex: 434156536964)
    #  IUTid: In hex: a1b2c3d4e5
    [EB]

    [Curve selected:  P-224]
    [SHA(s) supported (Used in the KDF function):  SHA224 SHA256 SHA384 SHA512]
    [MAC algorithm supported:  HMAC]
    [HMAC SHAs supported:  SHA512]
    [HMACKeySize(in bits):  112]
    [HMAC Tag length(in bits):  64]

    #  Generated on Mon Dec 22 11:45:18 2014



    [EB - SHA224]


    COUNT = 50
    dsCAVS = 540904b67b3716823dd621ed72ad3dbc615887b4f56f910b78a57199
    QsCAVSx = 28e5f3a72d8f6b8499dd1bcdfceafcecec68a0d715789bcf4b55fe15
    QsCAVSy = 8c8006a7da7c1a19f5328d7e865522b0c0dfb9a29b2c46dc96590d2a
    Nonce = 4eefb2a29a0e89c3898a7affdfa60dd7
    dsIUT = 5e717ae889fc8d67be11c2ebe1a7d3550051448d68a040b2dee8e327
    QsIUTx = ae7f3db340b647d61713f5374c019f1be2b28573cb6219bb7b747223
    QsIUTy = 800e6bffcf97c15864ec6e5673fb83359b45f89b8a26a27f6f3dfbff
    NonceDKMIUT = bb7f1b40d14ebd70443393990b57
    OI = a1b2c3d4e5bb7f1b40d14ebd70443393990b574341565369645b1582daab9cc6c30d6\
1fdcf1cdfc7e9a304651e0fdb
    CAVSTag = 84de198c3a958c62
    Z = 43f23b2c760d686fc99cc008b63aea92f866e224265af60d2d8ae540
    MacData = 5374616e646172642054657374204d6573736167654eefb2a29a0e89c3898a7a\
ffdfa60dd7
    DKM = ad65fa2d12541c3a21f3cd223efb
    Result = F (12 - Tag changed )
    """
    ).splitlines()

    expected = [
        {
            "errno": 12,
            "fail": True,
            "COUNT": 50,
            "CAVS": {
                "d": int(
                    "540904b67b3716823dd621ed72ad3dbc615887b4f56f910b78a57199",
                    16,
                ),
                "x": int(
                    "28e5f3a72d8f6b8499dd1bcdfceafcecec68a0d715789bcf4b55fe15",
                    16,
                ),
                "y": int(
                    "8c8006a7da7c1a19f5328d7e865522b0c0dfb9a29b2c46dc96590d2a",
                    16,
                ),
            },
            "IUT": {
                "d": int(
                    "5e717ae889fc8d67be11c2ebe1a7d3550051448d68a040b2dee8e327",
                    16,
                ),
                "x": int(
                    "ae7f3db340b647d61713f5374c019f1be2b28573cb6219bb7b747223",
                    16,
                ),
                "y": int(
                    "800e6bffcf97c15864ec6e5673fb83359b45f89b8a26a27f6f3dfbff",
                    16,
                ),
            },
            "OI": int(
                "a1b2c3d4e5bb7f1b40d14ebd70443393990b574341565369"
                "645b1582daab9cc6c30d61fdcf1cdfc7e9a304651e0fdb",
                16,
            ),
            "Z": int(
                "43f23b2c760d686fc99cc008b63aea92f866e224265af60d2d8ae540",
                16,
            ),
            "DKM": int("ad65fa2d12541c3a21f3cd223efb", 16),
            "curve": "secp224r1",
        }
    ]

    assert expected == load_kasvs_ecdh_vectors(vector_data)


def test_load_x963_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 12.0
    # 'ANS X9.63-2001' information for sample

    [SHA-1]
    [shared secret length = 192]
    [SharedInfo length = 0]
    [key data length = 128]

    COUNT = 0
    Z = 1c7d7b5f0597b03d06a018466ed1a93e30ed4b04dc64ccdd
    SharedInfo =
        Counter = 00000001
        Hash input 1 = 1c7d7b5f0597b03d06a018466ed1a93e30ed4b04dc64ccdd00000001
        K1 = bf71dffd8f4d99223936beb46fee8ccc60439b7e
    key_data = bf71dffd8f4d99223936beb46fee8ccc

    COUNT = 1
    Z = 5ed096510e3fcf782ceea98e9737993e2b21370f6cda2ab1
    SharedInfo =
        Counter = 00000001
        Hash input 1 = 5ed096510e3fcf782ceea98e9737993e2b21370f6cda2ab100000001
        K1 = ec3e224446bfd7b3be1df404104af953c1b2d0f5
    key_data = ec3e224446bfd7b3be1df404104af953

    [SHA-512]
    [shared secret length = 521]
    [SharedInfo length = 128]
    [key data length = 1024]

    COUNT = 0
    Z = 00aa5bb79b33e389fa58ceadc047197f14e73712f452caa9fc4c9adb369348b8150739\
2f1a86ddfdb7c4ff8231c4bd0f44e44a1b55b1404747a9e2e753f55ef05a2d
    SharedInfo = e3b5b4c1b0d5cf1d2b3a2f9937895d31
        Counter = 00000001
        Hash input 1 = 00aa5bb79b33e389fa58ceadc047197f14e73712f452caa9fc4c9ad\
b369348b81507392f1a86ddfdb7c4ff8231c4bd0f44e44a1b55b1404747a9e2e753f55ef05a2d0\
0000001e3b5b4c1b0d5cf1d2b3a2f9937895d31
        K1 = 4463f869f3cc18769b52264b0112b5858f7ad32a5a2d96d8cffabf7fa733633d6\
e4dd2a599acceb3ea54a6217ce0b50eef4f6b40a5c30250a5a8eeee20800226
        Counter = 00000002
        Hash input 2 = 00aa5bb79b33e389fa58ceadc047197f14e73712f452caa9fc4c9ad\
b369348b81507392f1a86ddfdb7c4ff8231c4bd0f44e44a1b55b1404747a9e2e753f55ef05a2d0\
0000002e3b5b4c1b0d5cf1d2b3a2f9937895d31
        K2 = 7089dbf351f3f5022aa9638bf1ee419dea9c4ff745a25ac27bda33ca08bd56dd1\
a59b4106cf2dbbc0ab2aa8e2efa7b17902d34276951ceccab87f9661c3e8816
    key_data = 4463f869f3cc18769b52264b0112b5858f7ad32a5a2d96d8cffabf7fa733633\
d6e4dd2a599acceb3ea54a6217ce0b50eef4f6b40a5c30250a5a8eeee208002267089dbf351f3f\
5022aa9638bf1ee419dea9c4ff745a25ac27bda33ca08bd56dd1a59b4106cf2dbbc0ab2aa8e2ef\
a7b17902d34276951ceccab87f9661c3e8816
    """
    ).splitlines()

    assert load_x963_vectors(vector_data) == [
        {
            "hash": "SHA-1",
            "count": 0,
            "shared_secret_length": 192,
            "Z": "1c7d7b5f0597b03d06a018466ed1a93e30ed4b04dc64ccdd",
            "sharedinfo_length": 0,
            "key_data_length": 128,
            "key_data": "bf71dffd8f4d99223936beb46fee8ccc",
        },
        {
            "hash": "SHA-1",
            "count": 1,
            "shared_secret_length": 192,
            "Z": "5ed096510e3fcf782ceea98e9737993e2b21370f6cda2ab1",
            "sharedinfo_length": 0,
            "key_data_length": 128,
            "key_data": "ec3e224446bfd7b3be1df404104af953",
        },
        {
            "hash": "SHA-512",
            "count": 0,
            "shared_secret_length": 521,
            "Z": (
                "00aa5bb79b33e389fa58ceadc047197f14e73712f452caa9fc4c9adb3693"
                "48b81507392f1a86ddfdb7c4ff8231c4bd0f44e44a1b55b1404747a9e2e7"
                "53f55ef05a2d"
            ),
            "sharedinfo_length": 128,
            "sharedinfo": "e3b5b4c1b0d5cf1d2b3a2f9937895d31",
            "key_data_length": 1024,
            "key_data": (
                "4463f869f3cc18769b52264b0112b5858f7ad32a5a2d96d8cffabf7fa733"
                "633d6e4dd2a599acceb3ea54a6217ce0b50eef4f6b40a5c30250a5a8eeee"
                "208002267089dbf351f3f5022aa9638bf1ee419dea9c4ff745a25ac27bda"
                "33ca08bd56dd1a59b4106cf2dbbc0ab2aa8e2efa7b17902d34276951cecc"
                "ab87f9661c3e8816"
            ),
        },
    ]


def test_load_kbkdf_vectors():
    vector_data = textwrap.dedent(
        """
    # CAVS 14.4
    # "SP800-108 - KDF" information for "test1"
    # KDF Mode Supported: Counter Mode
    # Location of counter tested: (Before Fixed Input Data)\
( After Fixed Input Data)(In Middle of Fixed Input Data before Context)
    # PRFs tested: CMAC with key sizes:	AES128  AES192  AES256  TDES2  TDES3\
HMAC with key sizes:	SHA1  SHA224  SHA256  SHA384  SHA512
    # Generated on Tue Apr 23 12:20:16 2013

    [PRF=HMAC_SHA1]
    [CTRLOCATION=BEFORE_FIXED]
    [RLEN=8_BITS]

    COUNT=0
    L = 128
    KI = 00a39bd547fb88b2d98727cf64c195c61e1cad6c
    FixedInputDataByteLen = 60
    FixedInputData = 98132c1ffaf59ae5cbc0a3133d84c551bb97e0c75ecaddfc30056f68\
76f59803009bffc7d75c4ed46f40b8f80426750d15bc1ddb14ac5dcb69a68242
        Binary rep of i = 01
        instring = 0198132c1ffaf59ae5cbc0a3133d84c551bb97e0c75ecaddfc30056f68\
76f59803009bffc7d75c4ed46f40b8f80426750d15bc1ddb14ac5dcb69a68242
    KO = 0611e1903609b47ad7a5fc2c82e47702

    COUNT=1
    L = 128
    KI = a39bdf744ed7e33fdec060c8736e9725179885a8
    FixedInputDataByteLen = 60
    FixedInputData = af71b44940acff98949ad17f1ca20e8fdb3957cacdcd41e9c591e182\
35019f90b9f8ee6e75700bcab2f8407525a104799b3e9725e27d738a9045e832
        Binary rep of i = 01
        instring = 01af71b44940acff98949ad17f1ca20e8fdb3957cacdcd41e9c591e182\
35019f90b9f8ee6e75700bcab2f8407525a104799b3e9725e27d738a9045e832
    KO = 51dc4668947e3685099bc3b5f8527468

    [PRF=HMAC_SHA224]
    [CTRLOCATION=AFTER_FIXED]
    [RLEN=8_BITS]

    COUNT=0
    L = 128
    KI = ab56556b107a3a79fe084df0f1bb3ad049a6cc1490f20da4b3df282c
    FixedInputDataByteLen = 60
    FixedInputData = 7f50fc1f77c3ac752443154c1577d3c47b86fccffe82ff43aa1b91ee\
b5730d7e9e6aab78374d854aecb7143faba6b1eb90d3d9e7a2f6d78dd9a6c4a7
        Binary rep of i = 01
        instring = 7f50fc1f77c3ac752443154c1577d3c47b86fccffe82ff43aa1b91eeb5\
730d7e9e6aab78374d854aecb7143faba6b1eb90d3d9e7a2f6d78dd9a6c4a701
    KO = b8894c6133a46701909b5c8a84322dec
    """
    ).splitlines()

    assert load_nist_kbkdf_vectors(vector_data) == [
        {
            "prf": "hmac_sha1",
            "ctrlocation": "before_fixed",
            "rlen": 8,
            "l": 128,
            "ki": b"00a39bd547fb88b2d98727cf64c195c61e1cad6c",
            "fixedinputdatabytelen": b"60",
            "fixedinputdata": (
                b"98132c1ffaf59ae5cbc0a3133d84c551bb97e0c75ecaddfc30056f6876f"
                b"59803009bffc7d75c4ed46f40b8f80426750d15bc1ddb14ac5dcb69a682"
                b"42"
            ),
            "binary rep of i": b"01",
            "instring": (
                b"0198132c1ffaf59ae5cbc0a3133d84c551bb97e0c75ecaddfc30056f687"
                b"6f59803009bffc7d75c4ed46f40b8f80426750d15bc1ddb14ac5dcb69a6"
                b"8242"
            ),
            "ko": b"0611e1903609b47ad7a5fc2c82e47702",
        },
        {
            "prf": "hmac_sha1",
            "ctrlocation": "before_fixed",
            "rlen": 8,
            "l": 128,
            "ki": b"a39bdf744ed7e33fdec060c8736e9725179885a8",
            "fixedinputdatabytelen": b"60",
            "fixedinputdata": (
                b"af71b44940acff98949ad17f1ca20e8fdb3957cacdcd41e9c591e182350"
                b"19f90b9f8ee6e75700bcab2f8407525a104799b3e9725e27d738a9045e8"
                b"32"
            ),
            "binary rep of i": b"01",
            "instring": (
                b"01af71b44940acff98949ad17f1ca20e8fdb3957cacdcd41e9c591e1823"
                b"5019f90b9f8ee6e75700bcab2f8407525a104799b3e9725e27d738a9045"
                b"e832"
            ),
            "ko": b"51dc4668947e3685099bc3b5f8527468",
        },
        {
            "prf": "hmac_sha224",
            "ctrlocation": "after_fixed",
            "rlen": 8,
            "l": 128,
            "ki": b"ab56556b107a3a79fe084df0f1bb3ad049a6cc1490f20da4b3df282c",
            "fixedinputdatabytelen": b"60",
            "fixedinputdata": (
                b"7f50fc1f77c3ac752443154c1577d3c47b86fccffe82ff43aa1b91eeb57"
                b"30d7e9e6aab78374d854aecb7143faba6b1eb90d3d9e7a2f6d78dd9a6c4"
                b"a7"
            ),
            "binary rep of i": b"01",
            "instring": (
                b"7f50fc1f77c3ac752443154c1577d3c47b86fccffe82ff43aa1b91eeb57"
                b"30d7e9e6aab78374d854aecb7143faba6b1eb90d3d9e7a2f6d78dd9a6c4"
                b"a701"
            ),
            "ko": b"b8894c6133a46701909b5c8a84322dec",
        },
    ]


def test_load_nist_ccm_vectors_dvpt():
    vector_data = textwrap.dedent(
        """
    #  CAVS 11.0
    #  "CCM-DVPT" information
    #  AES Keylen: 128
    #  Generated on Tue Mar 15 08:09:25 2011


    [Alen = 0, Plen = 0, Nlen = 7, Tlen = 4]

    Key = 4ae701103c63deca5b5a3939d7d05992

    Count = 0
    Nonce = 5a8aa485c316e9
    Adata = 00
    CT = 02209f55
    Result = Pass
    Payload = 00

    Count = 1
    Nonce = 3796cf51b87266
    Adata = 00
    CT = 9a04c241
    Result = Fail

    [Alen = 0, Plen = 0, Nlen = 7, Tlen = 16]

    Key = 4bb3c4a4f893ad8c9bdc833c325d62b3

    Count = 15
    Nonce = 5a8aa485c316e9
    Adata = 00
    CT = 75d582db43ce9b13ab4b6f7f14341330
    Result = Pass
    Payload = 00

    Count = 16
    Nonce = 3796cf51b87266
    Adata = 00
    CT = 3a65e03af37b81d05acc7ec1bc39deb0
    Result = Fail
    """
    ).splitlines()
    assert load_nist_ccm_vectors(vector_data) == [
        {
            "key": b"4ae701103c63deca5b5a3939d7d05992",
            "alen": 0,
            "plen": 0,
            "nlen": 7,
            "tlen": 4,
            "nonce": b"5a8aa485c316e9",
            "adata": b"00",
            "ct": b"02209f55",
            "fail": False,
            "payload": b"00",
        },
        {
            "key": b"4ae701103c63deca5b5a3939d7d05992",
            "alen": 0,
            "plen": 0,
            "nlen": 7,
            "tlen": 4,
            "nonce": b"3796cf51b87266",
            "adata": b"00",
            "ct": b"9a04c241",
            "fail": True,
            "payload": b"00",
        },
        {
            "key": b"4bb3c4a4f893ad8c9bdc833c325d62b3",
            "alen": 0,
            "plen": 0,
            "nlen": 7,
            "tlen": 16,
            "nonce": b"5a8aa485c316e9",
            "adata": b"00",
            "ct": b"75d582db43ce9b13ab4b6f7f14341330",
            "fail": False,
            "payload": b"00",
        },
        {
            "key": b"4bb3c4a4f893ad8c9bdc833c325d62b3",
            "alen": 0,
            "plen": 0,
            "nlen": 7,
            "tlen": 16,
            "nonce": b"3796cf51b87266",
            "adata": b"00",
            "ct": b"3a65e03af37b81d05acc7ec1bc39deb0",
            "fail": True,
            "payload": b"00",
        },
    ]


def test_load_nist_ccm_vectors_vadt():
    vector_data = textwrap.dedent(
        """
    #  CAVS 11.0
    #  "CCM-VADT" information
    #  AES Keylen: 128
    #  Generated on Tue Mar 15 08:09:24 2011

    Plen = 24
    Nlen = 13
    Tlen = 16

    [Alen = 0]

    Key = d24a3d3dde8c84830280cb87abad0bb3
    Nonce = f1100035bb24a8d26004e0e24b

    Count = 0
    Adata = 00
    Payload = 7c86135ed9c2a515aaae0e9a208133897269220f30870006
    CT = 1faeb0ee2ca2cd52f0aa3966578344f24e69b742c4ab37ab11233

    Count = 1
    Adata = 00
    Payload = 48df73208cdc63d716752df7794807b1b2a80794a2433455
    CT = 2bf7d09079bc0b904c711a0b0e4a70ca8ea892d9566f03f8b77a1
    CT = 642145210f947bc4a0b1e678fd8c990c2c1d89d4110a95c954d61

    [Alen = 1]

    Key = 08b0da255d2083808a1b4d367090bacc
    Nonce = 777828b13679a9e2ca89568233

    Count = 10
    Adata = dd
    Payload = 1b156d7e2bf7c9a25ad91cff7b0b02161cb78ff9162286b0
    CT = e8b80af4960d5417c15726406e345c5c46831192b03432eed16b6

    Count = 11
    Adata = c5
    Payload = 032fee9dbffccc751e6a1ee6d07bb218b3a7ec6bf5740ead
    CT = f0828917020651c085e42459c544ec52e99372005362baf308ebe
    """
    ).splitlines()
    assert load_nist_ccm_vectors(vector_data) == [
        {
            "plen": 24,
            "nlen": 13,
            "tlen": 16,
            "alen": 0,
            "key": b"d24a3d3dde8c84830280cb87abad0bb3",
            "nonce": b"f1100035bb24a8d26004e0e24b",
            "adata": b"00",
            "payload": b"7c86135ed9c2a515aaae0e9a208133897269220f30870006",
            "ct": b"1faeb0ee2ca2cd52f0aa3966578344f24e69b742c4ab37ab11233",
        },
        {
            "plen": 24,
            "nlen": 13,
            "tlen": 16,
            "alen": 0,
            "key": b"d24a3d3dde8c84830280cb87abad0bb3",
            "nonce": b"f1100035bb24a8d26004e0e24b",
            "adata": b"00",
            "payload": b"48df73208cdc63d716752df7794807b1b2a80794a2433455",
            "ct": b"642145210f947bc4a0b1e678fd8c990c2c1d89d4110a95c954d61",
        },
        {
            "plen": 24,
            "nlen": 13,
            "tlen": 16,
            "alen": 1,
            "key": b"08b0da255d2083808a1b4d367090bacc",
            "nonce": b"777828b13679a9e2ca89568233",
            "adata": b"dd",
            "payload": b"1b156d7e2bf7c9a25ad91cff7b0b02161cb78ff9162286b0",
            "ct": b"e8b80af4960d5417c15726406e345c5c46831192b03432eed16b6",
        },
        {
            "plen": 24,
            "nlen": 13,
            "tlen": 16,
            "alen": 1,
            "key": b"08b0da255d2083808a1b4d367090bacc",
            "nonce": b"777828b13679a9e2ca89568233",
            "adata": b"c5",
            "payload": b"032fee9dbffccc751e6a1ee6d07bb218b3a7ec6bf5740ead",
            "ct": b"f0828917020651c085e42459c544ec52e99372005362baf308ebe",
        },
    ]


def test_vector_version():
    assert cryptography.__version__ == cryptography_vectors.__version__


def test_raises_unsupported_algorithm_wrong_type():
    # Check that it raises if the wrong type of exception is raised.
    class TestException(Exception):
        pass

    with pytest.raises(TestException):
        with raises_unsupported_algorithm(None):
            raise TestException


def test_raises_unsupported_algorithm_wrong_reason():
    # Check that it fails if the wrong reason code is raised.
    with pytest.raises(AssertionError):
        with raises_unsupported_algorithm(None):
            raise UnsupportedAlgorithm(
                "An error.", _Reasons.BACKEND_MISSING_INTERFACE
            )


def test_raises_unsupported_no_exc():
    # Check that it fails if no exception is raised.
    with pytest.raises(pytest.fail.Exception):
        with raises_unsupported_algorithm(_Reasons.BACKEND_MISSING_INTERFACE):
            pass


def test_raises_unsupported_algorithm():
    # Check that it doesn't assert if the right things are raised.
    with raises_unsupported_algorithm(
        _Reasons.BACKEND_MISSING_INTERFACE
    ) as exc_info:
        raise UnsupportedAlgorithm(
            "An error.", _Reasons.BACKEND_MISSING_INTERFACE
        )
    assert exc_info.type is UnsupportedAlgorithm


class TestDeprecated:
    def test_getattr(self):
        with pytest.warns(DeprecationWarning):
            assert deprecated_module.DEPRECATED == 3

        assert deprecated_module.NOT_DEPRECATED == 12

    def test_inspect_deprecated_module(self):
        # Check if inspection is supported by _ModuleWithDeprecations.
        assert isinstance(
            deprecated_module, cryptography.utils._ModuleWithDeprecations
        )
        source_file = inspect.getsourcefile(deprecated_module)
        assert isinstance(source_file, str)
        assert source_file.endswith("deprecated_module.py")
