aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
authorAlex Stapleton <alexs@prol.etari.at>2014-08-10 12:18:02 +0100
committerAlex Stapleton <alexs@prol.etari.at>2014-08-10 13:53:30 +0100
commit839c09d53e1450833f98958c5513bf9c227076a3 (patch)
treec9a96c6dfd527c137d24b307bc0b16ada84940c2 /tests/test_utils.py
parentff9bafee7cdd295bc5e79252a5f2ca6f8bf3c1fe (diff)
downloadcryptography-839c09d53e1450833f98958c5513bf9c227076a3.tar.gz
cryptography-839c09d53e1450833f98958c5513bf9c227076a3.tar.bz2
cryptography-839c09d53e1450833f98958c5513bf9c227076a3.zip
KASVS vector loader
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py459
1 files changed, 456 insertions, 3 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 4673b49e..da3b1a2a 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -30,9 +30,9 @@ from .utils import (
check_backend_support, check_for_iface, der_encode_dsa_signature,
load_cryptrec_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_nist_vectors,
- load_pkcs1_vectors, load_rsa_nist_vectors, load_vectors_from_file,
- raises_unsupported_algorithm, select_backends
+ load_fips_ecdsa_signing_vectors, load_hash_vectors, load_kasvs_dh_vectors,
+ load_nist_vectors, load_pkcs1_vectors, load_rsa_nist_vectors,
+ load_vectors_from_file, raises_unsupported_algorithm, select_backends
)
@@ -2626,6 +2626,459 @@ bdcf3035f6829ede041b745955d219dc5d30ddd8b37f6ba0f6d2857504cdc68a1ed812a10
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_vector_version():
assert cryptography.__version__ == cryptography_vectors.__version__