From 0b3754294f6363f93d126aa0280084cb4956afbe Mon Sep 17 00:00:00 2001 From: Johannes Roth Date: Wed, 6 Mar 2024 10:10:34 +0100 Subject: [PATCH] update test vectors: verify draft-ietf-openpgp-pqc test vectors --- .../v4-eddsa-mlkem.pub.asc | 41 ++ .../v4-eddsa-mlkem.sec.asc | 94 ++++ .../draft-ietf-openpgp-pqc/v4-seipdv1.asc | 30 ++ .../draft-ietf-openpgp-pqc/v4-seipdv2.asc | 30 ++ .../v6-eddsa-mlkem.pub.asc | 41 ++ .../v6-eddsa-mlkem.sec.asc | 93 ++++ .../draft-ietf-openpgp-pqc/v6-seipdv2.asc | 30 ++ .../data/test_pqc/kyber_dilithium_pk.asc | 289 ------------ .../data/test_pqc/kyber_dilithium_pkesk.pgp | 88 ---- .../data/test_pqc/kyber_dilithium_sk.asc | 423 ------------------ src/tests/ffi-enc.cpp | 26 +- src/tests/ffi-key.cpp | 10 +- 12 files changed, 386 insertions(+), 809 deletions(-) create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.pub.asc create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.sec.asc create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv1.asc create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv2.asc create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.pub.asc create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.sec.asc create mode 100644 src/tests/data/draft-ietf-openpgp-pqc/v6-seipdv2.asc delete mode 100644 src/tests/data/test_pqc/kyber_dilithium_pk.asc delete mode 100644 src/tests/data/test_pqc/kyber_dilithium_pkesk.pgp delete mode 100644 src/tests/data/test_pqc/kyber_dilithium_sk.asc diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.pub.asc b/src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.pub.asc new file mode 100644 index 0000000000..5b1c3551fb --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.pub.asc @@ -0,0 +1,41 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=dPFW +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.sec.asc b/src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.sec.asc new file mode 100644 index 0000000000..ba7a502109 --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.sec.asc @@ -0,0 +1,94 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +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 +0O22blDNAr/tDA== +=q5En +-----END PGP PRIVATE KEY BLOCK----- diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv1.asc b/src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv1.asc new file mode 100644 index 0000000000..434b61328f --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv1.asc @@ -0,0 +1,30 @@ +-----BEGIN PGP MESSAGE----- + +wcPUA+RAz7r/1vNXafOEf/qo/UCjgP5MHXsUdzusv+Xtwa/q5/gtvWSKENMEm/ef +mwvHzlOW3jyHPr3wNkiRGNmZdEgHlRUxOF67AKfUqX1/H+RawlXrnu2O/7xDfn09 +1DOeYQYsG+VQe5eDfPOh6EAqvhglNG29enkwukjQuWJ0U2+SywRlh0J49oG0lZZi +tEonE6BX+dKo7JFAAW27I4+I15zamWCm7C2qXtcjlMq+68U6isstfJYBgCFoJLRV +9ME/JlwVQ/3OA4eagh1Ysw/s0Kbl8dWc/U+pUVINfLFnZbr8UnRx5QVjo47HzV9y +IPQcl1ETnrQqg4jH5cUB0wVB/OGSHEH1l1q7OwO4TBx9seRKza3wzHgXQyQn4jJn +WxG4Uf0rWwa/dbXpoGdxye7Di0HhFJBp4aPaPEm9RwmeD06HPGyurgQS2heW+ICR +X9q6HjxKmbIToWau7sEUZQh1isRD923zmZO1Cceiefwvv8RDErBaYRRfhoDHnwlf +haUkGDH55GC/mFgMUst7XjYLTpjTtM32bHHVoYyx3edk3V4C32dRP4geZRlq8MKb +3eNvTyZHPBXVeVjB2XVenMkju2qQvjAvr7xkJk5QvqRGZ3qy5JKPHjupPKMKR6Wv +90WtP9OPf6geE4K8g8dc4yqhqEf84IpWfwyUjglPwc8G7QURyc14INSgnVKQ8nzJ +26Y0YSuBG599cwnBXIv7TLOsrmpcR+3O/OiqztEXwBSFalWqC6SScWr51+K4RHpi +0Dg3GYOdeu9V12ofWhh5eoXiQxiThsDc0cYD2LwwITb/sXJW6jisvTSQSszuDJsg +w4LJGVIgk94GwBeYCa4w+YbFD/6bC+nd9hze5iWyAt4jx2XuYWHvI95wUvRal4Y6 +LcYKShZslef/9sZlrJ3O+oM8Tc+xjr7w860cw9bHBaRA3oZfDwVLRbJ63bh6dzLS +8Vj4UL0NiK9AlokOTlYTatKj2tkLaD6snZ5QaS916NniwvBiSozyCWKFPvKbIA5t +Fy7bWMk70wd7FJ5rOYsRvWOodcxxfYHLyOYCRikP5sOgelHJfIcqZZM/iMyKrUl5 +QXTe5SUMFKuAAWkv1nFgJqaBGkkYUN+aL6um4ogKJKxBArhUXtz5jp1zLQe6w7Pf +XtJ3rtnLMNIGbaJjN6jlSqB1lF88ljU6yL8lsfNfGuq6eLsNz1QD9sFoZyNKGVF8 +uGcX8KH07hyNCOPbn4jMZqnLfcEwT971KNeW0NNNLaVIjiYtYrEInYpnGP1fW0G7 +4ic4/CGZ0Jsti39rTPdz76n14EV5+HGGNtO92nXr7HhRvlvehZO+pPN2pPvAOQgp +378jEDnhdcFIUnWjaSN4HLjxN9X3tWosa9stVatcOB5n01+QAqdstgbARXiYhzZI +QOy5bk7GzM/xaD+4iMlsMgmhdvI3EuMrvzRHx95YvU+tc8UBhVtMpcxgp5tiPtw7 +wEFyPWYqTA6c+YGTZFzHNhqJ+DqLTlKP6+uYet4pCY6YLcu4z0JMG60Q4/MnuF2u +7pjPG7aRNGwr2/JFeaumSFbs5SrDPwDSOQGz9bQ6fbfGNm9Iw/Gq4EYrNx0raEVt +E1FD8+nRXcS1PribkWlu/qNd0yM+tXMXlryR6wAV3R4p9Q== +=h3Km +-----END PGP MESSAGE----- diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv2.asc b/src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv2.asc new file mode 100644 index 0000000000..2c54fd06a0 --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v4-seipdv2.asc @@ -0,0 +1,30 @@ +-----BEGIN PGP MESSAGE----- + +wcPhBhUEvWfZg4iBPoi/NJDz5EDPuv/W81dp/h3ny6MDFKIjw8Jva/pK0mlJJMbX +RtJ2+idWKUL4/Evq2JBL2pky3VeCkhJIAnKdMXBvuucpNC4xVhCREpPquOsQcJE1 +IyR5kdk0uOw/7T5i7i9zb3N8Mn4jObYNxem0PbD44xYfF4BcNZqWPhLSwdFp+uti +FDVcsAtaruQQnwcb0tE9KUxMHsH2QxuG6Xnm+a1v3fds/rp/DqrR1vTcwbeUBej9 +AcrWhRI+KrE80WtMqqB0nvj74Jsx7xrYKyDqi7C50PG1LwTfFmO1kuIOGwEVh3AL +f9vesNee8+QWqJHMuSaqTsndts7Pq2EQ1fzdsrhYvseFEuiITj6OHnvmERjhkVRt +M36v3cA8GmcKI2YLa+fNvyagjgkoUycjNopK94/KQk8DY4JnKEbMHJ1BvUQ6mXkZ +ZeQXEt9gBHMZvTPE4ZPKSR14tki9YbjCvGcklEx1BEhONMo+03C07H/AHMtk5Ia1 +BFDF3dRkOhyXLfJCNKhJL4Sq7Z07CqKYCCzEq6WgKQUlWmiJzEtZKmh61LX3FaVU +A8+iK56QBvYyFUv/T9mGIBvF6qM+1l9BUSDim81EEN3FVKuo5QJ+tEbuKOrDWMTQ +klx3iEmGFeW8/N0gxTMpDKQRqDbkhdwFoM1c1L61NeCfDvTiWWVQQg00Z/n38gGC +S4MC8szKWPPlmtPYsXbyITMLpErgbIfr3IPfwRkm1RWVPQ/T7dm0Iz8ufeVTAqv+ +4+WgeILpQbFf/PmKHlZJnyj+munVaLaV9ed8g/0ncfZ0Vn9sMzGXifAjJ7vT8t/2 +ojSqc1AQuhoNguI3xFUCaUEzmWzOl3ONZhgDr4WTJdvfW/8IHn2y0Kkn5buqLAO5 +LOvrksFgkuy3N21OzgI+H5SeCqOGt5NKgyMAUGKEa5a6ApG/DSecXJ38yr4hTG6k +IGxfd9dlezcdByrohFsRHC93XUSlTnxTqdYmuhK8x4me6QblJFEJhoDTr3lrKTQE +gXC5ncdTLKLLINnZgFRc0oFABKGATf/708nt/vkuhyNroCY2NxGKoem3M8P5radp +vKJ7qRi+ePBmxwPhb5mWVf7G5y509GgVhKUFUWCzvyoyp1HLtekARKrxBAElXo4D +RINA468O/Sx9rWDFFkaShsXqQEhe06C3IhoG6vqagdB82LYcisCWEAKd/hZE99Ub +EWawnQor/jrHhGNQId1nZEwpEE2/cndU3Np0mhoGF/kkjyGah8wxjFRZhX2b+w3M +jmyFyOFGog6SDK1dK6+Vdki3fJFvBCx/uLmuLiNQo2MYeG3B4W30jNDlkxZ2DA14 +1zPXL8S3t54ZCtqiqDO63SNW18o2SB9AJpmSYYF34LO29VJnWIK5/94tIsfwHbAg +P/JdfRmSXkUYDTwJcYR1SOp8IIWwhmybnYctHS/n1q+WnzMj0jJIe4SI9ifoJg6n ++ntRfsqR1B3fcTAKN0XK6pnNy+pJ1BCVDOYDz5RGsAa61wJdVK/mXEg7VyjMlf0t +EnPzSfwfotMPoZs9n+MuK/BO0AX8DqzY8SluBALG6Eu5OV+A0lQCCQIMeNuKCuzH +CoYERR8ds1jE9m+xLEGK7i1+zr5FSdzGowHh4xMo95Zk5JUubl5rYvcYbHgVVKKE +9mwM7/4Q5mXZ2xvsBftkujgamZM2UN9UYSA= +-----END PGP MESSAGE----- diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.pub.asc b/src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.pub.asc new file mode 100644 index 0000000000..623953e31f --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.pub.asc @@ -0,0 +1,41 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.sec.asc b/src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.sec.asc new file mode 100644 index 0000000000..92a249311b --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.sec.asc @@ -0,0 +1,93 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +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 +/d8lkIgM +-----END PGP PRIVATE KEY BLOCK----- diff --git a/src/tests/data/draft-ietf-openpgp-pqc/v6-seipdv2.asc b/src/tests/data/draft-ietf-openpgp-pqc/v6-seipdv2.asc new file mode 100644 index 0000000000..5c802b2a9d --- /dev/null +++ b/src/tests/data/draft-ietf-openpgp-pqc/v6-seipdv2.asc @@ -0,0 +1,30 @@ +-----BEGIN PGP MESSAGE----- + +wcPtBiEGJj40tpk451PcZ8qO43ZSeVE14OFuSIhxA8EdcwffQO1pU4rRGXPhivmf +yaE7whd94FIPayIJxbUXuq6Ei6VifzlPu9BoxvQYZa/u+exaOVT2MLxbCAceHYMw +zSuUa0BoiugafZWAnVrn4ji+mI+298c93Ij83yUjkzvBsKyJuhesTevSpJAnjiMt +m9Mmwzc8Y9tB4N/Am8jR3p8UYLH+2aH9FyT6VdqsETYiPFcz5jZqkag7bAB88KUg +heJAHU/FgHXtz013tnPyQPtuVHeJrP8jcd3IENJh9CfSg9rkhAoW72GiSGYPm+Im +I7faHJ8LMCx4Sbur9rWsZM5Gl+sG2MyjM3SrykAfL8W6s5o3LVw+06h5XnmsLUFE +8nZf99LBm/5aUzkdmq1G8hgLY+dVhTAm1DZxbNz5nDbtCsuIbJ2knS2yqxlQV8qx +5eikfWlW29TfREHJf4von2xR668vYwOibA5sTa3utBpNk2YNalZ61p9MxPW54PvO ++EIRYVTlwhSbETanOBms+yDq0NLooO+OQerT3WA1VzeT7j5rzaQM0ULAK6x/KqKt +ARZmAIufbPktMfX26tczv5sKb5rx1MJexNUhnxvn/xGDkAvbf8HrU3BpxbqPPX6/ +MWGpggb08U8YQU8qLCMzfPaFajTfyyhOKnoh5MBLNVDzbWyqKLzLGQTXl13WSvxQ +ib2U0YoGZtVmshmiVijCu4x1aX4A02sYKrzeYP2WpAl1sEynKz1tkWZQKS3Jt+RP +Y702QtUrRWWul23cBsqy0uKcQ+Zk/rCh5qyQ9mZtx8EmathdnHpi0qZLAH4wEYTA +HScy59zUR5CoYnJNBDNyRyEuh/B/pkTGEisLb+i1F9M0WhrgfgYSldEzUCZ7KJUD +Bt/d50OM+M8kmkYYBmiyWBfNqMMckJHhjFAp8kd0V0FP7lVwPGywK2hGKQBF+ylh +9O3qq1knDkjyCLNIoi7kJkl5KEOq1qLfwRnqfTbivGnhMdWh658WX7Q5QCUZf6vT ++aH2SXA+HNd4VAQguWbnmRNmjW33PTdte25T36qHQ6jlCdyG4VZU8f1yuqzhbHPx +FwAaChb/B6l5SIxK8zupbT3K5NDsSrD0wBV52P377GGVF1z1wI/+0ftNTxu/mgx5 +aDjNyxUpupVsqWnws7a/6ixMUqyYAI8TlVWj2vBXgIg9gvt+yp/X7iMD3V4v3z/P +c8o2nH1c9uB6bXJx4HrtenjkDA4uQ89NH35yBII5OviL4NWTmMArWSN5scBOYOMJ +KxGDvFCkgcGjE5x6srj0gzntFg3TcYQiC4+onS485xTQlud53Z7Vc4JnSn7F2j9P +AJX5s+yUgT+ob7SYvYigbp30Oe5fg0NVZzH1fJ3eTJheClb+87vjrZS4X1tVU0MG +LNCdjF20Jff31fZu16mxin+hUZVyfVRlSycfVJU7qXzZftTpr3rsNZiLlY7z7BRe +1lXSx7uZFCfhyu96hyIPxMuaBIX7OHkduinurQ58Vj92fAe/8f5jviRVqtKwZ9Ao +lZfjSn8k/CgDxzFu2gWpbhWJ4GKvoXgmWDESk4o07UGqDbhm0YO5MDM0uoAmsGae +0lQCCQIMTzhupJq1yZ3vljrXBYF37QuWDi/MAvL54hMis5UXrTAh0+FobZAXCoO0 +epU7H8CIs4ZCelIyD1W+K/kv3/E3Z65WQzDOYOhXSCAOqcpjiPc= +-----END PGP MESSAGE----- diff --git a/src/tests/data/test_pqc/kyber_dilithium_pk.asc b/src/tests/data/test_pqc/kyber_dilithium_pk.asc deleted file mode 100644 index 5e4976999e..0000000000 --- a/src/tests/data/test_pqc/kyber_dilithium_pk.asc +++ /dev/null @@ -1,289 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -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 -AAAAAAAFDBMZHCI= -=SAP5 ------END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/src/tests/data/test_pqc/kyber_dilithium_pkesk.pgp b/src/tests/data/test_pqc/kyber_dilithium_pkesk.pgp deleted file mode 100644 index 64a1b4a018..0000000000 --- a/src/tests/data/test_pqc/kyber_dilithium_pkesk.pgp +++ /dev/null @@ -1,88 +0,0 @@ ------BEGIN PGP MESSAGE----- - -wcPUA+dLZWYz+VeVHXERp0akFiO0Z2CmLsrPPwr7ZuUIKxfDF4b8N+xlYRcK52GpwOEHGx9lYc9n -dxVQ+2Xq0wbJnHea9QTaDijdIqWfOoEyYEfyEeRBxjc24ZDhpsgHtr0Xov02OC2O5gzE20yp/OG7 -0ZFwJ7yNBlzE1cwWEopaxJxrTo7gl42Y0gvqu0aGInyB2YjjYjOdaQ3nwPcY5Ed3dq/5z/IWc7GH -1dPirnRl/TnCmrzq//msxbnp5dSn/ayT4+W88BvjK1mNvEULymLXdE7OAEQag5SZJJ+8E9oUXd1s -qesKbFJRoIVKacQZCV0rhI4dI9hj/LbLQ95q9GFpGvA8+BhPEDedwSsB0no1fajbOm98EUKHPhZL -pyJTpCLgPKLGFe3gmh+F9QxKlVd2Z1qgfcEw5qqob+iyufipHIWMKxNuPACs9ezywOt8Mu7sil8P -u9/BX696qDABwTGMkRdIc5FpHdmNAocGNrKtn7lm/B7fTePTnxopQ7dXgAfEO5kgm4l37DBbev8F -SrxtDPJfmaRVBoJqE1YC0XBpGJ5v8baX+nduaJvkN85eWgYnxnlF2uyRTE73B0UAVyGFj4rRLa4g -cLkZKwSpF9HTwy/80Bu9pNyl/C5LbxLTFgs19mzsZUOSDbKnEUmpAbSpxyLoIbZgPbO1lYtIfHY/ -c1CsmgGJVMYXzpgfIiU5a8Kovyoe0WwGp+bwCLzES8ZTxNwfBLxGbZSAtbA69U8CiCVR/eG2wW/N -y/qdS8P6tK7RN/iq5ntvYW7XcvHj5GtoLfQsYXwcoovr5v0BNeH38M8UYIxVF/VzO+1DR4cAgCGs -eWVWNlGGrJPBtJ8QgdM3FI+siFXOJHtKCFa/H1vgS5nVX+lPNLYLi299H52u9HHU4YyNBTQAsNu+ -rhZ6ptVFKaVRvl46IEu2AOMojXZN7w8xRxqwat9IQGbDbYlJSIwwgeAJWa0fvK1dzaBKB4+BGtd4 -TllhtPu48dtizM2hAbIlnZSj8O7qN0X9EgD3YyRJYtxbnmCwqVUovQIqeA08C6Npq5gl5gOFVabz -p6knctK9YBz1kb4rMxpiWbaluH0tdXswJced4sPWzKVZkEW1XEVAqmJKVDU7y+Cwa6FP1gMEA2AE -62BQyxzOFUVlreIF5DaCfpgV60/oOhJvvCzcj9wstABCwXECLnNkmwlOFqHsC99LOoXwCdwYE0ha -rCZoEPG16qKrK/x0mZMbmLyssOjHYbwQCDMs79K2yTdMnr1elV+hs3XijtkkRkNB2kPmmpv52riI -7EueYTuQ90wtTr++RRBbpW+nlQOdxP7jFEB1s52TFbbNpF5e3xDZ0JgwJJw/F3fhsBIpoOrntlt8 -X20F/7CdDaLTXSLaMkj7lKKozljBrm1KvpZt38Cq7edzR7auUkp8z6cxPj+52u+3BRd82R84Zfed -tnvI1ceJ50sA+zLbATTUtN+0L+S8mzXEJ4baEX0tm+I7N8xiMh5Hxr1ASbqypKqdX7YJKFj9AU5n -OxWuY5SOFEp7xrJv8sR9gZTwHXuKT4MsmTdz6EkYk3/nw7bSzTwBpoAM1NoZQEOOva+g3sTSpAMH -P/f8mZ5CzBZJF/qmtSWvclFdHIGdfbkbaxFRd7lBKY5loUvSHS4O6adE/0VfvXN4lZHN5GFhBDYd -0361sGp07uhcBGcpjYZlLM/fTwROdxEa1W2IaQbl0VYcYp7FIm3BZ/a6RVfl+j+9utq3WjmBzjtF -wUpAlvKZVb9YCK+IEUMRAcVLUre3vikT6xfDDLuQXw26SfQcohZeiXyab0hn9uisLyCfXOh3RTOY -RL9Zx4xDkoOByJPUTQBHYzucnhWwVnaONM/RXtsK9DjV9L3n6jJ+gj6OsvnT313fQj+l5kprFzfz -ZUQ4tNifkK1+kOZL060ZepKO7WpYo+So3oYzBxQtNYtUcG7dRrK2X/GlDAf5SVenhW2RUmqsoO+1 -jxLJbWRJbd+uBe7ZayPmnIWvjuynjyMMLAD3+f92fTJcW2EVfBjh8ygLi6wX36w15wwk/rrrpwRg -32js3Nu2JgAzKtnCBCve1AOvTuWUqkD1H1lM14yZieSi9OBsLfc8EEuFtxOjbQyCZ2l8H6k42VU5 -2JAA7Fo6UMoTCm7vRjIoAFm6HrqffeOcg9TgtHS1gihxQ11/JiyS+nHS5YHDzX0c7COCFAML0VLX -BNiNGhxKyMh+bW8PosunaJ7xgHJhzQBkAkGmIke8tEmXVX+bxGnYHsdyI0VSRrFBC1C+umwP6ign -VtzqssYJbk7Kn2lkKw3NMc90TLvXwkJsN+ybKDjXlXvAwkrRAAYinsiV+t9pekPYx3ud1KHkoKtU -N2lpP/BY5NjmPw9RvE+JQyq2KXbGzzZZ9YCA9oeg2Ezu1PsqQRV9xrkbkvPNlH9DHw7UlxLBAOlC -o55o4EUcIKZ8EOvsonwWFbeTn5kXHoENoudnU88+bD4iggu8okCPS60k+7TJXoTh9E/nvw/xIv6f -SS/Auiq7PymLbUqlXuVM/1reRQaxzntohayh+C6KjzZP5tFkKZX12vFRTBsU/ngvpSeBQ1IqHHD7 -kwZQkJPqEuEGM8aia9931olnI80F24x8dEK/sY+Bm6KeI7YwpeIYEQnw5ToHywQJSSv10WzJx6kg -EBqbMXW+kcd+zL4vn2lCZxg/uhwN5QFw43al4O3MN/F2IZSI9fujVtzvnyJif+PYzw6iDtcc/iSq -i1I0mktMf0vJxlxLzv517BHmcwp7KYR0fW05tl811u6k3sHvUrO9s2bse/2oz4bPuXtj6y1skzc1 -s5iLxFWDizZY7yD7L+tf3K+/KB9sOCcnhb0gKId/WAgRU0QopMzTFPNRZ/x6IxzfTCmvgAIZUSQ3 -UGX9fy6Lwz71ZLhBIex3KKJVcLweVXFXHFO1o779XyeATUgng3WhWlqoxN9skfrhlKLcTKjiIDwa -pUzrITWhvUOn8NZYLWwt+Fln2k21uy33Zaj4IV9OjG0mfdjxvxN235BqJ6EC2OYMiKJrRXyle6XS -hTgrSHqMnKSdRUxHy48IbjIBBKwuMniP4e5VgcMa/vT4EP0tuamjyYTOvjmuGeJnVITOe31jU5cv -pDdQivwkvB5i5iDqqm/2ysVRM7qBDHylpcnyopX54PqsN2ntsnzXA54RUVxOXsqg96+MteTMNutB -vIRZDRBNE+WWVdk8i9HnZukLj8XNGH5kgU/7dyvs8LcnDC8JBPz/Ca2uBKBJIYfFvwhCl2LDfq7J -lVveTinThAtkUzMIvlnapwKx/8+9movuaSD5ITYKWjjlH8mBqcIPFx6BoX4eH2JdVm+h8nFPPJGw -EQ3dKUMEgEl/KpZJAS4WXaLbk15dUyev/utjdKL115tFNFk25PT/VzKi1tJf4/PAkFtuNqT3+tEe -fSZG+Jcmckk3nISKMA1xGlcBRaCxJoFwE5t43ZBzreAsjBSWS4CUg7bdiemmYCP2b/rUmFwgd0s0 -WnTOWfIlrHErbFqju26252vemVgICLgCsxyOLH828QW9/GsPtfALkrr9sQY3ebZjLqdBz4dAgyIx -xZs51SLU+YqHCukkdwhAjGZsXUKGkoIRh5isdd2TDfxV01KGqHXs8cJHzYyvt+JB8WuWnIhpZg5A -KtWf7yQ3ntC4HWDOu5q7h3WDtaEv7UwugNZhaY6M8k30yWy+/V8g3h42Fo1CKmx2iV27BNCE5LGv -MCW5Bvbw7cwj6w7Obs14tsrkRNl4+X23HNDWx0Vrw79MXC5+EDR9XH3D1AXCKhdC2X6hoXbH8VCz -Ou7kBTj3eHwE242kBYctMZ6qRx+Y0kXkxkrfAMkYccYgJWyLJx4TAMfodWwtCQgboNeva5KCX6Wo -2qBDPmXSwhyvrxrA2g7xXw+2ZPEA3FXZyibi119YtJZgvJrRhHeyD19ntUgxt9MMyyurz+Am6aAl -oqdWcsMuSu/YIgYXZVLKITSqcwfu5fFzX6erF3leUR/Y/KU1FOLOe3y7aOlcbKZV1/xaoQwjo5le -jwLPfXQJpJmOL0dkEf29rV5tKgK0xUkLQ7F6aXDJ986aixzYuXwtOmPQMpWWRIDzHC/wReznWfQX -aOSH1sGi9UnS9u7qwBJqRCT2xQlkcGJFaIxTbuVKXCBggKqFlZCH6Tk9LzeWbaffnbDFThj6Ihc9 -VPy9XT2pm7T9/CJR6DMEQsTxoDyCA/uQMkdWm5vYHN9SCGeqxVilfUQm8YSunV7fxSZ9ptD4zsSD -hAKOlDDf9oW7tlXjV1ua9PR7aGkDRJgh7LwDL9PP7iHW+IgyhQ1Y29hmV/FnuNwYgpa76QcDN03w -TolHyhaXwT/18fOp7Eo1o7UNnEggc9kga6rmeDM6YfJOHeWEfJ7xyN+nab1m1o1NwKJ5t6KSddQk -ZPvOU99s6vv3SwmCUAmx22NZA7jE0wjY48Djiaq0og45COUGASduN77BJLUm2JslbbzKMX2gvKa6 -xoFa/DnQ5KsYbfjXnJztJsMx0oXV5SbutbKyNKFEvJnOKseRzPJtXVz6Dkq7J38/B0o/r884Ak/S -puF6yWYr3/7rbtzlTlnHduxFNN80fiXhOq8QYK9tdcMZl6jMqy+FvL+ca1TAekDqd03wIbn8SpG5 -SP5JcAXdggBrG6SmtxjuZMFcLHTXbAuVolz7hW3+rRlbHoyhIpwdVaQAcT9z8VLr4MFv1RuCKS+T -3vJy9Cvkg8gc+zk8uUxgVnShMcc0jxXuqEMyLBYdokyVLbBcPvqTjmGAN073kzg6lFsID5G0iQqg -MGnAbvUMGjBwr997DtHvlVa8ikSpTspmXwfKPACquoFTp2iheTdGLDL1YUHtFQg69kCanQSITps3 -sNzcBfRMNw9cAMG8Sm3dfBkOeCsWzjyN2zSNhrKmbUAj3MO1XX1HlpMdIkKas83ln7nrLru17Rcz -Dl78nwqFzyBvIY+txvgooMSt8NXgHDKW2tK0VnmF6n4aE8Z97eAKggUfzBtKqHGdMRPMolO5bzrH -r8mdFSZ1EuSIeLPwiCaAp0Jpe5T1/PqwrtZbSHCVbxx4lBlTP7yYeY1+8zQUs+tYP/P2VS9BKEzL -+XveFuTmkg43mBVGRTFcBuay3zMaHrJq0YiPLa2Xkitxd1m8GQU//XfJqeGRggrxTs6QSQXuInoi -QHdP8NdO746COqrhK4Nu+53ezwdZOGL0zrV37clZ/M6HVfa30XYKZ5yLkCR5mzhVnRi/0+UhJkET -B0EF7NdS77edz4XsS3uDnWjz2rur+9+BwOyxPudW+4r+6H7vn9BAPEG7O5MlhKcndWQUV7cWRNs5 -6CjFOY9/NQJ3U+7bXC/J4B04O3yFiwVsYfhTbVMpMBmrMaW4B2TuNUWhh+qIp/Wxfg3VfPrhl1vY -7r6WeiBQi4u+Go5wEVM5v2/Dpyo1YDphpwwNeojbu0yjn80MYWHklF8wrAMTYEk1D0HW6GUEEb/D -swDY4FJlfZeHyoFQhH5JzT8FJZzl3Nq843EFNfVQ3eRRVjCQClUNZcWKw8LcQB5VaR60P/QI81KQ -YNW2hq0xnzy5E6mgQzQ7gxqV5zD6asn9km5M14d/qbn8Q9LtDJA1NltCs76on/tIwzxA+i8fHzXn -qEtV6sW4/KpyAs/EaPbuMe8dNe9v4RnC2vE2x1wLmQGziA5ZileFq2671zBj33YEqS8N0KM32fhE -5/oVej91yHykCI8U4S41YoLAP0bRuBOCaG0wl22aqiRKZpgiXEYx5GqiXityAk7+tST5XXTHNJLn -WPMy9Z9IXjf0zRxW0hMNGy5yOvO4MHZMRvnXs6bnbt4REofLa9e33NK7sWiVxakQCxhbyqrdQizy -RvXMpxUo6IgTJ+dtP7/4Eky6vjKyQxiorwG0y25lp/K3l3Ems1bHF/D0Acn/0Ig+3gnntoYgJBi1 -L4CgDy9kqh5FXofUP3PgEIFfU4RdLePbgT7uHplStWjDWgXy0v69k6dFbkpfVQ4UcsJxSmYiSEFY -vFFTJD/8m+1V6VR0SwLtVLmBPP/RbebGpQas0ec+yrrK+7t35ho4CXxnblgSnXJ7qigmRgAqLxqu -WgZptnCQNG97XjXzOR3im/+cqrdphtJeBG+u0yqHdq3CWFupz6r7ILjs11F0EHJBsubvq8W1rS+7 -sM2tSFKO0PVnmdMmtGqD3iDbYhP5GAzdhn/bosoBzz8GxwqLXSz50wCeJLRLj+dAzObQmz6g+rGO -fKTy7nWZUGhDNLRaZ+ztEPyJQbDQPo/U/VuLj2S2aIVUTbTxpv1OtFM6byzkeghGA9/xIaTs4gyT -mFpmNbq5YzvcIIOO6qZ/W6/lhBRGG5ZuSmBT -=hAt4 ------END PGP MESSAGE----- diff --git a/src/tests/data/test_pqc/kyber_dilithium_sk.asc b/src/tests/data/test_pqc/kyber_dilithium_sk.asc deleted file mode 100644 index 56cdd6386b..0000000000 --- a/src/tests/data/test_pqc/kyber_dilithium_sk.asc +++ /dev/null @@ -1,423 +0,0 @@ ------BEGIN PGP PRIVATE KEY BLOCK----- - -xdbLBmVHlUkjAAAHwEEm3R16QRXKcdiChBHdQURIC+hlFIge6NI2WnYADwlmWv88 -7mOrlqIv3mtv2odwos0ANnswiiU0sue+CIQdfqWY0JDLLNziF9IZT16kDUwo2ykl -1h7+yNymdJxCWQcE81eA1QP3TwqBAUg/2xBtcTRzKt77tFYZTsbUP5FYnuXBHGh1 -gLKAMXd+TnAnvz5OFGgzeYsllKk4ylQ2I2dQTSWTSfTGdILgvJm/Kg8WRLPrGBfA -dCmR/F0VJiYuIU5oYVeTvDxZ8jNmgGzZNc3ORzmAXqF5H9AuVAsbqswIgBpycZih -jetvVPOUY9sKUE2ZhCUEXnIzmMFTrnkqjj3GJi4y8qAQ1VAvBMxE5DQsnEoFt81G -uOCu6Y3lFabwj/eMKKgmyZZordqmhL8pOFGlxo1hzxv4rzwZtNLmS877yJwthAUk -vv5vaXWRCvXCk8ap/PeHsrImGCkD2+Oaq2PLG92bWD52ggahP/fxAnOcLbE3/hpw -tEnXuYoGVyEeuFqHbJoho+o6IZ5mN2Kg1m3Yi1XJ9Jeqnn0ZMv4NBkPKGWxmkEEL -mX/nVWQO/U5s2cdKq+F7I9nPm0HzY+9ScYn+m/Jkdr5kQAoo+XJnyZUTl5wqe2iw -T7PDTCA1NDeShE2LzIN/70PFHQwG/yMAuQZ+eyZUjnkKT2WFlFM0+xtVsmTCqvr9 -r1Kos2W4Z2BV4E83RWI/cqgZ9KDppAe5oEptciT/IAohcMNyEeCkphEL5/DYvUK3 -mB/NMKnCBpQzM88OZuckUIqPK3Y6B8zD3CA9FQsykr5D/nc2Opfxb72NYaKPGL0u -SyVmGVLzptVuCeOdvDzYBnp90IuYgZqj5yWCQfmpa4R7OHFp1KVks7vyqZBGuki5 -8oU7VieW3Nhs4z7ynHD6RefDiSRPmTKd8AjanxE0RfBR4ncPinxT3+fsByBdueMV -H1GM5tg5oUil64FuUsk8hsawYRYe7UjM/8bC6iLxoccxjczPVM4cYR/HNCkgYLXk -aVyrUKARojUPoRdQcFeIovXVgHwS4uXdISGAY/vsv2GaAhf8o5lkTR0vch+xYb0d -cokFrRtLia64KOf2gA6CmJSBdQ4lox4CukFo0gCe0HQ/t1FI6ONMl8qMvi/RaGHK -XZUHIzg/WB0tDfrwJ9akO58zkxdhfEg+xz3x0ryEE0rUxLXt7BsXlxZP7m7uhaLY -dItk4UOUesGS1ao4wlmLTr1kS+pjvWLGonLiBcIsO6XbgwJ3TRLB2e+jbWmdt52w -pvXpsJsQsl9d62DaMJlU4bpgMLmoWgrsckfEcmlPIYfyXHjh05uIMS6Mhmye0+kX -6BePu49evL3SwCogQFXAVcgelKoNz67J7m96diBz46TsQdKR99UxMiXH8WNeiwGr -icX1CSAWtJzr2IBnxjgNHbk23yPESTvoe2mWyvXjVRem7ysXsKLDHWQ8tTZLdSVa -Tpi7K6Eu2ATolGA7alYaJCbGOgNFB24y+ma+KQQdNVLvn/3SY3ePiqUHixc10I9h -9AwWJoc4ps5KfbnLMkLvW5oFc+6MJ3x0SrpWp0Upt9ZbzUL1myjbwV4f2Ajfa9Tx -wy0At6TZi4ttadiIQzfyRNe1FdtTHX0IYhkImWY+n1DAt+Vl69HKoCTunZnUg4lb -h0QYx1hcRnCwg4pPrgQXZgU3yLd/ZwYqCKkGBG3dwqIoVZ35iYNjaejd5+a7rk05 -Kfaba8kCDNqkrHQMZBqxhjpSd/fxeH/Iq/5WsAGQFUyZE+XCgXX48s1VxZjF5mzu -XfiPDon3Nis32+Rv4L7y21EkMoMTlhJCMIOJVGPrbdK1RMb8HcGaQFKocRGP3Pgf -LLAeo6p3cRtoRgXbDB0Cpasxvprq+VFWs+ASRN0wqgTXKehhFXF1UYFuJKykiYZg -e2fqQRBc/J25XzwxSE5dZQHhmNg+4QECk+HxjkAUt8adf/+n9mr55Dp3OicBlnxd -s6N4JATb1jHW92q+P09JVlBBH+fNuHlzDyQYNiTkXpH+9hyD5BLRWZEJn9WuAEjk -pLt4YZ9nEmPP8ARjgQqg3WH9dyATc4sUu0iuQ0mGvhyVf5FP9cAd6pyFYYie7oa/ -FOf5SWohE19Jw9Bq9CQktq5fYyriSYuOu+oTihg9YixBsUj52WW4Jrrd+7uFyHme -vqpbFBl/fZNwdlHNMOUhLr0QYocsB7w7p/3wiV/lIY3KKvu9KSGR6OseZhUAKjpN -3NUmM0HY6fIRwg7LBmBIgTb/xPGnuchG6jCqA3P18ep/43FXR51p0e8KVpeJDEbC -oC0FnaUSYC0GxR5DrfJNVPcltScqHQs9aF90RsMUxu48TvysSXmZFgA1acD1ltyO -HCfA/YmWdqTzYglLJEbq7UE0J2GFO6Vxo87AWwq2C1dW6yFvI/dkBE6g/nvtyXzG -qrwmXLzJog9f8dV5/smr+pvz4MD7+wBaDYAu2wu6VNILzpWsobpCwthGuJSMxxO3 -LZE9S/7hPkJRNfjQKI/n8ZK40tscKEeG1/uyQ3ipcY3zxbnFbHOU2aQHkjHVbCre -GlMsJXNtBgFmS75eD15zL7Nm/zenHIL5pWshfeJx3TfYhXGKZJsnaghCs5R3FaxK -ply/iWH7RFTp5GDAHcvpXjzLEEn+KYcy6rp4PmYAvqKJ/h1oOzOqNaIW/ty1Syo9 -hv05aKgGzIf7nr4ugrpa/zzuY6uWoi/ea2/ah3CizQA2ezCKJTSy574IhB1+pVvf -ORLFp1ytQ+wUyfJk+MG/4vCQglf+nzYZkIQScwcR7vhYxDv/tSWuuyOPdT9tAyis -Aoar93Ch7ycGJUV7qiCGU1RgYAITBCAXcGIzIlRkdFc2RVKId1dUMnYxCHEXRjaA -iHiAgWYSFRQHURcyA3Z4ZmEHcWYoZAcyhhKEE2RAJmgoEgNXMjYThEgmM1GANUhy -IDU4MxeGVDhzVhY1BIMVdDcYVGhHAnhGICQxEAIgYDY2IygYiIdREYZlZHEndEgA -g4ZVhygGUQIIGIZIIogXJFUzYHRmQxYlOHAwE2J3UmB4cVKBM3EiJzhCMUcwJEQG -IQM4gBR2JVVAQIUyRFEEchAnNCJniFEgJmU1FChWgHhYeFdFElhmaBZ1ZwIkVjeG -REYwKBgnUYcQUTUXiAZyZTAXEmBSiBhlNyNXNmYDE3YYUmImYQVVZgRUEgckc3YB -RBZmQBZYFVNSMlgzKGRogFOFKCFwFyiGREQlQCVgIycDA1B1cSZYgoM4ECQGFlCI -NyiGMXEFc1BWY4eAImU1gReEAREncDdEUEGBFWRYUVV2SFKAVBVAgXA3QWIkQUVH -dyhocjgyZXRoE1dhEEchIUYEEHRHAVE1JmeIV4ghaHGHCAhwh3Q2UCJGZidSBUZo -dBVhMlFmISeHM0gEBxMQRTdhYoY2QkSFOGIRI0VFIjQngFNjBWIRIUNgRGA2NiCE -dFMzeASIEnIAEIOGBkViFXJDFBYRQYVBYhAYWAEFcjNoIoAzAUM0QRJDA4A3gIVI -gXEQVTEQcDZTIVcUITYGYFc1JSZ2Y1EoIIc0UoZkUFNXV3FDUHhDgEZ0B0IoUABz -IFQTEAV3FxEQSGRzSAgUhDCAUwhjNmNwMCg4WIRAJHEBggBiiBhUN4CCU4RDIzFQ -hSVFI3VScQNSdCVEUwMQJCAkEEFQIxBTaEJYB1SEhzEWVVV4MhdEJXBhhmGCc2BF -IzJBEyEzggIQcjY4ETBCSGdgglVVZ2RAMhQnZQZyYSRkcSU4YBYIR1dIF0dTgoMS -M2dHEzMVZQZBBAAnUkAkEQElB2NIdWZ3Q4VUECA0JQAoIFUBJlNoJxQwRHZzBHYy -hYMDABBWEHN0RQNkKFMiAjYBRAgGNYU1dAQmckU0coNwVHISNjZkYDJyZBM0RXdX -dwdhhzREBEJCRGGBOFVyIIQiQnQVMISICECCZogGgYdCByODcUIzgQd4N0ImWIEw -NYIlJFIWAzIhgHEzdSIVFFdUUIgRNSaDgSKIIAUISDJzhWE0MwFQhHMoIVGEAlZl -dUIiQXYxElhHdVVSA3JUBRdAIASBRlc3VGJSYUeIUGUENkIxSEATQxdIQ3hVZAGA -YFYHGARINDVjZnUyBEN3aDJjQwAEaIEmAGBThGFXiIdnYohYYlgRhiRYZUU0MnQG -FGFhUQBlREdYMUYmGDI1YlZgAYAFFxdiQUFFBgMSc1NjQ4ZEATRYYDQyVVEng4Ah -gIFHMiFVOFOIYxI3SGiENYNFZhgTiFOFAUNmCCCBYQVYMDABNVY2E2FnCCUBhSgx -AQgUhSg0BkUEBDIDgiMCVFI2I1Y3SDBTGFRFUIRSCHJwCCQXYFRBcQGIIEMyQDWI -IVBkImWGeAVwYEMHVRVhGHRYgzBgBkU3FEBWOCNwJ4U4SGAGc0BgVXNSRFJkAUAg -RUB0IlUndABGcXd2A2QoZlERgDKFQ1VVBzF2SIVHMgYFhRIHI1FTEVaFQQMzhxUH -BId3Und1eABUIniHAAYnEwF2RAY4ZYJ1VEFoADiHYzUAZSQDMVg0JjN4ZGA1IxEz -QBcRVjdVNBFBI4MQKDREIHVQKCZQRhhhMAdYVmURAkOHhHVVMjFUgXclEXUTMGdQ -cjaAhwNSIIBhE2YHA2hQgXCFUUAWZ2MVJyIhUQMUYiRgSCc2BYIiBUg2MoNEOABy -AhVhRSgCSEVWiDcmIjADFgQCMFdBVkREJ4RzFUJYlWwN8E7l1Z3Dfj/zuoE+uMSB -tQxNAlRTqZoaZqbFwkLA5qWjtp2WImhloRAmChTKvu+yp9cZ7aXt5QjxlJzTGy0H -SjS37QWtB7NgYxHxJ8p2lk/MrrzO0UQh1+pnyvqQx/rtSMHhTeh0e8GztKQuUe5M -sqhzM0P45k7E56xu6bAa9rmMGfxOmKQ/Ic0YHJ1WySuUFEB/No6XPVTWAbGVdbJl -yR22yHTolMPnCox6stuuKGQeik+X/2//M/96aH1jrdt7PzxeA++uPxdFRGhU1LVf -hBUhLy3LKSSn7Kz9cnR8iPB9dgA9L0IqSH8MiVb9GH359WB8H026MfWgeWKl7fYL -oQtIIXeR3cPkBv84U6Czd8ziCgNOvN3kWRVN4HfB3spxs/icK/zztvSS3pL3Z5xh -c4a4mB5Zhx/MeCRjgsHVC7yM7BXMcXEBmNqeWjfgwhq83TkLPJ2YYvFDMxw9OAEz -URyrm7CK1GeBdbkrF+M8QNDZAnf/sEWPHh9FFPMs2fIfacC1SdkkGbDcwwKBDdiW -tR24Ptb1uMlbIrSUM+HJir+nwX1szo9okkwnXY6mfpu8QkVSQg8TA2n+ugPZTx6d -axj1k+X31/pgirughqg1laZxS5poxnqFLT01h+hdoIvUIkCL931R0AiFm5vkTQzJ -Rg1lWju84O+NvpInS0EIFaxxogqf8N9rlVg3P+SxJjs5M0EjXPfXWL1MysZ1IiPQ -BIgw85wKBUfvktnJNflXlUXOLZSTjw5iF57/LX4ZugS03wV5AMJzAQh/nd0OV6AD -RWvPo2DA7kUgAdADf3ThS+hsIm/4eQ8BVGnP3/es41zB8xNzgxPB0TMUueXnXeDv -vZf4NRuRnyq8bGLy28O8u34l+cPl+SaO+Fyh8WeFJpdEQsrgB3t7Nj+9pEd7GlNs -Hs8NbiNgErR8bGDUMkp26rXuei8A5PDga5AX32o0AcIUdB/DnuuQTFhS3DCzMANb -R6WGDRKgJ6ORVtk2Tg5yfNHP+GzAUJbNOqfu1KykzG7DWTPhg19TEt09Sli0G/Gk -1AUeYaGgGXCHMaF8DUBJC1zNnCCKdJVDwQa1HNZRcPTFVFqqG8948IV7LfZFGOLY -c9fKBL/pY4598QqRkFzjyyY+4q4KJlnLwh+mKNxH1+72GZWfXv8W2MfmCi6tPuuV -9I2oEiTN/Tgp3vbrLH0zNK7zyvsgktB0/wmGIDIVkcQ6eObwRLR2YuCnvWFC3MFx -YoDKY667WvjLhujVIkd2klCl8KuaveemnlxzjWCoQGsXDxa5Ys4hpLxq0456qfNo -L+3m4BUaOas5ac2esX/fulVFuaRKUf25cauKxIsUl9An/9r8RuFblTYwDTARx75s -sbi10NPfua9Dq19n2qzS/P2n4OYWi21aA+QiUVm73ak7f1UfkEhTrUZAbjj2tqIO -sUNl/Wq8LFk/h6WmV4UJMv7zZXn5/6bL79yPxcHtz4rcFZpNUKZFwdtzfySI027h -1LmD7OS7uWuRKdu5Qj8ydKLsrjxDz51rSpOdcZ/gFOc/pyErwlkJchz6f6So2vSL -NFWGe44dcET2D4XpFhUcv2WY7L0td8MPbEI5LMoJn9XNZjWimGcASj0oSi+c7Ffd -GmTijEBJx7ByJHhnTaF023ubaMgmothQmBXgmrSW7Hvns6v1qhn3evGSNNgvPXrZ -AYoB7j2lDLTZJmFZQHbKn6kaeHx/r77ecuYls72OzPHZaIlnN32ONOHeZ5zViGI7 -WxfsXT+dN/E7+xQBFTy6/i7Ytb50N5xjuw5F6kQD4svHqzlYcjKFDDvr4p9GlJqo -PfKgS421iaE6CjtomZe+GpXea9czBqjuYNd/SNs9et8diLVNjUQYKVKcO2QQ4k7k -wACALvvYF7IxfwMDDxM46BQ7Mu3Fqu30CdlRQERcz4FhgndNfLss1tHyOPo9ypf0 -Yaf2nRrNQMA1ccxGhwZ1GT4UR00yCNV81UBoJeRNFeSETbZkFxjmBRd3tr1ryGa8 -fanLGICbykt+ms8O83V16St86JHLvbJsnQrKQZn2XjuowZSaqafRKpq2cellal0P -F6xQOfILdlHllG2+zWp6fpneo5eQCyACV4u/zeUFwBT3IyVPN1dfrx/16UUWSeo4 -/jTmyeu2+roRhcOtBeQfOLi71lXuyVxh3dOETyK9uHrW+yIoIzcjJxepxQCpzUkW -dP3KltBZp//HsA64Uo6rflPq+wUBY6Luc3dZw14DgEft/YbOL+8Ls/tYF+26etpa -QVdkY4IIvR8UQfx/jVRIj6KdIxm1Hsx35zDOgxouePYzT//+XIvuhaQJaQSb81nH -mSGtHO5ev/hPV5wwwIbmKOizJTLEXNDmG6s4iCY1j7O/YjJIB1oRO0TNUG6v5B5N -x/SbDbAIhBNo0yCVf00WW8S9KCRvkFFMWarg9NGZzbCHNYASZ0TNARmROc70OfX7 -v4HGL/tG64s0dXEExbjBywNJ26FUzddpqEEA1GdCcF5hK9S2N4Sml/gjm1ybde4n -msXhNPL6enRtDZ5vne2EBw0usnOH6z1wBGGAlXaJO5oQjRpaWBz6H+SsbyrK5m4n -oejwXIUQmd4znxAG8o/i7Z/nRiPmeu7LrCR2lZW1BYcJuEcmHAeheVaYgWPlHd0+ -iRmfbJwU9ezMrBTV6vlqCN1G3sUFVpBVG1t1JOUKgIkFNHK+fdZptpy7nFXoPg2B -8BZqTdT3/8QKhgKH0JDFEZSgkSI7/SkFc2tzHKIMv7hHh2nDYfabML5jhYREBg/Q -ZMYq8CVFieX+zbu651kUCk24CGATGEX02ky4AOyAYVC/ZxIlhba95o4SZJvpNG+S -Nap/dAYAvuDXQONKQVVO9gV39gXvQcuvHL2D6nLl6xzRD3i01sk/yZfP+0xFXOtd -+zTdHhTYjypUmAYkjpru+SIfebObTxaX4JJM3Uu+/SfW08vXkLHz0aGCcFYlC1N7 -s66SPK+/EiWJqzfQkIow94c//1TH8vmV42itotXokOZgN1gNsX834n6LqcD9FpiW -5WfO6RxqH4PnP/qBnNdYBZn3EqWF4pB5+VUIEycYGx76z7BGLeBhdBS/WyFBDL8U -FcRkeP7G4X6AX3Mjxgn++o3eIuxmx/fkjbtoQXXfUN2iAnUksPQEY7cjBWUFgkuq -v3nrNn7cpS6RfSl/jxySVuKGPSVWd7trdwhFticX2TFak37fntSqBxfT5FiNmQa7 -5JAwyv6Af0jwQoFNkQVkh26u0RkKTL6+cs8Vqol2vn0GkllnRm/mZPKlAVscNFHE -zOKzFmxoMaEe8PAsZgA3wD3U8ABj8QNs38XmMTo+wszJBh8jCgAAAD0FAmVHlUki -oQZm71LTvSfR1cqrN8BPAdHD2/04x0FS8x8EWZ66iojOygIbAwIeCQILBwMVCggC -FgADJwcCAAAAAEN6IFvj/TF/0m8SeKN04TymsO25mHDI9ee4pSJnFpWRpYyc9ACS -I9n/L0H68jPR8heDZEjeNJwKJFdDplSBWQnCUJM9NnRCV4XM1cfyM9Lk61Oe+xNF -fx4mAeQ5GUTO5cABBVHctngju9dVAueO+ta1tg40UTus7o5gSfcNJLrcSHOnT6na -SgOS6cdW0QHJFQ30tcnjN3L6nmY1TSNQ8Uu+Tp61oH9ets9dTvqqMNYlZIz3ARrA -1zbQYsB0IV2dfTkrw25EhGeY1pax1bZkLFq4GSnH160l8IVe/4hGB/LGQo9IJpF1 -eaK3L4fOU5VYdudkjKBaS9lQCak3AY8J7ZYUorzpjvyE8b48uX2+R4qa77eMyAMx -n7F48kjBPQ9kdWghrFKh4/EyH/v5Ky2Hcbc72TwKGDsSAnLTqY4ajwCopkwMBunT -/lCqKDECtrLWmlfgpFyFF1t8rARLVshf0lgOlwiyBbvO8N3yMBXoqanPqV2JesfO -aIwCgeavxsQQcpAURsEUFXEZ0nL21jUZAflKWcuhkbj4KunKCJVUD/GcpJdTbIen -K0rA527W1KAdYujfBVuE2voIEOai++oj4LxJT+IeyKwasB3o4iO68bVdqB6FF4Ln -fvcY1pNLiCmA/fT/Jlg9Q80PenzWc6pMdvhOMC6Zij/SqMxT2rUwTf7xmvOawxva -zwJd7nIFamZdTeyfg/OIBNB/dORAfk7eaH+eFIV1Ohm+7tQylgNGmiWAsvdtm3aE -FhI6Oz1kLH53dsWTQ6th2qeV7uvE40rQkRi2XV3yvUJN3QcCVGl8vDQJtfGYqPXR -mW7EDQ6ECiEXR7KbBI+BFAcOEMmGbqHrjOQx+k+sr3mtZW5YZNSoqCkxNlYLmvIY -z/7mCR+0NzEuNmzOB24LzknqUlDjrU+DfKRmIEm0miFU7uzbNQrgDVDwcWYGMoS6 -weKVnxOHVrsj5LudnmWMYfUsIhS3YM0KNSyNeP1A7tX14VZNUQuOKkiuzVgRhsqP -W/ISucamu/VTqErZB/vLabP6kM+d477zx531EKlAl9PYrSl0HErHe9VU4DcW+wUs -ylc2wVnap5z9lk1PL/lgBIbWiZGD9NpYaXQupFH7BSbeT4racnfkA1sjGPXxdTTK -KK0Gh7OIRsbGC8Od8oBybZyv9mVcrRzoYaFn80AysL3IHDznniIW4V+I7xStzcLO -gR3VJ2hwk34O+0Qn7x4Adu2qaUmAKDjsW+7Q5eN58B8aVN9FQdmkqNRROV3+h+gI -viT5osXPWciOx5bXLXWvA/z+dyUy7+J1bYmWP7pk/dutStTxQVR7XMt2P5H48Tde -p7qB5GvmhkL1i8MHD9e+rHbz4kZy2pbQbXkqNuUzdJ73Yob+UadWyDsOJGFGtG/n -BEk4l5IGKn5IuZ0u1CWLj85+hLrKTPiaFQacfEe8y/y6O2NAjzUuUIDTCsE6aMKx -9kETu3b7XFe6+ghD9/AuPfKt1Hsn/6iFS7drUt9ZlaF8Fpcw/TTmrQcFWTAOoopy -SB1Kgf4EUs68pyxceJjK5FMcOnZCh1cq78P7dHeiqJIX3mofQRtfwz7a+5wDzU2C -bUfe43epxpy+HkJthhye1fwLodN9qqXOuoUOZBEucakqzKLVdwy0jy9kBNvqoFiv -U/ssvmpvLFmp9FbFi3i8hY8qEGskGP6lZuPDMvOfM8aOLb/swhyX5pNMvnQ2+X3Y -NlvoiBmFZynfyIlGkKhqhKpgzUmW/otLxF9NqQGDtKmoGQL/Oh1MF9civDkyzjOR -x7du28qUPonokWfWlRsXyCV09qEFp6i+jIkjgjAxwKk9W9Pv44CLKFGvZpLahRXW -8lwBQPGc4R2CYueAzKjYcjEnJwdMhYm7HGsu7lxUWjEPyeQI2zJSDidzHLsBvSRJ -bvoMf40JWyUEeIGfOk8RVJi9UiPghcUCl6G9P8RWOZmuy7fBuCbTTBX5Vgcsem+i -hag6UQ1FvZpZuUoy5DqIdgDNGQ0js2uNji1f7/hSFdIESvnYuzapDPti0y7TiD1W -/fHZiKzX+WNU0wuOF7AgHgLipf4kvqNsa0cIyKRaYSyYv4AujaDyNb6lM5aYOj3v -wb69INiAQNbDBxAzsri9VKFGWBwYiUXWb5gZ7tvDHwikmeOcUEWxkIi4ltuN53gd -P7MbtctsncHKBUNFPk6B4JGN3ez5PuRH6NHKGcSGbrq5yd7Gr8HMIVgZ1LhaMMKe -GytYUb/+CUe/vVkoY44+sqmaMmgN+Hv1CzV/tyrzhk135lBrMmHRvvti6xuFD0Yh -rRuWxTkWEXy5S1uN5bniHJWGjVjKbfLLZXaxKt0bOlQWPOd7VKG6jOroqNUQ4Udo -HB5nIZ/yVZWmaFCwaLURI23GA91rl68NNie2kxLB8Cb4o0NhXj1fyyV+SlKVEBpT -skSYr6XU574vqIBIi6+X2UHguLrAU8qT57Pn2kCt0EzqKijtYU3TZck+NIioNIxv -vZ2m0unSgfS6Bkuel5DL7eZx9Sefccg+I8JreRIhlU+oER9I4Gqc2foyb0QswgdK -M7D5Zyn3RdDTvZkCYLdTMH/BnI+PDLt63AhxNzLehl82vJm4lJWbvpSssvuCPQuG -s/P4zT2rcDwzyZHgUh7qRIKJ/kHgWayo0tJS/QWEe1v19FSubraQ3M4aSf9XwWl5 -iyTznS5KJ0OPNj9OV9QpMIC6G632Uht5AJ3pDiidDhjcMeQiU3unwbBUWWQpqB90 -w0o+6OzRQnTJgmecDCTUSDIYbakRAG2KSW6qU2Ku+I1cwqHyFRHIMNeMq0WhhqeP -RUwIWAPXqELJt4Gfy8ANIU506eZHnSVOMGldmnUr9XqehZTPF5iFnCNc7tAUvaWf -ktpJ/WtJoYUredwjjyFo5U5RdYxj1ZKIIlkGjSYftJo8QIgX7c/J4jRssDoa3+Mk -6aw61+CoWJkgjPx55ZO8DfWZHYmTVHZ000rx8OppSAH6HLBD67Tkk/7s6CdLVaX9 -v/DpvD8bYE2tqcoO2bKOdg5b/X1PV2ZVW1T/h3IIdDovYlOwLDmj0V0WvqSGghQ0 -ZQH69dqJa4yJQSrE+gp2cLQkJ935iodCq8YTnWFh6fgP3fb1hDbZeQpxgo0Wvelh -cDKRX/6/Bc1/0vzjFMwlfYuQgel/KYSxlOtS2LLyLxgozdRu8LrlLT9SeKEQnsqI -cv1oXVLXip5d5ULSWxwCqxM54F7cxr3juk+8FMQInKIdHudT8fqBmTUEhJI+txo1 -v6INgSYxMexggOYvAWsfnPq4+uQx+rlRBGP5laLUxObNneYTHO9rbfjBEeT4KlID -PpJomB6aJpShy0UBfe4xZ+/M+n4KVOWiQg7yuHJFUZNXMbcRfJ3Wv/2+ChRRwTtY -Oglo9FtzUJJ4ahPeOO03qNTqMWMmjBXQDRjsBe1UEHtkseTOmaVFxT9HxHUl8leh -0F5dDgztYlDTFWkZcJ+B8Hvng1aif55EjLCc+XMF/o/XRkil9jKbxxcYX27lyedC -yZIdkskpK2wiBPloWTW/JasSP9CCbsNfjGZEvHaxDnZ3Z7LXMaCJ3fJVEMh46fmT -Op4bxt/sKrodWQSiCYRTQYmAsnzBxNXQFeivSFp1jiYW7q4XMtYTq0+JtqFNHdvu -Uz5kPZi6081h3Rc1QrUKGCGYrJfuaQZM+27ql+O0HqXajHhD4c8SNe4eFqOQR/Hl -shluKLaxAVcTTJPKRI/WjoyxEfhGBlTEEshrdWENYs/C7DCB1sVVBkDUy6IneOAd -KRSgFdVhuYbJIafJS5n4Gbq6SXjo+xedJRu0ZIQP80eF4RzUWoeyVaalc1TJhjs9 -58HnLEhq2WkRNZ6295osEcRwOWRMA/pD6TSqGBzPhfL3xn8VMC134b+5aUMHGoKL -buNR39MfsSBfI7QpR07xp7q2Zilvw4H9rS+4JVe4DO4BeCOxqN0iXYJgvUu8q8ni -BoX+WFHdT40gvtO57HKa7JKt2uFA/K8cAzFSMRVlTw7K5RCowuGCnYsxgDLu3DRj -uCtmn+rS6uF3zMUIioXOHPMg9T+ETGri8KhrwtK0KbnZYQZB3vNNI5B4vQsyFsiQ -A7Av8+K+9axVs1tqG1Fu6YSIVtuOmXBFU7w8POR12/XcYi98MFLUZyRstOG08PKc -oPkkHpHrgtl/EJGp4v/H6JxwN9rxQceBFCTgRogU38mD4maoIfgLttD04dd2+KiL -O9vIj2DU0o53/xnT1YRLs7Z1MlvMjsyLSAFKY3cpqL2WJl45+WWbYtSRDCx6FWFe -Z84Zdous62DSgWYX+aijU1fbF9oL1M5musQljybRA7GdKqTJPtQewNiCU7gwYTZI -1NBUxlsXl2cniOLyVN62akrzPvezK41H7emSODX2276vadq5pQDVQli5bLar31pi -aI3lO5mkQf1S4iQwuu1PvSECnEhrQ9IGrxNxd08HCTJGUHELRobxHTQ/UXONo6+z -z/X8EyJDRkuVmMXwBAlMjLnBytLi9vdDys8AAAAAAAAAAAAABgoWHyotzS1Bcm9u -IFd1c3NsZXIgKFRlc3QgUFFDIGtleSkgPGFyb25Ad3Vzc2xlci5pdD7CzLgGEyMK -AAAALAUCZUeVSSKhBmbvUtO9J9HVyqs3wE8B0cPb/TjHQVLzHwRZnrqKiM7KAhkB -AAAAAEOHIIf1thNepgSusuR/Hn7OtPQtgsascdakSKojpiPTPqjMtzD0Zv9+vd2l -Xjk9lQxzoUSj7nHQwMIHtOk1s/Gh+0f8qwANyQIpWJEri/N0UljPLFfNLd03An/6 -IDyK6FraAzP1RZE19CREcbCOROhLEdLthyXysS87JyaJmyEtCBtAeD/spSdtVJ52 -to00U5X+mIxZ2JTmEeFmfOzKEA1vyXxj3YL1GPBMVcrKhKlE+WUsHqTv8odGSZ9U -owgR1Kx+yM0Zy+R6EAuIsyxdn2bNSGvh6NTnMqp6aWAVwaUqyatvUqGEGuzTZPci -LpUgnbRiHMey8zcTWAQFPUT3mzxky5Dw9oPdMj65aVIB5h+s85E8UkMR+JZfzOjd -fECnyzWUVY+WZqcfFLa9KgPDUv0Exk1iDx0ggzCxdMk5hrfgRw/ZXma3OMhwbHNB -n1qOgFb3DSwwTIAkadx0Lg6joOk/DyLz5343RDXNhmin+e8zIwznrtJzUVk8hR1z -C0vpUBajNfZEXJW/2A1XfYAITbN35Kvqfq6ljl2QjBYV/rw7RHRk2W8mHdbAVpKg -GpoeVglJ3mgksqhguXBYe4HMttzNv/oYi1aLrR2/yUkXXojlv3OVOJ7fzSdVZat+ -Bd8zMSFSCE0LL3jt+T7ZqmGyJcQ7BNcodRQc+D6tvWGaEJ4+G3UBY5SjRGvRP5D9 -731fclAg3FuSUgLwbFWcqTahn/5vt8OZhgmPdTfkM7aHtxd6IaREWbZa2JU0PQzy -I7bRqlqi2CjTL/gUHNQ31O7TiuFhemW3Avb6iMx8aOK56Gx164hZmB8oo5+tViM8 -MXfifrCLBAYemVTLN7kQYQJzJLP6tKsouXHcVOJlkvPTSKxXzDqVz0MtEEKMROWD -9E8Cg945qNfMjDFC+ScFsmgmEDs+5tdxaajU/vEXGOPUVq/uH5FtDVYNcuxd790U -gupPeDSbXdTVXx6pF8BWZTiQSJssmgwob4EuaMGILBZ9qYGzD2on4dH+2Y1oNeEM -hVdN2rzKkXL8lgpNNmK9b0ZlmA6OAx0kzBDYn490tNeGLXSEFCGflbJ1SFE1RPcN -x1oXJByWO9m+EzqOkscdqvmtJRyPakwhw8ApKylC/dkJwYgv8pAiNNkpJR/W1fCq -B0IzQBnkV6m2mO3dDjfJxMtHjPL0gdneOOKmg/g88U+7xo/QaxMk5ZbtEcQmdrOi -j3pS1XoNd+IuWMjdaNvPvfGY3SUnqUWYUp2iXD8FEBftKz6qX89apX5fZ8oo1I7e -YvLm3pjBmBPdQI5/eSxSm9EZYW5clnnXQPSJ3K/2/N/kECF0k5lJuTm6wlU6S0Xz -IgPNY1pkVvq4i8p/JuLXMYqMYTbc5PaJFd0xTPkJ2stYQmMy2HlO5tJvrSSdTxS1 -saukvLMZqkQM/oXwhKuB9LmSlO/HAe26nR7bqmyr27UDNhIAj5kjdFrPH8YFsXDt -MfczLeL0HqbgQxQRUt4dnV4dNI7ZOPSNBjgnYZVkksAY26u5oWtfEmXEazUf9qmO -GhtTWnpSFwYYHXBm9JuZe5mnCznUwv98EFqtkuA6GtJtI35hdx8Tx3SkKwzSnNi8 -lJFnx0FZPrtySWhDPW3zefwemeIodhJH1gjvjt7qb0wBqSuoAbzKg2tkqb4aV58D -QnKRpdtlmcSziGY1BF0JMJATnYpIxXNKflI+C0CaMCnSRULlq0CxmXMqpeVDw72s -RPwF3rlJKB5jfdXJV0e/tNFdfmOlwXquFNlmhhx3TXZYfXOx96vgyV6NmQDtHvD1 -hgwuPj0RbGGOZO1XJs4LLzOcxnF4p1Ufzm9E/3VcTartNFRtNS9Smt3qguj3KdH3 -SZgg2r5Cz3wQOMwdgrlWUVinrRNdlTctszqyPpdVJE1tHM1M77dpgryvig3Lq5eN -lgP0wBF/09tY0R1OIUOJ6+aL2KDHV4ps4wRsilZIhuWSxtTLR7znhTZfzilnciqy -6CcaUDN0UH2mvy6AHdW9UGXBKSqhismlE5zitlVGgXzugUMf2g174qaYVPPwZ+1K -iJXYxUmtthlqLFafCFhRTiwhsiVOt9hIE6WTMGHlDsBJ1DbNcmlyq2S9MwNxRuca -D/KpHFByuOadK+7FwAtp1G2UMlySeyk2ywVjU2Af0ZSkjfOxtc5lo7DwND9I8vXc -tPoyGZDZdj7S8uWqWvIqvVMmH4l5JUiLfEjtFal0Uzuqg3ypyhAq42VFF4BJfIq7 -HhJ4bVtcdP84/IsIOgct6PSQuAlY75YMnFTqWXxcd30fj4tDKhSC6ET8RtjQltc/ -+gAgeg598FhBEdXM9NAD+ndkoEOr8OEqxR5K91r+Xv8YK+mr8q3A8qwfP5ySQpqp -lp+VJXZ/5zh/droSN46iv23obj3unwaegD3nDkEYB7AAnVij880mqIxGNTap74le -PmJ5u62MtQU/MsDBCHzyDzx2jXZPTWzzTth8vO0fup1uJsfhDJt/ygwsn1BeO9aU -q95K5mbhwIXwzloxvqRM9u64uVGtpfv9X3ensmhWEsCGO9kYawNmJljVwziKtgnK -UVxbbYco5na8Nlv3hZd9uqCIPVXvXvZAQEPivCEZJXUlUgF9tPVO1gCDWm7AYVep -ZPbW128BY+M7CcWz/LEZpGXsdGfe7b35pLfnagwGpijJroMkm55nGt2dq7C1Yoar -nsdYppkFoUW/f0gSqHnDCz0xTWrSfe3/SYgQJFGFMKyAiLD+umvQ44SoK2BtV81y -1+ocfB2sTazxJDl5PdXpdXeH/pb1W7frcqsCLkaG31OkUzsGdvSK1VWP7SSg1mA7 -1ePdMZxvwR6lTPf33FG+bMJy8a+ITHL/OWBRcAe+tuRiMYMlv38KCbnQIVCG38ya -f+J1+9UiAsxFhCunOn+BHD3LusYZC4WlzwAjsA/N22WftpYO+spbkdRDm4dfhVSh -OfJp4FllJXDneAFfrJej1jimAHwOapf6cNzzpSurNXxGMfWamu4LxziTUUmvIhcn -i8PlVdqZPVmQk5KmoR8g2QfssH62e4oI4wTscGw36oJlg14ln+gBmbHibvWSusw8 -q3EscXw6JYp0LV99JhawObVYkg0n4KWwlbU69kkfpnZ/MGGUbHU83PEE6aNMLtyT -RjLrNkY4AvHRV24/oGLZlLdSGgTm6j+yH3/0+IOvmHl6pcUazsUWqdQnrZpJZm0d -AG03lmtA/sba+y4E3UjhA/s4baK+csLQyJZ/wHSaRiKRGOfN2kCFC/QNRWLuxCIS -D0/pnuR5inDnv2IOGylaC+JrrZ9ex4FJvDxufznJcdOMk7Q3LPSN6KsADgI4hPPn -V6DYDxq6xaWMpX/fkmr8lywrrHxIt/2TyzL+AFaFEc8/njvcMfGp0efGwkC6g/by -v2Tf5AeQ+D9EHfIpZoyEMkxqWM9qFDUKbFiR/Q7rQacuAImrHaq5uP/bFEADPty3 -m49kYtKyzxb6NtEF2YOygpwYEbuivqmvML8T6URS5fZxar+qhG+qnDSNZlKPT/NT -vcNRa1IFChdWcvfhgs/IOGEZx2okqJbLpiEFvIoTSJHBzTk+TQis1ACdyYwc8JRU -da0UzehNIe7iPCxvfD/S+4VNhm5CCwrKO/1ZprWOvln4sb9t7DemHZ2Db+DmLZd7 -X77mdAm6oGQQuVzIWzobUpTKuomAdJHLVS9CDM7G6D2ryOjWxiH7UeHG5a9zLDwA -YwfOkCTFSausqQ6L6FrWyRmOQ6y/x51BYUy5BCWbhGlSC1GewKNjOuOghJt2fwLL -+vsSak2Gq1FvtDHArihpsZpETa+xynQ1m8vqUkiMhE/ivQW/yg0D+1lgqRrdJ04K -hCk4YBNqwN6EGPYwUCvoYF7zHO+s0ksqf4Gx27e4I8VSmGlVHn4/w6rdUU1IJCJS -+RcNwiuZA38pHYfJtpNqinr6GJue1GJjNniB7BpT/UWiHbBq+vBsEHXBW09Lkb6w -EortTfuce8oEMkGfGkixuT4kBoMJVxihEVpLXreh0uYfektfmZbHLgKXCBCPAP9O -9OsTyNLqITLwGX+ysjO8LgAn897qDGFOGut9defN4vQYj+ihGl0L3Ha5iPAw5Sl0 -K+hM5Fqp9LcS5mXFDLw9T7ftJ/ANFoaQYer8EWU5jooaWIcwwmt704RILfco6p35 -sLyYRzmYd+MToM7S81ywoCiYCScEVcDgpTCVGbu9sQHW1mFLBzvxAGhh5TRBwCeF -6WpXvCpn7DKdvkBWJEtOnoaXuqBtSIT1vDuROAxdFtZPaF6N327afVakDuGnrKlX -wE+V5PhSllYfdd26s5OHVlvihVwA9EWFWzraMeb1CtD2AieAlVpChFT0Cwprt4Kd -Aq+13ZpZ28QMqM8fq61vSDEpaC4o6+zfftVvAIFe7gLSj8iTByb26yhMfBSVVX5M -puUuVx7Tx1uXDTv5WHeWn4vPzctMiOciPD9yjbzAxO9ShsfIGytXX5jK0/0anbo3 -R3uav88cO2JtkZ+ry9oAAAAAAAAAAAAAAAAAAAAACQ0VGB4nx82LBmVHlUkdAAAE -wPvNC1cyeb2qrC/GZ7VO84CPjFSNRzGBP7IchUMZbvp6Slo/uTA1A8VMbuBYzbwJ -ahlllCaj11lvzrKnNQR1eJluVBIWQHsJ+melUQE4xQTKBTuZBDCgZrl2/xhn63y1 -gAULpNG+Eblf1NmpkEFYwWGuTzIwpFSn3KNgO8DLVxe0e4YLo2dKPqGTeQZVYsk2 -pGotrNOmWSc5Y7K9JiIb81diuOiWtYWFvzVCLwyVoyJ7jgI5PbsjvTKSgYyjQaAn -WoucnaMW7rwx37ZxcmWBXqpvuDh6onAZ9FwKr+AhYceIq0clLyEFSxJbbGGJ6lJj -jORGVVIIG1YW8YlI9nHNRsxCG0pfjJGXaJB4AXkXAtgvkrJKIQixJ2UhtOdj1HJU -MYup+HQsKywIcaWCluwbuppoWXMpEVE7gjOnSgG+afgk7nuEK9UAKkbMZsJTa5oM -jofMXnqEkBF2+PlVqct8XReZ1DzNjpu2fCcZFeXCdbOqqmc7WOwYiwaWFoHCMXZy -OMlIuRDMASIo1wKpQAXK6ds/x6hzxDnMmJhnVmqERDKF3HlZudxUoDuEKRi8lgCO -mZGg7POCl1JircSL4UE5GMTFPSaQq0RnnHZcgskaEvEdpFq9+7Z/USV2WVkNMbJ2 -2GaXGZOMoZullsY5RnPMVycYgsoXXNhiUFFBpDSJPGNEQvZXUAVWDqhIy8iuqfN/ -o/FmjlSoixIVIVcfw1S+bQAQTmpwXhBletGW8iNSVNjFu5x1X+wXmRtwgkKTtNNK -4TI7cSCGfWxmzeubjllKfdMnm2BOmaRFR4Sh/otdCZytBAZncNllRCQxdgJy3Wxr -knWi9crLyXSVr0O/hzZ3HHJc0FOGgSSCMqWsiuMVNWFSq9pb5LlCU3tKUYxT0ivG -jGlaiIuWf3KIpJwri2N6s3yUeXKONIZdfoq36loZROqaddl186pbLxAAdEmlgoJe -ELkg2Xpo/MMhyvZrpzqCYOcOr3PAsrEGNPxKo4gfRQN+mAIpQydkzGQQTmGPYoVE -NzI/x4OjrJQr2hUiwzUdQCiAWptG7TyX0ox9eaq6gUqssPuIgodXF+M76kcd9Yex -aXt6ZgZGdPs5/coLM/qO8FvACKCxQ/sbmJoSrsW6B+iQBpBWgnqnv8g2kzi+Igxv -25JhSCem/WSW8Vk4V3hBmSB1DIcYsgVTBKhuIAJQmmKUYqkskYQ2XNAcjqeLMbYh -m4QHFkI7w6IhQKOVArcR0XVwJxieXcwKcbw2h3R4feQUy9tQAoRtehxnxvGZntEP -UjgLwqST4QfP0XXI3tRvNdQAaiIEVEDAqrRATwsr/CqYf7SIoLCTORevzhAN5HeN -7LXG59RVbIlNVYqrWIphioJUkXYdKHKQCUu33RVU7Fp4ivydNjhnVgIMdJs9PyeG -afCZTJAyDhIBSVcNhqd5ZBkZFAw67TcBg6OekNLOaFIQjspyh4ac6XjD57DDReNI -J0dchjRkVHAht0WeCcOL3guIfjqyKXOOKvQ3dXIpqFA0nQla15iCmxXA6EbBYEUd -PsV+lFwigTJhgOUbk2qrRAU+MSB78QJuUHGJKTVOoZSGDpIMK6xa8g81SSxGD6SD -2JgzRzCi1nHbG3RET5D7qBAALAI8sNm5EURbEOW9qm/Oob+0IeLnl/uJKoS/zShb -vKUYYjUfU6IKoEIssQUE0EYJdDI6lDDrakSDiLTrSmN0kYbolkGuiGUqFqqirD6J -p3utcsn6scyfvBlsMjxQaYBlZgPtJXXxtS2H0ct+kS/TMTevnAFk1AZ7nFwlWaDD -wq9XaR28pkK4GCTFpS+UonvfaqnVnBfxtQfLyQmOgBlCSa8pxLxt+puQ5LAz4cVn -/CNjZKANly5fLE3IbG0g1obewrZoBKGLxMDdAi/ph6c6ozvMC5/I+bE7hGYc8WRq -52baskYP2s6Ouikk8Ah88CF47MmwgJoMVV7H906muRT9d434Qp/sBpqxWKGSm5ng -0JV+tp2icXIYeR96SqT6HE9JYbPb9L8ucnHQU5I20nZoK6I7KrZbjKfnF5AVJH7M -wMjxC6ZoQxMyU4hoo0qnYGerlxqHZjEpqbOF+MIvicc/6IXM2kLHaIwvkgpVSgvi -usz/k1gzRyipPCHjtR+keHTIYcRMiS3L8JeMtsL32hiuB39JETJyOGRLNJd4aA3o -pVT2hpkMJG+gUycChz41529lcWVBUKDggmsp2b8c4alRcKsQtmuMEHLtx7dK57iI -ay4HKh0rtJsKaKKeK7lqLIGfYgn1OqI/U30igVVlnCVKCl0lsy3LoD4WYSEF1myp -MbalCGFh4o2J8rvu+GEPRTAJxE7hSIxmZYrmwsrOMW9fNRiLYVrzaGlN3C6J5TtV -0rGerKrJxHZ9eDt0ghWu4QFhEQGPLJobkbN8m1UYCQVbBrrC8LbkQkyEl385fGbz -GkY98qBuDCJ7u0fSMDVuJxvBrLnK1yR4G7Wq2wWV6lEb66WQKzicQxj4GAD29yDH -0aFudRi0i4hjtL+/iEVE9LK02idCuFiONgKBTJ6Rl83WK87j1sgAhq29M8HzZCgj -XIvmyrECMjiExauC6Z+HRlqYkbrkpK0Iu50Sh5FTZIBoQgu3oDteUmqfsnhN+nCh -kJnpGnWf9pFpahNrxTLyWa7CZXnxZnYpsnzPUhFbVpRw0UYYg5hTUFD6ZiHIV2e9 -Zs5BpBu6Sb2r+Dhy4HC5YWeMQhjkKDzboRziwibjq8t1yWWFwA+YkzMrUxYlAZvu -2glRfMHUKJewCaZ9F6ecJwRpqXOGsbAppRnQxxl80EupC09sATCYoY+0WYB+erMu -MEvMNZnzoIi9d3DvRweyNRgdxow/ATCkU5+rWKWtMxIupJVRAE2Smq/6J6YPOLQQ -+5MR5Y9FLLmy9Wi2I8YGCYEx8FAPSsQ5nEslyoFV9gVrvD1/9aFipcrki85ydr4Z -ULtjpL3+3HkevGsq5Sqq1gAyOnjsNjSfHCxWDCAl9rxvV0ZhukRe5r2++1A+QciR -SCOcTG23cWETPJ0+Sa9mJqRRuATgIA0sWqiW9EgiEh5dQE0pNAzG603c5CrcFstP -wyvjASaR9WnJNFffW2XjPEYA8X1Wdo2j8aOM3FUuQjIneZ5zXGhKC085xGk4gGDD -xy0lMXY4+xy7iHjwmzAIgirmdoeMZJkuAh23CE9LWrBMtkci9zdANJr5E3+xNSsT -UGNKWj+5MDUDxUxu4FjNvAlqGWWUJqPXWW/Osqc1BHV4mW5UEhZAewn6Z6VRATjF -BMoFO5kEMKBmuXb/GGfrfLWABQuk0b4RuV/U2amQQVjBYa5PMjCkVKfco2A7wMtX -F7R7hgujZ0o+oZN5BlViyTakai2s06ZZJzljsr0mIhvzV2K46Ja1hYW/NUIvDJWj -InuOAjk9uyO9MpKBjKNBoCdai5ydoxbuvDHftnFyZYFeqm+4OHqicBn0XAqv4CFh -x4irRyUvIQVLEltsYYnqUmOM5EZVUggbVhbxiUj2cc1GzEIbSl+MkZdokHgBeRcC -2C+SskohCLEnZSG052PUclQxi6n4dCwrLAhxpYKW7Bu6mmhZcykRUTuCM6dKAb5p -+CTue4Qr1QAqRsxmwlNrmgyOh8xeeoSQEXb4+VWpy3xdF5nUPM2Om7Z8JxkV5cJ1 -s6qqZztY7BiLBpYWgcIxdnI4yUi5EMwBIijXAqlABcrp2z/HqHPEOcyYmGdWaoRE -MoXceVm53FSgO4QpGLyWAI6ZkaDs84KXUmKtxIvhQTkYxMU9JpCrRGecdlyCyRoS -8R2kWr37tn9RJXZZWQ0xsnbYZpcZk4yhm6WWxjlGc8xXJxiCyhdc2GJQUUGkNIk8 -Y0RC9ldQBVYOqEjLyK6p83+j8WaOVKiLEhUhVx/DVL5tABBOanBeEGV60ZbyI1JU -2MW7nHVf7BeZG3CCQpO000rhMjtxIIZ9bGbN65uOWUp90yebYE6ZpEVHhKH+i10J -nK0EBmdw2WVEJDF2AnLdbGuSdaL1ysvJdJWvQ7+HNnccclzQU4aBJIIypayK4xU1 -YVKr2lvkuUJTe0pRjFPSK8aMaVqIi5Z/coiknCuLY3qzfJR5co40hl1+irfqWhlE -6pp12XXzqlsvEAB0SaWCgl4QuSDZemj8wyHK9munOoJg5w6vc8CysQY0/EqjiB9F -A36YAilDJ2TMZBBOYY9ihUQ3Mj/Hg6OslCvaFSLDNR1AKIBam0btPJfSjH15qrqB -Sqyw+4iCh1cX4zvqRx31h7Fpe3pmBkZ0+zn9ygsz+o7wW8AIoLFD+xuYmhKuxboH -6JAGkFaCeqe/yDaTOL4iDG/bkmFIJ6b9ZJbxWThXeEGZIHUMhxiyBVMEqG4gAlCa -YpRiqSyRhDZc0ByOp4sxtiGbhAcWQjvDoiFAo5UCtxHRdXAnGJ5dzApxvDaHdHh9 -5BTL21AChG16HGfG8Zme0Q9SOAvCpJPhB8/Rdcje1G811ABqIgRUQMCqtEBPCyv8 -Kph/tIigsJM5F6/OEA3kd43stcbn1FVsiU1ViqtYimGKglSRdh0ocpAJS7fdFVTs -WniK/J02OGdWAgx0mz0/J4Zp8JlMkDIOEgFJVw2Gp3lkGRkUDDrtNwGDo56Q0s5o -UhCOynKHhpzpeMPnsMNF40gnR1yGNGRUcCG3RZ4Jw4veC4h+OrIpc44q9Dd1cimo -UDSdCVrXmIKbFcDoRsFgRR0+xX6UXCKBMmGA5RuTaqtEBT4xIHvxAm5QcYkpNU6h -lIYOkgwrrFryDzVJLEYPpIPYmDNHMKLWcdsbdERPkPuoEOTLdPQHbJP3xjnNbvlL -3T1cZM0fkhHOpEYDt0yvWB7gkrQVT9m9LAjCH8aFpZsPEwXJ17mvG3MGbY8vv75O -AyTCzLgGGCMKAAAALAUCZUeVSSKhBmbvUtO9J9HVyqs3wE8B0cPb/TjHQVLzHwRZ -nrqKiM7KAhsMAAAAAPndINua3+iilFZCD8Rk9vWCM6lo/4cR68Qqx22m1BmdJuRM -zXotWZTmGFghyRDv/K+oynH82DMRmWj3QzarymrcG1Lwkg5sCCWFAWwGBvoG1squ -iK5wXEC96A/scndf9pkKCxLVZUmri4kqSo6fJG3OsXA9qZKCzWe5DLwlE13hdyyz -5d7KhZqcYstysY6GNbRyflM6UT2q27+oxbJBUidnAEkrJB9FnUgqg69k79fgybqL -W1lpZtAlhiFXvyh8vLjjHf97ZMdZvWrTUYlk/TfNMwHRS8qVnuc44fkYigBTNsJw -kp3A8IJGqWdWRacbkLwQeLhBaKM7kR5R5zOn75alNWtx00Z39MNi2HYnAtrwVzf3 -Z6Bol8OXxnafGM9bFB7+5fpGRLbdlxqOCzIRnfb9K2LRBmo4MlMgiZkTYKv6npfF -EWxSFudIy8RWrmsS7uligoJvhCSvLPIo7WAh4AUvsaXhYeyLeb3y/fU/fI2T1mSY -MVb77q1DWKKaDlzC4VMR52HToRgzu5BrZfP9PgZyQCNaCveBDSy1aQTTPd50fW07 -psynSwM25bfc34A6crqS3GSmm10WvC8ncvdWzxI1aPM8rIff6G8m13EqDJ9bP0Kh -e+Svy9KE6kig2n8tEONUpV68ms2BN7HbpTLzKz3dneowK5Jd+9LSHtOiuNO3h80g -RjjOVwcZNKaGEfjYZod1EWoRTvkgJb+4BexJqYH2k4oHKG0RUg/C5ro4AS2zhLj8 -5QTXVBaKEjZPE21IoxGeDt07TGhdRu/1tbRfQp/xEAqFnrjvh8v/Vet7rOjqy2E6 -stZDT1vkjCDWxGdOEgjCstftjtXok102QnViB48A3pUR3FukK6Jy/x9jbAyQajSz -kAdAMLLAsmQtdbapv5McBDA5vspxprogpBa+Yre8lwMQ0waB7b9co8//MtueXX84 -ClqFuEXMKQmHAOB6YGkV2XqQyMptf6q1gLGXuY0KQbrnuxUu+Xe0823Ci+yeWPpD -tCUTSn1ONSLqkDTjgVXMzQ0j4oNGZ5PRUketAZr4c0QjceRspQVZAKXfqgq493Ue -xu+RlhJs521FU3DyQ5Q/Eges8D/FZBwyzYWVLAxZqEGd6uvsNqZ8L57nwNGwzXcX -q4zzcQjSHS4BYg5LfiJw5D9xFdFQ3V1vZ6HaxQXoDZ2+ZYdu9urml0+UFRv1c8NZ -Q57jaSzWPHTEAXuj/UwRb4McPDFh7JJbUKw+FovbDFJzt5nAi8SrzvP468y5GJsk -EgRW1zjaT0ervCNfsgJVEOppl7PizIXE7C8lUxD4lsU1aImT3CTxaa+OElV9Y8kn -vRE6Cfe4/A+geukR+4TOy9U3IPM/x9G1SSqkpqfQt3g3R2rm8+Z0lvHSZR1Tdp6T -Z5EZc6/xtiAEeT4lROeKK745GVczJsTzew4NRrKmciz5IgC3iP6wQ04Ae2sARDA9 -tWRUdhTM6iY9BQjCc472FWFTZSk+MTCtcihnQTY2+80KDTs/s6D0pwvBLb3egg60 -KWcfrr1a/kASq03TuFvj5T0EiDdtjvlF2jc/SXX5upt/GeTVPOZpsVpUnJ6VGmW5 -/WMidyqrgjoRDGTkSlcAyuCgPKXRYbxTkWLkMyofx1WaXGIwmE+Z7tRUxxFaBGrR -B8Gdjh1h9DW0m+tyuh0x4rqDy3w69pkG0vK2JIxnz8Uqm+Id7MZ56GzECZrtOGSV -jNg+WAEeytzt9JUxM7EYu0PPCMA1amAi/uPNR1WVQ1ANtenvN/fTlsfb5UCuEg7H -btJ4vTOPg4ij8gTpTValzEMbbq0QvEhb4Q5KIU18lTbt59cIXgsrq5MOfDdWgVaD -NfqHhGrA0TPYeq5xxai5uowP+F86NW8X2GN+cq5gaHPIl4cFWVU33/EH8hAedFyo -4vKs3wZwqavz/ZrurAxQt8OPytakHaB9H1N28L0+nPBh96JqAv2LKTi6pIyg8f2W -RalCPeaTrQ4nqFqzmmNg1N7Aa2LWrKsk8p5t5ogitObKv9QhBTdyaZGGHwC4D1o2 -cs53Q26S0yFMIyPMeY/zP/UETXPWW03bbM/O0bWAE017VgXMq7S6X8m9sJDabf3j -eUBDyGkNTruOmdiKJ/Jn0p+FLH/eMpgHvs7EzwlSBwiTBr0xJB8ZKraDgsPyiB8I -hK+Oxd/b0Hg1XNe4zX+1udoq6pqDuISF9sj76NN4LRyu/XNSeRzuv5g+dXz/otbi -g6/2OkzN6U8Xbqs9f3D+HlTSesG7ZpGDzrAAl5f48rOhGwlB1ls2cXICsujKYku2 -9YPK8oOI8PMsg7IRZEOvpYseKsCd9Ulyc01bRgiLLyE8tCuzPINRZzAuV8ZAfTKS -wwgqnqA9P0JuS3S+zQEPNN9Yn2jDphPJ0qKaqwPPBHrdEkAX1o+Wi46EqrL6FlRa -vkr7IsPjxJWddYQo7AZMKpTVmWBytiE6NSMiVieqvUYpELm2EwVMoyIqnyz6trHC -cB1XxFWHi3O8UZN5zKu7RNLmzvShgHqUgaG+nCsru42Ert+l+BbeAf10+WeZrfut -5vqn4V4rqqA6PB6K2PEoOC0B+uJ28OZYZOcIVN8VLiAaAoTmIF2QuTqI92yrKwjd -TgAJQNQayIw64siNzy7VvO2YMEFzv6C8ZOt5I5rz0wFnkLxDIEx2zO66Z6AYLb5M -J+h1TcpxYnH8Cu8eLadK7/7aaKd/GQUTpco2xBu4MY5/m2t+GSdwQsVzScAVW3TB -adBf/Hzal0TC+i+9M6k28eJfdLsid4lCL20NT4HJ1ugJUFjs9xafzQ0iLC09yK9I -wuF3HWExoMY/1wSHrxPCgGUgk7QFHYfsoC/FcgoqAMa41q9fO+TxKhTwrcWNoSFZ -S5WYU8gZ8ML+VhOgAITI8WRhX7qVppKtCCAwnPQEE+O5tRk7+RRct4STcHP2xMFx -lrCmlumAO2akn06Vi8AEnWrx+b7bxz6uqpwayyp7mfRpPw6UeUbCqnLMRezUmNws -g7O4HbNcIEVU0WDhsmYY0u57z8RS40dFaO35stTtmFlRzGEPWnK3P7Skz9agxkiA -YZd4Vbiq2VCioVP6RstqcWlTW7xF0yqaXf0ht++1fTD0JkpF91M68NqV748whVnS -M6+ciujDzHZkslYLu4W2p1xWReS+HOfWeK3AnRnCXRBSNd6aLnLrBvLfwyYGrqSl -I3pk2R52qfwc9NKExBxq+gSBgL3nqpWjaYiDvHjCpsSXlscw9Obxp6PxmbzyUCqr -H7a1RY8jNYmN6gzkC+k9nFgrbbplyPcM80Po52/9w0sgKrIKMjJhYDNYZO7hwHjY -A47jYHLP/Yj4F3n4u0ZeTDl4j9Tq0PC1xgRn3hC8utbIu36imz5b5IzEfpADmO+A -l5Q9wDqWQYJKywBw0yf8lrLzsyqikmQrnvU6+O3a68hMW/1U339AZ8KOvqqJA/qK -rjcZTXen3yFuchDyPrEPEqNWLWfloH0UQNLDBysiCU0Re7e9N4LYOLkd0Kr5/FT0 -QjV0CektLVngxLLRzsEuz7DnvgOUppoUNlg2AqOSHywLMww7lHqTiCWqHezYLQPB -9cERq/RbyvhI1nduT9ScdCSDoqau6RtHLJjCpllFoR7CVOupgY6ceStZ3EDwclTE -miLnRa3pB0J++pSZAoMRD5HtOyTJcvBRK/74rhTMOltk/q/HOLxC77+xKjFHpIfk -7cGByvFfcB26Ahk9qi0EPK4yOcOu5beKKR7Vl0PstSoIrRIdckTpYO/UgvtYZYQn -90FltkUUU+gyECiw2sA7lKqRiSjnlNd1X8RQVU509z6Cw6apq5slx78p2TbxE1l8 -WzjKGz1RHxNFg3flyYscImjR4dNlC6s4IKVKumwlys2TLthEYPPGq0/KtK7i5DmC -aSpT+DMzNTogDOcNxZ2TNPFayQL3k/uYoiJu6wzWDO8BpyhXnB53JWnCNgTcugMi -xO7Tk39zl9Q0Q5vIUPLrBUDa/JVeGVkiMund0BFaHZb/Hdkec40fdnaptOrDW/Mq -ZZTbtFS+x4liJ4mzwwug39QVSmU9KxyANMzo69MhWbysAB4S23D8OEpTleND+yTq -kwiACCKJLTDn7z1fHka4SGboi0mwBzyIVffbVjAOdkhlc0KdvFU94xlcDFuc6X0T -VoPtzebE9g02cuueCCIxv4hmaxqEpwjQmW6V/n41fD7eoqT3YuJq1Xcq0jw2dv93 -y2ylf/wvTwaTEWoIBtb0v7wE4sVeIik7LbdlyofPsAXVbVNX3Fgy1WIi9ai3oMj4 -5y6gi6Xpu5KvcJv5u3jKLQeOX7dEJtb1vSbizNeq97gS0u8wdMYXjI0rJfW18cJ8 -BuaL3h8RCPbF14ZqmGL8akbOZ8XTFk26J7IFC1xzP2MrikfBYPG+mma+8Kd5KjRs -potQh4IM3HFOsEJgo7Lv4+4rODxHWlIcmNUEEcW8mdUfPLDZ8xIuMFdngZ0LPlaS -s9TzkpmcnbHLfZLjJJCWyff8AAAAAAAAAAAAAAAAAAAAAAAAAAAABQwTGRwi -=O+Cg ------END PGP PRIVATE KEY BLOCK----- \ No newline at end of file diff --git a/src/tests/ffi-enc.cpp b/src/tests/ffi-enc.cpp index 3ba4f8d0a3..9bd443fc36 100644 --- a/src/tests/ffi-enc.cpp +++ b/src/tests/ffi-enc.cpp @@ -757,26 +757,42 @@ TEST_F(rnp_tests, test_ffi_decrypt_v6_pkesk_test_vector) } #if defined(ENABLE_PQC) -// NOTE: this tests a round3-submission test vector, i.e., Dilithium/Kyber and not ML-DSA/ML-KEM. +// NOTE: this tests ML-KEM-ipd test vectors // The final implementation of the PQC draft implementation will use the final NIST standard. TEST_F(rnp_tests, test_ffi_decrypt_pqc_pkesk_test_vector) { - /* TODO: skipped since test data is outdated */ +#if !(defined(BOTAN_HAS_ML_KEM_INITIAL_PUBLIC_DRAFT) && defined(ENABLE_PQC_MLKEM_IPD)) + // we can only verify the test vectors with ML-KEM-ipd GTEST_SKIP(); +#endif rnp_ffi_t ffi = NULL; rnp_input_t input = NULL; rnp_output_t output = NULL; assert_rnp_success(rnp_ffi_create(&ffi, "GPG", "GPG")); - assert_true(import_all_keys(ffi, "data/test_pqc/kyber_dilithium_sk.asc")); + assert_true(import_all_keys(ffi, "data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.sec.asc")); + assert_true(import_all_keys(ffi, "data/draft-ietf-openpgp-pqc/v4-eddsa-mlkem.sec.asc")); + + assert_rnp_success(rnp_output_to_path(&output, "decrypted")); + assert_rnp_success(rnp_input_from_path(&input, "data/draft-ietf-openpgp-pqc/v6-seipdv2.asc")); + assert_non_null(input); + assert_rnp_success(rnp_decrypt(ffi, input, output)); + assert_string_equal(file_to_str("decrypted").c_str(), "Testing\n"); + assert_int_equal(unlink("decrypted"), 0); assert_rnp_success(rnp_output_to_path(&output, "decrypted")); - assert_rnp_success(rnp_input_from_path(&input, "data/test_pqc/kyber_dilithium_pkesk.pgp")); + assert_rnp_success(rnp_input_from_path(&input, "data/draft-ietf-openpgp-pqc/v4-seipdv1.asc")); assert_non_null(input); assert_rnp_success(rnp_decrypt(ffi, input, output)); + assert_string_equal(file_to_str("decrypted").c_str(), "Testing\n"); + assert_int_equal(unlink("decrypted"), 0); - assert_string_equal(file_to_str("decrypted").c_str(), "Amazing!!!!11elfelfeins now with the cypher byte in the right place hopefully\n"); + assert_rnp_success(rnp_output_to_path(&output, "decrypted")); + assert_rnp_success(rnp_input_from_path(&input, "data/draft-ietf-openpgp-pqc/v4-seipdv1.asc")); + assert_non_null(input); + assert_rnp_success(rnp_decrypt(ffi, input, output)); + assert_string_equal(file_to_str("decrypted").c_str(), "Testing\n"); assert_int_equal(unlink("decrypted"), 0); // cleanup diff --git a/src/tests/ffi-key.cpp b/src/tests/ffi-key.cpp index b21c6dcc4e..6331cb1dce 100644 --- a/src/tests/ffi-key.cpp +++ b/src/tests/ffi-key.cpp @@ -3229,12 +3229,14 @@ TEST_F(rnp_tests, test_ffi_v6_cert_import) } #if defined(ENABLE_PQC) -// NOTE: this tests a round3-submission test vector, i.e., Dilithium/Kyber and not ML-DSA/ML-KEM. +// NOTE: this tests ML-KEM-ipd test vectors // The final implementation of the PQC draft implementation will use the final NIST standard. TEST_F(rnp_tests, test_ffi_pqc_certs) { - /* TODO: skipped since test data is outdated */ +#if !(defined(BOTAN_HAS_ML_KEM_INITIAL_PUBLIC_DRAFT) && defined(ENABLE_PQC_MLKEM_IPD)) + // we can only verify the test vectors with ML-KEM-ipd GTEST_SKIP(); +#endif rnp_ffi_t ffi = NULL; rnp_input_t input = NULL; @@ -3243,7 +3245,7 @@ TEST_F(rnp_tests, test_ffi_pqc_certs) /* Public Key */ assert_rnp_success(rnp_ffi_create(&ffi, "GPG", "GPG")); assert_rnp_success( - rnp_input_from_path(&input, "data/test_pqc/kyber_dilithium_pk.asc")); + rnp_input_from_path(&input, "data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.pub.asc")); assert_rnp_success( rnp_import_keys(ffi, input, @@ -3258,7 +3260,7 @@ TEST_F(rnp_tests, test_ffi_pqc_certs) /* Private Key */ assert_rnp_success(rnp_ffi_create(&ffi, "GPG", "GPG")); assert_rnp_success( - rnp_input_from_path(&input, "data/test_pqc/kyber_dilithium_sk.asc")); + rnp_input_from_path(&input, "data/draft-ietf-openpgp-pqc/v6-eddsa-mlkem.sec.asc")); assert_rnp_success( rnp_import_keys(ffi, input,