diff options
-rw-r--r-- | docs/development/custom-vectors/seed.rst | 30 | ||||
-rw-r--r-- | docs/development/custom-vectors/seed/generate_seed.py | 57 | ||||
-rw-r--r-- | docs/development/custom-vectors/seed/verify_seed.py | 35 | ||||
-rw-r--r-- | docs/development/test-vectors.rst | 3 | ||||
-rw-r--r-- | docs/spelling_wordlist.txt | 1 | ||||
-rw-r--r-- | vectors/cryptography_vectors/ciphers/SEED/seed-cfb.txt | 123 | ||||
-rw-r--r-- | vectors/cryptography_vectors/ciphers/SEED/seed-ofb.txt | 123 |
7 files changed, 372 insertions, 0 deletions
diff --git a/docs/development/custom-vectors/seed.rst b/docs/development/custom-vectors/seed.rst new file mode 100644 index 00000000..e8fda542 --- /dev/null +++ b/docs/development/custom-vectors/seed.rst @@ -0,0 +1,30 @@ +SEED vector creation +===================== + +This page documents the code that was used to generate the SEED CFB and OFB +test vectors as well as the code used to verify them against another +implementation. For SEED the vectors were generated using OpenSSL and verified +with `Botan`_. + +Creation +-------- + +``cryptography`` was modified to support SEED in CFB and OFB modes. Then +the following python script was run to generate the vector files. + +.. literalinclude:: /development/custom-vectors/seed/generate_seed.py + +Download link: :download:`generate_seed.py </development/custom-vectors/seed/generate_seed.py>` + + +Verification +------------ + +The following python code was used to verify the vectors using the `Botan`_ +project's Python bindings. + +.. literalinclude:: /development/custom-vectors/seed/verify_seed.py + +Download link: :download:`verify_seed.py </development/custom-vectors/seed/verify_seed.py>` + +.. _`Botan`: http://botan.randombit.net diff --git a/docs/development/custom-vectors/seed/generate_seed.py b/docs/development/custom-vectors/seed/generate_seed.py new file mode 100644 index 00000000..d59597fd --- /dev/null +++ b/docs/development/custom-vectors/seed/generate_seed.py @@ -0,0 +1,57 @@ +import binascii + +from cryptography.hazmat.backends.openssl.backend import backend +from cryptography.hazmat.primitives.ciphers import algorithms, base, modes + + +def encrypt(mode, key, iv, plaintext): + cipher = base.Cipher( + algorithms.SEED(binascii.unhexlify(key)), + mode(binascii.unhexlify(iv)), + backend + ) + encryptor = cipher.encryptor() + ct = encryptor.update(binascii.unhexlify(plaintext)) + ct += encryptor.finalize() + return binascii.hexlify(ct) + + +def build_vectors(mode, filename): + with open(filename, "r") as f: + vector_file = f.read().splitlines() + + count = 0 + output = [] + key = None + iv = None + plaintext = None + for line in vector_file: + line = line.strip() + if line.startswith("KEY"): + if count != 0: + output.append("CIPHERTEXT = {0}".format( + encrypt(mode, key, iv, plaintext)) + ) + output.append("\nCOUNT = {0}".format(count)) + count += 1 + name, key = line.split(" = ") + output.append("KEY = {0}".format(key)) + elif line.startswith("IV"): + name, iv = line.split(" = ") + output.append("IV = {0}".format(iv)) + elif line.startswith("PLAINTEXT"): + name, plaintext = line.split(" = ") + output.append("PLAINTEXT = {0}".format(plaintext)) + + output.append("CIPHERTEXT = {0}".format(encrypt(mode, key, iv, plaintext))) + return "\n".join(output) + + +def write_file(data, filename): + with open(filename, "w") as f: + f.write(data) + +OFB_PATH = "vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT128.rsp" +write_file(build_vectors(modes.OFB, OFB_PATH), "seed-ofb.txt") +CFB_PATH = "vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT128.rsp" +write_file(build_vectors(modes.CFB, CFB_PATH), "seed-cfb.txt") diff --git a/docs/development/custom-vectors/seed/verify_seed.py b/docs/development/custom-vectors/seed/verify_seed.py new file mode 100644 index 00000000..e626428c --- /dev/null +++ b/docs/development/custom-vectors/seed/verify_seed.py @@ -0,0 +1,35 @@ +import binascii + +import botan + +from tests.utils import load_nist_vectors + + +def encrypt(mode, key, iv, plaintext): + encryptor = botan.Cipher("SEED/{0}/NoPadding".format(mode), "encrypt", + binascii.unhexlify(key)) + + cipher_text = encryptor.cipher(binascii.unhexlify(plaintext), + binascii.unhexlify(iv)) + return binascii.hexlify(cipher_text) + + +def verify_vectors(mode, filename): + with open(filename, "r") as f: + vector_file = f.read().splitlines() + + vectors = load_nist_vectors(vector_file) + for vector in vectors: + ct = encrypt( + mode, + vector["key"], + vector["iv"], + vector["plaintext"] + ) + assert ct == vector["ciphertext"] + + +ofb_path = "vectors/cryptography_vectors/ciphers/SEED/seed-ofb.txt" +verify_vectors("OFB", ofb_path) +cfb_path = "vectors/cryptography_vectors/ciphers/SEED/seed-cfb.txt" +verify_vectors("CFB", cfb_path) diff --git a/docs/development/test-vectors.rst b/docs/development/test-vectors.rst index d2e9548b..a1692c19 100644 --- a/docs/development/test-vectors.rst +++ b/docs/development/test-vectors.rst @@ -79,6 +79,8 @@ Symmetric ciphers See: :doc:`/development/custom-vectors/idea` * SEED (ECB) from :rfc:`4269`. * SEED (CBC) from :rfc:`4196`. +* SEED (CFB, OFB) generated by this project. + See: :doc:`/development/custom-vectors/seed` Two factor authentication ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -98,6 +100,7 @@ its own using existing vectors as source material. Current custom vectors: custom-vectors/cast5 custom-vectors/idea + custom-vectors/seed If official test vectors appear in the future the custom generated vectors should be discarded. diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index bf5ae05e..02b9f9ef 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -3,6 +3,7 @@ backends Backends Blowfish boolean +Botan Changelog ciphertext committer diff --git a/vectors/cryptography_vectors/ciphers/SEED/seed-cfb.txt b/vectors/cryptography_vectors/ciphers/SEED/seed-cfb.txt new file mode 100644 index 00000000..65969846 --- /dev/null +++ b/vectors/cryptography_vectors/ciphers/SEED/seed-cfb.txt @@ -0,0 +1,123 @@ +# SEED CFB vectors built for https://github.com/pyca/cryptography +# Derived from the AESVS MMT test data for CFB128 +# Verified against Botan + +COUNT = 0 +KEY = 085b8af6788fa6bc1a0b47dcf50fbd35 +IV = 58cb2b12bb52c6f14b56da9210524864 +PLAINTEXT = 4b5a872260293312eea1a570fd39c788 +CIPHERTEXT = 5c460dc6a83060ee36ec55c5ce6448c1 + +COUNT = 1 +KEY = 701ccc4c0e36e512ce077f5af6ccb957 +IV = 5337ddeaf89a00dd4d58d860de968469 +PLAINTEXT = cc1172f2f80866d0768b25f70fcf6361aab7c627c8488f97525d7d88949beeea +CIPHERTEXT = a6841e5e4dea28f28d7a83031442c86e5b68d1048cda42452964df577d3c0abc + +COUNT = 2 +KEY = 0a8e8876c96cddf3223069002002c99f +IV = b125a20ecd79e8b5ae91af738037acf7 +PLAINTEXT = 4fd0ecac65bfd321c88ebca0daea35d2b061205d696aab08bea68320db65451a6d6c3679fdf633f37cf8ebcf1fa94b91 +CIPHERTEXT = 4081ec9257303ae208eea0411d7977eb82e3b8d4f2d03d299f98fbddd519812c2bbe7af6d5c13b8fa5b15f233911eaaf + +COUNT = 3 +KEY = b9ba9fa32cc491d8ac2beb5f99193d57 +IV = 95511452b71e53e93afad07ba1aa4d98 +PLAINTEXT = b40382705aaeea41097c309da6cd06010f15e09c0130fa4b3af69cc8da109d1f0f0a2661f1a8b89bab7e7009dcbb8a883d46254a830c45cd87981e0ea4e490fa +CIPHERTEXT = d9add2885d52163ff04060b8ee46a6e02374af2f895e28ac6d2a964ca8e78bcc9e4e2d4a7a4a11cce7a605a5c0b79c7b8f546ce9159014cb4b462454de902646 + +COUNT = 4 +KEY = 5947bbd78b06bb5ea2fc67ed7b24216e +IV = 8e4722ad2230b15f2eea302173bc1795 +PLAINTEXT = 9e69423653c20c982794ed35d63c1a78e8ac14f37e1888ae4bf273bfe119891b2e4ed8ac46e7a9a463c7a710298d43b02f0c5606bcfc08adceeef2ec61867f8bede498e53163803f2f86fc58782fb841 +CIPHERTEXT = 48af72fe5b7449786965500fe685b9ebbebd15b0afcc9ecc8ce424a931d55462c52dc2cfb41eb17f3cedce1ad1546c348a190846510a427216230575245462b61161c1ef7515e209bc809b66309521d1 + +COUNT = 5 +KEY = abce650e78f969b3b210151c74117fd2 +IV = bc4659fbb7073c1f2185cd8ac5314bd1 +PLAINTEXT = 322eae07df5ad2ddd64bba34e42d30c1b884f842e71efa123345a3fb0c39884c57dd4c2c6fb0c42e69ff5a269d59af3a6144853c182edb376ca65947d7ccefae6806ba25c4f527706ba85a353c0fd10e3cb244dd93a2d060d7b055058dde1dff +CIPHERTEXT = b343343a7f0fd1c0874c8c43cb4078c6da6b6691d1747a6c583f0b93e77d0b1b58e605f80d2f9e0f06d61f75cb03b81f543f5f309aa5cfe3c1d39359be074383d9159bb0b3e51e7b7742cd439b355926589fabfc7b45bbcbb81d84828dc81947 + +COUNT = 6 +KEY = 9f56e19b09dd3fee0e110f71e9967b7a +IV = 1155cf4231bf7ac55d5e6eb27a974fad +PLAINTEXT = ad1e4d3162a5084f581117639a13fc35df5449625ffe0f01e57d9a8726875be8515926ffe7449e30cd69ed4ca0c1b8b4486051c2d0fa2f6474a69c0afce2aec349d778a22edf81678145765b714c1b7c197287da56f59141d6978618729e1d89be20ace3de7d9b3c9b2d195ab6bc0fd4 +CIPHERTEXT = e5f75f794db9d60f1a8f64dcb241c4463b0bd8ecc57b4aea8f87db1478debdb02b9fb9a9f159b24a2b292681683394bd067fe07026043557391aa59f77421497205a44896bde4e74af04ac231f7918f66d65bf5211e3ff9d7628feee17331a9260b7412b561b1f8eaece42532bff6de7 + +COUNT = 7 +KEY = 31c485c996d6ceb2d17e0aa05b2490e4 +IV = 8c37f33405051b4c50abd16c6456643e +PLAINTEXT = ac68de6a2c2144c6b4fd975a8dec93447391e7c9a4fde63d36be7f23ad186f96cd92b5e8adb546880d100329e97fe8204fad860e6dd8b3c0eed4805387536b9ccc63d6c74938b83dce2c93cc0a04a6025b7563d9e5e7239ae27819fb3844848a51e4294f273401ad9e592f8a170334b042f0667233b29f92b9b13262eb73232a +CIPHERTEXT = 9775a5c6dab170473a48e938e4bb036533476535c545ba27e149a2efc4f37dd4d8d45f769e74b080122077bf6d049cc146040bd56da957d644cc37abd2a20d795ad0b4a31f44f94e8b2bdeef0b7507c05a4b12dc84986d8e6c2beb1e5f6b16a057df782da903fd4bcc913e3ffc5fc75145a329e57528be7c34a92542cb80eab8 + +COUNT = 8 +KEY = 556ccfa360ecb5025032dddb124cad4d +IV = d54c6fdcc85dc0a28c0b06205fee8854 +PLAINTEXT = 71fbf180effac3dca0d69d40e4017dbe50455396f9fb6507ef7df26507de156cded8edd41a05fb25f352cbcdf3b2d770f90fa87f84863e0c2ed3b2dd770a1abfc489ad1ca82a28d061bd7039a6b5788da021657136def0c78d0b0cc7cfbec9512cf579811fd01185f3fdd2ab857328be4b63d293956b43df130e484b9861eccb1d06992b095e7febb0fb394c1954aeab +CIPHERTEXT = d43fe04c874d091a7953ed15589f7b4b6b509c21746a366b0c32f135a9e84c6c2a1bb8d2f6a3a389f95b903db62030b1ab54ff45b1a837ada720977944707fe8ea159714f8e7cfd5299227249aec14920ab5a877a57e4b23a951bda95b8f98b908a55f73792f86944de919b0a18cc50e13c549b6d7da8806062afb125c388f02d914548f5747b1bd227520018d97066e + +COUNT = 9 +KEY = 7cb81fc4b203b0fa9bec49759bd515c2 +IV = 4d5e2fa3bf73f488b3e7e125f03dfbbe +PLAINTEXT = 362789b376d85eb8181d4eeea52d42e873ce7741c11a2f820383a7457b15489b09fb21ac4445959dc9e851b7d40682c50d7044bda46a5da39fae2bab73b3db9ed22edc7ec5da936dfa7451cb5f0a829ff0762738cc2686148f1e1f00dc3fe38139c9a173201fc1f052ca34736fc1ab3dc4e707f864d6119b7adb6c8ddd41c80de5d357d17e9c85ed7af1e4f72cb2656932ccce469202680109eef89a9f42f10a +CIPHERTEXT = 87fbc595b52e0c299420338f422fabd264665e5457f1df907c5a2c95fc2ed4d04c29296467123223414b0e0223dcab3d93d5740f2e498acf20f50a59d267a734733c946597c2e1e54d5d76a6cb552b264f86b1b2e135cb601f73c5ec3237d2d341f09064e3e68cf08e9e770ced087c94e54b9aba36f01cd10596615cd02f1008b3701084cddfa659fc2b7293a605c1c273f54662894d6d6ca86256d915d4fb3f + +COUNT = 10 +KEY = beb622d0228cde29b342bbcf4c1c83b4 +IV = 75c282fa581d9c671edf5d540951b680 +PLAINTEXT = 860476c81685b58e71e2599efe083ce5 +CIPHERTEXT = b8d5730f28bb21d79345e2668f9b4a91 + +COUNT = 11 +KEY = c4666081e0b0eddb10a9a607c807378f +IV = 5f23623288e4a41b03186024755a10ea +PLAINTEXT = 2fd02dab9054248073ebc0b07aed383756ccfa4fa6298722775be6a9b4ed27a5 +CIPHERTEXT = 6bacb9856757883e22e04085deb6dd3ed3694dc6a6ea4445dd2f2684e465e6d5 + +COUNT = 12 +KEY = df010376a6b03279338773a70e012382 +IV = 67455decec549365742525d8dbf1fed9 +PLAINTEXT = 9b9c3dea553ec235db0011b27191544171845b7bdda0dc04a089583959bba5ab7048f8ca87eab073a8b824fdd4e82e40 +CIPHERTEXT = 8871858efc277d3033d1c95c53a3fda31ba8d17b9f641922ef69de0277c80e914f25a8f3366106b22efef2a5c5355504 + +COUNT = 13 +KEY = ff01aa4f7106c6bd24399076f901a530 +IV = 089b4f6054eeeef76d4e13f75de64f7e +PLAINTEXT = ae9cb9dfa305af83e95a3b2099f70907edcd49fbc6efc5ebe744184c76b4f56bf35774f3fe215e1c8ee42172a2dd3e6f9ccd3d9bb044325e61a6bb97e48e9986 +CIPHERTEXT = 676537bc02ad0fc270ba547f5640bcdb125bc95d9db54029b4ef32b83da838773c0750300b4384fec116732b76f654228f6c942f54839a5a2101c1fed1eb62b3 + +COUNT = 14 +KEY = d33d4062ab32298eafcca86b5088d5fd +IV = fcfffce8b020240f9f694adcb8ddf213 +PLAINTEXT = 1fe1318adb99e6d4fced292902fe8c831ba488a43f85964d6ff54b322663b380bc99fed15568278cfe1d0af795c71355bf65e876855763655eec3abf3d4b27a0341d607f4bfbd82c8900fd436f7c4186 +CIPHERTEXT = 1898807204f12402a0ca6f11c2ff2a929123c3c18e02149740d6bc91f6a626e79b827d3fb877e1821c861b3e7a361c0fae457340692425b0b8f21447e3fadf95e60819789f2964fda844bd3c508d06c9 + +COUNT = 15 +KEY = 47e13544a7bbf74dd68ab5ce66e5bdaa +IV = 69480b4dd38cf3b47e2b7652751395ae +PLAINTEXT = 3e2e583a3a0389ca324f2aaa52b7823904ab288dae562995cf1d70c796d785fd361261434eea480ceb3d369d969652c7ff194931c0a9bd978f5ae4094d6ef32d986a092c580ccbf865e5095a7b80559be13f842f9bea9e42a3a01ef8a24a6526 +CIPHERTEXT = d5d73ef41aea9daa98d04b309299809408eeebc8de56b2258ba97155dc0bf54150b5338be0aac01ec9a93f49c3aa193d9c74ea5fd0dd4efb9030eca445dd52784cf5f18bd4e0f5facd56620df9d66ead9de1b6fc86f8c3d87f69866a490f5ed4 + +COUNT = 16 +KEY = ae86823695b48e8c612ae5a01b597f97 +IV = b26eef7b1d14894c0c6388ce5273f4f2 +PLAINTEXT = 569a910bc6aa97b8939ca703fc10ce0d171625bc735a1fea7148650541109d955b1b686c6cc404b2d3d92ad9faaff217dc7b31b038b770959aeccd1ca55d650364fde51df8d4f0aeb05fa364f5028f709c179ca6df0bdfc1cb850f238d755ac44a733fce558402be0c70bc0871b8e62f +CIPHERTEXT = 0be12d90fd8536ef7fa415f0322dc833891e97d4e6c5427e743bae14fb2776177ad9bb8198d344e74b2c9fe720b67c35965acac1436c5f8e328fe86b4b65d389d8e060295a1c48c6de9a06835e677adea60d3ccc589754593bae6ac9f847b8f0c39253db2e863d5ce1df024f504cecf0 + +COUNT = 17 +KEY = b85df29c9244229835d73441dc37555e +IV = c1375430efedb2d311a37bfa5ad2110e +PLAINTEXT = c232a0bbf967ef28b74e7b809c62bc8c1cf2d52a273a84162900da834448fd567870471498f29770619dec504922e379eaba0d3a712602583d00279d8fc6a6d568cb94a330039a189ed5802abb7a2898c13ef89c00d73fca9a2f2ffc2107ab498212c56835c0fc26f835a69c00bb3eaa695ac20e8bdb0f5b5b6684d02bee8fb2 +CIPHERTEXT = 7b8b2a3a38328276e2739ecac4c876633e5cc8835a46053fdbbe0bc828450bc6b2e9cb31515edbbccf74a1128213d64577eec37eff3377528dafdd14bcfe2d8cc988f7705622893d3691126ed1de20a1ae7397e3dfe78464c2d310a452608799b024e7725394b309b9def5b2840e8ffa9fb2b9da92fe2df24769c5250167f4f2 + +COUNT = 18 +KEY = e96771f5f20a89ee871261d2d18e1e46 +IV = 8c664a37d245d26c0c55adfb424758ba +PLAINTEXT = 8aaafd56c5d5d54fbe16f115c3216bd1f4376666931a2ef1ffc5468ad12150c39250dca2d63c6ea166bb0ef4aaa3d5849c1f9c621c55826a1ca362f03bcba4dcbd654b300d16519710130e5360bd949aaded6a648f96dd8937a77287d4a4ac2941729475b635b9797476b4dca4171787ff15882d3b4872ed0999a7546dbb61698e8348f70e4a14981a78156150484532 +CIPHERTEXT = 18d65e3fd66b6aef76354325c323f0cd45f6c280335b890ba6822437125b86baf0f8576039e074aeb557f73dcacedd94fe134219fda1b5fac5e4d02f5b582496e97350926902a43dec11b09d12d294b7cc815eb98c4b5f693dd341a7d47a71f6c1a9af3981c97bb13ef4abc8a54aaa0fd601e2cd981d3f49bd8e958b3fe5769a76264784116038c8086af3d49d9429bf + +COUNT = 19 +KEY = aef49da33f538ee66e178d4b6121055d +IV = 842566e68b61ff7bf001f2642da62f64 +PLAINTEXT = 415991f65e1a95040cef9960556f61e617827c30c74bf353cdd86173dbe4cc983a2ee6bc8ca6cfb71121e7b0d0178f2e13445c710dcc176b781201971171f7489f18faf110f39accd1cf08c85a958d7698b116f1c0d75812ac9b0b39aee7f7159ccad8fdae9b99f2d695eacf12c6469d5b51a34de26eac73613dcb2f77122cb1f8dd5162786a12052dc7b6dea6acc4989dcc7eafd9374f6c29697c74749ef16d +CIPHERTEXT = da97a99e4734c2dfe541642e30b9cea9263f5ee2055d468fc519585c4072f3163eda6cfa5014ed6b2293bf6d296cc7406530657b960072fa8aeafb6a7192c782e73dc4bcb02e621ca6a375d318ec98e7998339060650940d7d9d5e89f95a15e1d673b4c7132be9875bb339a30a61b57050b2c91e57a4b11f7f00c0df906edc508a5a54d218e62de114e89b6e1c137c3a40b55130343a3527dd85d8f9c87a1fc6 diff --git a/vectors/cryptography_vectors/ciphers/SEED/seed-ofb.txt b/vectors/cryptography_vectors/ciphers/SEED/seed-ofb.txt new file mode 100644 index 00000000..a253600e --- /dev/null +++ b/vectors/cryptography_vectors/ciphers/SEED/seed-ofb.txt @@ -0,0 +1,123 @@ +# SEED OFB vectors built for https://github.com/pyca/cryptography +# Derived from the AESVS MMT test data for OFB +# Verified against Botan + +COUNT = 0 +KEY = d7d57bd847154af9722a8df096e61a42 +IV = fdde201c91e401d9723868c2a612b77a +PLAINTEXT = 81883f22165282ba6a442a8dd2a768d4 +CIPHERTEXT = 78aa827fca58956065e1dc0ce17bfb80 + +COUNT = 1 +KEY = c9f4ce21b4c7daaa4f93e292dc605bc5 +IV = 5e5a8cf2808c720e01c1ed92d470a45d +PLAINTEXT = 8e19c5cacd015a662e7f40cdecadbf79a68081c06d9544b41c2dd248e77633b4 +CIPHERTEXT = 814d987a07282f950fa9a6559e5443f0826243a630458327e5c20440d2a50a0d + +COUNT = 2 +KEY = 7a70cc6b261eeccb05c57117d5763197 +IV = bb7b9667fbd76d5ee204828769a341b1 +PLAINTEXT = 823cbaae3760c85512a3c83fd60bb54b7cfc739b295b63e05ef435d86e19fd15368c89ff08a0f21ce89a728ffb5d75df +CIPHERTEXT = edeae6665592ab617f52e495e9177108399a2d073e0e7d9e4ede0545bdf9294f32a1ac2f4c915b1432024b5ca05cf91d + +COUNT = 3 +KEY = 85dbd5a6e73681a51a4a7d4e93ca7d0c +IV = 89d897c5aa9e0a5d5586d4b4664fc927 +PLAINTEXT = e3dbfc6ae1a879870fd22644c8135fe063355dfc0a8dad45c9c6e052e6e085cf717754dc1b49acb04cf340826ffb0da991138f022a9c34923a6a116c98c7d3d5 +CIPHERTEXT = eb97edb484801398304d27fa5512417cf63fa76c3860c738cf4866dd9a024bdd2e4029fe1bc83587b452686edf971dae2390ef0af2a00deef79216b1104e43f6 + +COUNT = 4 +KEY = 18b9887a34438fb2e759027e54e334b6 +IV = a5be8621e58dae325c6b868fd783e2cd +PLAINTEXT = 8cd659df925950b516f737fc92d2fafa008c008c9dfe0e75ed2d68f6ff79399ff2183464b8c37cf31aafc145fcbfac73e3f87eccb435f424bf1c6d6efb504e8e93e8a668a2210e3d3b4fd437ad1a5842 +CIPHERTEXT = ecee4794867f81ee0ab465481f160521a918121e02308744e65cbacc4c369ef0b98ff6feaca41a8979045c4bd49487b4f3437376c4b6f43536973ba54bdd2b7170c7136f92e87cba79b892616b80fe10 + +COUNT = 5 +KEY = da52c0e4609e82ee926174a9eaf90b08 +IV = f2d0c5e86b4ddb40d30713aaa5a153fe +PLAINTEXT = 91d6c95a614cf85de16eeabe5976c2a2a9d307042f79a7aaeb7c3c57e1dd8d43bfa458c8c02e4f5ed0c960c9f17e3991dd2e0cb3ede18f96395a484001ef07ca4c97b411ce454aaf0f74242aca03786a93442171bd50a1467b9d663245d24c2f +CIPHERTEXT = 6207d66ce45fa32922bc75c14bd1a2d44a8daf4e655f9b9934f7f41de98337d3f6aa6175f43d056b6be3decb791a324c80a84983b026dcdabdcd1cf93059a238e14ff5c952b740802cd11171f5275c12adb6564532de13194c66532c0cc17663 + +COUNT = 6 +KEY = 56d6f7e2a870b92d55ff8d6e9c554d2a +IV = b512f0e11e27fd1a94aa0c697bb6da5e +PLAINTEXT = e62cdeac43667749701314c546f778a4c758e4f55760e7d729c3783cf7a242edf6ae3fcf0990886434896c945455bfae0e5674aa06ee6fb1512d94df2cac2447eeb849373bb3efbe7bb8d66c8a7ee559b17fc268d6599fcdef7457cdbde5b9c5b692236e4397545f2be97bd44f3993ad +CIPHERTEXT = 22632b7abf711ad0e66f1834e5984609df0fdf0903a7180c713e1c084812913c31d1fb3469c777a94e5115fc1c4a081283fa2d28a9aec1b6f46738d8bf04ab6b82505b2063153a12dace49000aa9ac41ff3cdf9510a20183f934d364f52cd72cc6b5deb192ca5bacbff471565ae2d563 + +COUNT = 7 +KEY = 09f216ff78dfe419dfcef1a855473414 +IV = 722174c892d265291982c6f042ced145 +PLAINTEXT = 11f435e7e3656fcfa8e0df230311ca21054e84e13c8590e7ec7309f59c174022d467a7302641ee1b6ba46bee4f20bfda108bb78982f670b057dfbfe49da9cfae88490ce17241402b20d2fceb476d3a424e6c406d56ffc85278695d584d6c087cb4012ca2cf4daf284fd15ac1f2e183814957e934bf88dff4d777adfbb54933b5 +CIPHERTEXT = d9a5d3bc0a558b86046877a9030a09c537c2830b93dd9f56df91233f3b403fa39dc820d5eadf46ca016ad130018310a4e31e0974bb233085236340e057cac0d6968f0fcceea780b9da7bfb297e8593abd242e382e7482e9c4679b7cb720798c17522c5cf4db9004368f609b5280b5421f30a39a6659d51ef8feafed739959441 + +COUNT = 8 +KEY = cde9b69eea2b6a5588457e35e0a08803 +IV = 52323b54d69a62fec0689baee1b3ec63 +PLAINTEXT = 967798995af6f435b3a6f92bff77a11fa44d1426ae0f6e7dbafac27b123c5fc419be52c0ea412c4b3cac05ae89a4c0ce6f5e91a456b1bded5370a1234cf6f6ab5d0253507bc6f3f0573ab97585b67107dec059812323e021e341ad839ea9e3d02aeca43356add48ccef81f693ed53d32ba1c74a35e8a5f7f3115ef834f7daf9948244c4fc31f5487678d3e70fb27abb5 +CIPHERTEXT = 1dc92191514c65141edb04acc655cf3c664ff5727d569b636787332ef1e34b1afd4b8e9acf4b745530fa7b3094f45a32d82b0e2be7cc035a1dded75f4033bcc4727dd14303761a9061b8365a8893e2569d045f08d2b447c35d2f927ac6103730e3aa4e81aef54c426320d657e2aa169bf8884ef0541074e9c08793364646a9a99df0e5022ea3740361096c3790707b3d + +COUNT = 9 +KEY = 939aac71e337709855715a57e3a4648f +IV = 493509b56a92f14040eb9b66a188bc57 +PLAINTEXT = 9c22efddc7de496a916d15d710de374d57478126ed64c9ad7e823e24d19bfc0cfac3dda0d1c292a3a203f35b26ad94deb20f998caf41cbdd4a08eb5d6cfb46f4ede4896b0569d72c03ec194941af95c0573cc3fe8f045ba19946b382803248f3dd4f9a454b1a3e8e1af02ea8482d637dac96a68275f4a382d3023f9df4892b9032cab9378b1cef5051d6db81226f259d1be4eb23495ac807600536b5b0481754 +CIPHERTEXT = 5bf691be73fa80ebdfcf9ab0657729c9017505cb7163afb35c120915e111d2a2978e373164579c9ffc66bfe189ffe1fbe641d45c8d91a2bab418d8b549eb027721d241a9d80e298c79c75d7db8dec3a8d56cf27d33431c07ac4128b1068684e1d99b1ff23f83e8badb704600de7ae95cbef8029f101bfa852ef5f69cc7a7427d0fa3abd7de68db07de0ba4c17fd579ffcf1be3ad9e5f724c8e9c87c079f2afec + +COUNT = 10 +KEY = 8368189d41eaa20d06a3a2d2a91e43f7 +IV = cf04ac0e4733952ba538711f79eef8ca +PLAINTEXT = 696ca57339840fb3c150e0c111d9e13e +CIPHERTEXT = 03f102dbfb29bcde9e7d16825de64228 + +COUNT = 11 +KEY = 5124c6fdb0856ded76afb6febdaa981e +IV = 937ebdeec379685a71d466703f788ff7 +PLAINTEXT = 5a5928dd09e78a21256eadb062630a3f0b47ca2376ccae314948143fff2512d4 +CIPHERTEXT = 841cca2b58abd8d0b68fa2d3949bc943a105427f2deb117572de28cd0581c54a + +COUNT = 12 +KEY = 6a8f6487e76058bc5a126276e48fdd77 +IV = 6e75d8b8ac0976143ea103a710caec02 +PLAINTEXT = 424ddc343067612fdb426920f40ab4d82e3d4f9485b07fef91617556d3093874840e8110ff375b7a68f98c471ca10acc +CIPHERTEXT = c9123902ac5cfd3f0151b4e95185815ddf4ea92baadd91215007c98ab3dcbae14ca5cfcb5aafeea9939b998e3f4ec276 + +COUNT = 13 +KEY = 01963d44aea026b2205238454d5bb73f +IV = 9442a6e0f3a53f10b0ccf5b0ccc1793a +PLAINTEXT = c54cfacd953736a2d8db0b8b63b555253a0ca6f6e05f2e918d18be95669fa85609f827d6da014add2964626670c202b195248fc986372c92adbb10c0e7c36e04 +CIPHERTEXT = d6592ec2f649ea123bce88818ebbbb74d3b6b55a987ab01db21b5ef91cf8a9fff6851a6ce523d2607da048d9e0897ff672d787433cd54b6c9c25a7a5aeea1538 + +COUNT = 14 +KEY = 4ea87b0b346054c097edc5601b782870 +IV = 9a3e23333b2b2de7eceea67a7ca97641 +PLAINTEXT = 0c7734310c5ca82b520bf1e0a1614c7ddd0c002711ef0b239de8fa256e15b32056b992747ff3a3a310d52e9df36275d9192dad61caa16715744552c865c5ae9477a70a2c3a02a01ba176b927445094d2 +CIPHERTEXT = a91c4fb4f9e05adab087db1fd125b1f42dd26953bb3b3d722adb443c0a4b927ef83c62ae3ef8e1f83ef8e6b50a3b8caf7a623fa9d23685cda5851139a69c449d8b94877c3547c37e8c246738c6183b50 + +COUNT = 15 +KEY = 1956f40b2334a6546b3071f2d17f4a59 +IV = 765cfb560c46777a20cce091232ccaf2 +PLAINTEXT = 045ad66c515d407ab73ea0c6f6ae869872342fc72956a659945454005e37c76ed07df996ffe1322840cf23843b34346a1e730ab721ddceaf362ed256054c105ed581a80c04ef22ae1b5eb8742c6e3c9c0e0e29fad211b4f40adc1520f7c6821e +CIPHERTEXT = e77614bed3d8fc7a22355efc2d1401cd1386fcd6585b472a500278c56108123af13bbfffdd87bc963634f28ab8355061f23c6d943fd226360685b5fda3eee847d64154af7f48732f37c3a4f740ed73dd276dafc9a2e3a22f381a61501dd89b73 + +COUNT = 16 +KEY = 4e47e1b5c1b489295d3a2bf049f4be2d +IV = 83fdf064d213df417ba0e75ec517bf63 +PLAINTEXT = 94a7bed3b5a158e85f9e4778a7de105ff4f3b2a61c2fead82cbe949d7a4ee961a6c62949ba2c69d513d836a455b612c2fbb6ca243a0a18a853cadb6b73b600192de1d51ddf80030718b079fbb581073a06b66ba4ad524d3d09efaa59e6919bca15b2b92bd9f8c17d6e463f4ea5fd5f5e +CIPHERTEXT = 6a64fccc9e7f00bc696e09761c1a059557e02d16b6d407931b1abde227b6c42e512eeabcf5d01d7a662da46c1c87ffb7575607e1b88a755c7d469c55f7cc98d4ccf9f3fc3a29e22b7e16052cfe90c61132311853547885d7a78cbcdc1a26c05953d3f45735901d44dad6710d67712c20 + +COUNT = 17 +KEY = 613485e5bb84b91cdd0ca02f8d83e0bb +IV = ad8a7564f6ce8abb6949ddb7d7186580 +PLAINTEXT = ed5068003163c424ae9a8e51e3d77684c69073a824dc4721568f7528657c3dd28d66219f398ed57105aa35cfef3ac078eab30ae0f3ed752b0e320b099ea42b156f818904c4b6c534cabde53dfa62e7b74518a8bca3f36ee85b130e8520d38c006e6adef34bbc8df56b757b500d703e5777aa545c4170404754f03dbf22c9f0d7 +CIPHERTEXT = 63e2f4b237b0635709ed42bf7ce29a0a828fd52f157dbed5a7b78d5afb8cc780f009c7982a31eb4db2a2d30d80622fa84c430fd69c68652a2876f984a3a795d952a8ed540d6ef936ba85ce7932523e47ec6e9865ffc4f8805232039b79c5fbfbfa8c18d7b4aa655c247357b5b3b2e960e0eac46a13f52c5646c396887500b6ad + +COUNT = 18 +KEY = 8198b36e880cf50dbf6724feaaac8688 +IV = fbaa2882a2a4acdb299e4f82c93f2af7 +PLAINTEXT = b2516a356e437513f0df83938afefbe9f9ef1ec879797997f31da96a1ea7a15d395ecdb94b7fda14cdc0b75c171784fa8832d574b64f9450c6be25dc83b93d3bbf0145a661bf4db775282b98649b64613aeedb8bb770f67cc3421ac6761e5d763c21ac2d1e729e4597ad7fca9fdc70878b26634df78cd0f36fb3b138a1357915abba4ff5f8dfaef268307022f2e23528 +CIPHERTEXT = 40396cb65cc8eda8c591e671cbf92889588fe593fbe6e8e884a9d58f90df8505025cd0e268c368fc4aed1e8a5be2359a72d087775f85f6944b0cf731e8051cf80f0b9aac8073f82c01e0306077bfbf547d9074b8cf2a844d778371b0db8c7d8358596404a4047bafc3e4c9bd424860dbe3b1a54bb68f0461e8612940695b795a1e5aad72befb79ea8c5336d01758d077 + +COUNT = 19 +KEY = e30b4c874c4c4f6e0cf1f8ef58e5d375 +IV = 7e26f07f8024343cec35409e71e0cd8c +PLAINTEXT = 8ceca4dc346cfd6b15774e082db1a89497b7d85d6b5b7102e77417f7a243fafe17118b7a3bb49d1657cf61b866da395a5b3f349183a53dfa11fc0ac053bddff49dd472ee55f5e43a2f8bc785e2bc420300694919ff7bb43feb75a9cac44ece96f679e618db5d7433af12dcc7e0963ff10b45d835f9a8f42627e7f3fd5038932685965ad0e183f5955e671fc2b878dd51051eedaf85310d1e4e8f75f2decf36c7 +CIPHERTEXT = 6328ab2e9039edcd034499d13561b8866ff4f528a375365e84e1a2de9d2e58cd6b6e9cad7215d105e0653a480dbc3e69d8ba496d4333515e879b20df1bc9f77382b81db4d846fbb9e93b60b80558322c6b7e1936076295c842e262f84dff7b47e406a62c44900e6d1383199deee77215ed4c27397d4f01acdbd4d54328e538770e87d9e4900602a129f405cc1f8800ea723cdb109afffc9d04da2b1403a8d3e7 |