ok
Direktori : /opt/imunify360/venv/lib/python3.11/site-packages/Crypto/SelfTest/Cipher/ |
Current File : //opt/imunify360/venv/lib/python3.11/site-packages/Crypto/SelfTest/Cipher/test_AES.py |
# -*- coding: utf-8 -*- # # SelfTest/Cipher/AES.py: Self-test for the AES cipher # # Written in 2008 by Dwayne C. Litzenberger <dlitz@dlitz.net> # # =================================================================== # The contents of this file are dedicated to the public domain. To # the extent that dedication to the public domain is not available, # everyone is granted a worldwide, perpetual, royalty-free, # non-exclusive license to exercise all rights associated with the # contents of this file for any purpose whatsoever. # No rights are reserved. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # =================================================================== """Self-test suite for Crypto.Cipher.AES""" from __future__ import print_function import unittest from Crypto.Hash import SHA256 from Crypto.Cipher import AES from Crypto.Util.py3compat import * from binascii import hexlify # This is a list of (plaintext, ciphertext, key[, description[, params]]) tuples. test_data = [ # FIPS PUB 197 test vectors # http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf ('00112233445566778899aabbccddeeff', '69c4e0d86a7b0430d8cdb78070b4c55a', '000102030405060708090a0b0c0d0e0f', 'FIPS 197 C.1 (AES-128)'), ('00112233445566778899aabbccddeeff', 'dda97ca4864cdfe06eaf70a0ec0d7191', '000102030405060708090a0b0c0d0e0f1011121314151617', 'FIPS 197 C.2 (AES-192)'), ('00112233445566778899aabbccddeeff', '8ea2b7ca516745bfeafc49904b496089', '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f', 'FIPS 197 C.3 (AES-256)'), # Rijndael128 test vectors # Downloaded 2008-09-13 from # http://www.iaik.tugraz.at/Research/krypto/AES/old/~rijmen/rijndael/testvalues.tar.gz # ecb_tbl.txt, KEYSIZE=128 ('506812a45f08c889b97f5980038b8359', 'd8f532538289ef7d06b506a4fd5be9c9', '00010203050607080a0b0c0d0f101112', 'ecb-tbl-128: I=1'), ('5c6d71ca30de8b8b00549984d2ec7d4b', '59ab30f4d4ee6e4ff9907ef65b1fb68c', '14151617191a1b1c1e1f202123242526', 'ecb-tbl-128: I=2'), ('53f3f4c64f8616e4e7c56199f48f21f6', 'bf1ed2fcb2af3fd41443b56d85025cb1', '28292a2b2d2e2f30323334353738393a', 'ecb-tbl-128: I=3'), ('a1eb65a3487165fb0f1c27ff9959f703', '7316632d5c32233edcb0780560eae8b2', '3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-128: I=4'), ('3553ecf0b1739558b08e350a98a39bfa', '408c073e3e2538072b72625e68b8364b', '50515253555657585a5b5c5d5f606162', 'ecb-tbl-128: I=5'), ('67429969490b9711ae2b01dc497afde8', 'e1f94dfa776597beaca262f2f6366fea', '64656667696a6b6c6e6f707173747576', 'ecb-tbl-128: I=6'), ('93385c1f2aec8bed192f5a8e161dd508', 'f29e986c6a1c27d7b29ffd7ee92b75f1', '78797a7b7d7e7f80828384858788898a', 'ecb-tbl-128: I=7'), ('b5bf946be19beb8db3983b5f4c6e8ddb', '131c886a57f8c2e713aba6955e2b55b5', '8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-128: I=8'), ('41321ee10e21bd907227c4450ff42324', 'd2ab7662df9b8c740210e5eeb61c199d', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', 'ecb-tbl-128: I=9'), ('00a82f59c91c8486d12c0a80124f6089', '14c10554b2859c484cab5869bbe7c470', 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-128: I=10'), ('7ce0fd076754691b4bbd9faf8a1372fe', 'db4d498f0a49cf55445d502c1f9ab3b5', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', 'ecb-tbl-128: I=11'), ('23605a8243d07764541bc5ad355b3129', '6d96fef7d66590a77a77bb2056667f7f', 'dcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-128: I=12'), ('12a8cfa23ea764fd876232b4e842bc44', '316fb68edba736c53e78477bf913725c', 'f0f1f2f3f5f6f7f8fafbfcfdfe010002', 'ecb-tbl-128: I=13'), ('bcaf32415e8308b3723e5fdd853ccc80', '6936f2b93af8397fd3a771fc011c8c37', '04050607090a0b0c0e0f101113141516', 'ecb-tbl-128: I=14'), ('89afae685d801ad747ace91fc49adde0', 'f3f92f7a9c59179c1fcc2c2ba0b082cd', '2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-128: I=15'), ('f521d07b484357c4a69e76124a634216', '6a95ea659ee3889158e7a9152ff04ebc', '40414243454647484a4b4c4d4f505152', 'ecb-tbl-128: I=16'), ('3e23b3bc065bcc152407e23896d77783', '1959338344e945670678a5d432c90b93', '54555657595a5b5c5e5f606163646566', 'ecb-tbl-128: I=17'), ('79f0fba002be1744670e7e99290d8f52', 'e49bddd2369b83ee66e6c75a1161b394', '68696a6b6d6e6f70727374757778797a', 'ecb-tbl-128: I=18'), ('da23fe9d5bd63e1d72e3dafbe21a6c2a', 'd3388f19057ff704b70784164a74867d', '7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-128: I=19'), ('e3f5698ba90b6a022efd7db2c7e6c823', '23aa03e2d5e4cd24f3217e596480d1e1', 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-128: I=20'), ('bdc2691d4f1b73d2700679c3bcbf9c6e', 'c84113d68b666ab2a50a8bdb222e91b9', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2', 'ecb-tbl-128: I=21'), ('ba74e02093217ee1ba1b42bd5624349a', 'ac02403981cd4340b507963db65cb7b6', '08090a0b0d0e0f10121314151718191a', 'ecb-tbl-128: I=22'), ('b5c593b5851c57fbf8b3f57715e8f680', '8d1299236223359474011f6bf5088414', '6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-128: I=23'), ('3da9bd9cec072381788f9387c3bbf4ee', '5a1d6ab8605505f7977e55b9a54d9b90', '80818283858687888a8b8c8d8f909192', 'ecb-tbl-128: I=24'), ('4197f3051121702ab65d316b3c637374', '72e9c2d519cf555e4208805aabe3b258', '94959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-128: I=25'), ('9f46c62ec4f6ee3f6e8c62554bc48ab7', 'a8f3e81c4a23a39ef4d745dffe026e80', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', 'ecb-tbl-128: I=26'), ('0220673fe9e699a4ebc8e0dbeb6979c8', '546f646449d31458f9eb4ef5483aee6c', 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdce', 'ecb-tbl-128: I=27'), ('b2b99171337ded9bc8c2c23ff6f18867', '4dbe4bc84ac797c0ee4efb7f1a07401c', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', 'ecb-tbl-128: I=28'), ('a7facf4e301e984e5efeefd645b23505', '25e10bfb411bbd4d625ac8795c8ca3b3', 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-128: I=29'), ('f7c762e4a9819160fd7acfb6c4eedcdd', '315637405054ec803614e43def177579', 'f8f9fafbfdfefe00020304050708090a', 'ecb-tbl-128: I=30'), ('9b64fc21ea08709f4915436faa70f1be', '60c5bc8a1410247295c6386c59e572a8', '0c0d0e0f11121314161718191b1c1d1e', 'ecb-tbl-128: I=31'), ('52af2c3de07ee6777f55a4abfc100b3f', '01366fc8ca52dfe055d6a00a76471ba6', '20212223252627282a2b2c2d2f303132', 'ecb-tbl-128: I=32'), ('2fca001224386c57aa3f968cbe2c816f', 'ecc46595516ec612449c3f581e7d42ff', '34353637393a3b3c3e3f404143444546', 'ecb-tbl-128: I=33'), ('4149c73658a4a9c564342755ee2c132f', '6b7ffe4c602a154b06ee9c7dab5331c9', '48494a4b4d4e4f50525354555758595a', 'ecb-tbl-128: I=34'), ('af60005a00a1772f7c07a48a923c23d2', '7da234c14039a240dd02dd0fbf84eb67', '5c5d5e5f61626364666768696b6c6d6e', 'ecb-tbl-128: I=35'), ('6fccbc28363759914b6f0280afaf20c6', 'c7dc217d9e3604ffe7e91f080ecd5a3a', '70717273757677787a7b7c7d7f808182', 'ecb-tbl-128: I=36'), ('7d82a43ddf4fefa2fc5947499884d386', '37785901863f5c81260ea41e7580cda5', '84858687898a8b8c8e8f909193949596', 'ecb-tbl-128: I=37'), ('5d5a990eaab9093afe4ce254dfa49ef9', 'a07b9338e92ed105e6ad720fccce9fe4', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aa', 'ecb-tbl-128: I=38'), ('4cd1e2fd3f4434b553aae453f0ed1a02', 'ae0fb9722418cc21a7da816bbc61322c', 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-128: I=39'), ('5a2c9a9641d4299125fa1b9363104b5e', 'c826a193080ff91ffb21f71d3373c877', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', 'ecb-tbl-128: I=40'), ('b517fe34c0fa217d341740bfd4fe8dd4', '1181b11b0e494e8d8b0aa6b1d5ac2c48', 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-128: I=41'), ('014baf2278a69d331d5180103643e99a', '6743c3d1519ab4f2cd9a78ab09a511bd', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fa', 'ecb-tbl-128: I=42'), ('b529bd8164f20d0aa443d4932116841c', 'dc55c076d52bacdf2eefd952946a439d', 'fcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-128: I=43'), ('2e596dcbb2f33d4216a1176d5bd1e456', '711b17b590ffc72b5c8e342b601e8003', '10111213151617181a1b1c1d1f202122', 'ecb-tbl-128: I=44'), ('7274a1ea2b7ee2424e9a0e4673689143', '19983bb0950783a537e1339f4aa21c75', '24252627292a2b2c2e2f303133343536', 'ecb-tbl-128: I=45'), ('ae20020bd4f13e9d90140bee3b5d26af', '3ba7762e15554169c0f4fa39164c410c', '38393a3b3d3e3f40424344454748494a', 'ecb-tbl-128: I=46'), ('baac065da7ac26e855e79c8849d75a02', 'a0564c41245afca7af8aa2e0e588ea89', '4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-128: I=47'), ('7c917d8d1d45fab9e2540e28832540cc', '5e36a42a2e099f54ae85ecd92e2381ed', '60616263656667686a6b6c6d6f707172', 'ecb-tbl-128: I=48'), ('bde6f89e16daadb0e847a2a614566a91', '770036f878cd0f6ca2268172f106f2fe', '74757677797a7b7c7e7f808183848586', 'ecb-tbl-128: I=49'), ('c9de163725f1f5be44ebb1db51d07fbc', '7e4e03908b716116443ccf7c94e7c259', '88898a8b8d8e8f90929394959798999a', 'ecb-tbl-128: I=50'), ('3af57a58f0c07dffa669572b521e2b92', '482735a48c30613a242dd494c7f9185d', '9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-128: I=51'), ('3d5ebac306dde4604f1b4fbbbfcdae55', 'b4c0f6c9d4d7079addf9369fc081061d', 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', 'ecb-tbl-128: I=52'), ('c2dfa91bceb76a1183c995020ac0b556', 'd5810fe0509ac53edcd74f89962e6270', 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-128: I=53'), ('c70f54305885e9a0746d01ec56c8596b', '03f17a16b3f91848269ecdd38ebb2165', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9ea', 'ecb-tbl-128: I=54'), ('c4f81b610e98012ce000182050c0c2b2', 'da1248c3180348bad4a93b4d9856c9df', 'ecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-128: I=55'), ('eaab86b1d02a95d7404eff67489f97d4', '3d10d7b63f3452c06cdf6cce18be0c2c', '00010203050607080a0b0c0d0f101112', 'ecb-tbl-128: I=56'), ('7c55bdb40b88870b52bec3738de82886', '4ab823e7477dfddc0e6789018fcb6258', '14151617191a1b1c1e1f202123242526', 'ecb-tbl-128: I=57'), ('ba6eaa88371ff0a3bd875e3f2a975ce0', 'e6478ba56a77e70cfdaa5c843abde30e', '28292a2b2d2e2f30323334353738393a', 'ecb-tbl-128: I=58'), ('08059130c4c24bd30cf0575e4e0373dc', '1673064895fbeaf7f09c5429ff75772d', '3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-128: I=59'), ('9a8eab004ef53093dfcf96f57e7eda82', '4488033ae9f2efd0ca9383bfca1a94e9', '50515253555657585a5b5c5d5f606162', 'ecb-tbl-128: I=60'), ('0745b589e2400c25f117b1d796c28129', '978f3b8c8f9d6f46626cac3c0bcb9217', '64656667696a6b6c6e6f707173747576', 'ecb-tbl-128: I=61'), ('2f1777781216cec3f044f134b1b92bbe', 'e08c8a7e582e15e5527f1d9e2eecb236', '78797a7b7d7e7f80828384858788898a', 'ecb-tbl-128: I=62'), ('353a779ffc541b3a3805d90ce17580fc', 'cec155b76ac5ffda4cf4f9ca91e49a7a', '8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-128: I=63'), ('1a1eae4415cefcf08c4ac1c8f68bea8f', 'd5ac7165763225dd2a38cdc6862c29ad', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', 'ecb-tbl-128: I=64'), ('e6e7e4e5b0b3b2b5d4d5aaab16111013', '03680fe19f7ce7275452020be70e8204', 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-128: I=65'), ('f8f9fafbfbf8f9e677767170efe0e1e2', '461df740c9781c388e94bb861ceb54f6', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', 'ecb-tbl-128: I=66'), ('63626160a1a2a3a445444b4a75727370', '451bd60367f96483042742219786a074', 'dcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-128: I=67'), ('717073720605040b2d2c2b2a05fafbf9', 'e4dfa42671a02e57ef173b85c0ea9f2b', 'f0f1f2f3f5f6f7f8fafbfcfdfe010002', 'ecb-tbl-128: I=68'), ('78797a7beae9e8ef3736292891969794', 'ed11b89e76274282227d854700a78b9e', '04050607090a0b0c0e0f101113141516', 'ecb-tbl-128: I=69'), ('838281803231300fdddcdbdaa0afaead', '433946eaa51ea47af33895f2b90b3b75', '18191a1b1d1e1f20222324252728292a', 'ecb-tbl-128: I=70'), ('18191a1bbfbcbdba75747b7a7f78797a', '6bc6d616a5d7d0284a5910ab35022528', '2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-128: I=71'), ('848586879b989996a3a2a5a4849b9a99', 'd2a920ecfe919d354b5f49eae9719c98', '40414243454647484a4b4c4d4f505152', 'ecb-tbl-128: I=72'), ('0001020322212027cacbf4f551565754', '3a061b17f6a92885efbd0676985b373d', '54555657595a5b5c5e5f606163646566', 'ecb-tbl-128: I=73'), ('cecfcccdafacadb2515057564a454447', 'fadeec16e33ea2f4688499d157e20d8f', '68696a6b6d6e6f70727374757778797a', 'ecb-tbl-128: I=74'), ('92939091cdcecfc813121d1c80878685', '5cdefede59601aa3c3cda36fa6b1fa13', '7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-128: I=75'), ('d2d3d0d16f6c6d6259585f5ed1eeefec', '9574b00039844d92ebba7ee8719265f8', '90919293959697989a9b9c9d9fa0a1a2', 'ecb-tbl-128: I=76'), ('acadaeaf878485820f0e1110d5d2d3d0', '9a9cf33758671787e5006928188643fa', 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-128: I=77'), ('9091929364676619e6e7e0e1757a7b78', '2cddd634c846ba66bb46cbfea4a674f9', 'b8b9babbbdbebfc0c2c3c4c5c7c8c9ca', 'ecb-tbl-128: I=78'), ('babbb8b98a89888f74757a7b92959497', 'd28bae029393c3e7e26e9fafbbb4b98f', 'cccdcecfd1d2d3d4d6d7d8d9dbdcddde', 'ecb-tbl-128: I=79'), ('8d8c8f8e6e6d6c633b3a3d3ccad5d4d7', 'ec27529b1bee0a9ab6a0d73ebc82e9b7', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2', 'ecb-tbl-128: I=80'), ('86878485010203040808f7f767606162', '3cb25c09472aff6ee7e2b47ccd7ccb17', 'f4f5f6f7f9fafbfcfefe010103040506', 'ecb-tbl-128: I=81'), ('8e8f8c8d656667788a8b8c8d010e0f0c', 'dee33103a7283370d725e44ca38f8fe5', '08090a0b0d0e0f10121314151718191a', 'ecb-tbl-128: I=82'), ('c8c9cacb858687807a7b7475e7e0e1e2', '27f9bcd1aac64bffc11e7815702c1a69', '1c1d1e1f21222324262728292b2c2d2e', 'ecb-tbl-128: I=83'), ('6d6c6f6e5053525d8c8d8a8badd2d3d0', '5df534ffad4ed0749a9988e9849d0021', '30313233353637383a3b3c3d3f404142', 'ecb-tbl-128: I=84'), ('28292a2b393a3b3c0607181903040506', 'a48bee75db04fb60ca2b80f752a8421b', '44454647494a4b4c4e4f505153545556', 'ecb-tbl-128: I=85'), ('a5a4a7a6b0b3b28ddbdadddcbdb2b3b0', '024c8cf70bc86ee5ce03678cb7af45f9', '58595a5b5d5e5f60626364656768696a', 'ecb-tbl-128: I=86'), ('323330316467666130313e3f2c2b2a29', '3c19ac0f8a3a3862ce577831301e166b', '6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-128: I=87'), ('27262524080b0a05171611100b141516', 'c5e355b796a57421d59ca6be82e73bca', '80818283858687888a8b8c8d8f909192', 'ecb-tbl-128: I=88'), ('040506074142434435340b0aa3a4a5a6', 'd94033276417abfb05a69d15b6e386e2', '94959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-128: I=89'), ('242526271112130c61606766bdb2b3b0', '24b36559ea3a9b9b958fe6da3e5b8d85', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', 'ecb-tbl-128: I=90'), ('4b4a4948252627209e9f9091cec9c8cb', '20fd4feaa0e8bf0cce7861d74ef4cb72', 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdce', 'ecb-tbl-128: I=91'), ('68696a6b6665646b9f9e9998d9e6e7e4', '350e20d5174277b9ec314c501570a11d', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', 'ecb-tbl-128: I=92'), ('34353637c5c6c7c0f0f1eeef7c7b7a79', '87a29d61b7c604d238fe73045a7efd57', 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-128: I=93'), ('32333031c2c1c13f0d0c0b0a050a0b08', '2c3164c1cc7d0064816bdc0faa362c52', 'f8f9fafbfdfefe00020304050708090a', 'ecb-tbl-128: I=94'), ('cdcccfcebebdbcbbabaaa5a4181f1e1d', '195fe5e8a05a2ed594f6e4400eee10b3', '0c0d0e0f11121314161718191b1c1d1e', 'ecb-tbl-128: I=95'), ('212023223635343ba0a1a6a7445b5a59', 'e4663df19b9a21a5a284c2bd7f905025', '20212223252627282a2b2c2d2f303132', 'ecb-tbl-128: I=96'), ('0e0f0c0da8abaaad2f2e515002050407', '21b88714cfb4e2a933bd281a2c4743fd', '34353637393a3b3c3e3f404143444546', 'ecb-tbl-128: I=97'), ('070605042a2928378e8f8889bdb2b3b0', 'cbfc3980d704fd0fc54378ab84e17870', '48494a4b4d4e4f50525354555758595a', 'ecb-tbl-128: I=98'), ('cbcac9c893909196a9a8a7a6a5a2a3a0', 'bc5144baa48bdeb8b63e22e03da418ef', '5c5d5e5f61626364666768696b6c6d6e', 'ecb-tbl-128: I=99'), ('80818283c1c2c3cc9c9d9a9b0cf3f2f1', '5a1dbaef1ee2984b8395da3bdffa3ccc', '70717273757677787a7b7c7d7f808182', 'ecb-tbl-128: I=100'), ('1213101125262720fafbe4e5b1b6b7b4', 'f0b11cd0729dfcc80cec903d97159574', '84858687898a8b8c8e8f909193949596', 'ecb-tbl-128: I=101'), ('7f7e7d7c3033320d97969190222d2c2f', '9f95314acfddc6d1914b7f19a9cc8209', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aa', 'ecb-tbl-128: I=102'), ('4e4f4c4d484b4a4d81808f8e53545556', '595736f6f0f70914a94e9e007f022519', 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-128: I=103'), ('dcdddedfb0b3b2bd15141312a1bebfbc', '1f19f57892cae586fcdfb4c694deb183', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', 'ecb-tbl-128: I=104'), ('93929190282b2a2dc4c5fafb92959497', '540700ee1f6f3dab0b3eddf6caee1ef5', 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-128: I=105'), ('f5f4f7f6c4c7c6d9373631307e717073', '14a342a91019a331687a2254e6626ca2', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fa', 'ecb-tbl-128: I=106'), ('93929190b6b5b4b364656a6b05020300', '7b25f3c3b2eea18d743ef283140f29ff', 'fcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-128: I=107'), ('babbb8b90d0e0f00a4a5a2a3043b3a39', '46c2587d66e5e6fa7f7ca6411ad28047', '10111213151617181a1b1c1d1f202122', 'ecb-tbl-128: I=108'), ('d8d9dadb7f7c7d7a10110e0f787f7e7d', '09470e72229d954ed5ee73886dfeeba9', '24252627292a2b2c2e2f303133343536', 'ecb-tbl-128: I=109'), ('fefffcfdefeced923b3a3d3c6768696a', 'd77c03de92d4d0d79ef8d4824ef365eb', '38393a3b3d3e3f40424344454748494a', 'ecb-tbl-128: I=110'), ('d6d7d4d58a89888f96979899a5a2a3a0', '1d190219f290e0f1715d152d41a23593', '4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-128: I=111'), ('18191a1ba8abaaa5303136379b848586', 'a2cd332ce3a0818769616292e87f757b', '60616263656667686a6b6c6d6f707172', 'ecb-tbl-128: I=112'), ('6b6a6968a4a7a6a1d6d72829b0b7b6b5', 'd54afa6ce60fbf9341a3690e21385102', '74757677797a7b7c7e7f808183848586', 'ecb-tbl-128: I=113'), ('000102038a89889755545352a6a9a8ab', '06e5c364ded628a3f5e05e613e356f46', '88898a8b8d8e8f90929394959798999a', 'ecb-tbl-128: I=114'), ('2d2c2f2eb3b0b1b6b6b7b8b9f2f5f4f7', 'eae63c0e62556dac85d221099896355a', '9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-128: I=115'), ('979695943536373856575051e09f9e9d', '1fed060e2c6fc93ee764403a889985a2', 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', 'ecb-tbl-128: I=116'), ('a4a5a6a7989b9a9db1b0afae7a7d7c7f', 'c25235c1a30fdec1c7cb5c5737b2a588', 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-128: I=117'), ('c1c0c3c2686b6a55a8a9aeafeae5e4e7', '796dbef95147d4d30873ad8b7b92efc0', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9ea', 'ecb-tbl-128: I=118'), ('c1c0c3c2141716118c8d828364636261', 'cbcf0fb34d98d0bd5c22ce37211a46bf', 'ecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-128: I=119'), ('93929190cccfcec196979091e0fffefd', '94b44da6466126cafa7c7fd09063fc24', '00010203050607080a0b0c0d0f101112', 'ecb-tbl-128: I=120'), ('b4b5b6b7f9fafbfc25241b1a6e69686b', 'd78c5b5ebf9b4dbda6ae506c5074c8fe', '14151617191a1b1c1e1f202123242526', 'ecb-tbl-128: I=121'), ('868784850704051ac7c6c1c08788898a', '6c27444c27204b043812cf8cf95f9769', '28292a2b2d2e2f30323334353738393a', 'ecb-tbl-128: I=122'), ('f4f5f6f7aaa9a8affdfcf3f277707172', 'be94524ee5a2aa50bba8b75f4c0aebcf', '3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-128: I=123'), ('d3d2d1d00605040bc3c2c5c43e010003', 'a0aeaae91ba9f31f51aeb3588cf3a39e', '50515253555657585a5b5c5d5f606162', 'ecb-tbl-128: I=124'), ('73727170424140476a6b74750d0a0b08', '275297779c28266ef9fe4c6a13c08488', '64656667696a6b6c6e6f707173747576', 'ecb-tbl-128: I=125'), ('c2c3c0c10a0908f754555253a1aeafac', '86523d92bb8672cb01cf4a77fd725882', '78797a7b7d7e7f80828384858788898a', 'ecb-tbl-128: I=126'), ('6d6c6f6ef8fbfafd82838c8df8fffefd', '4b8327640e9f33322a04dd96fcbf9a36', '8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-128: I=127'), ('f5f4f7f684878689a6a7a0a1d2cdcccf', 'ce52af650d088ca559425223f4d32694', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2', 'ecb-tbl-128: I=128'), # ecb_tbl.txt, KEYSIZE=192 ('2d33eef2c0430a8a9ebf45e809c40bb6', 'dff4945e0336df4c1c56bc700eff837f', '00010203050607080a0b0c0d0f10111214151617191a1b1c', 'ecb-tbl-192: I=1'), ('6aa375d1fa155a61fb72353e0a5a8756', 'b6fddef4752765e347d5d2dc196d1252', '1e1f20212324252628292a2b2d2e2f30323334353738393a', 'ecb-tbl-192: I=2'), ('bc3736518b9490dcb8ed60eb26758ed4', 'd23684e3d963b3afcf1a114aca90cbd6', '3c3d3e3f41424344464748494b4c4d4e5051525355565758', 'ecb-tbl-192: I=3'), ('aa214402b46cffb9f761ec11263a311e', '3a7ac027753e2a18c2ceab9e17c11fd0', '5a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-192: I=4'), ('02aea86e572eeab66b2c3af5e9a46fd6', '8f6786bd007528ba26603c1601cdd0d8', '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394', 'ecb-tbl-192: I=5'), ('e2aef6acc33b965c4fa1f91c75ff6f36', 'd17d073b01e71502e28b47ab551168b3', '969798999b9c9d9ea0a1a2a3a5a6a7a8aaabacadafb0b1b2', 'ecb-tbl-192: I=6'), ('0659df46427162b9434865dd9499f91d', 'a469da517119fab95876f41d06d40ffa', 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6c8c9cacbcdcecfd0', 'ecb-tbl-192: I=7'), ('49a44239c748feb456f59c276a5658df', '6091aa3b695c11f5c0b6ad26d3d862ff', 'd2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-192: I=8'), ('66208f6e9d04525bdedb2733b6a6be37', '70f9e67f9f8df1294131662dc6e69364', 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c', 'ecb-tbl-192: I=9'), ('3393f8dfc729c97f5480b950bc9666b0', 'd154dcafad8b207fa5cbc95e9996b559', '0e0f10111314151618191a1b1d1e1f20222324252728292a', 'ecb-tbl-192: I=10'), ('606834c8ce063f3234cf1145325dbd71', '4934d541e8b46fa339c805a7aeb9e5da', '2c2d2e2f31323334363738393b3c3d3e4041424345464748', 'ecb-tbl-192: I=11'), ('fec1c04f529bbd17d8cecfcc4718b17f', '62564c738f3efe186e1a127a0c4d3c61', '4a4b4c4d4f50515254555657595a5b5c5e5f606163646566', 'ecb-tbl-192: I=12'), ('32df99b431ed5dc5acf8caf6dc6ce475', '07805aa043986eb23693e23bef8f3438', '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384', 'ecb-tbl-192: I=13'), ('7fdc2b746f3f665296943b83710d1f82', 'df0b4931038bade848dee3b4b85aa44b', '868788898b8c8d8e90919293959697989a9b9c9d9fa0a1a2', 'ecb-tbl-192: I=14'), ('8fba1510a3c5b87e2eaa3f7a91455ca2', '592d5fded76582e4143c65099309477c', 'a4a5a6a7a9aaabacaeafb0b1b3b4b5b6b8b9babbbdbebfc0', 'ecb-tbl-192: I=15'), ('2c9b468b1c2eed92578d41b0716b223b', 'c9b8d6545580d3dfbcdd09b954ed4e92', 'c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', 'ecb-tbl-192: I=16'), ('0a2bbf0efc6bc0034f8a03433fca1b1a', '5dccd5d6eb7c1b42acb008201df707a0', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfc', 'ecb-tbl-192: I=17'), ('25260e1f31f4104d387222e70632504b', 'a2a91682ffeb6ed1d34340946829e6f9', 'fefe01010304050608090a0b0d0e0f10121314151718191a', 'ecb-tbl-192: I=18'), ('c527d25a49f08a5228d338642ae65137', 'e45d185b797000348d9267960a68435d', '1c1d1e1f21222324262728292b2c2d2e3031323335363738', 'ecb-tbl-192: I=19'), ('3b49fc081432f5890d0e3d87e884a69e', '45e060dae5901cda8089e10d4f4c246b', '3a3b3c3d3f40414244454647494a4b4c4e4f505153545556', 'ecb-tbl-192: I=20'), ('d173f9ed1e57597e166931df2754a083', 'f6951afacc0079a369c71fdcff45df50', '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374', 'ecb-tbl-192: I=21'), ('8c2b7cafa5afe7f13562daeae1adede0', '9e95e00f351d5b3ac3d0e22e626ddad6', '767778797b7c7d7e80818283858687888a8b8c8d8f909192', 'ecb-tbl-192: I=22'), ('aaf4ec8c1a815aeb826cab741339532c', '9cb566ff26d92dad083b51fdc18c173c', '94959697999a9b9c9e9fa0a1a3a4a5a6a8a9aaabadaeafb0', 'ecb-tbl-192: I=23'), ('40be8c5d9108e663f38f1a2395279ecf', 'c9c82766176a9b228eb9a974a010b4fb', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebec', 'ecb-tbl-192: I=24'), ('0c8ad9bc32d43e04716753aa4cfbe351', 'd8e26aa02945881d5137f1c1e1386e88', '2a2b2c2d2f30313234353637393a3b3c3e3f404143444546', 'ecb-tbl-192: I=25'), ('1407b1d5f87d63357c8dc7ebbaebbfee', 'c0e024ccd68ff5ffa4d139c355a77c55', '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364', 'ecb-tbl-192: I=26'), ('e62734d1ae3378c4549e939e6f123416', '0b18b3d16f491619da338640df391d43', '84858687898a8b8c8e8f90919394959698999a9b9d9e9fa0', 'ecb-tbl-192: I=27'), ('5a752cff2a176db1a1de77f2d2cdee41', 'dbe09ac8f66027bf20cb6e434f252efc', 'a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-192: I=28'), ('a9c8c3a4eabedc80c64730ddd018cd88', '6d04e5e43c5b9cbe05feb9606b6480fe', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdc', 'ecb-tbl-192: I=29'), ('ee9b3dbbdb86180072130834d305999a', 'dd1d6553b96be526d9fee0fbd7176866', '1a1b1c1d1f20212224252627292a2b2c2e2f303133343536', 'ecb-tbl-192: I=30'), ('a7fa8c3586b8ebde7568ead6f634a879', '0260ca7e3f979fd015b0dd4690e16d2a', '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354', 'ecb-tbl-192: I=31'), ('37e0f4a87f127d45ac936fe7ad88c10a', '9893734de10edcc8a67c3b110b8b8cc6', '929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-192: I=32'), ('3f77d8b5d92bac148e4e46f697a535c5', '93b30b750516b2d18808d710c2ee84ef', '464748494b4c4d4e50515253555657585a5b5c5d5f606162', 'ecb-tbl-192: I=33'), ('d25ebb686c40f7e2c4da1014936571ca', '16f65fa47be3cb5e6dfe7c6c37016c0e', '828384858788898a8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-192: I=34'), ('4f1c769d1e5b0552c7eca84dea26a549', 'f3847210d5391e2360608e5acb560581', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbc', 'ecb-tbl-192: I=35'), ('8548e2f882d7584d0fafc54372b6633a', '8754462cd223366d0753913e6af2643d', 'bebfc0c1c3c4c5c6c8c9cacbcdcecfd0d2d3d4d5d7d8d9da', 'ecb-tbl-192: I=36'), ('87d7a336cb476f177cd2a51af2a62cdf', '1ea20617468d1b806a1fd58145462017', 'dcdddedfe1e2e3e4e6e7e8e9ebecedeef0f1f2f3f5f6f7f8', 'ecb-tbl-192: I=37'), ('03b1feac668c4e485c1065dfc22b44ee', '3b155d927355d737c6be9dda60136e2e', 'fafbfcfdfe01000204050607090a0b0c0e0f101113141516', 'ecb-tbl-192: I=38'), ('bda15e66819fa72d653a6866aa287962', '26144f7b66daa91b6333dbd3850502b3', '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334', 'ecb-tbl-192: I=39'), ('4d0c7a0d2505b80bf8b62ceb12467f0a', 'e4f9a4ab52ced8134c649bf319ebcc90', '363738393b3c3d3e40414243454647484a4b4c4d4f505152', 'ecb-tbl-192: I=40'), ('626d34c9429b37211330986466b94e5f', 'b9ddd29ac6128a6cab121e34a4c62b36', '54555657595a5b5c5e5f60616364656668696a6b6d6e6f70', 'ecb-tbl-192: I=41'), ('333c3e6bf00656b088a17e5ff0e7f60a', '6fcddad898f2ce4eff51294f5eaaf5c9', '727374757778797a7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-192: I=42'), ('687ed0cdc0d2a2bc8c466d05ef9d2891', 'c9a6fe2bf4028080bea6f7fc417bd7e3', '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabac', 'ecb-tbl-192: I=43'), ('487830e78cc56c1693e64b2a6660c7b6', '6a2026846d8609d60f298a9c0673127f', 'aeafb0b1b3b4b5b6b8b9babbbdbebfc0c2c3c4c5c7c8c9ca', 'ecb-tbl-192: I=44'), ('7a48d6b7b52b29392aa2072a32b66160', '2cb25c005e26efea44336c4c97a4240b', 'cccdcecfd1d2d3d4d6d7d8d9dbdcdddee0e1e2e3e5e6e7e8', 'ecb-tbl-192: I=45'), ('907320e64c8c5314d10f8d7a11c8618d', '496967ab8680ddd73d09a0e4c7dcc8aa', 'eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', 'ecb-tbl-192: I=46'), ('b561f2ca2d6e65a4a98341f3ed9ff533', 'd5af94de93487d1f3a8c577cb84a66a4', '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324', 'ecb-tbl-192: I=47'), ('df769380d212792d026f049e2e3e48ef', '84bdac569cae2828705f267cc8376e90', '262728292b2c2d2e30313233353637383a3b3c3d3f404142', 'ecb-tbl-192: I=48'), ('79f374bc445bdabf8fccb8843d6054c6', 'f7401dda5ad5ab712b7eb5d10c6f99b6', '44454647494a4b4c4e4f50515354555658595a5b5d5e5f60', 'ecb-tbl-192: I=49'), ('4e02f1242fa56b05c68dbae8fe44c9d6', '1c9d54318539ebd4c3b5b7e37bf119f0', '626364656768696a6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-192: I=50'), ('cf73c93cbff57ac635a6f4ad2a4a1545', 'aca572d65fb2764cffd4a6eca090ea0d', '80818283858687888a8b8c8d8f90919294959697999a9b9c', 'ecb-tbl-192: I=51'), ('9923548e2875750725b886566784c625', '36d9c627b8c2a886a10ccb36eae3dfbb', '9e9fa0a1a3a4a5a6a8a9aaabadaeafb0b2b3b4b5b7b8b9ba', 'ecb-tbl-192: I=52'), ('4888336b723a022c9545320f836a4207', '010edbf5981e143a81d646e597a4a568', 'bcbdbebfc1c2c3c4c6c7c8c9cbcccdced0d1d2d3d5d6d7d8', 'ecb-tbl-192: I=53'), ('f84d9a5561b0608b1160dee000c41ba8', '8db44d538dc20cc2f40f3067fd298e60', 'dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-192: I=54'), ('c23192a0418e30a19b45ae3e3625bf22', '930eb53bc71e6ac4b82972bdcd5aafb3', 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314', 'ecb-tbl-192: I=55'), ('b84e0690b28b0025381ad82a15e501a7', '6c42a81edcbc9517ccd89c30c95597b4', '161718191b1c1d1e20212223252627282a2b2c2d2f303132', 'ecb-tbl-192: I=56'), ('acef5e5c108876c4f06269f865b8f0b0', 'da389847ad06df19d76ee119c71e1dd3', '34353637393a3b3c3e3f40414344454648494a4b4d4e4f50', 'ecb-tbl-192: I=57'), ('0f1b3603e0f5ddea4548246153a5e064', 'e018fdae13d3118f9a5d1a647a3f0462', '525354555758595a5c5d5e5f61626364666768696b6c6d6e', 'ecb-tbl-192: I=58'), ('fbb63893450d42b58c6d88cd3c1809e3', '2aa65db36264239d3846180fabdfad20', '70717273757677787a7b7c7d7f80818284858687898a8b8c', 'ecb-tbl-192: I=59'), ('4bef736df150259dae0c91354e8a5f92', '1472163e9a4f780f1ceb44b07ecf4fdb', '8e8f90919394959698999a9b9d9e9fa0a2a3a4a5a7a8a9aa', 'ecb-tbl-192: I=60'), ('7d2d46242056ef13d3c3fc93c128f4c7', 'c8273fdc8f3a9f72e91097614b62397c', 'acadaeafb1b2b3b4b6b7b8b9bbbcbdbec0c1c2c3c5c6c7c8', 'ecb-tbl-192: I=61'), ('e9c1ba2df415657a256edb33934680fd', '66c8427dcd733aaf7b3470cb7d976e3f', 'cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-192: I=62'), ('e23ee277b0aa0a1dfb81f7527c3514f1', '146131cb17f1424d4f8da91e6f80c1d0', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304', 'ecb-tbl-192: I=63'), ('3e7445b0b63caaf75e4a911e12106b4c', '2610d0ad83659081ae085266a88770dc', '060708090b0c0d0e10111213151617181a1b1c1d1f202122', 'ecb-tbl-192: I=64'), ('767774752023222544455a5be6e1e0e3', '38a2b5a974b0575c5d733917fb0d4570', '24252627292a2b2c2e2f30313334353638393a3b3d3e3f40', 'ecb-tbl-192: I=65'), ('72737475717e7f7ce9e8ebea696a6b6c', 'e21d401ebc60de20d6c486e4f39a588b', '424344454748494a4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-192: I=66'), ('dfdedddc25262728c9c8cfcef1eeefec', 'e51d5f88c670b079c0ca1f0c2c4405a2', '60616263656667686a6b6c6d6f70717274757677797a7b7c', 'ecb-tbl-192: I=67'), ('fffe0100707776755f5e5d5c7675746b', '246a94788a642fb3d1b823c8762380c8', '7e7f80818384858688898a8b8d8e8f90929394959798999a', 'ecb-tbl-192: I=68'), ('e0e1e2e3424140479f9e9190292e2f2c', 'b80c391c5c41a4c3b30c68e0e3d7550f', '9c9d9e9fa1a2a3a4a6a7a8a9abacadaeb0b1b2b3b5b6b7b8', 'ecb-tbl-192: I=69'), ('2120272690efeeed3b3a39384e4d4c4b', 'b77c4754fc64eb9a1154a9af0bb1f21c', 'babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-192: I=70'), ('ecedeeef5350516ea1a0a7a6a3acadae', 'fb554de520d159a06bf219fc7f34a02f', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4', 'ecb-tbl-192: I=71'), ('32333c3d25222320e9e8ebeacecdccc3', 'a89fba152d76b4927beed160ddb76c57', 'f6f7f8f9fbfcfdfe00010203050607080a0b0c0d0f101112', 'ecb-tbl-192: I=72'), ('40414243626160678a8bb4b511161714', '5676eab4a98d2e8473b3f3d46424247c', '14151617191a1b1c1e1f20212324252628292a2b2d2e2f30', 'ecb-tbl-192: I=73'), ('94959293f5fafbf81f1e1d1c7c7f7e79', '4e8f068bd7ede52a639036ec86c33568', '323334353738393a3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-192: I=74'), ('bebfbcbd191a1b14cfcec9c8546b6a69', 'f0193c4d7aff1791ee4c07eb4a1824fc', '50515253555657585a5b5c5d5f60616264656667696a6b6c', 'ecb-tbl-192: I=75'), ('2c2d3233898e8f8cbbbab9b8333031ce', 'ac8686eeca9ba761afe82d67b928c33f', '6e6f70717374757678797a7b7d7e7f80828384858788898a', 'ecb-tbl-192: I=76'), ('84858687bfbcbdba37363938fdfafbf8', '5faf8573e33b145b6a369cd3606ab2c9', '8c8d8e8f91929394969798999b9c9d9ea0a1a2a3a5a6a7a8', 'ecb-tbl-192: I=77'), ('828384857669686b909192930b08090e', '31587e9944ab1c16b844ecad0df2e7da', 'aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-192: I=78'), ('bebfbcbd9695948b707176779e919093', 'd017fecd91148aba37f6f3068aa67d8a', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4', 'ecb-tbl-192: I=79'), ('8b8a85846067666521202322d0d3d2dd', '788ef2f021a73cba2794b616078a8500', 'e6e7e8e9ebecedeef0f1f2f3f5f6f7f8fafbfcfdfe010002', 'ecb-tbl-192: I=80'), ('76777475f1f2f3f4f8f9e6e777707172', '5d1ef20dced6bcbc12131ac7c54788aa', '04050607090a0b0c0e0f10111314151618191a1b1d1e1f20', 'ecb-tbl-192: I=81'), ('a4a5a2a34f404142b4b5b6b727242522', 'b3c8cf961faf9ea05fdde6d1e4d8f663', '222324252728292a2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-192: I=82'), ('94959697e1e2e3ec16171011839c9d9e', '143075c70605861c7fac6526199e459f', '40414243454647484a4b4c4d4f50515254555657595a5b5c', 'ecb-tbl-192: I=83'), ('03023d3c06010003dedfdcddfffcfde2', 'a5ae12eade9a87268d898bfc8fc0252a', '5e5f60616364656668696a6b6d6e6f70727374757778797a', 'ecb-tbl-192: I=84'), ('10111213f1f2f3f4cecfc0c1dbdcddde', '0924f7cf2e877a4819f5244a360dcea9', '7c7d7e7f81828384868788898b8c8d8e9091929395969798', 'ecb-tbl-192: I=85'), ('67666160724d4c4f1d1c1f1e73707176', '3d9e9635afcc3e291cc7ab3f27d1c99a', '9a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-192: I=86'), ('e6e7e4e5a8abaad584858283909f9e9d', '9d80feebf87510e2b8fb98bb54fd788c', 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4', 'ecb-tbl-192: I=87'), ('71707f7e565150537d7c7f7e6162636c', '5f9d1a082a1a37985f174002eca01309', 'd6d7d8d9dbdcdddee0e1e2e3e5e6e7e8eaebecedeff0f1f2', 'ecb-tbl-192: I=88'), ('64656667212223245555aaaa03040506', 'a390ebb1d1403930184a44b4876646e4', 'f4f5f6f7f9fafbfcfefe01010304050608090a0b0d0e0f10', 'ecb-tbl-192: I=89'), ('9e9f9899aba4a5a6cfcecdcc2b28292e', '700fe918981c3195bb6c4bcb46b74e29', '121314151718191a1c1d1e1f21222324262728292b2c2d2e', 'ecb-tbl-192: I=90'), ('c7c6c5c4d1d2d3dc626364653a454447', '907984406f7bf2d17fb1eb15b673d747', '30313233353637383a3b3c3d3f40414244454647494a4b4c', 'ecb-tbl-192: I=91'), ('f6f7e8e9e0e7e6e51d1c1f1e5b585966', 'c32a956dcfc875c2ac7c7cc8b8cc26e1', '4e4f50515354555658595a5b5d5e5f60626364656768696a', 'ecb-tbl-192: I=92'), ('bcbdbebf5d5e5f5868696667f4f3f2f1', '02646e2ebfa9b820cf8424e9b9b6eb51', '6c6d6e6f71727374767778797b7c7d7e8081828385868788', 'ecb-tbl-192: I=93'), ('40414647b0afaead9b9a99989b98999e', '621fda3a5bbd54c6d3c685816bd4ead8', '8a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-192: I=94'), ('69686b6a0201001f0f0e0908b4bbbab9', 'd4e216040426dfaf18b152469bc5ac2f', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4', 'ecb-tbl-192: I=95'), ('c7c6c9c8d8dfdedd5a5b5859bebdbcb3', '9d0635b9d33b6cdbd71f5d246ea17cc8', 'c6c7c8c9cbcccdced0d1d2d3d5d6d7d8dadbdcdddfe0e1e2', 'ecb-tbl-192: I=96'), ('dedfdcdd787b7a7dfffee1e0b2b5b4b7', '10abad1bd9bae5448808765583a2cc1a', 'e4e5e6e7e9eaebeceeeff0f1f3f4f5f6f8f9fafbfdfefe00', 'ecb-tbl-192: I=97'), ('4d4c4b4a606f6e6dd0d1d2d3fbf8f9fe', '6891889e16544e355ff65a793c39c9a8', '020304050708090a0c0d0e0f11121314161718191b1c1d1e', 'ecb-tbl-192: I=98'), ('b7b6b5b4d7d4d5dae5e4e3e2e1fefffc', 'cc735582e68072c163cd9ddf46b91279', '20212223252627282a2b2c2d2f30313234353637393a3b3c', 'ecb-tbl-192: I=99'), ('cecfb0b1f7f0f1f2aeafacad3e3d3c23', 'c5c68b9aeeb7f878df578efa562f9574', '3e3f40414344454648494a4b4d4e4f50525354555758595a', 'ecb-tbl-192: I=100'), ('cacbc8c9cdcecfc812131c1d494e4f4c', '5f4764395a667a47d73452955d0d2ce8', '5c5d5e5f61626364666768696b6c6d6e7071727375767778', 'ecb-tbl-192: I=101'), ('9d9c9b9ad22d2c2fb1b0b3b20c0f0e09', '701448331f66106cefddf1eb8267c357', '7a7b7c7d7f80818284858687898a8b8c8e8f909193949596', 'ecb-tbl-192: I=102'), ('7a7b787964676659959493924f404142', 'cb3ee56d2e14b4e1941666f13379d657', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4', 'ecb-tbl-192: I=103'), ('aaaba4a5cec9c8cb1f1e1d1caba8a9a6', '9fe16efd18ab6e1981191851fedb0764', 'b6b7b8b9bbbcbdbec0c1c2c3c5c6c7c8cacbcccdcfd0d1d2', 'ecb-tbl-192: I=104'), ('93929190282b2a2dc4c5fafb92959497', '3dc9ba24e1b223589b147adceb4c8e48', 'd4d5d6d7d9dadbdcdedfe0e1e3e4e5e6e8e9eaebedeeeff0', 'ecb-tbl-192: I=105'), ('efeee9e8ded1d0d339383b3a888b8a8d', '1c333032682e7d4de5e5afc05c3e483c', 'f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-192: I=106'), ('7f7e7d7ca2a1a0af78797e7f112e2f2c', 'd593cc99a95afef7e92038e05a59d00a', '10111213151617181a1b1c1d1f20212224252627292a2b2c', 'ecb-tbl-192: I=107'), ('84859a9b2b2c2d2e868784852625245b', '51e7f96f53b4353923452c222134e1ec', '2e2f30313334353638393a3b3d3e3f40424344454748494a', 'ecb-tbl-192: I=108'), ('b0b1b2b3070405026869666710171615', '4075b357a1a2b473400c3b25f32f81a4', '4c4d4e4f51525354565758595b5c5d5e6061626365666768', 'ecb-tbl-192: I=109'), ('acadaaabbda2a3a00d0c0f0e595a5b5c', '302e341a3ebcd74f0d55f61714570284', '6a6b6c6d6f70717274757677797a7b7c7e7f808183848586', 'ecb-tbl-192: I=110'), ('121310115655544b5253545569666764', '57abdd8231280da01c5042b78cf76522', '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4', 'ecb-tbl-192: I=111'), ('dedfd0d166616063eaebe8e94142434c', '17f9ea7eea17ac1adf0e190fef799e92', 'a6a7a8a9abacadaeb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2', 'ecb-tbl-192: I=112'), ('dbdad9d81417161166677879e0e7e6e5', '2e1bdd563dd87ee5c338dd6d098d0a7a', 'c4c5c6c7c9cacbcccecfd0d1d3d4d5d6d8d9dadbdddedfe0', 'ecb-tbl-192: I=113'), ('6a6b6c6de0efeeed2b2a2928c0c3c2c5', 'eb869996e6f8bfb2bfdd9e0c4504dbb2', 'e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-192: I=114'), ('b1b0b3b21714151a1a1b1c1d5649484b', 'c2e01549e9decf317468b3e018c61ba8', '00010203050607080a0b0c0d0f10111214151617191a1b1c', 'ecb-tbl-192: I=115'), ('39380706a3a4a5a6c4c5c6c77271706f', '8da875d033c01dd463b244a1770f4a22', '1e1f20212324252628292a2b2d2e2f30323334353738393a', 'ecb-tbl-192: I=116'), ('5c5d5e5f1013121539383736e2e5e4e7', '8ba0dcf3a186844f026d022f8839d696', '3c3d3e3f41424344464748494b4c4d4e5051525355565758', 'ecb-tbl-192: I=117'), ('43424544ead5d4d72e2f2c2d64676661', 'e9691ff9a6cc6970e51670a0fd5b88c1', '5a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-192: I=118'), ('55545756989b9a65f8f9feff18171615', 'f2baec06faeed30f88ee63ba081a6e5b', '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394', 'ecb-tbl-192: I=119'), ('05040b0a525554573c3d3e3f4a494847', '9c39d4c459ae5753394d6094adc21e78', '969798999b9c9d9ea0a1a2a3a5a6a7a8aaabacadafb0b1b2', 'ecb-tbl-192: I=120'), ('14151617595a5b5c8584fbfa8e89888b', '6345b532a11904502ea43ba99c6bd2b2', 'b4b5b6b7b9babbbcbebfc0c1c3c4c5c6c8c9cacbcdcecfd0', 'ecb-tbl-192: I=121'), ('7c7d7a7bfdf2f3f029282b2a51525354', '5ffae3061a95172e4070cedce1e428c8', 'd2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-192: I=122'), ('38393a3b1e1d1c1341404746c23d3c3e', '0a4566be4cdf9adce5dec865b5ab34cd', 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c', 'ecb-tbl-192: I=123'), ('8d8c939240474645818083827c7f7e41', 'ca17fcce79b7404f2559b22928f126fb', '0e0f10111314151618191a1b1d1e1f20222324252728292a', 'ecb-tbl-192: I=124'), ('3b3a39381a19181f32333c3d45424340', '97ca39b849ed73a6470a97c821d82f58', '2c2d2e2f31323334363738393b3c3d3e4041424345464748', 'ecb-tbl-192: I=125'), ('f0f1f6f738272625828380817f7c7d7a', '8198cb06bc684c6d3e9b7989428dcf7a', '4a4b4c4d4f50515254555657595a5b5c5e5f606163646566', 'ecb-tbl-192: I=126'), ('89888b8a0407061966676061141b1a19', 'f53c464c705ee0f28d9a4c59374928bd', '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384', 'ecb-tbl-192: I=127'), ('d3d2dddcaaadacaf9c9d9e9fe8ebeae5', '9adb3d4cca559bb98c3e2ed73dbf1154', '868788898b8c8d8e90919293959697989a9b9c9d9fa0a1a2', 'ecb-tbl-192: I=128'), # ecb_tbl.txt, KEYSIZE=256 ('834eadfccac7e1b30664b1aba44815ab', '1946dabf6a03a2a2c3d0b05080aed6fc', '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', 'ecb-tbl-256: I=1'), ('d9dc4dba3021b05d67c0518f72b62bf1', '5ed301d747d3cc715445ebdec62f2fb4', '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-256: I=2'), ('a291d86301a4a739f7392173aa3c604c', '6585c8f43d13a6beab6419fc5935b9d0', '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-256: I=3'), ('4264b2696498de4df79788a9f83e9390', '2a5b56a596680fcc0e05f5e0f151ecae', '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-256: I=4'), ('ee9932b3721804d5a83ef5949245b6f6', 'f5d6ff414fd2c6181494d20c37f2b8c4', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-256: I=5'), ('e6248f55c5fdcbca9cbbb01c88a2ea77', '85399c01f59fffb5204f19f8482f00b8', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-256: I=6'), ('b8358e41b9dff65fd461d55a99266247', '92097b4c88a041ddf98144bc8d22e8e7', 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', 'ecb-tbl-256: I=7'), ('f0e2d72260af58e21e015ab3a4c0d906', '89bd5b73b356ab412aef9f76cea2d65c', '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-256: I=8'), ('475b8b823ce8893db3c44a9f2a379ff7', '2536969093c55ff9454692f2fac2f530', '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', 'ecb-tbl-256: I=9'), ('688f5281945812862f5f3076cf80412f', '07fc76a872843f3f6e0081ee9396d637', '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-256: I=10'), ('08d1d2bc750af553365d35e75afaceaa', 'e38ba8ec2aa741358dcc93e8f141c491', '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-256: I=11'), ('8707121f47cc3efceca5f9a8474950a1', 'd028ee23e4a89075d0b03e868d7d3a42', 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', 'ecb-tbl-256: I=12'), ('e51aa0b135dba566939c3b6359a980c5', '8cd9423dfc459e547155c5d1d522e540', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', 'ecb-tbl-256: I=13'), ('069a007fc76a459f98baf917fedf9521', '080e9517eb1677719acf728086040ae3', '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', 'ecb-tbl-256: I=14'), ('726165c1723fbcf6c026d7d00b091027', '7c1700211a3991fc0ecded0ab3e576b0', '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', 'ecb-tbl-256: I=15'), ('d7c544de91d55cfcde1f84ca382200ce', 'dabcbcc855839251db51e224fbe87435', '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-256: I=16'), ('fed3c9a161b9b5b2bd611b41dc9da357', '68d56fad0406947a4dd27a7448c10f1d', '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-256: I=17'), ('4f634cdc6551043409f30b635832cf82', 'da9a11479844d1ffee24bbf3719a9925', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', 'ecb-tbl-256: I=18'), ('109ce98db0dfb36734d9f3394711b4e6', '5e4ba572f8d23e738da9b05ba24b8d81', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-256: I=19'), ('4ea6dfaba2d8a02ffdffa89835987242', 'a115a2065d667e3f0b883837a6e903f8', '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', 'ecb-tbl-256: I=20'), ('5ae094f54af58e6e3cdbf976dac6d9ef', '3e9e90dc33eac2437d86ad30b137e66e', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-256: I=21'), ('764d8e8e0f29926dbe5122e66354fdbe', '01ce82d8fbcdae824cb3c48e495c3692', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-256: I=22'), ('3f0418f888cdf29a982bf6b75410d6a9', '0c9cff163ce936faaf083cfd3dea3117', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-256: I=23'), ('e4a3e7cb12cdd56aa4a75197a9530220', '5131ba9bd48f2bba85560680df504b52', '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', 'ecb-tbl-256: I=24'), ('211677684aac1ec1a160f44c4ebf3f26', '9dc503bbf09823aec8a977a5ad26ccb2', '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-256: I=25'), ('d21e439ff749ac8f18d6d4b105e03895', '9a6db0c0862e506a9e397225884041d7', '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', 'ecb-tbl-256: I=26'), ('d9f6ff44646c4725bd4c0103ff5552a7', '430bf9570804185e1ab6365fc6a6860c', '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-256: I=27'), ('0b1256c2a00b976250cfc5b0c37ed382', '3525ebc02f4886e6a5a3762813e8ce8a', 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-256: I=28'), ('b056447ffc6dc4523a36cc2e972a3a79', '07fa265c763779cce224c7bad671027b', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-256: I=29'), ('5e25ca78f0de55802524d38da3fe4456', 'e8b72b4e8be243438c9fff1f0e205872', '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', 'ecb-tbl-256: I=30'), ('a5bcf4728fa5eaad8567c0dc24675f83', '109d4f999a0e11ace1f05e6b22cbcb50', '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-256: I=31'), ('814e59f97ed84646b78b2ca022e9ca43', '45a5e8d4c3ed58403ff08d68a0cc4029', '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-256: I=32'), ('15478beec58f4775c7a7f5d4395514d7', '196865964db3d417b6bd4d586bcb7634', '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-256: I=33'), ('253548ffca461c67c8cbc78cd59f4756', '60436ad45ac7d30d99195f815d98d2ae', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-256: I=34'), ('fd7ad8d73b9b0f8cc41600640f503d65', 'bb07a23f0b61014b197620c185e2cd75', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-256: I=35'), ('06199de52c6cbf8af954cd65830bcd56', '5bc0b2850129c854423aff0751fe343b', 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', 'ecb-tbl-256: I=36'), ('f17c4ffe48e44c61bd891e257e725794', '7541a78f96738e6417d2a24bd2beca40', '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-256: I=37'), ('9a5b4a402a3e8a59be6bf5cd8154f029', 'b0a303054412882e464591f1546c5b9e', '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', 'ecb-tbl-256: I=38'), ('79bd40b91a7e07dc939d441782ae6b17', '778c06d8a355eeee214fcea14b4e0eef', '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-256: I=39'), ('d8ceaaf8976e5fbe1012d8c84f323799', '09614206d15cbace63227d06db6beebb', '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-256: I=40'), ('3316e2751e2e388b083da23dd6ac3fbe', '41b97fb20e427a9fdbbb358d9262255d', 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', 'ecb-tbl-256: I=41'), ('8b7cfbe37de7dca793521819242c5816', 'c1940f703d845f957652c2d64abd7adf', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', 'ecb-tbl-256: I=42'), ('f23f033c0eebf8ec55752662fd58ce68', 'd2d44fcdae5332343366db297efcf21b', '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', 'ecb-tbl-256: I=43'), ('59eb34f6c8bdbacc5fc6ad73a59a1301', 'ea8196b79dbe167b6aa9896e287eed2b', '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', 'ecb-tbl-256: I=44'), ('dcde8b6bd5cf7cc22d9505e3ce81261a', 'd6b0b0c4ba6c7dbe5ed467a1e3f06c2d', '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-256: I=45'), ('e33cf7e524fed781e7042ff9f4b35dc7', 'ec51eb295250c22c2fb01816fb72bcae', '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-256: I=46'), ('27963c8facdf73062867d164df6d064c', 'aded6630a07ce9c7408a155d3bd0d36f', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', 'ecb-tbl-256: I=47'), ('77b1ce386b551b995f2f2a1da994eef8', '697c9245b9937f32f5d1c82319f0363a', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-256: I=48'), ('f083388b013679efcf0bb9b15d52ae5c', 'aad5ad50c6262aaec30541a1b7b5b19c', 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', 'ecb-tbl-256: I=49'), ('c5009e0dab55db0abdb636f2600290c8', '7d34b893855341ec625bd6875ac18c0d', '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', 'ecb-tbl-256: I=50'), ('7804881e26cd532d8514d3683f00f1b9', '7ef05105440f83862f5d780e88f02b41', '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', 'ecb-tbl-256: I=51'), ('46cddcd73d1eb53e675ca012870a92a3', 'c377c06403382061af2c9c93a8e70df6', '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', 'ecb-tbl-256: I=52'), ('a9fb44062bb07fe130a8e8299eacb1ab', '1dbdb3ffdc052dacc83318853abc6de5', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-256: I=53'), ('2b6ff8d7a5cc3a28a22d5a6f221af26b', '69a6eab00432517d0bf483c91c0963c7', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-256: I=54'), ('1a9527c29b8add4b0e3e656dbb2af8b4', '0797f41dc217c80446e1d514bd6ab197', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-256: I=55'), ('7f99cf2c75244df015eb4b0c1050aeae', '9dfd76575902a637c01343c58e011a03', '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', 'ecb-tbl-256: I=56'), ('e84ff85b0d9454071909c1381646c4ed', 'acf4328ae78f34b9fa9b459747cc2658', '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-256: I=57'), ('89afd40f99521280d5399b12404f6db4', 'b0479aea12bac4fe2384cf98995150c6', '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', 'ecb-tbl-256: I=58'), ('a09ef32dbc5119a35ab7fa38656f0329', '9dd52789efe3ffb99f33b3da5030109a', '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-256: I=59'), ('61773457f068c376c7829b93e696e716', 'abbb755e4621ef8f1214c19f649fb9fd', 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-256: I=60'), ('a34f0cae726cce41dd498747d891b967', 'da27fb8174357bce2bed0e7354f380f9', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-256: I=61'), ('856f59496c7388ee2d2b1a27b7697847', 'c59a0663f0993838f6e5856593bdc5ef', '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', 'ecb-tbl-256: I=62'), ('cb090c593ef7720bd95908fb93b49df4', 'ed60b264b5213e831607a99c0ce5e57e', '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-256: I=63'), ('a0ac75cd2f1923d460fc4d457ad95baf', 'e50548746846f3eb77b8c520640884ed', '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-256: I=64'), ('2a2b282974777689e8e9eeef525d5c5f', '28282cc7d21d6a2923641e52d188ef0c', '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-256: I=65'), ('909192939390919e0f0e09089788898a', '0dfa5b02abb18e5a815305216d6d4f8e', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-256: I=66'), ('777675748d8e8f907170777649464744', '7359635c0eecefe31d673395fb46fb99', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-256: I=67'), ('717073720605040b2d2c2b2a05fafbf9', '73c679f7d5aef2745c9737bb4c47fb36', 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', 'ecb-tbl-256: I=68'), ('64656667fefdfcc31b1a1d1ca5aaaba8', 'b192bd472a4d2eafb786e97458967626', '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-256: I=69'), ('dbdad9d86a696867b5b4b3b2c8d7d6d5', '0ec327f6c8a2b147598ca3fde61dc6a4', '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', 'ecb-tbl-256: I=70'), ('5c5d5e5fe3e0e1fe31303736333c3d3e', 'fc418eb3c41b859b38d4b6f646629729', '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-256: I=71'), ('545556574b48494673727574546b6a69', '30249e5ac282b1c981ea64b609f3a154', '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-256: I=72'), ('ecedeeefc6c5c4bb56575051f5fafbf8', '5e6e08646d12150776bb43c2d78a9703', 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', 'ecb-tbl-256: I=73'), ('464744452724252ac9c8cfced2cdcccf', 'faeb3d5de652cd3447dceb343f30394a', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', 'ecb-tbl-256: I=74'), ('e6e7e4e54142435c878681801c131211', 'a8e88706823f6993ef80d05c1c7b2cf0', '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', 'ecb-tbl-256: I=75'), ('72737071cfcccdc2f9f8fffe710e0f0c', '8ced86677e6e00a1a1b15968f2d3cce6', '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', 'ecb-tbl-256: I=76'), ('505152537370714ec3c2c5c4010e0f0c', '9fc7c23858be03bdebb84e90db6786a9', '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-256: I=77'), ('a8a9aaab5c5f5e51aeafa8a93d222320', 'b4fbd65b33f70d8cf7f1111ac4649c36', '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-256: I=78'), ('dedfdcddf6f5f4eb10111617fef1f0f3', 'c5c32d5ed03c4b53cc8c1bd0ef0dbbf6', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', 'ecb-tbl-256: I=79'), ('bdbcbfbe5e5d5c530b0a0d0cfac5c4c7', 'd1a7f03b773e5c212464b63709c6a891', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-256: I=80'), ('8a8b8889050606f8f4f5f2f3636c6d6e', '6b7161d8745947ac6950438ea138d028', 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', 'ecb-tbl-256: I=81'), ('a6a7a4a54d4e4f40b2b3b4b539262724', 'fd47a9f7e366ee7a09bc508b00460661', '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', 'ecb-tbl-256: I=82'), ('9c9d9e9fe9eaebf40e0f08099b949596', '00d40b003dc3a0d9310b659b98c7e416', '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', 'ecb-tbl-256: I=83'), ('2d2c2f2e1013121dcccdcacbed121310', 'eea4c79dcc8e2bda691f20ac48be0717', '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', 'ecb-tbl-256: I=84'), ('f4f5f6f7edeeefd0eaebecedf7f8f9fa', 'e78f43b11c204403e5751f89d05a2509', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-256: I=85'), ('3d3c3f3e282b2a2573727574150a0b08', 'd0f0e3d1f1244bb979931e38dd1786ef', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-256: I=86'), ('b6b7b4b5f8fbfae5b4b5b2b3a0afaead', '042e639dc4e1e4dde7b75b749ea6f765', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-256: I=87'), ('b7b6b5b4989b9a95878681809ba4a5a6', 'bc032fdd0efe29503a980a7d07ab46a8', '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', 'ecb-tbl-256: I=88'), ('a8a9aaabe5e6e798e9e8efee4748494a', '0c93ac949c0da6446effb86183b6c910', '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-256: I=89'), ('ecedeeefd9dadbd4b9b8bfbe657a7b78', 'e0d343e14da75c917b4a5cec4810d7c2', '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', 'ecb-tbl-256: I=90'), ('7f7e7d7c696a6b74cacbcccd929d9c9f', '0eafb821748408279b937b626792e619', '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-256: I=91'), ('08090a0b0605040bfffef9f8b9c6c7c4', 'fa1ac6e02d23b106a1fef18b274a553f', 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-256: I=92'), ('08090a0bf1f2f3ccfcfdfafb68676665', '0dadfe019cd12368075507df33c1a1e9', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-256: I=93'), ('cacbc8c93a393837050403020d121310', '3a0879b414465d9ffbaf86b33a63a1b9', '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', 'ecb-tbl-256: I=94'), ('e9e8ebea8281809f8f8e8988343b3a39', '62199fadc76d0be1805d3ba0b7d914bf', '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-256: I=95'), ('515053524645444bd0d1d6d7340b0a09', '1b06d6c5d333e742730130cf78e719b4', '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-256: I=96'), ('42434041ecefee1193929594c6c9c8cb', 'f1f848824c32e9dcdcbf21580f069329', '78797a7b7d7e7f80828384858788898a8c8d8e8f91929394969798999b9c9d9e', 'ecb-tbl-256: I=97'), ('efeeedecc2c1c0cf76777071455a5b58', '1a09050cbd684f784d8e965e0782f28a', 'a0a1a2a3a5a6a7a8aaabacadafb0b1b2b4b5b6b7b9babbbcbebfc0c1c3c4c5c6', 'ecb-tbl-256: I=98'), ('5f5e5d5c3f3c3d221d1c1b1a19161714', '79c2969e7ded2ba7d088f3f320692360', 'c8c9cacbcdcecfd0d2d3d4d5d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedee', 'ecb-tbl-256: I=99'), ('000102034142434c1c1d1a1b8d727371', '091a658a2f7444c16accb669450c7b63', 'f0f1f2f3f5f6f7f8fafbfcfdfe01000204050607090a0b0c0e0f101113141516', 'ecb-tbl-256: I=100'), ('8e8f8c8db1b2b38c56575051050a0b08', '97c1e3a72cca65fa977d5ed0e8a7bbfc', '18191a1b1d1e1f20222324252728292a2c2d2e2f31323334363738393b3c3d3e', 'ecb-tbl-256: I=101'), ('a7a6a5a4e8ebeae57f7e7978cad5d4d7', '70c430c6db9a17828937305a2df91a2a', '40414243454647484a4b4c4d4f50515254555657595a5b5c5e5f606163646566', 'ecb-tbl-256: I=102'), ('8a8b888994979689454443429f909192', '629553457fbe2479098571c7c903fde8', '68696a6b6d6e6f70727374757778797a7c7d7e7f81828384868788898b8c8d8e', 'ecb-tbl-256: I=103'), ('8c8d8e8fe0e3e2ed45444342f1cecfcc', 'a25b25a61f612669e7d91265c7d476ba', '90919293959697989a9b9c9d9fa0a1a2a4a5a6a7a9aaabacaeafb0b1b3b4b5b6', 'ecb-tbl-256: I=104'), ('fffefdfc4c4f4e31d8d9dedfb6b9b8bb', 'eb7e4e49b8ae0f024570dda293254fed', 'b8b9babbbdbebfc0c2c3c4c5c7c8c9cacccdcecfd1d2d3d4d6d7d8d9dbdcddde', 'ecb-tbl-256: I=105'), ('fdfcfffecccfcec12f2e29286679787b', '38fe15d61cca84516e924adce5014f67', 'e0e1e2e3e5e6e7e8eaebecedeff0f1f2f4f5f6f7f9fafbfcfefe010103040506', 'ecb-tbl-256: I=106'), ('67666564bab9b8a77071767719161714', '3ad208492249108c9f3ebeb167ad0583', '08090a0b0d0e0f10121314151718191a1c1d1e1f21222324262728292b2c2d2e', 'ecb-tbl-256: I=107'), ('9a9b98992d2e2f2084858283245b5a59', '299ba9f9bf5ab05c3580fc26edd1ed12', '30313233353637383a3b3c3d3f40414244454647494a4b4c4e4f505153545556', 'ecb-tbl-256: I=108'), ('a4a5a6a70b0809365c5d5a5b2c232221', '19dc705b857a60fb07717b2ea5717781', '58595a5b5d5e5f60626364656768696a6c6d6e6f71727374767778797b7c7d7e', 'ecb-tbl-256: I=109'), ('464744455754555af3f2f5f4afb0b1b2', 'ffc8aeb885b5efcad06b6dbebf92e76b', '80818283858687888a8b8c8d8f90919294959697999a9b9c9e9fa0a1a3a4a5a6', 'ecb-tbl-256: I=110'), ('323330317675746b7273747549464744', 'f58900c5e0b385253ff2546250a0142b', 'a8a9aaabadaeafb0b2b3b4b5b7b8b9babcbdbebfc1c2c3c4c6c7c8c9cbcccdce', 'ecb-tbl-256: I=111'), ('a8a9aaab181b1a15808186872b141516', '2ee67b56280bc462429cee6e3370cbc1', 'd0d1d2d3d5d6d7d8dadbdcdddfe0e1e2e4e5e6e7e9eaebeceeeff0f1f3f4f5f6', 'ecb-tbl-256: I=112'), ('e7e6e5e4202323ddaaabacad343b3a39', '20db650a9c8e9a84ab4d25f7edc8f03f', 'f8f9fafbfdfefe00020304050708090a0c0d0e0f11121314161718191b1c1d1e', 'ecb-tbl-256: I=113'), ('a8a9aaab2221202fedecebea1e010003', '3c36da169525cf818843805f25b78ae5', '20212223252627282a2b2c2d2f30313234353637393a3b3c3e3f404143444546', 'ecb-tbl-256: I=114'), ('f9f8fbfa5f5c5d42424344450e010003', '9a781d960db9e45e37779042fea51922', '48494a4b4d4e4f50525354555758595a5c5d5e5f61626364666768696b6c6d6e', 'ecb-tbl-256: I=115'), ('57565554f5f6f7f89697909120dfdedd', '6560395ec269c672a3c288226efdba77', '70717273757677787a7b7c7d7f80818284858687898a8b8c8e8f909193949596', 'ecb-tbl-256: I=116'), ('f8f9fafbcccfcef1dddcdbda0e010003', '8c772b7a189ac544453d5916ebb27b9a', '98999a9b9d9e9fa0a2a3a4a5a7a8a9aaacadaeafb1b2b3b4b6b7b8b9bbbcbdbe', 'ecb-tbl-256: I=117'), ('d9d8dbda7073727d80818687c2dddcdf', '77ca5468cc48e843d05f78eed9d6578f', 'c0c1c2c3c5c6c7c8cacbcccdcfd0d1d2d4d5d6d7d9dadbdcdedfe0e1e3e4e5e6', 'ecb-tbl-256: I=118'), ('c5c4c7c6080b0a1588898e8f68676665', '72cdcc71dc82c60d4429c9e2d8195baa', 'e8e9eaebedeeeff0f2f3f4f5f7f8f9fafcfdfeff01020304060708090b0c0d0e', 'ecb-tbl-256: I=119'), ('83828180dcdfded186878081f0cfcecd', '8080d68ce60e94b40b5b8b69eeb35afa', '10111213151617181a1b1c1d1f20212224252627292a2b2c2e2f303133343536', 'ecb-tbl-256: I=120'), ('98999a9bdddedfa079787f7e0a050407', '44222d3cde299c04369d58ac0eba1e8e', '38393a3b3d3e3f40424344454748494a4c4d4e4f51525354565758595b5c5d5e', 'ecb-tbl-256: I=121'), ('cecfcccd4f4c4d429f9e9998dfc0c1c2', '9b8721b0a8dfc691c5bc5885dbfcb27a', '60616263656667686a6b6c6d6f70717274757677797a7b7c7e7f808183848586', 'ecb-tbl-256: I=122'), ('404142436665647b29282f2eaba4a5a6', '0dc015ce9a3a3414b5e62ec643384183', '88898a8b8d8e8f90929394959798999a9c9d9e9fa1a2a3a4a6a7a8a9abacadae', 'ecb-tbl-256: I=123'), ('33323130e6e5e4eb23222524dea1a0a3', '705715448a8da412025ce38345c2a148', 'b0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c4c5c6c7c9cacbcccecfd0d1d3d4d5d6', 'ecb-tbl-256: I=124'), ('cfcecdccf6f5f4cbe6e7e0e199969794', 'c32b5b0b6fbae165266c569f4b6ecf0b', 'd8d9dadbdddedfe0e2e3e4e5e7e8e9eaecedeeeff1f2f3f4f6f7f8f9fbfcfdfe', 'ecb-tbl-256: I=125'), ('babbb8b97271707fdcdddadb29363734', '4dca6c75192a01ddca9476af2a521e87', '00010203050607080a0b0c0d0f10111214151617191a1b1c1e1f202123242526', 'ecb-tbl-256: I=126'), ('c9c8cbca4447465926272021545b5a59', '058691e627ecbc36ac07b6db423bd698', '28292a2b2d2e2f30323334353738393a3c3d3e3f41424344464748494b4c4d4e', 'ecb-tbl-256: I=127'), ('050407067477767956575051221d1c1f', '7444527095838fe080fc2bcdd30847eb', '50515253555657585a5b5c5d5f60616264656667696a6b6c6e6f707173747576', 'ecb-tbl-256: I=128'), # FIPS PUB 800-38A test vectors, 2001 edition. Annex F. ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', '3ad77bb40d7a3660a89ecaf32466ef97'+'f5d3d58503b9699de785895a96fdbaaf'+ '43b1cd7f598ece23881b00e3ed030688'+'7b0c785e27e8ad3f8223207104725dd4', '2b7e151628aed2a6abf7158809cf4f3c', 'NIST 800-38A, F.1.1, ECB and AES-128'), ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', 'bd334f1d6e45f25ff712a214571fa5cc'+'974104846d0ad3ad7734ecb3ecee4eef'+ 'ef7afd2270e2e60adce0ba2face6444e'+'9a4b41ba738d6c72fb16691603c18e0e', '8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b', 'NIST 800-38A, F.1.3, ECB and AES-192'), ('6bc1bee22e409f96e93d7e117393172a'+'ae2d8a571e03ac9c9eb76fac45af8e51'+ '30c81c46a35ce411e5fbc1191a0a52ef'+'f69f2445df4f9b17ad2b417be66c3710', 'f3eed1bdb5d2a03c064b5a7e3db181f8'+'591ccb10d410ed26dc5ba74a31362870'+ 'b6ed21b99ca6f4f9f153e7b1beafed1d'+'23304b7a39f9f3ff067d8d8f9e24ecc7', '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4', 'NIST 800-38A, F.1.3, ECB and AES-256'), ] test_data_8_lanes = [] for td in test_data: test_data_8_lanes.append((td[0] * 8, td[1] * 8, td[2], td[3])) test_data += test_data_8_lanes class TestMultipleBlocks(unittest.TestCase): def __init__(self, use_aesni): unittest.TestCase.__init__(self) self.use_aesni = use_aesni def runTest(self): # Encrypt data which is 8*2+4 bytes long, so as to trigger (for the # AESNI variant) both the path that parallelizes 8 lanes and the one # that processes data serially tvs = [ (b'a' * 16, 'c0b27011eb15bf144d2fc9fae80ea16d4c231cb230416c5fac02e6835ad9d7d0'), (b'a' * 24, 'df8435ce361a78c535b41dcb57da952abbf9ee5954dc6fbcd75fd00fa626915d'), (b'a' * 32, '211402de6c80db1f92ba255881178e1f70783b8cfd3b37808205e48b80486cd8') ] for key, expected in tvs: cipher = AES.new(key, AES.MODE_ECB, use_aesni=self.use_aesni) h = SHA256.new() pt = b"".join([ tobytes('{0:016x}'.format(x)) for x in range(20) ]) ct = cipher.encrypt(pt) self.assertEqual(SHA256.new(ct).hexdigest(), expected) class TestIncompleteBlocks(unittest.TestCase): def __init__(self, use_aesni): unittest.TestCase.__init__(self) self.use_aesni = use_aesni def runTest(self): # Encrypt data with length not multiple of 16 bytes cipher = AES.new(b'4'*16, AES.MODE_ECB, use_aesni=self.use_aesni) for msg_len in range(1, 16): self.assertRaises(ValueError, cipher.encrypt, b'1' * msg_len) self.assertRaises(ValueError, cipher.encrypt, b'1' * (msg_len+16)) self.assertRaises(ValueError, cipher.decrypt, b'1' * msg_len) self.assertRaises(ValueError, cipher.decrypt, b'1' * (msg_len+16)) self.assertEqual(cipher.encrypt(b''), b'') self.assertEqual(cipher.decrypt(b''), b'') class TestOutput(unittest.TestCase): def __init__(self, use_aesni): unittest.TestCase.__init__(self) self.use_aesni = use_aesni def runTest(self): # Encrypt/Decrypt data and test output parameter cipher = AES.new(b'4'*16, AES.MODE_ECB, use_aesni=self.use_aesni) pt = b'5' * 16 ct = cipher.encrypt(pt) output = bytearray(16) res = cipher.encrypt(pt, output=output) self.assertEqual(ct, output) self.assertEqual(res, None) res = cipher.decrypt(ct, output=output) self.assertEqual(pt, output) self.assertEqual(res, None) output = memoryview(bytearray(16)) cipher.encrypt(pt, output=output) self.assertEqual(ct, output) cipher.decrypt(ct, output=output) self.assertEqual(pt, output) self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) shorter_output = bytearray(15) self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output) def get_tests(config={}): from Crypto.Util import _cpu_features from .common import make_block_tests tests = make_block_tests(AES, "AES", test_data, {'use_aesni': False}) tests += [ TestMultipleBlocks(False) ] tests += [ TestIncompleteBlocks(False) ] if _cpu_features.have_aes_ni(): # Run tests with AES-NI instructions if they are available. tests += make_block_tests(AES, "AESNI", test_data, {'use_aesni': True}) tests += [ TestMultipleBlocks(True) ] tests += [ TestIncompleteBlocks(True) ] tests += [ TestOutput(True) ] else: print("Skipping AESNI tests") return tests if __name__ == '__main__': import unittest suite = lambda: unittest.TestSuite(get_tests()) unittest.main(defaultTest='suite') # vim:set ts=4 sw=4 sts=4 expandtab: