Current File : //opt/imunify360/venv/lib64/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: