diff --git a/README.md b/README.md index 62be214..036c8c2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **A minimalist ANSI-C compatible API for the AES encryption and block cipher modes**. -[![here](https://img.shields.io/badge/%C2%B5AES-white.png?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFGklEQVR42r1XA5RjSxD9Wtu2bWX2e23btm3btm17Nxpmx8zYiK3XLzO/6vz0nuxb7yQ759xJ0l1V93Z1tX762r+cnJyCFoulJnxWART5Cvu8n+n+atLShJBlgCCi1WrtsbEpbHx8CnzXQZsUsAtEVef6sSzb12w1m6FfAXgIv/tgO8MwF+C3HuAL2Avxy3ySHIynEr1eyW7dKrB37ChlW7fOBuRQ2D084sjcuXwik8mA4AAEy099IbhXlVlV/POMzqPusb2HAAltNlsjaZo0Fdp0xSYVi3wc+DgEOCZ9bNS/QMc5wucHs+3apSLZZ9GmjZ5cveoDJBLwLQm+zcOTwxN/G/VbNiBnzvk5KGAFiDzRbWs3AbYBbCmKlEywr8zlx/QdJvfvSyA4gwRfiWx240Yk8gEB5ztt7kSJTHKdXA6jb6A1apUweg22N17S2AtsH3yMfCATEhIDAU1cEjuPF0tGjhSSceP49n/+CYE2O8fGjsJ1Zp2JErVZ1UYEgq4B5q25uUaEbQhMPwjo9kHqoTGcdOoU+F7gtm0zyNOnflh0IPAQFh6OlISERENtRL1n2727ZO2NtWJKJIwQRoHtn4AonHdsKzKhSDTEiUW+9wSgIfH2DuPMr46Ni0uCvgVcB6x0VqPJYni8eGpP9u8XlZteLgiJik4oiuRhaPcs+FkYFbXo0iIhtC/CGFwBe8iMGQJnATiv2P6ZlTKdvHz5LmMmiV84kLBIVGF6hUDozzKajRn4nQp44P8A0/8CBpSHK+CJvVOnIOfCIqmpGWBY6TP7xG/Eas2A1ZKFPno/LxyplZLlH5s/Jf+Y/Jn0NwLqQ2+wGPTgW4wrQGz/448op/RroS3zI7xcv5dQlMHoQ+bP548/Oh5XgJ0S4pRg0RUcVzABfzdf1lwMPne4IykGjTFY6c7zD20qwLYvIAKLj64Ext8/qvKMyv604KA/C7DLxtiU/HB+ZKIsEX//4UxeGBqi2ePHxbipOE0Bw/bv7/01AD+5Q7QxPjYkDsgJClhxbYUIC5hOF9RES/jN4xbSHPbECTEGyDXGjRMO3DuQ75hrncagUQBxiS/N4Wpa/bmFOdA/Kt/ofFko4M+NfwphCZ5Gjh8igPz9d/DeJ3u9kRyQHZAQEA/ZbfXjBJw/74UVT/cAPAExvisFMOzAgV7s8OHcYsXtWuEv9Y6iJ+CBpwd8IP1jXSqAPH7sj2se0nqdjYjA5Wp51zdvHt9jnYfQsflkmS1mPGoLuE5Au3YpMKI4CPqrw+cZ6dFDQjcsVWxEfJ5ReQwoYPC+wXzo34l2LhMAJCpiMOC2XN7h85bufriEeWt5QiQHkISshAyr1VrLtQIAZM0aPJg2OE7ChJTU2DTy4IHEpFKo6dYL6U+HKUqksV1bhKtWYWqXQxYKAYkJDxrcanc92uWF5Ihpp6bxoe+yWwSQmzd9YeQD8HbjG+sb3XJFSzGS0ttPwfEF4+HqlQoCy7pFgF0qjYe5rYPnBpIhqRPo5XM5xnSHAAuc+wxeQOC+z+ClkiPAqNAp5Dh69wiAjQangGRmKrpv7y4oMblEhLOAdqvb4eXzEsZziwAKMnq06Ib3Nf+qs6u+LTu1bDAV4CX1wnPfw+0CEHgTZqOjEyvP+v/SUWZKGbzjBX/3+w8rm0gkEfQt8DUgly550zo4zT8twWfc9/LTLOxjMzOziL9/5NeAzcjAa5UyWZEsg88AfBe64iVcAp/fX4ka+E4AlAH8lhve/wC9phuOb7e8lwAAAABJRU5ErkJggg==)](../../ "µAES") ![C](https://img.shields.io/badge/langauge-C-blue.svg) [![version](https://img.shields.io/badge/version-1.8.0-blue)](../../files/12339506/micro_aes-v1.8.0.zip "micro_aes-v1.8.0.zip") [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![this](https://img.shields.io/badge/%C2%B5AES-white.png?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFGklEQVR42r1XA5RjSxD9Wtu2bWX2e23btm3btm17Nxpmx8zYiK3XLzO/6vz0nuxb7yQ759xJ0l1V93Z1tX762r+cnJyCFoulJnxWART5Cvu8n+n+atLShJBlgCCi1WrtsbEpbHx8CnzXQZsUsAtEVef6sSzb12w1m6FfAXgIv/tgO8MwF+C3HuAL2Avxy3ySHIynEr1eyW7dKrB37ChlW7fOBuRQ2D084sjcuXwik8mA4AAEy099IbhXlVlV/POMzqPusb2HAAltNlsjaZo0Fdp0xSYVi3wc+DgEOCZ9bNS/QMc5wucHs+3apSLZZ9GmjZ5cveoDJBLwLQm+zcOTwxN/G/VbNiBnzvk5KGAFiDzRbWs3AbYBbCmKlEywr8zlx/QdJvfvSyA4gwRfiWx240Yk8gEB5ztt7kSJTHKdXA6jb6A1apUweg22N17S2AtsH3yMfCATEhIDAU1cEjuPF0tGjhSSceP49n/+CYE2O8fGjsJ1Zp2JErVZ1UYEgq4B5q25uUaEbQhMPwjo9kHqoTGcdOoU+F7gtm0zyNOnflh0IPAQFh6OlISERENtRL1n2727ZO2NtWJKJIwQRoHtn4AonHdsKzKhSDTEiUW+9wSgIfH2DuPMr46Ni0uCvgVcB6x0VqPJYni8eGpP9u8XlZteLgiJik4oiuRhaPcs+FkYFbXo0iIhtC/CGFwBe8iMGQJnATiv2P6ZlTKdvHz5LmMmiV84kLBIVGF6hUDozzKajRn4nQp44P8A0/8CBpSHK+CJvVOnIOfCIqmpGWBY6TP7xG/Eas2A1ZKFPno/LxyplZLlH5s/Jf+Y/Jn0NwLqQ2+wGPTgW4wrQGz/448op/RroS3zI7xcv5dQlMHoQ+bP548/Oh5XgJ0S4pRg0RUcVzABfzdf1lwMPne4IykGjTFY6c7zD20qwLYvIAKLj64Ext8/qvKMyv604KA/C7DLxtiU/HB+ZKIsEX//4UxeGBqi2ePHxbipOE0Bw/bv7/01AD+5Q7QxPjYkDsgJClhxbYUIC5hOF9RES/jN4xbSHPbECTEGyDXGjRMO3DuQ75hrncagUQBxiS/N4Wpa/bmFOdA/Kt/ofFko4M+NfwphCZ5Gjh8igPz9d/DeJ3u9kRyQHZAQEA/ZbfXjBJw/74UVT/cAPAExvisFMOzAgV7s8OHcYsXtWuEv9Y6iJ+CBpwd8IP1jXSqAPH7sj2se0nqdjYjA5Wp51zdvHt9jnYfQsflkmS1mPGoLuE5Au3YpMKI4CPqrw+cZ6dFDQjcsVWxEfJ5ReQwoYPC+wXzo34l2LhMAJCpiMOC2XN7h85bufriEeWt5QiQHkISshAyr1VrLtQIAZM0aPJg2OE7ChJTU2DTy4IHEpFKo6dYL6U+HKUqksV1bhKtWYWqXQxYKAYkJDxrcanc92uWF5Ihpp6bxoe+yWwSQmzd9YeQD8HbjG+sb3XJFSzGS0ttPwfEF4+HqlQoCy7pFgF0qjYe5rYPnBpIhqRPo5XM5xnSHAAuc+wxeQOC+z+ClkiPAqNAp5Dh69wiAjQangGRmKrpv7y4oMblEhLOAdqvb4eXzEsZziwAKMnq06Ib3Nf+qs6u+LTu1bDAV4CX1wnPfw+0CEHgTZqOjEyvP+v/SUWZKGbzjBX/3+w8rm0gkEfQt8DUgly550zo4zT8twWfc9/LTLOxjMzOziL9/5NeAzcjAa5UyWZEsg88AfBe64iVcAp/fX4ka+E4AlAH8lhve/wC9phuOb7e8lwAAAABJRU5ErkJggg==)](../../ "µAES") ![C](https://img.shields.io/badge/langauge-C-blue.svg) [![version](https://img.shields.io/badge/version-1.9.3-blue)](../../../../user-attachments/files/18098067/micro_aes-v1.9.3.zip "µAES-v1.9.3.zip") [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) This is a highly flexible, small and portable implementation of most of the AES related algorithms. @@ -10,17 +10,32 @@ This is a highly flexible, small and portable implementation of most of the AES * Comprehensive — supports all standard AES key sizes (128, 192 and 256 bits) along with almost every block-cipher mode. - All popular (and some unpopular) block ciphering modes of the AES are implemented in this library, such as [**_ECB_**, **_CBC_**, **_CFB_**, **_OFB_**, **_CTR_**](https://csrc.nist.gov/publications/detail/sp/800-38a/final "Described in NIST SP 800-38A"), [**_GCM_**](https://csrc.nist.gov/publications/detail/sp/800-38d/final "NIST SP 800-38D"), [**_CCM_**](https://csrc.nist.gov/publications/detail/sp/800-38c/final "NIST SP 800-38C"), [**_XTS_**](https://csrc.nist.gov/publications/detail/sp/800-38e/final "NIST SP 800-38E"), [**_KW_**](https://csrc.nist.gov/publications/detail/sp/800-38f/final "NIST SP 800-38F") [(_KWA_)](https://www.rfc-editor.org/rfc/rfc3394 "RFC-3394"), [**_OCB_**](https://www.rfc-editor.org/rfc/rfc7253.html "RFC-7253"), [**_EAX_**](../../files/10318260/eax.pdf "Bellare-Rogaway-Wagner paper. For more info, see wikipedia.") / [**_EAX'_**](../../files/10318265/eax-prime.pdf "It is theoretically broken and shouldn't be used. The ANSI C12.22 has not withdrawn it yet, so here we go."), [**_SIV_**](../../files/10318348/siv.pdf "You may also refer to the RFC-5297"), [**_GCM-SIV_**](https://www.rfc-editor.org/rfc/rfc8452.html "RFC-8452"), [**_FPE_** (**_FF1_** / **_FF3-1_**)](https://csrc.nist.gov/publications/detail/sp/800-38g/final "NIST SP 800-38G"), and furthermore, authentication APIs for [**_CMAC_**](https://csrc.nist.gov/publications/detail/sp/800-38b/final "NIST SP 800-38B") and [**_Poly1305-AES_**](../../files/10319003/poly1305.pdf "From D. J. Bernstein's website: cr.yp.to/mac.html"). + All popular (and some unpopular) block ciphering modes of the AES are implemented in this library, such as +[**_ECB_**, **_CBC_**, **_CFB_**, **_OFB_**, **_CTR_**](https://csrc.nist.gov/publications/detail/sp/800-38a/final "Described in NIST SP 800-38A"), +[**_GCM_**](https://csrc.nist.gov/publications/detail/sp/800-38d/final "NIST SP 800-38D"), +[**_CCM_**](https://csrc.nist.gov/publications/detail/sp/800-38c/final "NIST SP 800-38C"), +[**_XTS_**](https://csrc.nist.gov/publications/detail/sp/800-38e/final "NIST SP 800-38E"), +[**_KW_**](https://csrc.nist.gov/publications/detail/sp/800-38f/final "NIST SP 800-38F") +[(_KWA_)](https://www.rfc-editor.org/rfc/rfc3394 "RFC-3394"), +[**_OCB_**](https://www.rfc-editor.org/rfc/rfc7253.html "RFC-7253"), +[**_EAX_**](../../files/10318260/eax.pdf "Bellare-Rogaway-Wagner paper. For more info, see wikipedia.") +/[**_EAX'_**](../../files/10318265/eax-prime.pdf "Theoretically broken, but ANSI C12.22 has not withdrawn it yet. so here we go..."), +[**_SIV_**](../../files/10318348/siv.pdf "Also described in the RFC-5297"), +[**_GCM-SIV_**](https://www.rfc-editor.org/rfc/rfc8452.html "RFC-8452"), +[**_FPE_** (**_FF1_** /**_FF3-1_**)](https://csrc.nist.gov/publications/detail/sp/800-38g/final "NIST SP 800-38G"), +and furthermore, authentication APIs for +[**_CMAC_**](https://csrc.nist.gov/publications/detail/sp/800-38b/final "NIST SP 800-38B") and +[**_Poly1305-AES_**](../../files/10319003/poly1305.pdf "D. J. Bernstein's website: cr.yp.to/mac.html"). * All in one — the whole implementation code is in a single C file with no external dependencies. * Clear and readable code — written in a layman-friendly way with lots of comments to clarify its purpose. Also the code styling is a bit different, and IMHO more eye-catching, than what you might see in other implementations. -* Flexible — most features are controllable by macros, so that you can just pick up what you need and disable the unnecessary parts. These macros are defined in [the header file](micro_aes.h) and comments are added for each of them to explain what they represent. *Please read those comments carefully before using the code*. +* Flexible — most features are controllable by macros, so that you can just pick up what you need and disable the unnecessary parts. These [macros](micro_aes.h#L546) are defined in the header file and comments are added for each of them to explain what they represent. *Please read [those comments](micro_aes.h#L483) carefully before using the code*. * Lightweight — the API has very little memory footprint and compiled code size. The amount of RAM used by the functions doesn't exceed a few hundred bytes in most extreme cases. Moreover, the ROM space of µAES is optimized as much as possible. - For example if you disable all other macros and just stick with the GCM, the compiled code size with `gcc -Os` will be less than **3KB** for either _AES-128-GCM_ or _AES-256-GCM_. You can verify this by running: + For example if you disable all other macros and just stick with the GCM, the compiled code size with `gcc -Os` will be less than **2.5KB** for either _AES-128-GCM_ or _AES-256-GCM_. This can be verified by running: ``` $ arm-none-eabi-gcc -Os -c micro_aes.c -o arm.o $ avr-gcc -mmcu=atmega16 -Os -c micro_aes.c -o avr.o @@ -28,12 +43,12 @@ This is a highly flexible, small and portable implementation of most of the AES and checking the results with `size` command. See [this page](https://stackoverflow.com/q/31217181/5358284) for more info. ``` $ size arm.o - text data bss dec hex filename - 2092 0 176 2268 8dc arm.o + text data bss dec hex filename + 2112 0 176 2288 8f0 arm.o $ avr-size avr.o - text data bss dec hex filename - 2246 0 176 2422 976 avr.o + text data bss dec hex filename + 2242 0 176 2418 972 avr.o ``` * Portable — µAES is fully compliant with the ANSI-C or C89 standard which, combined with its small size and independence from external libraries, makes it a competent candidate for embedded systems and mini applications. @@ -49,18 +64,21 @@ This is a highly flexible, small and portable implementation of most of the AES For 32-bit CPUs a few tweaks are discussed in [x86 improvements](x86-improvements). It's worth noting that speed is not always a blessing in cryptography and sometimes slower codes turn out to be more secure. One must be wary of those speedups that make the code more susceptible to [timing attacks](https://en.wikipedia.org/wiki/Timing_attack). ## Examples -See the [main C](main.c) file which has some example codes demonstrating how to use the API functions, along with test vectors. Also check out the [/testvectors](testvectors/README.md) directory. +See the [main C](main.c) file which has some example codes demonstrating how to use the API functions, along with test vectors. +Also check out the [/testvectors](testvectors/README.md) directory. ## Remarks * First, please keep in mind that most security experts strongly warn *against* implementing your own version of AES—or other ciphering algorithms; AND THEY ARE ABSOLUTELY RIGHT! - Everyone who is becoming familiar with cryptography, should first sign [Jeff Moser's](https://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html "A stick figure guide to AES") so-called "Foot Shooting Prevention Agreement". To save you a click and scroll, I have put a copy of it below (but please follow the link and read that article if you haven't). + Everyone who is becoming familiar with cryptography, should first sign [Jeff Moser's](https://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html "A stick figure guide to AES") so-called "Foot Shooting Prevention Agreement". It's a great article if you haven't read it yet. But to save you a click and scroll, I put a copy of the contract below. - With that in mind, I shall say that the main purpose of developing µAES was purely educational. I learned a lot during writing these codes and I hope that somebody, some day, would gain a bit of knowledge from it. + With that in mind, I shall say that the main purpose of developing µAES was purely educational. I learned a lot during writing these codes and hope that somebody, some day, would gain a bit of knowledge from it. * The code is optimized for small embedded systems and 8-bit microcontrollers with limited amount of memory. So for stronger CPUs it is plausible to speed-up the code [by applying some simple changes](x86-improvements). If you are working with an 8-bit microcontroller, it is recommended to take a look at Nigel Jones' rather old article "[Efficient C Code for 8-bit Microcontrollers](https://barrgroup.com/embedded-systems/how-to/efficient-c-code)". It contains some highly useful tips to better program such systems. +* There are some standard encryption algorithms specifically designed for small embedded systems, that minimize the use of computational resources while maintaining a high level of security. The most prominent one is the ASCON cipher suite which recently got [approved by the NIST](https://csrc.nist.gov/Projects/lightweight-cryptography/finalists). **_I have created [another repository](../../../simple-ASCON "Simple ASCON") to implement those algorithms as well_**. + * For the sake of simplicity, it is often assumed that the input parameters of the functions are well defined, and the user knows what they're doing. As a result, a bunch of error checks are just skipped. Obviously, this is a naive and sometimes dangerous assumption. One must be aware that in a serious application, anything can be fed into the functions and they must take all the necessary precautions for erroneous parameters. * µAES was originally influenced by [kokke's tiny-AES](https://github.com/kokke/tiny-AES-c) library, but I have made a handful of modifications to make it smaller and more efficient. diff --git a/main.c b/main.c index ac88bc3..7e60830 100644 --- a/main.c +++ b/main.c @@ -13,33 +13,31 @@ #include static const char + *plainText = "c9f775baafa36c25 cd610d3c75a482ea dda97ca4864cdfe0 6eaf70a0ec0d7191" + "d55027cf8f900214 e634412583ff0b47 8EA2B7CA516745BF EA", + *iVec = "8EA2B7CA516745BF EAfc49904b496089", + *cipherKey = "279fb74a7572135e 8f9b8ef6d1eee003 69c4e0d86a7b0430 d8cdb78070b4c55a", *secretKey = "0001020304050607 08090A0B0C0D0E0F 1011121314151617 18191A1B1C1D1E1F", *secondKey = "0011223344556677 8899AABBCCDDEEFF 0001020304050607 08090A0B0C0D0E0F", - *cipherKey = "279fb74a7572135e 8f9b8ef6d1eee003 69c4e0d86a7b0430 d8cdb78070b4c55a", - *plainText = "c9f775baafa36c25 cd610d3c75a482ea dda97ca4864cdfe0 6eaf70a0ec0d7191" - "d55027cf8f900214 e634412583ff0b47 8ea2b7ca516745bf ea", - *iVec = "8ea2b7ca516745bf eafc49904b496089", -#if AES___ == 256 +#if AES___ == 256 /* ↑↓ see p.34 of RFC-3394: */ *k_wrapped = "28C9F404C4B810F4 CBCCB35CFB87F826 3F5786E2D80ED326 CBC7F0E71A99F43B" - "FB988B9B7A02DD21", /* <---- p. 34 of RFC-3394 */ + "FB988B9B7A02DD21", /* ↓ with GCM_NONCE_LEN=12 */ + *gcmcipher = "eb0f39c8cc86af34 3545fec3abc4d1fd 26241218546289ec 5ce5208e01873e90" + "e86772931b80d749 22565b38d35fe11a 387b347949dda087 9ca5f20fc9357760" + "4b2f659e3b1d1b0f 33", *xtscipher = "40bfcc14845b1bb4 15dd13abf1e6f89d 3bfd794cf6655ffd 14c0d7e4177eeaf4" "5dd95f05663fcfb4 47671154a91b9d00 d1bd7a35c14c7410 9a"; -#elif AES___ == 192 /* ↓↓↓↓ if PKCS#7 enabled */ - *ecbcipher = "af1893f0fbb09a43 7f6b0fd4f4977890 7bb85cccf1e9d2e3 ebe5bae935107868" - "c6d72cb2ca375c12 ce6b6b1141141fd0 d268d14db351d680 5aabb99427341da9", - *k_wrapped = "031D33264E15D332 68F24EC260743EDC E1C6C7DDEE725A93 6BA814915C6762D2"; -#else /* ↓↓↓↓ zero-padded input */ +#elif AES___ != 192 /* ↓ AES-128 ↓ KeySize=16 ↓ */ *ecbcipher = "5d00c273f8b2607d a834632dcbb521f4 697dd4ab20bb0645 32a6545e24e33ae9" "f545176111f93773 dbecd262841cf83b 10d145e71b772cf7 a12889cda84be795", -#if CTS - *cbccipher = "65c48fdf9fbd6261 28f2d8bac3f71251 75e7f4821fda0263 70011632779d7403" - "c119ef461ac4e1bc 8a7e36bf92b3b3d1 7e9e2d298e154bc4 2d", -#else /* ↓↓↓↓ zero-padded input */ - *cbccipher = "65c48fdf9fbd6261 28f2d8bac3f71251 75e7f4821fda0263 70011632779d7403" - "7e9e2d298e154bc4 2dc7a9bc419b915d c119ef461ac4e1bc 8a7e36bf92b3b3d1", -#endif *xtscipher = "10f9301a157bfceb 3eb9e7bd38500b7e 959e21ba3cc1179a d7f7d7d99460e695" "5e8bcb177571c719 6de58ff28c381913 e7c82d0adfd90c45 ca", + *cbccipher = "65c48fdf9fbd6261 28f2d8bac3f71251 75e7f4821fda0263 70011632779d7403" +#if CTS + "c119ef461ac4e1bc 8a7e36bf92b3b3d1 7E9E2D298E154BC4 2D", +#else /* ↓ zero-padded plaintext */ + "7E9E2D298E154BC4 2Dc7a9bc419b915d c119ef461ac4e1bc 8a7e36bf92b3b3d1", +#endif *cfbcipher = "edab3105e673bc9e b9102539a9f457bc 245c14e1bff81b5b 4a4a147c988cb0a6" "3f9c56525efbe64a 876ad1d761d3fc93 59fb4f5b2354acd4 90", *ofbcipher = "edab3105e673bc9e b9102539a9f457bc d28c8e4c92995f5c d9426926be1e775d" @@ -50,46 +48,50 @@ static const char #else *ctrcipher = "6c6bae886c235d8c 7997d45c1bf0bca2 48b4bca9eb396d1b f6945e5b7a4fc10f" "488cfe76fd5eaeff 2b8fb469f78fa61e 285e4cf9b9aee3d0 a8", -#endif - *ccmcipher = "d2575123438338d7 0b2955537fdfcf41 729870884e85af15 f0a74975a72b337d" - "04d426de87594b9a be3e6dcf07f21c99 db3999f81299d302 ad1e5ba683e9039a" - "5483685f1bd2c3fa 3b", /* <---- with 16 bytes tag */ - *gcmcipher = "5ceab5b7c2d6dede 555a23c7e3e63274 4075a51df482730b a31485ec987ddcc8" - "73acdcfc6759a47b a424d838e7c0cb71 b9a4d8f4572e2141 18c8ab284ca845c1" - "4394618703cddf3a fb", /* <---- with 16 bytes tag */ +#endif /* ↓ 16 bytes i.v PREPENDED */ *sivcipher = "ff2537a371fba0bb ed11acf2a3631300 97964f088881bdbd f163e261afd158e6" "09272e759213c76a edc83a451d094c9e 06e2600e50a27cbb c0d9fad10eb6d369" - "4614362e5cd68b90 a9", /* 16 bytes i.v. PREPENDED */ - *ocbcipher = "fc254896eb785b05 dd87f240722dd935 61f5a0ef6aff2eb6 5953da0b26257ed0" - "d69cb496e9a0cb1b f646151aa07e629a 28d99f0ffd7ea753 5c39f440df33c988" - "c55cbcc8ac086ffa 23", /* ↑↑↓↓ with 16 bytes tag */ + "4614362e5cd68b90 a9", /* ↓ all tag-sizes are 16 ↓ */ + *ccmcipher = "d2575123438338d7 0b2955537fdfcf41 729870884e85af15 f0a74975a72b337d" + "04d426de87594b9a be3e6dcf07f21c99 db3999f81299d302 ad1e5ba683e9039a" + "5483685f1bd2c3fa 3b", + *gcmcipher = "5ceab5b7c2d6dede 555a23c7e3e63274 4075a51df482730b a31485ec987ddcc8" + "73acdcfc6759a47b a424d838e7c0cb71 b9a4d8f4572e2141 18c8ab284ca845c1" + "4394618703cddf3a fb", *gsvcipher = "2f1488496ada3f70 9760420ac72e5acf a977f6add4c55ac6 85f1b9dff8f381e0" "2a64bbdd64cdd778 525462949bb0b141 db908c5cfa365750 3666f879ac879fcb" "f25c15d496a1e6f7 f8", -#if EAXP /* ↓↓↓↓ with 4 bytes tag */ - *eaxcipher = "f516e9c20069292c c51ba8b6403ddedf 5a34798f62187f58 d723fa33573fd80b" - "f08ffbb09dadbd0b 6fa4812ca4bb5e6d db9a384943b36690 e81738a7a1", -#else /* ↓↓↓↓ with 16 bytes tag */ + *ocbcipher = "fc254896eb785b05 dd87f240722dd935 61f5a0ef6aff2eb6 5953da0b26257ed0" + "d69cb496e9a0cb1b f646151aa07e629a 28d99f0ffd7ea753 5c39f440df33c988" + "c55cbcc8ac086ffa 23", +#if !EAXP *eaxcipher = "4e2fa1bef9ffc23f 6965ee7135981c91 af9bfe97a6b13c01 b8b99e114dda2391" "50661c618335a005 47cca55a8f22fbd5 ed5ab4b4a17d0aa3 29febd14ef271bae" "986810a504f01ec6 02", -#endif /* ↓↓ a large Prime Number */ +#else /* ↓ with 4 bytes mac added */ + *eaxcipher = "f516e9c20069292c c51ba8b6403ddedf 5a34798f62187f58 d723fa33573fd80b" + "f08ffbb09dadbd0b 6fa4812ca4bb5e6d db9a384943b36690 e81738a7a1", +#endif /* ↓ a large Prime Number ↓ */ *fpe_plain = "122333444455555666666777777788888888999999999012345682747", -#if FF_X == 3 /* <-- MAXLEN=56 if RDX=10 */ +#if FF_X == 3 /* ↓ if RADIX=10: MAXLEN=56 */ *fpecipher = "0053317760589559020399280014720716878020198371161819152", #else *fpecipher = "000260964766881620856103152534002821752468680082944565411", #endif - *ptextcmac = "b887df1fd8c239c3 e8a64d9822e21128", + *ptxt_cmac = "b887df1fd8c239c3 e8a64d9822e21128", *poly_1305 = "3175bed9bd01821a 62d4c7bef26722be", *k_wrapped = "1FA68B0A8112B447 AEF34BD8FB5A7B82 9D3E862371D2CFE5"; +#else /* ↓ AES-192: enable PKCS#7 */ + *ecbcipher = "af1893f0fbb09a43 7f6b0fd4f4977890 7bb85cccf1e9d2e3 ebe5bae935107868" + "c6d72cb2ca375c12 ce6b6b1141141fd0 d268d14db351d680 5aabb99427341da9", + *k_wrapped = "031D33264E15D332 68F24EC260743EDC E1C6C7DDEE725A93 6BA814915C6762D2"; #endif enum buffer_sizes { - PBYTES = HEXSTR_LENGTH / 2, - PADDED = PBYTES + 15 & ~15, - TAGGED = PBYTES + 16 + PTSIZE = HEXSTR_LENGTH / 2, + PADDED = PTSIZE + 15 & ~15, + TAGGED = PTSIZE + 16 }; static void hex2bytes(const char* hex, uint8_t* bytes) @@ -110,16 +112,16 @@ static void check(const char* method, void* result, const void* expected, size_t memset(result, 0xcc, TAGGED); } -int main() +int main(void) { uint8_t iv[16], key[64], authKey[32], input[PADDED], test[TAGGED], output[TAGGED], - *a = authKey + 1, sa = sizeof authKey - 1, sp = PBYTES; + *a = authKey + 1, sa = sizeof authKey - 1, sp = PTSIZE; hex2bytes(cipherKey, key); hex2bytes(secondKey, key + 32); hex2bytes(secretKey, authKey); hex2bytes(iVec, iv); hex2bytes(plainText, input); -#if M_RIJNDAEL +#if MICRO_RJNDL hex2bytes(iVec, input + 48); hex2bytes(secondKey, test); a = AES_KEY_SIZE == 16 ? key : input + (AES___ - 192) / 2; @@ -134,7 +136,7 @@ int main() #endif printf("%s %s Test results\n", __DATE__, __TIME__); -#if ECB && AES_KEY_SIZE + 8 * !AES_PADDING == 24 +#if ECB && AES_KEY_SIZE - 8 * AES_PADDING == 16 hex2bytes(ecbcipher, test); AES_ECB_encrypt(key, input, sp, output); check("ECB encryption", output, test, sizeof input); @@ -177,16 +179,16 @@ int main() check("XTS decryption", output, input, sp); #endif #if CMAC && AES_KEY_SIZE == 16 - hex2bytes(ptextcmac, test); + hex2bytes(ptxt_cmac, test); AES_CMAC(key, input, sp, output); check("plaintext CMAC", output, test, 16); #endif #if POLY1305 && AES_KEY_SIZE == 16 hex2bytes(poly_1305, test); AES_Poly1305(key, iv, input, sp, output); - check("Poly-1305 mac.", output, test, 16); + check("Poly-1305 *mac", output, test, 16); #endif -#if GCM && AES_KEY_SIZE == 16 +#if GCM && AES_KEY_SIZE != 24 hex2bytes(gcmcipher, test); AES_GCM_encrypt(key, iv, input, sp, a, sa, output, output + sp); check("GCM encryption", output, test, sp + 16); @@ -234,7 +236,7 @@ int main() #endif check("EAX decryption", output, input, sp); #endif -#if FPE && AES_KEY_SIZE + CUSTOM_ALPHABET == 16 +#if AES_KEY_SIZE + !FPE + CUSTOM_ALPHABET == 16 memcpy(test, fpecipher, FF_X == 3 ? (sp = 55) : sp); #if FF_X == 3 AES_FPE_encrypt(key, a, fpe_plain, sp, output); @@ -258,7 +260,7 @@ int main() #if OCB * EAX * SIV * GCM_SIV * POLY1305 * FPE * (16 / AES_KEY_SIZE) printf("+-> Let's do some extra tests\n"); - sp = sa = 24; /* taken from RFC 7253: */ + sp = sa = 24; /* taken from RFC-7253: */ hex2bytes("000102030405060708090A0B0C0D0E0F", key); hex2bytes("BBAA99887766554433221107", iv); hex2bytes("000102030405060708090A0B0C0D0E0F1011121314151617", a); @@ -270,7 +272,7 @@ int main() *output ^= AES_OCB_decrypt(key, iv, test, sp, a, sa, OCB_TAG_LEN, output); check("OCB decryption", output, input, sp); - sp = 11; sa = 7; /* taken from RFC 8452: */ + sp = 11, sa = 7; /* taken from RFC-8452: */ hex2bytes("ee8e1ed9ff2540ae8f2ba9f50bc2f27c", key); hex2bytes("752abad3e0afb5f434dc4310", iv); hex2bytes("6578616d706c65", a); @@ -280,7 +282,7 @@ int main() check("GCMSIV encrypt", output, test, sp + 16); *output ^= GCM_SIV_decrypt(key, iv, test, sp, a, sa, 16, output); check("GCMSIV decrypt", output, input, sp); - sp = 12; sa = 1; /* taken from RFC 8452: */ + sp = 12, sa = 1; /* taken from RFC-8452: */ hex2bytes("01000000000000000000000000000000", key); hex2bytes("030000000000000000000000", iv); hex2bytes("01", a); @@ -292,7 +294,7 @@ int main() *output ^= GCM_SIV_decrypt(key, iv, test, sp, a, sa, 16, output); check("GCMSIV decrypt", output, input, sp); - sp = 14; sa = 24; /* taken from RFC 5297: */ + sp = 14, sa = 24; /* taken from RFC-5297: */ hex2bytes("fffefdfc fbfaf9f8 f7f6f5f4 f3f2f1f0\ f0f1f2f3 f4f5f6f7 f8f9fafb fcfdfeff", key); hex2bytes("10111213 14151617 18191a1b 1c1d1e1f\ @@ -304,7 +306,7 @@ int main() check("SIV encryption", output, test, sp + 16); *output ^= AES_SIV_decrypt(key, test, test + 16, sp, a, sa, output); check("SIV decryption", output, input, sp); - sp = 16; sa = 0; /* from miscreant on github: bit.ly/3ycgGB */ + sp = 16, sa = 0; /* from miscreant on github: bit.ly/3ycgGB */ hex2bytes("fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", key); hex2bytes("00112233445566778899aabbccddeeff", input); hex2bytes("f304f912863e303d5b540e5057c7010c942ffaf45b0e5ca5fb9a56a5263bb065", test); @@ -313,7 +315,7 @@ int main() *output ^= AES_SIV_decrypt(key, test, test + 16, sp, a, sa, output); check("SIV decryption", output, input, sp); #if EAXP - sp = 0; sa = 50; /* from Annex G of the IEEE Std 1703-2012 */ + sp = 0, sa = 50; /* from Annex G of the IEEE Std. 1703-2012 */ hex2bytes("01020304050607080102030405060708", key); hex2bytes("A20D060B607C86F7540116007BC175A8\ 03020100BE0D280B810984A60C060A60\ @@ -324,7 +326,7 @@ int main() check("EAX encryption", output, test, sp + 4); sp += AES_EAX_decrypt(key, input, test, sp, sa, output); check("EAX decryption", output, input, sp); - sp = 28; sa = 65; /* from Moise-Beroset-Phinney-Burns paper: */ + sp = 28, sa = 65; /* from Moise-Beroset-Phinney-Burns paper: */ hex2bytes("10 20 30 40 50 60 70 80 90 a0 b0 c0 d0 e0 f0 00", authKey); hex2bytes("a2 0e 06 0c 60 86 48 01 86 fc 2f 81 1c aa 4e 01\ a8 06 02 04 39 a0 0e bb ac 0f a2 0d a0 0b a1 09\ @@ -339,7 +341,7 @@ int main() check("EAX encryption", output, key, sp + 4); AES_EAX_decrypt(authKey, test, key, sp, sa, output); #else - sp = 12; sa = 8; /* from Bellare-Rogaway-Wagner 2004 paper: */ + sp = 12, sa = 8; /* from Bellare-Rogaway-Wagner 2004 paper: */ hex2bytes("BD8E6E11475E60B268784C38C62FEB22", key); hex2bytes("6EAC5C93072D8E8513F750935E46DA1B", iv); hex2bytes("D4482D1CA78DCE0F", a); @@ -351,7 +353,17 @@ int main() #endif check("EAX decryption", output, input, sp); -#if FF_X == 3 && !CUSTOM_ALPHABET +#if (FF_X != 3) * CUSTOM_ALPHABET == 3 + sp = 19, sa = 11; + hex2bytes("2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C", key); + hex2bytes("37 37 37 37 70 71 72 73 37 37 37", a); + memcpy(input, "0123456789abcdefghi", sp); + memcpy(output, "a9tv40mll9kdu509eum", sp); + AES_FPE_encrypt(key, a, sa, input, sp, test); + check("FF1 encryption", test, output, sp); + AES_FPE_decrypt(key, a, sa, output, sp, test); + check("FF1 decryption", test, input, sp); +#elif FF_X * !CUSTOM_ALPHABET == 3 sp = 29; /* zero tweak works for both FF3 and FF3-1 */ hex2bytes("EF 43 59 D8 D5 80 AA 4F 7F 03 6D 6F 04 FC 6A 94", key); hex2bytes("00 00 00 00 00 00 00 00", a); @@ -361,16 +373,6 @@ int main() check("FF3 encryption", test, output, sp); AES_FPE_decrypt(key, a, output, sp, test); check("FF3 decryption", test, input, sp); -#elif FF_X != 3 && CUSTOM_ALPHABET == 3 - sp = 19; sa = 11; - hex2bytes("2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C", key); - hex2bytes("37 37 37 37 70 71 72 73 37 37 37", a); - memcpy(input, "0123456789abcdefghi", sp); - memcpy(output, "a9tv40mll9kdu509eum", sp); - AES_FPE_encrypt(key, a, sa, input, sp, test); - check("FF1 encryption", test, output, sp); - AES_FPE_decrypt(key, a, sa, output, sp, test); - check("FF1 decryption", test, input, sp); #endif sp = 32; /* ↓ from Daniel J. Bernstein's 2005 paper */ hex2bytes("66 3c ea 19 0f fb 83 d8 95 93 f3 f4 76 b6 bc 24\ @@ -380,7 +382,7 @@ int main() hex2bytes("ae 21 2a 55 39 97 29 59 5d ea 45 8b c6 21 ff 0e", iv); hex2bytes("0e e1 c1 6b b7 3f 0f 4f d1 98 81 75 3c 01 cd be", test); AES_Poly1305(key, iv, input, sp, output); - check("Poly-1305 mac.", output, test, 16); + check("Poly-1305 *mac", output, test, 16); sp = 63; hex2bytes("ab 08 12 72 4a 7f 1e 34 27 42 cb ed 37 4d 94 d1\ 36 c6 b8 79 5d 45 b3 81 98 30 f2 c0 44 91 fa f0\ @@ -391,7 +393,7 @@ int main() hex2bytes("9a e8 31 e7 43 97 8d 3a 23 52 7c 71 28 14 9e 3a", iv); hex2bytes("51 54 ad 0d 2c b2 6e 01 27 4f c5 11 48 49 1f 1b", test); AES_Poly1305(key, iv, input, sp, output); - check("Poly-1305 mac.", output, test, 16); + check("Poly-1305 *mac", output, test, 16); #endif return 0; } diff --git a/micro_aes.c b/micro_aes.c index 4fe580c..9535588 100644 --- a/micro_aes.c +++ b/micro_aes.c @@ -11,38 +11,31 @@ #include "micro_aes.h" /*----------------------------------------------------------------------------*\ - Global constants, data types, and important / useful MACROs + Constants and MACROs \*----------------------------------------------------------------------------*/ +enum basic_constants +{ + BLOCKSIZE = (128) / 8, /* Block length in AES is 'always' 128-bits */ + KEYSIZE = AES_KEY_SIZE, + Nb = BLOCKSIZE / 4, /* number of columns comprising a AES state */ + Nk = KEYSIZE / 4, /* number of 32 bit words in a key. */ + ROUNDS = Nk + 6, /* number of rounds in AES Cipher. */ + LAST = BLOCKSIZE - 1, /* index of last element (LSB) in a block. */ + HB = BLOCKSIZE / 2, /* length of a half-block unit. */ + SP = 17 /* length of data blocks in poly-1305 mode. */ +}; -#define KEYSIZE AES_KEY_SIZE -#define BLOCKSIZE (128 / 8) /* Block length in AES is 'always' 128-bits. */ -#define Nb (BLOCKSIZE / 4) /* The number of columns comprising a AES state */ -#define Nk (KEYSIZE / 4) /* The number of 32 bit words in a key. */ -#define ROUNDS (Nk + 6) /* The number of rounds in AES Cipher. */ +#define IMPLEMENT(x) (x) > 0 -#define IMPLEMENT(x) (x) > 0 +#define INCREASE_SECURITY 0 /* see the comments at the bottom of header */ +#define DISCARD_SUBROUTINES 0 +#define SMALL_CIPHER 0 -#define INCREASE_SECURITY 0 -#define DONT_USE_FUNCTIONS 0 -#define SMALL_CIPHER 0 /* for more info, see the bottom of header file */ - -/** block_t indicates fixed-size memory blocks, and state_t represents the state - * matrix. note that state[i][j] means the i-th COLUMN and j-th ROW of matrix */ -typedef uint8_t block_t[BLOCKSIZE]; -typedef uint8_t state_t[Nb][4]; - -/*----------------------------------------------------------------------------*\ - Private variables: -\*----------------------------------------------------------------------------*/ - -/** The array that stores all round keys during the AES key-expansion process */ -static uint8_t RoundKey[BLOCKSIZE * ROUNDS + KEYSIZE]; - -/** Lookup-tables are static constant, so that they can be placed in read-only +/** Lookup-tables are "static constant", so that they can be placed in read-only * storage instead of RAM. They can be computed dynamically trading ROM for RAM. * This may be useful in (embedded) bootloader applications, where ROM is often - * limited. Note that sbox[y] = x, if and only if rsbox[x] = y. You may read the - * wikipedia article for more info: https://en.wikipedia.org/wiki/Rijndael_S-box + * limited. Note that sbox[y] = x, if and only if rsbox[x] = y. For more details + * on dynamic sbox computation, see https://en.wikipedia.org/wiki/Rijndael_S-box */ static const char sbox[256] = "c|w{\362ko\3050\01g+\376\327\253v\312\202\311}""\372YG\360\255\324\242\257" @@ -67,9 +60,21 @@ static const char rsbox[256] = "nG\361\32q\35)\305\211o\267b\16\252\30\276\33\374V>K\306\322y \232\333\300" "\376x\315Z\364\037\335\2503\210\a\3071\261\22\20Y\'\200\354_`Q\177\251\031" "\265J\r-\345z\237\223\311\234\357\240\340;M\256*\365\260\310\353\273<\203S" - "\231a\27+\4~\272w\326&\341i\24cU!\f}"; + "\231a\027+\004~\272w\326&\341i\024cU!\f}"; #endif +/*----------------------------------------------------------------------------*\ + Data types and private variables +\*----------------------------------------------------------------------------*/ + +/** The array that stores all round keys during the AES key-expansion process */ +static uint8_t RoundKey[BLOCKSIZE * ROUNDS + KEYSIZE]; + +/** block_t indicates fixed-size memory blocks, and state_t represents the state + * matrix. note that state[i][j] means the i-th COLUMN and j-th ROW of matrix */ +typedef uint8_t block_t[BLOCKSIZE]; +typedef uint8_t state_t[Nb][4]; + /*----------------------------------------------------------------------------*\ Auxiliary functions for the Rijndael algorithm \*----------------------------------------------------------------------------*/ @@ -77,24 +82,22 @@ static const char rsbox[256] = #define SBoxValue(x) ( sbox[x]) #define InvSBoxValue(x) (rsbox[x]) /* omitted dynamic s-box calculation */ -#define COPY32BIT(x, y) *(int32_t*) &y = *(int32_t*) &x +#define COPYDWORD(x, y) *(int32_t*) &y = *(int32_t*) &x #define XOR32BITS(x, y) *(int32_t*) &y ^= *(int32_t*) &x -#if DONT_USE_FUNCTIONS +#if DISCARD_SUBROUTINES /** note: 'long long' type is NOT supported in C89. so this may throw errors: */ #define xorBlock(x, y) \ -{ \ - *(long long*) &(y)[0] ^= *(long long const*) &(x)[0]; \ - *(long long*) &(y)[8] ^= *(long long const*) &(x)[8]; \ -} +( \ + *(long long*) &(y)[0] ^= *(long long const*) &(x)[0], \ + *(long long*) &(y)[8] ^= *(long long const*) &(x)[8] \ +) -#define xtime(x) (x < 0x80 ? x * 2 : x * 2 ^ 0x11b) +#define xtime(x) ((x) & 0x80 ? (x) * 2 ^ 0x11b : (x) << 1) -#define InvGM(a, b, c, d) d ^ c ^ b ^ xtime(b) ^ \ - xtime(a) ^ (xtime(xtime(a))) ^ (xtime(xtime(c))) \ - ^ xtime(xtime(xtime(a))) ^ xtime(xtime(xtime(b))) \ - ^ xtime(xtime(xtime(c))) ^ xtime(xtime(xtime(d))) +#define mixG8(a, b, c, d) b ^ c ^ d ^ \ + xtime(a ^ b ^ xtime(a ^ c ^ xtime(a ^ b ^ c ^ d ))) #else /** XOR two 128bit numbers (blocks) called src and dest, so that: dest ^= src */ @@ -114,18 +117,18 @@ static uint8_t xtime( uint8_t x ) } #if DECRYPTION -#define InvGM(a, b, c, d) gmul(a, 14) ^ gmul(b, 11) ^ gmul(c, 13) ^ gmul(d, 9) -/** This function multiplies two numbers in the Galois bit field of GF(2^8).. */ -static uint8_t gmul( uint8_t x, uint8_t y ) +/** inverse multiply in 8bit GF: mul(a,14) ^ mul(b,11) ^ mul(c,13) ^ mul(d,9) */ +static uint8_t mixG8( uint8_t a, uint8_t b, uint8_t c, uint8_t d ) { - uint8_t m; - for (m = 0; y > 1; y >>= 1) /* optimized algorithm for nonzero y */ - { - if (y & 01) m ^= x; - x = xtime( x ); - } - return m ^ x; /* or use (9 11 13 14) lookup tables */ + b ^= a; + d ^= b ^ c; + c ^= a; + a ^= d; + c ^= xtime( d ); + b ^= xtime( c ); + a ^= xtime( b ); + return a; /* or use (9 11 13 14) lookup tables */ } #endif #endif @@ -148,17 +151,18 @@ static void KeyExpansion( const uint8_t* key ) { case 0: memcpy( &RoundKey[i], &RoundKey[i - KEYSIZE], KEYSIZE ); -#if Nk == 4 - if (!rcon) rcon = 0x1b; /* RCON may reach 0 only in AES-128. */ -#endif + + /* RCON reaches 0 only in AES-128, otherwise the line is ignored. */ + if (4 / Nk && rcon == 0) rcon = 0x1b; + RoundKey[i ] ^= SBoxValue( RoundKey[i - 3] ) ^ rcon; RoundKey[i + 1] ^= SBoxValue( RoundKey[i - 2] ); RoundKey[i + 2] ^= SBoxValue( RoundKey[i - 1] ); RoundKey[i + 3] ^= SBoxValue( RoundKey[i - 4] ); rcon <<= 1; break; -#if Nk == 8 /* additional round only for AES-256 */ - case 16: +#if AES___== 256 + case 48 - KEYSIZE: RoundKey[i ] ^= SBoxValue( RoundKey[i - 4] ); RoundKey[i + 1] ^= SBoxValue( RoundKey[i - 3] ); RoundKey[i + 2] ^= SBoxValue( RoundKey[i - 2] ); @@ -166,7 +170,7 @@ static void KeyExpansion( const uint8_t* key ) break; #endif default: - XOR32BITS( RoundKey[(i - 4)], RoundKey[i] ); + XOR32BITS( RoundKey[ i - 4 ], RoundKey[ i ] ); break; } } @@ -189,46 +193,48 @@ static void SubBytes( block_t state ) } /** Shift/rotate the rows of the state matrix to the left. Each row is shifted - * with a different offset (= Row number). So the first row won't be shifted. */ -static void ShiftRows( state_t *state ) + * with a different offset (= Row number). So the "zeroth" row is not shifted */ +static void ShiftRows( state_t state ) { - uint8_t temp = (*state)[0][1]; - (*state)[0][1] = (*state)[1][1]; - (*state)[1][1] = (*state)[2][1]; - (*state)[2][1] = (*state)[3][1]; - (*state)[3][1] = temp; /* Rotated the 1st row 1 columns to left */ + uint8_t tmp = state[0][1]; + state[0][1] = state[1][1]; + state[1][1] = state[2][1]; + state[2][1] = state[3][1]; + state[3][1] = tmp; /* the first row rotates 1 column(s) to left */ - temp = (*state)[0][2]; - (*state)[0][2] = (*state)[2][2]; - (*state)[2][2] = temp; - temp = (*state)[1][2]; - (*state)[1][2] = (*state)[3][2]; - (*state)[3][2] = temp; /* Rotated the 2nd row 2 columns to left */ + tmp = state[0][2]; + state[0][2] = state[2][2]; + state[2][2] = tmp; + tmp = state[1][2]; + state[1][2] = state[3][2]; + state[3][2] = tmp; /* the second row rotates 2 columns to left, */ - temp = (*state)[0][3]; - (*state)[0][3] = (*state)[3][3]; - (*state)[3][3] = (*state)[2][3]; - (*state)[2][3] = (*state)[1][3]; - (*state)[1][3] = temp; /* Rotated the 3rd row 3 columns to left */ + tmp = state[0][3]; + state[0][3] = state[3][3]; + state[3][3] = state[2][3]; + state[2][3] = state[1][3]; + state[1][3] = tmp; /* and the 3rd row rotates 3 columns to left */ } -/** Mix the columns of the state matrix. See: crypto.stackexchange.com/q/2402 */ -static void MixColumns( state_t *state ) +/** Use matrix multiplication in Galois field to mix the columns of the state */ +static void MixColumns( state_t state ) { - uint8_t a, b, c, d, i; - for (i = 0; i < Nb; ++i) + uint8_t C[4], i; + for (i = 0; i < Nb; ++i) /*-> https://crypto.stackexchange.com/q/2402 */ { - a = (*state)[i][0] ^ (*state)[i][1]; - b = (*state)[i][1] ^ (*state)[i][2]; - c = (*state)[i][2] ^ (*state)[i][3]; + COPYDWORD( state[i], C[0] ); + C[3] ^= C[1]; + C[1] ^= C[0]; + C[0] ^= C[2]; + C[2] = xtime( C[0] ); + C[0] ^= C[3]; /* C[0] = xor of all elements in i-th column */ + C[0] ^= xtime( C[1] ); + C[1] = xtime( C[3] ); - d = a ^ c; /* d is XOR of all elements in a column */ - (*state)[i][0] ^= d ^ xtime( a ); - (*state)[i][1] ^= d ^ xtime( b ); - - b ^= d; /* -> b = (*state)[i][3] ^ (*state)[i][0] */ - (*state)[i][2] ^= d ^ xtime( c ); - (*state)[i][3] ^= d ^ xtime( b ); + state[i][0] ^= C[0]; + state[i][1] ^= C[0] ^= C[2]; + state[i][2] ^= C[0] ^= C[1]; + state[i][3] ^= C[0] ^= C[2]; } } @@ -236,10 +242,10 @@ static void MixColumns( state_t *state ) static void rijndaelEncrypt( const block_t input, block_t output ) { uint8_t r; - state_t *state = (void*) output; + state_t* mat = (void*) output; - /* copy the input to the state matrix, and beware of undefined behavior.. */ - if (input != output) memcpy( state, input, BLOCKSIZE ); + /* copy plaintext into the state matrix, and beware of undefined behavior */ + if (input != output) memcpy( mat, input, BLOCKSIZE ); /* The encryption is carried out in #ROUNDS iterations, of which the first * #ROUNDS-1 are identical. The last round doesn't involve mixing columns */ @@ -247,8 +253,8 @@ static void rijndaelEncrypt( const block_t input, block_t output ) { AddRoundKey( r, output ); SubBytes( output ); - ShiftRows( state ); - ++r != ROUNDS ? MixColumns( state ) : AddRoundKey( ROUNDS, output ); + ShiftRows( *mat ); + ++r != ROUNDS ? MixColumns( *mat ) : AddRoundKey( ROUNDS, output ); } } @@ -269,39 +275,39 @@ static void InvSubBytes( block_t state ) } /** This function shifts (i.e rotates) the rows of the state matrix to right. */ -static void InvShiftRows( state_t *state ) +static void InvShiftRows( state_t state ) { - uint8_t temp = (*state)[3][1]; - (*state)[3][1] = (*state)[2][1]; - (*state)[2][1] = (*state)[1][1]; - (*state)[1][1] = (*state)[0][1]; - (*state)[0][1] = temp; /* Rotated first row 1 columns to right */ + uint8_t tmp = state[3][1]; + state[3][1] = state[2][1]; + state[2][1] = state[1][1]; + state[1][1] = state[0][1]; + state[0][1] = tmp; /* the first row rotates 1 columns to right, */ - temp = (*state)[0][2]; - (*state)[0][2] = (*state)[2][2]; - (*state)[2][2] = temp; - temp = (*state)[1][2]; - (*state)[1][2] = (*state)[3][2]; - (*state)[3][2] = temp; /* Rotated second row 2 columns to right */ + tmp = state[0][2]; + state[0][2] = state[2][2]; + state[2][2] = tmp; + tmp = state[1][2]; + state[1][2] = state[3][2]; + state[3][2] = tmp; /* the second row rotates 2 columns to right */ - temp = (*state)[0][3]; - (*state)[0][3] = (*state)[1][3]; - (*state)[1][3] = (*state)[2][3]; - (*state)[2][3] = (*state)[3][3]; - (*state)[3][3] = temp; /* Rotated third row 3 columns to right */ + tmp = state[0][3]; + state[0][3] = state[1][3]; + state[1][3] = state[2][3]; + state[2][3] = state[3][3]; + state[3][3] = tmp; /* the third row rotates 3 columns to right. */ } -/** Mixes the columns of (already-mixed) state matrix to reverse the process. */ -static void InvMixColumns( state_t *state ) +/** Reverse the process of mixing columns by matrix multiplication in GF(2^8) */ +static void InvMixColumns( state_t state ) { - uint8_t i, c[4]; - for (i = 0; i < Nb; ++i) /* see: crypto.stackexchange.com/q/2569 */ + uint8_t C[4], i; + for (i = 0; i < Nb; ++i) /*-> https://crypto.stackexchange.com/q/2569 */ { - COPY32BIT( (*state)[i], c[0] ); - (*state)[i][0] = InvGM( c[0], c[1], c[2], c[3] ); - (*state)[i][1] = InvGM( c[1], c[2], c[3], c[0] ); - (*state)[i][2] = InvGM( c[2], c[3], c[0], c[1] ); - (*state)[i][3] = InvGM( c[3], c[0], c[1], c[2] ); + COPYDWORD( state[i], C[0] ); + state[i][0] = mixG8( C[0], C[1], C[2], C[3] ); + state[i][1] = mixG8( C[1], C[2], C[3], C[0] ); + state[i][2] = mixG8( C[2], C[3], C[0], C[1] ); + state[i][3] = mixG8( C[3], C[0], C[1], C[2] ); } } @@ -309,25 +315,24 @@ static void InvMixColumns( state_t *state ) static void rijndaelDecrypt( const block_t input, block_t output ) { uint8_t r; - state_t *state = (void*) output; + state_t* mat = (void*) output; /* copy input to the state matrix, i.e initialize the state by ciphertext */ - if (input != output) memcpy( state, input, BLOCKSIZE ); + if (input != output) memcpy( mat, input, BLOCKSIZE ); - /* Decryption completes after #ROUNDS iterations. All rounds except the 1st - * one are identical. The first round doesn't involve [inv]mixing columns */ + /* Decryption is carried out in #ROUNDS iterations. The rounds are similar + * except for the first one which doesn't involve [reverse]mixing columns */ for (r = ROUNDS; r != 0; ) { - r-- != ROUNDS ? InvMixColumns( state ) : AddRoundKey( ROUNDS, output ); - InvShiftRows( state ); + r-- != ROUNDS ? InvMixColumns( *mat ) : AddRoundKey( ROUNDS, output ); + InvShiftRows( *mat ); InvSubBytes( output ); AddRoundKey( r, output ); } } #endif /* DECRYPTION */ - -#if M_RIJNDAEL +#if MICRO_RJNDL /** * @brief encrypt or decrypt a single block with a given key * @param key a byte array with a fixed size of KEYSIZE @@ -342,18 +347,17 @@ void AES_Cipher( const uint8_t* key, const char mode, const block_t x, block_t y } #endif + /*----------------------------------------------------------------------------*\ * Implementation of different block ciphers modes * * Definitions & Auxiliary Functions * \*----------------------------------------------------------------------------*/ -#define AES_SetKey(key) KeyExpansion( key ) - /** function-pointer types, indicating functions that take fixed-size blocks: */ +typedef void (*fmix_t)( const block_t, block_t ) SDCC_REENT; typedef void (*fdouble_t)( block_t ); -typedef void (*fmix_t)( const block_t, block_t ); -#define LAST (BLOCKSIZE - 1) /* last index in a block */ +#define AES_setkey(key) KeyExpansion( key ) #if INCREASE_SECURITY #define BURN(key) memset( key, 0, sizeof key ) @@ -362,7 +366,7 @@ typedef void (*fmix_t)( const block_t, block_t ); #else #define MISMATCH memcmp #define SABOTAGE(buf, len) (void) buf -#define BURN(key) (void) key /* the line is ignored. */ +#define BURN(key) (void) key /* the line will be ignored */ #endif #if INCREASE_SECURITY && AEAD_MODES @@ -382,28 +386,17 @@ static uint8_t constmemcmp( const uint8_t* src, const uint8_t* dst, uint8_t n ) #if SMALL_CIPHER typedef uint8_t count_t; -#define incBlock(block, big) ++block[big ? LAST : 0] -#define xorBENum(buf, num, pos) buf[pos - 1] ^= (num) >> 8; buf[pos] ^= num -#define copyLNum(buf, num, pos) buf[pos + 1] = (num) >> 8; buf[pos] = num +#define incBlock(block, index) ++block[index] +#define xorBEint(buf, num, pos) buf[pos - 1] ^= (num) >> 8, buf[pos] ^= num +#define copyLint(buf, num, pos) buf[pos + 1] = (num) >> 8, buf[pos] = num #else typedef size_t count_t; -#if CTR || KWA || FPE - -/** xor a byte array with a big-endian integer, whose LSB is at specified pos */ -static void xorBENum( uint8_t* buff, size_t num, uint8_t pos ) -{ - do - buff[pos--] ^= (uint8_t) num; - while (num >>= 8); -} -#endif - #if XTS || GCM_SIV /** copy a little endian integer to the block, with LSB at specified position */ -static void copyLNum( block_t block, size_t num, uint8_t pos ) +static void copyLint( block_t block, size_t num, uint8_t pos ) { do block[pos++] = (uint8_t) num; @@ -411,20 +404,26 @@ static void copyLNum( block_t block, size_t num, uint8_t pos ) } #endif +#if CTR || KWA || FPE + +/** xor a byte array with a big-endian integer, whose LSB is at specified pos */ +static void xorBEint( uint8_t* buff, size_t num, uint8_t pos ) +{ + do + buff[pos--] ^= (uint8_t) num; + while (num >>= 8); +} +#endif + #if CTR /** increment the value of a 128-bit counter block, regarding its endian-ness */ -static void incBlock( block_t block, uint8_t b ) +static void incBlock( block_t block, uint8_t index ) { - if (b) /* big-endian: inc the LSB, */ - { /* ..until no overflow */ - for (b = LAST; !++block[b]; ) --b; - return; - } - while (!++block[b]) /* little-endian counter */ - { - if (++b == 4) return; - } + do /* increment the LSBs, */ + if (++block[index]) /* ..until no overflow */ + break; + while ((index < 4 && ++index < 4) || --index > 8); } #endif #endif /* SMALL CIPHER */ @@ -432,113 +431,116 @@ static void incBlock( block_t block, uint8_t b ) #if EAX && !EAXP || SIV || OCB || CMAC /** Multiply a block by two in Galois bit field GF(2^128): big-endian version */ -static void doubleBGF128( block_t block ) +static void doubleBblock( block_t array ) { - int i, c = 0; + int c = 0, i; for (i = BLOCKSIZE; i > 0; c >>= 8) /* from last byte (LSB) to */ { /* first: left-shift, then */ - c |= block[--i] << 1; /* append the previous MSBit */ - block[i] = (uint8_t) c; + c |= array[--i] << 1; /* append the previous MSBit */ + array[i] = (uint8_t) c; } /* if first MSBit is carried */ - block[LAST] ^= c * 0x87; /* .. B ^= 10000111b (B.E.) */ + array[LAST] ^= c * 0x87; /* .. B ^= 10000111b (B.E.) */ } #endif #if XTS || EAXP -/** Multiply a block by two in the GF(2^128) field: the little-endian version */ -static void doubleLGF128( block_t block ) +/** Multiply a block by two in Galois field GF(2^128): little-endian version. */ +static void doubleLblock( block_t array ) { - int c = 0, i; - for (i = 0; i < BLOCKSIZE; c >>= 8) /* the same as doubleBGF128 */ + int i, c = 0; + for (i = 0; i < BLOCKSIZE; c >>= 8) /* the same as doubleBblock */ { /* ..but with reversed bytes */ - c |= block[i] << 1; - block[i++] = (uint8_t) c; + c |= array[i] << 1; + array[i++] = (uint8_t) c; } - block[0] ^= c * 0x87; /* B ^= 10000111b (L.E.) */ + array[0] ^= c * 0x87; /* B ^= 10000111b (L.E.) */ } #endif #if GCM -/** Divide a block by two in GF(2^128) field: used in big endian, 128bit mul. */ -static void halveBGF128( block_t block ) +/** Divide a 128-bit big-endian integer by two in Galois bit field GF(2^128). */ +static void divideBblock( block_t array ) { unsigned i, c = 0; - for (i = 0; i < BLOCKSIZE; c <<= 8) /* from first to last byte, */ + for (i = 0; i < BLOCKSIZE; ++i) /* from first to last byte, */ { /* prepend the previous LSB */ - c |= block[i]; /* then shift it to right. */ - block[i++] = (uint8_t) (c >> 1); + c = c << 8 | array[i]; /* then shift it to right. */ + array[i] = c >> 1; } /* if block is odd (LSB = 1) */ - if (c & 0x100) block[0] ^= 0xe1; /* .. B ^= 11100001b << 120 */ + if (c & 1) array[0] ^= 0xe1; /* .. B ^= 11100001b << 120 */ } -/** This function carries out multiplication in 128bit Galois field GF(2^128) */ +/** Multiply two 128-bit numbers (big-endian blocks) in the Galois bit field. */ static void mulGF128( const block_t x, block_t y ) { + uint8_t b, i; block_t result = { 0 }; /* working memory */ - uint8_t b, i = 0; - do + + for (i = 0; i < BLOCKSIZE; ++i) + { for (b = 0x80; b; b >>= 1) /* check all the bits of X, */ { if (x[i] & b) /* ..and if any bit is set, */ { xorBlock( y, result ); /* ..add Y to the result */ } - halveBGF128( y ); /* Y_next = (Y / 2) in GF */ + divideBblock( y ); /* Y_next = (Y / 2) in GF */ } - while (i++ != LAST); - + } memcpy( y, result, sizeof result ); /* result is saved into y */ } #endif /* GCM */ #if GCM_SIV -/** Divide a block by two in GF(2^128) field: the little-endian version (duh) */ -static void halveLGF128( block_t block ) +/** Divide a block by two in 128-bit Galois field: the little-endian version. */ +static void divideLblock( block_t array ) { unsigned c = 0, i; - for (i = BLOCKSIZE; i > 0; c <<= 8) /* the same as halveBGF128 ↑ */ + for (i = BLOCKSIZE; i--; ) /* similar to divideBblock ↑ */ { /* ..but with reversed bytes */ - c |= block[--i]; - block[i] = (uint8_t) (c >> 1); + c = c << 8 | array[i]; + array[i] = c >> 1; } - if (c & 0x100) block[LAST] ^= 0xe1; /* B ^= LE. 11100001b << 120 */ + if (c & 1) array[LAST] ^= 0xe1; /* B ^= LE. 11100001b << 120 */ } -/** Dot multiplication in GF(2^128) field: used in POLYVAL hash for GCM-SIV.. */ +/** The so-called "dot multiplying" in GF(2^128), used in POLYVAL calculation */ static void dotGF128( const block_t x, block_t y ) { + uint8_t b, i; block_t result = { 0 }; - uint8_t b, i = LAST; - do + + for (i = BLOCKSIZE; i--; ) + { for (b = 0x80; b; b >>= 1) /* pretty much the same as */ { /* ..(reversed) mulGF128 */ - halveLGF128( y ); + divideLblock( y ); if (x[i] & b) { xorBlock( y, result ); } } - while (i-- != 0); - + } memcpy( y, result, sizeof result ); /* result is saved into y */ } #endif /* GCM-SIV */ -#if CBC || CFB || OFB || CTR || OCB +#if CTR || CFB || OFB || CTS || OCB -/** Result of applying a function to block `B` is xor-ed with `X` to get `Y`. */ +/** mix/cipher the block B and then xor the result with n bytes of X to get Y */ static void mixThenXor( fmix_t mix, const block_t B, block_t f, const uint8_t* X, uint8_t n, uint8_t* Y ) { - if (n == 0) return; - - mix( B, f ); /* Y = f(B) ^ X */ - while (n--) + if (n != 0) { - Y[n] = f[n] ^ X[n]; + mix( B, f ); /* Y = f(B) ^ X */ + while (n--) + { + Y[n] = f[n] ^ X[n]; + } } } #endif @@ -546,11 +548,11 @@ static void mixThenXor( fmix_t mix, const block_t B, block_t f, #if AEAD_MODES || FPE /** xor the result with input data and then apply the digest/mixing function. - * repeat the process for each block of data until all blocks are digested... */ + * repeat this process for each block of data, until all blocks are digested. */ static void xMac( const void* data, const size_t dataSize, const block_t seed, fmix_t mix, block_t result ) { - uint8_t const *x; + uint8_t const* x; count_t n = dataSize / BLOCKSIZE; /* number of full blocks */ for (x = data; n--; x += BLOCKSIZE) @@ -558,47 +560,48 @@ static void xMac( const void* data, const size_t dataSize, xorBlock( x, result ); /* M_next = mix(seed, M ^ X) */ mix( seed, result ); } - for (n = dataSize % BLOCKSIZE; n--; ) + if ((n = dataSize % BLOCKSIZE) != 0) /* if any partial block left */ { - result[n] ^= x[n]; - if (!n) + while (n--) { - mix( seed, result ); + result[n] ^= x[n]; } + mix( seed, result ); } } #endif #if CMAC || SIV || EAX || OCB -/** calculate the CMAC of input data using pre-calculated keys: D (K1) and Q. */ -static void cMac( const block_t D, const block_t Q, +/** calculate CMAC of input data using pre-calculated keys: K1 (D) and K2 (Q) */ +static void cMac( const block_t K1, const block_t K2, const void* data, const size_t dataSize, block_t mac ) { const uint8_t s = dataSize ? (dataSize - 1) % BLOCKSIZE + 1 : 0; - const uint8_t *e = s ? (uint8_t const*) data + dataSize - s : &s; + const uint8_t *k = K1, *ps = s ? (uint8_t*) data + dataSize - s : &s; xMac( data, dataSize - s, mac, &rijndaelEncrypt, mac ); if (s < BLOCKSIZE) { - mac[s] ^= 0x80; + mac[s] ^= 0x80; /* pad( M_last; K1, K2 ) */ + k = K2; } - xorBlock( s < BLOCKSIZE ? Q : D, mac ); /* pad( M; D, Q ) */ - xMac( e, s + !s, mac, &rijndaelEncrypt, mac ); + xorBlock( k, mac ); + xMac( ps, s + !s, mac, &rijndaelEncrypt, mac ); } /** calculate key-dependent constants D and Q using a given doubling function */ -static void getSubkeys( fdouble_t fdouble, const char quad, +static void getSubkeys( fdouble_t gfdouble, const char quad, const uint8_t* key, block_t D, block_t Q ) { - AES_SetKey( key ); + AES_setkey( key ); rijndaelEncrypt( D, D ); /* H or L_* = Enc(zeros) */ if (quad) { - fdouble( D ); /* D or L_$ = double(L_*) */ + gfdouble( D ); /* D or L_$ = double(L_*) */ } memcpy( Q, D, BLOCKSIZE ); - fdouble( Q ); /* Q or L_0 = double(L_$) */ + gfdouble( Q ); /* Q or L_0 = double(L_$) */ } #endif @@ -607,15 +610,13 @@ static void getSubkeys( fdouble_t fdouble, const char quad, /** in ECB mode & CBC without CTS, the last (partial) block has to be padded. */ static char padBlock( const uint8_t len, block_t block ) { -#if AES_PADDING uint8_t n = BLOCKSIZE - len, *p = &block[len]; + +#if AES_PADDING memset( p, n * (AES_PADDING != 2), n ); *p ^= (0x80) * (AES_PADDING == 2); /* either PKCS#7 / IEC7816-4 */ #else - if (len) /* default (zero) padding */ - { - memset( block + len, 0, BLOCKSIZE - len ); - } + memset( p, 0, n % BLOCKSIZE ); /* default (zero) padding */ #endif return len || AES_PADDING; } @@ -634,13 +635,13 @@ static char padBlock( const uint8_t len, block_t block ) * @param crtxt resulting cipher-text buffer */ void AES_ECB_encrypt( const uint8_t* key, - const uint8_t* pntxt, const size_t ptextLen, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, void* crtxt ) { - uint8_t *y; + uint8_t* y; count_t n = ptextLen / BLOCKSIZE; /* number of full blocks */ memcpy( crtxt, pntxt, ptextLen ); /* copy plaintext to output */ - AES_SetKey( key ); + AES_setkey( key ); for (y = crtxt; n--; y += BLOCKSIZE) { rijndaelEncrypt( y, y ); /* C = Enc(P) */ @@ -658,16 +659,16 @@ void AES_ECB_encrypt( const uint8_t* key, * @param crtxt input ciphertext buffer * @param crtxtLen size of ciphertext in bytes * @param pntxt resulting plaintext buffer - * @return whether size of ciphertext is a multiple of BLOCKSIZE + * @return error if the ciphertext has a partial block */ char AES_ECB_decrypt( const uint8_t* key, - const uint8_t* crtxt, const size_t crtxtLen, uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, void* pntxt ) { - uint8_t *y; + uint8_t* y; count_t n = crtxtLen / BLOCKSIZE; memcpy( pntxt, crtxt, crtxtLen ); /* do in-place decryption */ - AES_SetKey( key ); + AES_setkey( key ); for (y = pntxt; n--; y += BLOCKSIZE) { rijndaelDecrypt( y, y ); /* P = Dec(C) */ @@ -675,8 +676,8 @@ char AES_ECB_decrypt( const uint8_t* key, BURN( RoundKey ); /* if padding is enabled, check whether the result is properly padded. error - * must be thrown if it's not. we skip this here and just check the size. */ - return crtxtLen % BLOCKSIZE ? DECRYPTION_FAILURE : ENDED_IN_SUCCESS; + * must be thrown if it's not. here we skip that and just check the size. */ + return crtxtLen % BLOCKSIZE ? M_DECRYPTION_ERROR : M_RESULT_SUCCESS; } #endif /* ECB */ @@ -692,37 +693,37 @@ char AES_ECB_decrypt( const uint8_t* key, * @param pntxt input plaintext buffer * @param ptextLen size of plaintext in bytes * @param crtxt resulting cipher-text buffer - * @return whether plaintext size is >= BLOCKSIZE for CTS mode + * @return error in CTS mode, if plaintext is a single partial block */ char AES_CBC_encrypt( const uint8_t* key, const block_t iVec, - const uint8_t* pntxt, const size_t ptextLen, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, void* crtxt ) { - uint8_t const *iv = iVec; + uint8_t const* iv = iVec; uint8_t r = ptextLen % BLOCKSIZE, *y; count_t n = ptextLen / BLOCKSIZE; -#if CTS - if (n == 0) return ENCRYPTION_FAILURE; /* size of data >= BLOCKSIZE */ - if (r == 0 && --n) r = BLOCKSIZE; - n += !n; /* if single block, set n=1 */ +#if CTS + if (n > 1 && !r && --n) r = BLOCKSIZE; /* CS3 ciphertext stealing */ + + if (n == 0) return M_ENCRYPTION_ERROR; /* data size >= BLOCKSIZE */ #endif memcpy( crtxt, pntxt, ptextLen ); /* do in-place encryption */ - AES_SetKey( key ); + AES_setkey( key ); for (y = crtxt; n--; y += BLOCKSIZE) { xorBlock( iv, y ); /* C = Enc(IV ^ P) */ rijndaelEncrypt( y, y ); /* IV_next = C */ iv = y; } -#if CTS /* cipher-text stealing CS3 */ +#if CTS if (r) { - block_t yn = { 0 }; - memcpy( yn, y, r ); /* backup the last chunk */ + block_t L = { 0 }; + memcpy( L, y, r ); /* backup the last chunk */ memcpy( y, y - BLOCKSIZE, r ); /* 'steal' the cipher-text */ y -= BLOCKSIZE; /* ..to fill the last chunk */ - iv = yn; + iv = L; #else if (padBlock( r, y )) { @@ -731,7 +732,7 @@ char AES_CBC_encrypt( const uint8_t* key, const block_t iVec, rijndaelEncrypt( y, y ); } BURN( RoundKey ); - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } /** @@ -741,42 +742,44 @@ char AES_CBC_encrypt( const uint8_t* key, const block_t iVec, * @param crtxt input ciphertext buffer * @param crtxtLen size of ciphertext in bytes * @param pntxt resulting plaintext buffer - * @return whether size of ciphertext is a multiple of BLOCKSIZE + * @return error if the size of ciphertext is not a valid value */ char AES_CBC_decrypt( const uint8_t* key, const block_t iVec, - const uint8_t* crtxt, const size_t crtxtLen, uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, void* pntxt ) { uint8_t const *x = crtxt, *iv = iVec; uint8_t r = crtxtLen % BLOCKSIZE, *y; count_t n = crtxtLen / BLOCKSIZE; + #if CTS - if (n == 0) return DECRYPTION_FAILURE; + if (n > 1 && !r && --n) r = BLOCKSIZE; - if (r == 0 && --n) r = BLOCKSIZE; - n -= (r > 0) - !n; /* hold the last two blocks */ + if (n == 0) return M_DECRYPTION_ERROR; #else - if (r) return DECRYPTION_FAILURE; + if (r != 0) return M_DECRYPTION_ERROR; #endif + n -= r > 0; /* hold last 2 blocks in CTS */ - AES_SetKey( key ); + AES_setkey( key ); for (y = pntxt; n--; y += BLOCKSIZE) { rijndaelDecrypt( x, y ); /* P = Dec(C) ^ IV */ xorBlock( iv, y ); /* IV_next = C */ iv = x; x += BLOCKSIZE; - } /* r = 0 unless CTS enabled */ +#if CTS + } if (r) - { /* P2 = Dec(C1) ^ C2 */ - mixThenXor( &rijndaelDecrypt, x, y, x + BLOCKSIZE, r, y + BLOCKSIZE ); - memcpy( y, x + BLOCKSIZE, r ); - rijndaelDecrypt( y, y ); /* P1 = Dec(T) ^ IV, where */ - xorBlock( iv, y ); /* T = C2 padded by Dec(C1) */ + { /* last two blocks: {X, Z} */ + const uint8_t* z = x + BLOCKSIZE; + mixThenXor( &rijndaelDecrypt, x, y, z, r, y + BLOCKSIZE ); + memcpy( y, z, r ); + rijndaelDecrypt( y, y ); /* P2 = Z ^ Dec(X) = Z ^ Y */ + xorBlock( iv, y ); /* P1 = IV ^ Dec(Z | *Y) */ +#endif } BURN( RoundKey ); - - /* note: if padding was applied, check whether output is properly padded. */ - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* CBC */ @@ -794,20 +797,21 @@ char AES_CBC_decrypt( const uint8_t* key, const block_t iVec, * @param dataSize size of input in bytes * @param output buffer of the resulting cipher/plain-text */ -static void CFB_Cipher( const uint8_t* key, const block_t iVec, const char mode, +static void CFB_cipher( const uint8_t* key, const block_t iVec, const char mode, const void* input, const size_t dataSize, void* output ) { - uint8_t const *iv = iVec, *x; - uint8_t *y = output, tmp[BLOCKSIZE]; + uint8_t const *iv = iVec, *x = input; + uint8_t* y; + block_t tmp; count_t n = dataSize / BLOCKSIZE; /* number of full blocks */ - AES_SetKey( key ); - for (x = input; n--; x += BLOCKSIZE) + AES_setkey( key ); + for (y = output; n--; y += BLOCKSIZE) { rijndaelEncrypt( iv, y ); /* both in en[de]cryption: */ xorBlock( x, y ); /* Y = Enc(IV) ^ X */ iv = mode ? y : x; /* IV_next = Ciphertext */ - y += BLOCKSIZE; + x += BLOCKSIZE; } mixThenXor( &rijndaelEncrypt, iv, tmp, x, dataSize % BLOCKSIZE, y ); BURN( RoundKey ); @@ -822,9 +826,9 @@ static void CFB_Cipher( const uint8_t* key, const block_t iVec, const char mode, * @param crtxt resulting cipher-text buffer */ void AES_CFB_encrypt( const uint8_t* key, const block_t iVec, - const uint8_t* pntxt, const size_t ptextLen, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, void* crtxt ) { - CFB_Cipher( key, iVec, 1, pntxt, ptextLen, crtxt ); + CFB_cipher( key, iVec, 1, pntxt, ptextLen, crtxt ); } /** @@ -836,9 +840,9 @@ void AES_CFB_encrypt( const uint8_t* key, const block_t iVec, * @param pntxt resulting plaintext buffer */ void AES_CFB_decrypt( const uint8_t* key, const block_t iVec, - const uint8_t* crtxt, const size_t crtxtLen, uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, void* pntxt ) { - CFB_Cipher( key, iVec, 0, crtxt, crtxtLen, pntxt ); + CFB_cipher( key, iVec, 0, crtxt, crtxtLen, pntxt ); } #endif /* CFB */ @@ -856,16 +860,16 @@ void AES_CFB_decrypt( const uint8_t* key, const block_t iVec, * @param crtxt resulting cipher-text buffer */ void AES_OFB_encrypt( const uint8_t* key, const block_t iVec, - const uint8_t* pntxt, const size_t ptextLen, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, void* crtxt ) { count_t n = ptextLen / BLOCKSIZE; - uint8_t *y; + uint8_t* y; block_t iv; memcpy( iv, iVec, sizeof iv ); memcpy( crtxt, pntxt, ptextLen ); /* i.e. in-place encryption */ - AES_SetKey( key ); + AES_setkey( key ); for (y = crtxt; n--; y += BLOCKSIZE) { rijndaelEncrypt( iv, iv ); /* IV_next = Enc(IV) */ @@ -884,7 +888,7 @@ void AES_OFB_encrypt( const uint8_t* key, const block_t iVec, * @param pntxt resulting plaintext buffer */ void AES_OFB_decrypt( const uint8_t* key, const block_t iVec, - const uint8_t* crtxt, const size_t crtxtLen, uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, void* pntxt ) { AES_OFB_encrypt( key, iVec, crtxt, crtxtLen, pntxt ); } @@ -899,28 +903,40 @@ void AES_OFB_decrypt( const uint8_t* key, const block_t iVec, /** * @brief the general scheme of operation in block-counter mode * @param iCtr initialized counter block - * @param big big-endian block increment (1, 2) or little endian (0) + * @param mode specifies the "counter based" block-cipher or AEAD mode * @param input buffer of the input plain/cipher-text * @param dataSize size of input in bytes * @param output buffer of the resulting cipher/plain-text */ -static void CTR_Cipher( const block_t iCtr, const char big, +static void CTR_cipher( const block_t iCtr, const char mode, const void* input, const size_t dataSize, void* output ) { block_t c, enc; count_t n = dataSize / BLOCKSIZE; - uint8_t *y; + uint8_t index = LAST, *y; memcpy( output, input, dataSize ); /* do in-place en/decryption */ memcpy( c, iCtr, sizeof c ); - if (big > 1) incBlock( c, 1 ); /* pre-increment for CCM/GCM */ - + switch (mode) + { + case 2: + incBlock( c, index ); /* pre-increment in CCM/GCM */ + break; + case 4: + c[+8] &= 0x7F; /* SIV mode: clear two bits */ + c[12] &= 0x7F; + break; + case 8: /* GCM-SIV: set one bit */ + c[index] |= 0x80; + index = 0; + break; + } for (y = output; n--; y += BLOCKSIZE) { rijndaelEncrypt( c, enc ); /* both in en[de]cryption: */ xorBlock( enc, y ); /* Y = Enc(Ctr) ^ X */ - incBlock( c, big ); /* Ctr_next = Ctr + 1 */ + incBlock( c, index ); /* Ctr_next = Ctr + 1 */ } mixThenXor( &rijndaelEncrypt, c, c, y, dataSize % BLOCKSIZE, y ); } @@ -936,17 +952,18 @@ static void CTR_Cipher( const block_t iCtr, const char big, * @param crtxt resulting cipher-text buffer */ void AES_CTR_encrypt( const uint8_t* key, const uint8_t* iv, - const uint8_t* pntxt, const size_t ptextLen, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, void* crtxt ) { -#if CTR_IV_LENGTH == BLOCKSIZE -#define CTRBLOCK iv +#if CTR_IV_LENGTH == 16 + uint8_t const* ctr = iv; /* block is pre-initialized */ #else - block_t CTRBLOCK = { 0 }; - memcpy( CTRBLOCK, iv, CTR_IV_LENGTH ); - xorBENum( CTRBLOCK, CTR_STARTVALUE, LAST ); /* initialize the counter */ + block_t ctr = { 0 }; + memcpy( ctr, iv, CTR_IV_LENGTH ); + + xorBEint( ctr, CTR_STARTVALUE, LAST ); /* initialize the counter */ #endif - AES_SetKey( key ); - CTR_Cipher( CTRBLOCK, 1, pntxt, ptextLen, crtxt ); + AES_setkey( key ); + CTR_cipher( ctr, 0, pntxt, ptextLen, crtxt ); BURN( RoundKey ); } @@ -959,7 +976,7 @@ void AES_CTR_encrypt( const uint8_t* key, const uint8_t* iv, * @param pntxt resulting plaintext buffer */ void AES_CTR_decrypt( const uint8_t* key, const uint8_t* iv, - const uint8_t* crtxt, const size_t crtxtLen, uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, void* pntxt ) { AES_CTR_encrypt( key, iv, crtxt, crtxtLen, pntxt ); } @@ -967,47 +984,66 @@ void AES_CTR_decrypt( const uint8_t* key, const uint8_t* iv, /*----------------------------------------------------------------------------*\ - XEX-AES based modes (xor-encrypt-xor): demonstrating the main idea + XEX-AES based modes (xor-encrypt-xor): the basic idea + main functions of XTS-AES (XEX Tweaked-codebook with ciphertext Stealing) \*----------------------------------------------------------------------------*/ #if IMPLEMENT(XTS) /** - * @brief encrypt or decrypt a data unit with given key-pair using XEX method - * @param cipher block cipher function: rijndaelEncrypt or rijndaelDecrypt + * @brief encrypt or decrypt a data unit with XTS method * @param keypair pair of encryption keys, each one has KEYSIZE bytes + * @param mode mode of operation: encrypting (1) or decrypting (0) * @param tweak data unit identifier block, similar to nonce in CTR mode - * @param sectid sector id: if the given value is -1, use tweak value + * @param sectid sector id: in case of a null tweak, use this instead * @param dataSize size of input data, to be encrypted/decrypted - * @param T one-time pad which is xor-ed with both plain/cipher text - * @param storage working memory; result of encryption/decryption process + * @param storage result of encryption/decryption process */ -static void XEX_Cipher( fmix_t cipher, const uint8_t* keypair, +static void XTS_cipher( const uint8_t* keypair, const char mode, const block_t tweak, const size_t sectid, - const size_t dataSize, block_t T, void* storage ) + const size_t dataSize, void* storage ) { - uint8_t *y; - count_t n = dataSize / BLOCKSIZE; + fmix_t cipher = mode ? &rijndaelEncrypt : &rijndaelDecrypt; + uint8_t r = dataSize % BLOCKSIZE, *y; + count_t n = dataSize / BLOCKSIZE - (r > 0); + block_t T; - if (sectid == ~(size_t) 0) + if (tweak == NULL) { /* the `i` block is either */ - memcpy( T, tweak, BLOCKSIZE ); /* ..a little-endian number */ - } /* ..or a byte array. */ + memset( T, 0, sizeof T ); /* ..a little-endian number */ + copyLint( T, sectid, 0 ); /* ..or a byte array (tweak) */ + } else { - memset( T, 0, BLOCKSIZE ); - copyLNum( T, sectid, 0 ); + memcpy( T, tweak, sizeof T ); } - AES_SetKey( keypair + KEYSIZE ); /* T = encrypt `i` with key2 */ + AES_setkey( keypair + KEYSIZE ); /* T = encrypt `i` with key2 */ rijndaelEncrypt( T, T ); - AES_SetKey( keypair ); /* key1 is set as cipher key */ + AES_setkey( keypair ); /* now key1 is cipher key */ for (y = storage; n--; y += BLOCKSIZE) - { - xorBlock( T, y ); /* xor T with input */ + { /* XEX: xor-encrypt-xor */ + xorBlock( T, y ); cipher( y, y ); xorBlock( T, y ); /* Y = T ^ Cipher( T ^ X ) */ - doubleLGF128( T ); /* T_next = T * alpha */ + doubleLblock( T ); /* T_next = alpha · T */ } + if (r) + { /* XTS: ciphertext stealing */ + block_t L; + memcpy( L, T, sizeof L ); + doubleLblock( mode ? T : L ); /* T = α·L or L = α·T */ + + xorBlock( L, y ); + cipher( y, y ); + xorBlock( L, y ); + memcpy( L, y, sizeof L ); + memcpy( y, y + BLOCKSIZE, r ); /* 'steal' the cipher-text */ + memcpy( y + BLOCKSIZE, L, r ); /* ..to fill the last chunk */ + + xorBlock( T, y ); + cipher( y, y ); /* encrypt or decrypt the */ + xorBlock( T, y ); /* ..block we stole from */ + } + BURN( RoundKey ); } /** @@ -1017,29 +1053,16 @@ static void XEX_Cipher( fmix_t cipher, const uint8_t* keypair, * @param pntxt input plaintext buffer * @param ptextLen size of plaintext in bytes * @param crtxt resulting cipher-text buffer + * @return error if plaintext is a single partial block */ char AES_XTS_encrypt( const uint8_t* keys, const uint8_t* tweak, - const uint8_t* pntxt, const size_t ptextLen, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, void* crtxt ) { - uint8_t r = ptextLen % BLOCKSIZE, *c; - size_t len = ptextLen - r; - block_t T; + if (ptextLen < BLOCKSIZE) return M_ENCRYPTION_ERROR; - if (len == 0) return ENCRYPTION_FAILURE; - - memcpy( crtxt, pntxt, len ); /* do in-place encryption */ - c = crtxt + len - BLOCKSIZE; - XEX_Cipher( &rijndaelEncrypt, keys, tweak, ~0, len, T, crtxt ); - if (r) - { /* XTS for partial block */ - memcpy( crtxt + len, c, r ); /* 'steal' the cipher-text */ - memcpy( c, pntxt + len, r ); /* ..to fill the last chunk */ - xorBlock( T, c ); - rijndaelEncrypt( c, c ); - xorBlock( T, c ); - } - BURN( RoundKey ); - return ENDED_IN_SUCCESS; + memcpy( crtxt, pntxt, ptextLen ); /* do in-place encryption */ + XTS_cipher( keys, 1, tweak, 0, ptextLen, crtxt ); + return M_RESULT_SUCCESS; } /** @@ -1049,35 +1072,16 @@ char AES_XTS_encrypt( const uint8_t* keys, const uint8_t* tweak, * @param crtxt input ciphertext buffer * @param crtxtLen size of ciphertext in bytes * @param pntxt resulting plaintext buffer + * @return error if ciphertext is a single partial block */ char AES_XTS_decrypt( const uint8_t* keys, const uint8_t* tweak, - const uint8_t* crtxt, const size_t crtxtLen, uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, void* pntxt ) { - uint8_t r = crtxtLen % BLOCKSIZE, *p; - size_t len = crtxtLen - r; - block_t TT, T; + if (crtxtLen < BLOCKSIZE) return M_DECRYPTION_ERROR; - if (len == 0) return DECRYPTION_FAILURE; - - memcpy( pntxt, crtxt, len ); /* in-place decryption */ - p = pntxt + len - BLOCKSIZE; - XEX_Cipher( &rijndaelDecrypt, keys, tweak, ~0, len - BLOCKSIZE, T, pntxt ); - if (r) - { - memcpy( TT, T, sizeof T ); - doubleLGF128( TT ); /* TT = T * alpha, */ - xorBlock( TT, p ); /* because the stolen */ - rijndaelDecrypt( p, p ); /* ..ciphertext was xor-ed */ - xorBlock( TT, p ); /* ..with TT in encryption */ - memcpy( pntxt + len, p, r ); - memcpy( p, crtxt + len, r ); - } - xorBlock( T, p ); - rijndaelDecrypt( p, p ); - xorBlock( T, p ); - - BURN( RoundKey ); - return ENDED_IN_SUCCESS; + memcpy( pntxt, crtxt, crtxtLen ); /* in-place decryption */ + XTS_cipher( keys, 0, tweak, 0, crtxtLen, pntxt ); + return M_RESULT_SUCCESS; } #endif /* XTS */ @@ -1098,7 +1102,8 @@ void AES_CMAC( const uint8_t* key, { block_t K1 = { 0 }, K2; memcpy( mac, K1, sizeof K1 ); /* initialize mac */ - getSubkeys( &doubleBGF128, 1, key, K1, K2 ); + + getSubkeys( &doubleBblock, 1, key, K1, K2 ); cMac( K1, K2, data, dataSize, mac ); BURN( RoundKey ); } @@ -1110,27 +1115,27 @@ void AES_CMAC( const uint8_t* key, \*----------------------------------------------------------------------------*/ #if IMPLEMENT(GCM) -/** calculate the GMAC of ciphertext and AAD using an authentication subkey H */ -static void GHash( const block_t H, const void* aData, const void* crtxt, - const size_t adataLen, const size_t crtxtLen, block_t gsh ) +/** calculate G-Hash of ciphertext and AAD using an authentication subkey `H` */ +static void Ghash( const block_t H, const void* aData, const void* crtxt, + const size_t aDataLen, const size_t crtxtLen, block_t gh ) { block_t len = { 0 }; - xorBENum( len, adataLen * 8, LAST / 2 ); - xorBENum( len, crtxtLen * 8, LAST ); /* save bit-sizes into len */ + xorBEint( len, aDataLen * 8, LAST / 2 ); + xorBEint( len, crtxtLen * 8, LAST ); /* save bit-sizes into len */ - xMac( aData, adataLen, H, &mulGF128, gsh ); /* first digest AAD, then */ - xMac( crtxt, crtxtLen, H, &mulGF128, gsh ); /* ..ciphertext, and then */ - xMac( len, sizeof len, H, &mulGF128, gsh ); /* ..bit sizes into GHash */ + xMac( aData, aDataLen, H, &mulGF128, gh ); /* first digest AAD, then */ + xMac( crtxt, crtxtLen, H, &mulGF128, gh ); /* ..ciphertext, and then */ + xMac( len, sizeof len, H, &mulGF128, gh ); /* ..bit sizes into GHash */ } /** encrypt zeros to get authentication subkey H, and prepare the IV for GCM. */ -static void GCM_Init( const uint8_t* key, - const uint8_t* nonce, block_t authKey, block_t iv ) +static void GCMinit( const uint8_t* key, + const uint8_t* nonce, block_t auKey, block_t iv ) { - AES_SetKey( key ); - rijndaelEncrypt( authKey, authKey ); /* authKey = Enc(zero block) */ + AES_setkey( key ); + rijndaelEncrypt( auKey, auKey ); /* auKey = Enc( zero block ) */ #if GCM_NONCE_LEN != 12 - GHash( authKey, NULL, nonce, 0, GCM_NONCE_LEN, iv ); + Ghash( auKey, NULL, nonce, 0, GCM_NONCE_LEN, iv ); #else memcpy( iv, nonce, 12 ); iv[LAST] = 1; @@ -1153,14 +1158,16 @@ void AES_GCM_encrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* aData, const size_t aDataLen, uint8_t* crtxt, block_t auTag ) { - block_t H = { 0 }, iv = { 0 }, gsh = { 0 }; - GCM_Init( key, nonce, H, iv ); /* get IV & auth. subkey H */ + block_t gh = { 0 }, H = { 0 }, iv = { 0 }; + GCMinit( key, nonce, H, iv ); /* get IV & auth. subkey H */ - CTR_Cipher( iv, 2, pntxt, ptextLen, crtxt ); - rijndaelEncrypt( iv, auTag ); /* tag = Enc(iv) ^ GHASH */ + CTR_cipher( iv, 2, pntxt, ptextLen, crtxt ); + rijndaelEncrypt( iv, iv ); BURN( RoundKey ); - GHash( H, aData, crtxt, aDataLen, ptextLen, gsh ); - xorBlock( gsh, auTag ); + + Ghash( H, aData, crtxt, aDataLen, ptextLen, gh ); + xorBlock( iv, gh ); + memcpy( auTag, gh, BLOCKSIZE ); /* GMAC = Enc(iv) ^ G-HASH */ } /** @@ -1173,27 +1180,28 @@ void AES_GCM_encrypt( const uint8_t* key, const uint8_t* nonce, * @param aDataLen size of additional authentication data * @param tagLen length of authentication tag * @param pntxt resulting plaintext buffer - * @return whether message authentication was successful + * @return whether message authentication/decryption was successful */ char AES_GCM_decrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* crtxt, const size_t crtxtLen, const uint8_t* aData, const size_t aDataLen, const uint8_t tagLen, uint8_t* pntxt ) { - block_t H = { 0 }, iv = { 0 }, gsh = { 0 }; - GCM_Init( key, nonce, H, iv ); - GHash( H, aData, crtxt, aDataLen, crtxtLen, gsh ); + block_t gh = { 0 }, H = { 0 }, iv = { 0 }; + GCMinit( key, nonce, H, iv ); + Ghash( H, aData, crtxt, aDataLen, crtxtLen, gh ); rijndaelEncrypt( iv, H ); - xorBlock( H, gsh ); /* tag = Enc(iv) ^ GHASH */ - if (MISMATCH( gsh, crtxt + crtxtLen, tagLen )) + xorBlock( gh, H ); /* tag = Enc(iv) ^ G-HASH */ + + if (MISMATCH( H, crtxt + crtxtLen, tagLen )) { /* compare tags and */ BURN( RoundKey ); /* ..proceed if they match */ - return AUTHENTICATION_FAILURE; + return M_AUTHENTICATION_ERROR; } - CTR_Cipher( iv, 2, crtxt, crtxtLen, pntxt ); + CTR_cipher( iv, 2, crtxt, crtxtLen, pntxt ); BURN( RoundKey ); - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* GCM */ @@ -1204,7 +1212,7 @@ char AES_GCM_decrypt( const uint8_t* key, const uint8_t* nonce, #if IMPLEMENT(CCM) /** this function calculates the CBC-MAC of plaintext and authentication data */ -static void CBCMac( const block_t iv, const void* aData, const void* pntxt, +static void CCMtag( const block_t iv, const void* aData, const void* pntxt, const size_t aDataLen, const size_t ptextLen, block_t M ) { block_t A = { 0 }; @@ -1212,27 +1220,31 @@ static void CBCMac( const block_t iv, const void* aData, const void* pntxt, memcpy( M, iv, BLOCKSIZE ); /* initialize CBC-MAC */ M[0] |= (CCM_TAG_LEN - 2) << 2; /* set some flags on M_* */ - xorBENum( M, ptextLen, LAST ); /* copy data size into M_* */ + xorBEint( M, ptextLen, LAST ); /* copy data size into M_* */ - if (aDataLen) /* feed aData into CBC-MAC */ + if (aDataLen) /* construct the 'A' block */ { M[0] |= 0x40; rijndaelEncrypt( M, M ); /* flag M_* and encrypt it */ if (aDataLen > 0xFEFF) { /* assuming aDataLen < 2^32 */ s -= 4; - A[0] = 0xFF; A[1] = 0xFE; /* prepend FFFE to aDataLen */ + A[0] = 0xFF, A[1] = 0xFE; /* prepend FFFE to aDataLen */ } - xorBENum( A, aDataLen, LAST - s ); /* copy aDataLen into A, */ + xorBEint( A, aDataLen, LAST - s ); /* copy aDataLen into A, */ memcpy( A + sizeof A - s, aData, s ); /* ..and append aData */ } - xMac( A, sizeof A, M, &rijndaelEncrypt, M ); /* CBC-MAC start of aData, */ - if (aDataLen > s) /* and then the rest of it */ + /* digest the first s bytes of aData, the rest of it, and then plaintext: */ + xMac( A, sizeof A, M, &rijndaelEncrypt, M ); + if (aDataLen > s) { - xMac( (char const*) aData + s, aDataLen - s, M, &rijndaelEncrypt, M ); + xMac( (char*) aData + s, aDataLen - s, M, &rijndaelEncrypt, M ); } xMac( pntxt, ptextLen, M, &rijndaelEncrypt, M ); + + rijndaelEncrypt( iv, A ); /* tag = Enc(iv) ^ CBCMac */ + xorBlock( A, M ); } /** @@ -1244,22 +1256,21 @@ static void CBCMac( const block_t iv, const void* aData, const void* pntxt, * @param aData additional authentication data * @param aDataLen size of additional authentication data * @param crtxt resulting cipher-text buffer - * @param auTag message authentication tag. buffer must be 16-bytes long + * @param auTag message authentication tag */ void AES_CCM_encrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* pntxt, const size_t ptextLen, const uint8_t* aData, const size_t aDataLen, - uint8_t* crtxt, block_t auTag ) + uint8_t* crtxt, uint8_t* auTag ) { - block_t iv = { 14 - CCM_NONCE_LEN, 0 }, cbc; + block_t iv = { 14 - CCM_NONCE_LEN, 0 }, tag; memcpy( iv + 1, nonce, CCM_NONCE_LEN ); - AES_SetKey( key ); - CBCMac( iv, aData, pntxt, aDataLen, ptextLen, cbc ); - CTR_Cipher( iv, 2, pntxt, ptextLen, crtxt ); - rijndaelEncrypt( iv, auTag ); - xorBlock( cbc, auTag ); /* tag = Enc(iv) ^ CBC-MAC */ + AES_setkey( key ); + CCMtag( iv, aData, pntxt, aDataLen, ptextLen, tag ); + CTR_cipher( iv, 2, pntxt, ptextLen, crtxt ); BURN( RoundKey ); + memcpy( auTag, tag, CCM_TAG_LEN ); } /** @@ -1270,33 +1281,31 @@ void AES_CCM_encrypt( const uint8_t* key, const uint8_t* nonce, * @param crtxtLen size of ciphertext, excluding tag * @param aData additional authentication data * @param aDataLen size of additional authentication data - * @param tagLen length of authentication tag (if any) + * @param tagLen length of authentication tag * @param pntxt resulting plaintext buffer - * @return whether message authentication was successful + * @return whether message decryption/authentication was successful */ char AES_CCM_decrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* crtxt, const size_t crtxtLen, const uint8_t* aData, const size_t aDataLen, const uint8_t tagLen, uint8_t* pntxt ) { - block_t iv = { 14 - CCM_NONCE_LEN, 0 }, cbc; + block_t iv = { 14 - CCM_NONCE_LEN, 0 }, tag; memcpy( iv + 1, nonce, CCM_NONCE_LEN ); - if (tagLen && tagLen != CCM_TAG_LEN) return DECRYPTION_FAILURE; + if (tagLen != CCM_TAG_LEN) return M_DECRYPTION_ERROR; - AES_SetKey( key ); - CTR_Cipher( iv, 2, crtxt, crtxtLen, pntxt ); - CBCMac( iv, aData, pntxt, aDataLen, crtxtLen, cbc ); - rijndaelEncrypt( iv, iv ); /* tag = Enc(iv) ^ CBC-MAC */ + AES_setkey( key ); + CTR_cipher( iv, 2, crtxt, crtxtLen, pntxt ); + CCMtag( iv, aData, pntxt, aDataLen, crtxtLen, tag ); BURN( RoundKey ); - xorBlock( iv, cbc ); /* verify the resulting tag */ - if (MISMATCH( cbc, crtxt + crtxtLen, tagLen )) - { + if (MISMATCH( tag, crtxt + crtxtLen, tagLen )) + { /* invalid tag: clear pntxt */ SABOTAGE( pntxt, crtxtLen ); - return AUTHENTICATION_FAILURE; + return M_AUTHENTICATION_ERROR; } - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* CCM */ @@ -1311,39 +1320,38 @@ static void S2V( const uint8_t* key, const void* aData, const void* pntxt, const size_t aDataLen, const size_t ptextLen, block_t IV ) { - block_t K[2], Y; - uint8_t r = ptextLen % BLOCKSIZE, *D = K[0], *Q = K[1]; + block_t K[2] = { { 0 } }, Y; + uint8_t r = ptextLen % BLOCKSIZE, *Q = K[1]; - memset( *K, 0, BLOCKSIZE ); - memset( IV, 0, BLOCKSIZE ); /* initialize/clear IV */ - getSubkeys( &doubleBGF128, 1, key, D, Q ); - rijndaelEncrypt( D, Y ); /* Y_0 = CMAC(zero block) */ + memcpy( IV, *K, BLOCKSIZE ); /* initialize/clear IV */ + getSubkeys( &doubleBblock, 1, key, *K, Q ); + rijndaelEncrypt( *K, Y ); /* Y_0 = CMAC(zero block) */ - /* in case of multiple AAD units, each must be handled the same way as this. - * e.g. let aData be a 2D array and aDataLen a null-terminated one. then the - * following three lines starting with `if (aDataLen)` can be replaced by: - * for (i = 0; *aDataLen; ++i) { cMac( D, Q, aData[i], *aDataLen++, IV ); */ + /* in case of multiple AAD units, each one must be handled in a similar way. + * for example, let aData be a 2-D array and aDataLen a null-terminated one. + * then, instead of `if (aDataLen) { cMac( *K, Q, aData,...` we could write: + * for (int i = 0; *aDataLen; ){ cMac(*K, Q, aData[i++], *aDataLen++, IV) */ if (aDataLen) { - cMac( D, Q, aData, aDataLen, IV ); - doubleBGF128( Y ); /* Y_$ = double( Y_{i-1} ) */ + cMac( *K, Q, aData, aDataLen, IV ); + doubleBblock( Y ); /* Y_$ = double( Y_{i-1} ) */ xorBlock( IV, Y ); /* Y_i = Y_$ ^ CMAC(AAD_i) */ memset( IV, 0, BLOCKSIZE ); } if (ptextLen < sizeof Y) { /* for short messages: */ - doubleBGF128( Y ); /* Y = double( Y_n ) */ + doubleBblock( Y ); /* Y = double( Y_n ) */ r = 0; } if (r) { - memset( D, 0, BLOCKSIZE ); + memset( *K, 0, BLOCKSIZE ); } - xorBlock( Y, D + r ); - cMac( D, D, pntxt, ptextLen - r, IV ); /* CMAC*( Y xor_end M ) */ + xorBlock( Y, *K + r ); + cMac( *K, *K, pntxt, ptextLen - r, IV ); /* CMAC*( Y xor_end M ) */ if (r) { - cMac( NULL, Q, (const char*) pntxt + ptextLen - r, r, IV ); + cMac( NULL, Q, (char*) pntxt + ptextLen - r, r, IV ); } } @@ -1358,17 +1366,13 @@ static void S2V( const uint8_t* key, * @param crtxt resulting cipher-text buffer */ void AES_SIV_encrypt( const uint8_t* keys, - const uint8_t* pntxt, const size_t ptextLen, - const uint8_t* aData, const size_t aDataLen, - block_t iv, uint8_t* crtxt ) + const void* pntxt, const size_t ptextLen, + const void* aData, const size_t aDataLen, + block_t iv, void* crtxt ) { - block_t IV; - S2V( keys, aData, pntxt, aDataLen, ptextLen, IV ); - memcpy( iv, IV, sizeof IV ); - IV[8] &= 0x7F; IV[12] &= 0x7F; /* clear 2 bits for cipher */ - - AES_SetKey( keys + KEYSIZE ); - CTR_Cipher( IV, 1, pntxt, ptextLen, crtxt ); + S2V( keys, aData, pntxt, aDataLen, ptextLen, iv ); + AES_setkey( keys + KEYSIZE ); + CTR_cipher( iv, 4, pntxt, ptextLen, crtxt ); BURN( RoundKey ); } @@ -1381,44 +1385,42 @@ void AES_SIV_encrypt( const uint8_t* keys, * @param aData additional authentication data * @param aDataLen size of additional authentication data * @param pntxt resulting plaintext buffer - * @return whether synthesized I.V. matched the provided one + * @return whether message decryption/authentication was successful */ char AES_SIV_decrypt( const uint8_t* keys, const block_t iv, - const uint8_t* crtxt, const size_t crtxtLen, - const uint8_t* aData, const size_t aDataLen, - uint8_t* pntxt ) + const void* crtxt, const size_t crtxtLen, + const void* aData, const size_t aDataLen, + void* pntxt ) { block_t IV; - memcpy( IV, iv, sizeof IV ); - IV[8] &= 0x7F; IV[12] &= 0x7F; /* clear two bits */ - - AES_SetKey( keys + KEYSIZE ); - CTR_Cipher( IV, 1, crtxt, crtxtLen, pntxt ); + AES_setkey( keys + KEYSIZE ); + CTR_cipher( iv, 4, crtxt, crtxtLen, pntxt ); S2V( keys, aData, pntxt, aDataLen, crtxtLen, IV ); BURN( RoundKey ); if (MISMATCH( IV, iv, sizeof IV )) /* verify the synthesized IV */ { SABOTAGE( pntxt, crtxtLen ); - return AUTHENTICATION_FAILURE; + return M_AUTHENTICATION_ERROR; } - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* SIV */ /*----------------------------------------------------------------------------*\ - SIV-GCM-AES (Galois counter mode with synthetic i.v): main functions + SIV-GCM-AES (Galois counter mode with synthetic i.v) + authentication & i.v synthesis with polyval + main functions \*----------------------------------------------------------------------------*/ #if IMPLEMENT(GCM_SIV) -/** calculates the POLYVAL of plaintext and AAD using authentication subkey H */ +/** calculate the POLYVAL of plaintext and AAD using authentication subkey H. */ static void Polyval( const block_t H, const void* aData, const void* pntxt, const size_t aDataLen, const size_t ptextLen, block_t pv ) { block_t len = { 0 }; /* save bit-sizes into len */ - copyLNum( len, aDataLen * 8, 0 ); - copyLNum( len, ptextLen * 8, 8 ); + copyLint( len, aDataLen * 8, 0 ); + copyLint( len, ptextLen * 8, 8 ); xMac( aData, aDataLen, H, &dotGF128, pv ); /* first digest AAD, then */ xMac( pntxt, ptextLen, H, &dotGF128, pv ); /* ..plaintext, and then */ @@ -1426,22 +1428,32 @@ static void Polyval( const block_t H, const void* aData, const void* pntxt, } /** derive the pair of authentication-encryption-keys from main key and nonce */ -static void GCMSIV_Init( const uint8_t* key, const uint8_t* nonce, block_t AK ) +static void GCMSIVinit( const uint8_t* key, const uint8_t* nonce, block_t AK ) { - uint8_t iv[10 * Nb + KEYSIZE], *h, *k; + uint8_t iv[5 * HB + KEYSIZE], *h, *k; k = h = iv + BLOCKSIZE; memcpy( iv + 4, nonce, 12 ); - AES_SetKey( key ); + AES_setkey( key ); for (*(int32_t*) iv = 0; *iv < 2 + Nk / 2; ++*iv) { rijndaelEncrypt( iv, k ); /* encrypt & take half, then */ - k += 8; /* ..increment iv's LSB */ + k += HB; /* ..increment iv's LSB */ } - AES_SetKey( k - KEYSIZE ); /* set the main cipher-key */ + AES_setkey( k - KEYSIZE ); /* set the main cipher-key */ memcpy( AK, h, BLOCKSIZE ); /* take authentication key */ } +/** get the tag in GCM-SIV mode, given the nonce and calculated POLYVAL block */ +static void GSIVtag( const uint8_t* nonce, block_t polyval, block_t tag ) +{ + XOR32BITS( nonce[0], polyval[0] ); + XOR32BITS( nonce[4], polyval[4] ); /* xor POLYVAL with nonce */ + XOR32BITS( nonce[8], polyval[8] ); + polyval[LAST] &= 0x7F; /* clear one bit & encrypt, */ + rijndaelEncrypt( polyval, tag ); +} + /** * @brief encrypt the input plaintext using SIV-GCM-AES block-cipher method * @param key encryption key with a fixed size specified by KEYSIZE @@ -1458,20 +1470,12 @@ void GCM_SIV_encrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* aData, const size_t aDataLen, uint8_t* crtxt, block_t auTag ) { - block_t H, S = { 0 }; - GCMSIV_Init( key, nonce, H ); /* get authentication subkey */ + block_t H, P = { 0 }; + GCMSIVinit( key, nonce, H ); /* get authentication subkey */ - Polyval( H, aData, pntxt, aDataLen, ptextLen, S ); - XOR32BITS( nonce[0], S[0] ); - XOR32BITS( nonce[4], S[4] ); - XOR32BITS( nonce[8], S[8] ); /* xor POLYVAL with nonce */ - - S[LAST] &= 0x7F; /* clear one bit & encrypt, */ - rijndaelEncrypt( S, S ); /* ..to get auth. tag */ - memcpy( auTag, S, sizeof S ); - - S[LAST] |= 0x80; /* set 1 bit to get CTR's IV */ - CTR_Cipher( S, 0, pntxt, ptextLen, crtxt ); + Polyval( H, aData, pntxt, aDataLen, ptextLen, P ); + GSIVtag( nonce, P, auTag ); + CTR_cipher( auTag, 8, pntxt, ptextLen, crtxt ); BURN( RoundKey ); } @@ -1485,36 +1489,30 @@ void GCM_SIV_encrypt( const uint8_t* key, const uint8_t* nonce, * @param aDataLen size of additional authentication data * @param tagLen length of authentication tag; MUST be 16 bytes * @param pntxt resulting plaintext buffer - * @return whether message authentication/decryption was successful + * @return whether message decryption/authentication was successful */ char GCM_SIV_decrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* crtxt, const size_t crtxtLen, const uint8_t* aData, const size_t aDataLen, const uint8_t tagLen, uint8_t* pntxt ) { - block_t H, S; - if (tagLen != sizeof S) return DECRYPTION_FAILURE; + uint8_t const* tag = crtxt + crtxtLen; + block_t H, P = { 0 }; - GCMSIV_Init( key, nonce, H ); /* get authentication subkey */ - memcpy( S, crtxt + crtxtLen, tagLen ); - S[LAST] |= 0x80; /* tag is IV for CTR cipher */ - CTR_Cipher( S, 0, crtxt, crtxtLen, pntxt ); + if (tagLen != sizeof P) return M_DECRYPTION_ERROR; - memset( S, 0, sizeof S ); - Polyval( H, aData, pntxt, aDataLen, crtxtLen, S ); - XOR32BITS( nonce[0], S[0] ); - XOR32BITS( nonce[4], S[4] ); - XOR32BITS( nonce[8], S[8] ); /* xor POLYVAL with nonce */ - - S[LAST] &= 0x7F; /* clear one bit & encrypt, */ - rijndaelEncrypt( S, S ); /* ..to get tag & verify it */ + GCMSIVinit( key, nonce, H ); /* get authentication subkey */ + CTR_cipher( tag, 8, crtxt, crtxtLen, pntxt ); + Polyval( H, aData, pntxt, aDataLen, crtxtLen, P ); + GSIVtag( nonce, P, P ); BURN( RoundKey ); - if (MISMATCH( S, crtxt + crtxtLen, sizeof S )) + + if (MISMATCH( P, tag, sizeof P )) { /* tag verification failed */ SABOTAGE( pntxt, crtxtLen ); - return AUTHENTICATION_FAILURE; + return M_AUTHENTICATION_ERROR; } - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* GCM-SIV */ @@ -1528,18 +1526,20 @@ char GCM_SIV_decrypt( const uint8_t* key, const uint8_t* nonce, static void OMac( const uint8_t t, const block_t D, const block_t Q, const void* data, const size_t dataSize, block_t mac ) { - int nodata = (!EAXP || t) && !dataSize; #if EAXP - const uint8_t* K = t ? Q : D; /* ↓ ignore null ciphertext */ + const uint8_t zero_mac = t && !dataSize, *K = t ? Q : D; - nodata ? memset( mac, 0, BLOCKSIZE ) : memcpy( mac, K, BLOCKSIZE ); + zero_mac ? memset( mac, 0, BLOCKSIZE ) : memcpy( mac, K, BLOCKSIZE ); + + if (zero_mac) return; /* ignoring null ciphertext */ #else - nodata ? memcpy( mac, D, BLOCKSIZE ) : memset( mac, 0, BLOCKSIZE ); + dataSize ? memset( mac, 0, BLOCKSIZE ) : memcpy( mac, D, BLOCKSIZE ); + mac[LAST] ^= t; rijndaelEncrypt( mac, mac ); -#endif - if (nodata) return; /* OMAC = CMAC( [t]_n ) */ + if (dataSize == 0) return; /* then OMAC = CMAC( [t]_n ) */ +#endif cMac( D, Q, data, dataSize, mac ); } @@ -1558,32 +1558,32 @@ static void OMac( const uint8_t t, const block_t D, const block_t Q, void AES_EAX_encrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* pntxt, const size_t ptextLen, #if EAXP +#define FDOUBLE_T &doubleLblock const size_t nonceLen, uint8_t* crtxt ) -#define F_DOUBLE doubleLGF128 #else +#define FDOUBLE_T &doubleBblock +#define nonceLen EAX_NONCE_LEN const uint8_t* aData, const size_t aDataLen, uint8_t* crtxt, block_t auTag ) -#define F_DOUBLE doubleBGF128 -#define nonceLen EAX_NONCE_LEN #endif { block_t D = { 0 }, Q, mac; - getSubkeys( &F_DOUBLE, 1, key, D, Q ); - OMac( 0, D, Q, nonce, nonceLen, mac ); /* N = OMAC(0; nonce) */ + getSubkeys( FDOUBLE_T, 1, key, D, Q ); + OMac( 0, D, Q, nonce, nonceLen, mac ); /* N = OMAC(0; nonce) */ #if EAXP - COPY32BIT( mac[12], crtxt[ptextLen] ); + COPYDWORD( mac[12], crtxt[ptextLen] ); mac[12] &= 0x7F; mac[14] &= 0x7F; /* clear 2 bits to get N' */ - CTR_Cipher( mac, 1, pntxt, ptextLen, crtxt ); + CTR_cipher( mac, 0, pntxt, ptextLen, crtxt ); OMac( 2, D, Q, crtxt, ptextLen, mac ); /* C' = CMAC'( ciphertext ) */ - XOR32BITS( mac[12], crtxt[ptextLen] ); /* tag (i.e mac) = N ^ C' */ + XOR32BITS( mac[12], crtxt[ptextLen] ); /* tag (a.k.a mac) = N ^ C' */ #else OMac( 1, D, Q, aData, aDataLen, auTag ); /* H = OMAC(1; adata) */ xorBlock( mac, auTag ); - CTR_Cipher( mac, 1, pntxt, ptextLen, crtxt ); + CTR_cipher( mac, 0, pntxt, ptextLen, crtxt ); OMac( 2, D, Q, crtxt, ptextLen, mac ); /* C = OMAC(2; ciphertext) */ xorBlock( mac, auTag ); /* tag = N ^ H ^ C */ #endif @@ -1601,7 +1601,7 @@ void AES_EAX_encrypt( const uint8_t* key, const uint8_t* nonce, * @param aDataLen size of additional authentication data * @param tagLen length of authentication tag; mandatory 4 bytes in EAX' * @param pntxt resulting plaintext buffer - * @return whether message authentication was successful + * @return whether message authentication/decryption was successful */ char AES_EAX_decrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* crtxt, const size_t crtxtLen, @@ -1614,9 +1614,9 @@ char AES_EAX_decrypt( const uint8_t* key, const uint8_t* nonce, uint8_t* pntxt ) { block_t D = { 0 }, Q, mac, tag; - getSubkeys( &F_DOUBLE, 1, key, D, Q ); - OMac( 2, D, Q, crtxt, crtxtLen, tag ); /* C = OMAC(2; ciphertext) */ + getSubkeys( FDOUBLE_T, 1, key, D, Q ); + OMac( 2, D, Q, crtxt, crtxtLen, tag ); /* C = OMAC(2; ciphertext) */ #if EAXP OMac( 0, D, Q, nonce, nonceLen, mac ); /* N = CMAC'( nonce ) */ XOR32BITS( crtxt[crtxtLen], tag[12] ); @@ -1624,125 +1624,139 @@ char AES_EAX_decrypt( const uint8_t* key, const uint8_t* nonce, mac[12] &= 0x7F; mac[14] &= 0x7F; /* clear 2 bits to get N' */ - if (0 != *(int32_t*) &tag[12]) /* result of mac validation */ + if (*(int32_t*) &tag[12] != 0) /* result of mac validation */ #else OMac( 1, D, Q, aData, aDataLen, mac ); /* H = OMAC(1; adata) */ xorBlock( mac, tag ); OMac( 0, D, Q, nonce, nonceLen, mac ); /* N = OMAC(0; nonce) */ xorBlock( mac, tag ); /* tag = N ^ H ^ C */ + #undef nonceLen if (MISMATCH( tag, crtxt + crtxtLen, tagLen )) #endif { /* authenticate then decrypt */ BURN( RoundKey ); - return AUTHENTICATION_FAILURE; + return M_AUTHENTICATION_ERROR; } - CTR_Cipher( mac, 1, crtxt, crtxtLen, pntxt ); - + CTR_cipher( mac, 0, crtxt, crtxtLen, pntxt ); BURN( RoundKey ); - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* EAX */ /*----------------------------------------------------------------------------*\ - OCB-AES (offset codebook mode): how to parallelize the algorithm - by independent calculation of the offset values - + auxiliary functions along with the main API + OCB-AES (offset codebook mode): auxiliary and main functions + + how to parallelize it by independent calculation of the offset blocks \*----------------------------------------------------------------------------*/ #if IMPLEMENT(OCB) -static block_t OCBsubkeys[4]; /* [L_$] [L_*] [Ktop] [Δ_n] */ +static void nop( const block_t x, block_t y ) {} /** Calculate the offset block (Δ_i) at a specified index, given the initial Δ_0 - * and L$ blocks. This method has minimum memory usage, but it's clearly slow */ -static void getDelta( const count_t index, block_t delta ) + * and L$ blocks. This method has minimum memory usage, but it might be slow. To + * make it faster, pre-calculate all L_{i}s (avoid doubling inside the loop). */ +static void getDelta( const count_t index, + const block_t Ld, const block_t delta0, block_t delta ) { - size_t m, b = 1; + count_t r, b = 1; block_t L; - memcpy( L, *OCBsubkeys, sizeof L ); /* initialize L_$ */ - while (b <= index && b) /* we can pre-calculate all */ - { /* .. L_{i}s to boost speed */ - m = (4 * b - 1) & (index - b); - b <<= 1; /* L_0 = double( L_$ ) */ - doubleBGF128( L ); /* L_i = double( L_{i-1} ) */ - if (b > m) xorBlock( L, delta ); /* Δ_i = Δ_{i-1} ^ L_ntz(i) */ + memcpy( L, Ld, sizeof L ); /* initialize L_$ and Δ */ + memcpy( delta, delta0, BLOCKSIZE ); + + while ((r = index - b) < index) /* Δ_i = Δ_{i-1} ^ L_ntz(i) */ + { /* where: */ + doubleBblock( L ); /* L_0 = double( L_$ ) */ + b *= 2; /* L_k = double( L_{k-1} ) */ + + if (r & b) continue; + + xorBlock( L, delta ); } } -/** encrypt or decrypt the input data with OCB method. cipher function is either - * rijndaelEncrypt or rijndaelDecrypt, and nonce size must be = OCB_NONCE_LEN */ -static void OCB_Cipher( fmix_t cipher, const uint8_t* nonce, - const size_t dataSize, void* data ) +/** + * @brief encrypt or decrypt the data using OCB method + * @param key encryption or decryption key + * @param nonce byte array with a fixed size of OCB_NONCE_LEN + * @param ptLen size of plaintext. ptLen = dataSize, only in encryption + * @param aDataLen size of additional authentication data + * @param aData additional authentication data + * @param dataSize size of input data, to be encrypted/decrypted + * @param data result of encryption/decryption process + * @param tag calculated tag from plaintext checksum, and PMAC of aData + */ +static void OCB_cipher( const uint8_t* key, const uint8_t* nonce, + const size_t ptLen, + const size_t aDataLen, const void* aData, + const size_t dataSize, void* data, block_t tag ) { - uint8_t *Ls = OCBsubkeys[1], *kt = OCBsubkeys[2], *del = OCBsubkeys[3]; - count_t i = 0, n = nonce[OCB_NONCE_LEN - 1] % 64; - uint8_t *y = data, r = n % 8; /* n = last 6 bits of nonce */ + fmix_t cipher = ptLen ? &rijndaelEncrypt : &rijndaelDecrypt; + + block_t offset[4] = { { 0 } }; /* [L_$] [L_*] [Ktop] [Δ_n] */ + uint8_t *y = data; + uint8_t *Ld = offset[0], *Ls = offset[1], *kt = offset[2], *del = offset[3]; + count_t i, n = nonce[OCB_NONCE_LEN - 1] % 64; + uint8_t const s = 8 - n % 8, *a = aData; memcpy( kt + BLOCKSIZE - OCB_NONCE_LEN, nonce, OCB_NONCE_LEN ); kt[0] = OCB_TAG_LEN << 4 & 0xFF; - kt[LAST - OCB_NONCE_LEN] |= 1; - kt[LAST] &= 0xC0; /* clear last 6 bits */ + kt[LAST - OCB_NONCE_LEN] |= 1; /* set one and clear last 6 */ + kt[LAST] &= 0xC0; /* .. bits of nonce (kt) */ + getSubkeys( &doubleBblock, 0, key, Ls, Ld ); rijndaelEncrypt( kt, kt ); /* construct K_top */ memcpy( del, kt + 1, 8 ); /* stretch K_top */ xorBlock( kt, del ); - for (n /= 8; i < BLOCKSIZE; ++n) /* shift the stretched K_top */ + n /= 8; + for (i = 0; i < BLOCKSIZE; ++i, ++n) /* shift the stretched K_top */ { - kt[i++] = kt[n] << r | kt[n + 1] >> (8 - r); - } - if ((n = dataSize / BLOCKSIZE) == 0) - { - memcpy( del, kt, BLOCKSIZE ); /* initialize Δ_0 */ + kt[i] = (kt[n] << 8 | kt[n + 1]) >> s; } - for (i = 0; i++ < n; y += BLOCKSIZE) + xMac( data, ptLen, NULL, &nop, tag ); /* get plaintext? checksum */ + + if ((n = dataSize / BLOCKSIZE) == 0) { - memcpy( del, kt, BLOCKSIZE ); - getDelta( i, del ); /* calculate Δ_i using my */ - xorBlock( del, y ); /* .. 'magic' algorithm */ + del = kt; /* Δ_N = Δ_0 = K_top */ + kt = offset[3]; + } + for (i = 0; i++ < n; y += BLOCKSIZE) + { /* calculate Δ_i using */ + getDelta( i, Ld, kt, del ); /* .. my 'magic' algorithm */ + xorBlock( del, y ); cipher( y, y ); xorBlock( del, y ); /* Y = Δ_i ^ Cipher(Δ_i ^ X) */ } - if ((r = dataSize % BLOCKSIZE) != 0) - { /* Y_* = Enc(L_* ^ Δ_n) ^ X */ + if ((i = dataSize % BLOCKSIZE) != 0) + { /* Y_* = Enc(L_* ^ Δ_N) ^ X */ + tag[i] ^= 0x80; /* and pad X_* or checksum */ xorBlock( Ls, del ); - mixThenXor( &rijndaelEncrypt, del, kt, y, r, y ); - del[r] ^= 0x80; /* pad Δ_* (i.e. tag) */ + mixThenXor( &rijndaelEncrypt, del, kt, y, i, y ); } -} -static void nop( const block_t x, block_t y ) {} + xMac( data, dataSize - ptLen, NULL, &nop, tag ); + cMac( Ld, NULL, del, BLOCKSIZE, tag ); -/** calculate tag and save to Δ_*, using plaintext checksum and PMAC of aData */ -static void OCB_GetTag( const void* pntxt, const void* aData, - const size_t ptextLen, const size_t aDataLen ) -{ - block_t T = { 0 }; - count_t n = aDataLen / BLOCKSIZE; - uint8_t r = aDataLen % BLOCKSIZE, *tag = OCBsubkeys[3]; - uint8_t const *Ld = OCBsubkeys[0], *Ls = OCBsubkeys[1]; - uint8_t const *xa = (uint8_t const *) aData + aDataLen - r; + /*- tag = Enc( checksum ^ Δ_* ^ L_$ ) so far. next, add "PMAC" of aData: **/ + n = aDataLen / BLOCKSIZE; - xMac( pntxt, ptextLen, NULL, &nop, tag ); /* get plaintext checksum */ - xorBlock( Ld, tag ); /* S = Δ_* ^ checksum ^ L_$ */ - rijndaelEncrypt( tag, tag ); /* tag_0 = Enc( S ) */ - - if (r) /* PMAC authentication: */ + for (i = 0; i < n; a += BLOCKSIZE) { - getDelta( n, T ); - cMac( NULL, Ls, xa, r, T ); /* T = Enc(A_* ^ L_* ^ Δ_n) */ - xorBlock( T, tag ); /* add it to tag */ + getDelta( ++i, Ld, a, del ); + rijndaelEncrypt( del, del ); /* Δ = Enc( A_i ^ Δ_i ) */ + xorBlock( del, tag ); /* add Δ to the tag */ } - while (n) + if ((i = aDataLen % BLOCKSIZE) != 0) { - memcpy( T, xa -= sizeof T, sizeof T ); /* initialize Δ */ - getDelta( n--, T ); - rijndaelEncrypt( T, T ); /* T_i = Enc(A_i ^ Δ_i) */ - xorBlock( T, tag ); /* add T_i to tag */ + memset( kt, 0, BLOCKSIZE ); + getDelta( n, Ld, kt, del ); + cMac( NULL, Ls, a, i, del ); /* Δ = Enc(L_* ^ A_* ^ Δ_N) */ + xorBlock( del, tag ); /* add Δ to the tag */ } + BURN( RoundKey ); } /** @@ -1754,23 +1768,18 @@ static void OCB_GetTag( const void* pntxt, const void* aData, * @param aData additional authentication data * @param aDataLen size of additional authentication data * @param crtxt resulting cipher-text buffer - * @param auTag message authentication tag. buffer must be 16-bytes long + * @param auTag message authentication tag */ void AES_OCB_encrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* pntxt, const size_t ptextLen, const uint8_t* aData, const size_t aDataLen, - uint8_t* crtxt, block_t auTag ) + uint8_t* crtxt, uint8_t* auTag ) { - uint8_t *Ld = OCBsubkeys[0], *Ls = OCBsubkeys[1], *tag = OCBsubkeys[3]; - - memcpy( crtxt, pntxt, ptextLen); /* doing in-place encryption */ - memset( Ls, 0, 2 * BLOCKSIZE ); - getSubkeys( &doubleBGF128, 0, key, Ls, Ld ); - OCB_Cipher( &rijndaelEncrypt, nonce, ptextLen, crtxt ); - OCB_GetTag( pntxt, aData, ptextLen, aDataLen ); + block_t tag = { 0 }; + memcpy( crtxt, pntxt, ptextLen ); /* doing in-place encryption */ + OCB_cipher( key, nonce, ptextLen, aDataLen, aData, ptextLen, crtxt, tag ); memcpy( auTag, tag, OCB_TAG_LEN ); - BURN( RoundKey ); } /** @@ -1781,33 +1790,28 @@ void AES_OCB_encrypt( const uint8_t* key, const uint8_t* nonce, * @param crtxtLen size of ciphertext, excluding tag * @param aData additional authentication data * @param aDataLen size of additional authentication data - * @param tagLen length of authentication tag (if any) + * @param tagLen length of authentication tag * @param pntxt resulting plaintext buffer - * @return whether message authentication was successful + * @return whether message decryption/authentication was successful */ char AES_OCB_decrypt( const uint8_t* key, const uint8_t* nonce, const uint8_t* crtxt, const size_t crtxtLen, const uint8_t* aData, const size_t aDataLen, const uint8_t tagLen, uint8_t* pntxt ) { - uint8_t *Ld = OCBsubkeys[0], *Ls = OCBsubkeys[1], *tag = OCBsubkeys[3]; + block_t tag = { 0 }; - if (tagLen && tagLen != OCB_TAG_LEN) return DECRYPTION_FAILURE; + if (tagLen != OCB_TAG_LEN) return M_DECRYPTION_ERROR; - memcpy( pntxt, crtxt, crtxtLen); /* in-place decryption */ - memset( Ls, 0, 2 * BLOCKSIZE ); - getSubkeys( &doubleBGF128, 0, key, Ls, Ld ); - OCB_Cipher( &rijndaelDecrypt, nonce, crtxtLen, pntxt ); - OCB_GetTag( pntxt, aData, crtxtLen, aDataLen ); + memcpy( pntxt, crtxt, crtxtLen ); /* in-place decryption */ + OCB_cipher( key, nonce, 0, aDataLen, aData, crtxtLen, pntxt, tag ); - BURN( RoundKey ); if (MISMATCH( tag, crtxt + crtxtLen, tagLen )) { SABOTAGE( pntxt, crtxtLen ); - BURN( OCBsubkeys ); - return AUTHENTICATION_FAILURE; + return M_AUTHENTICATION_ERROR; } - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* OCB */ @@ -1816,7 +1820,6 @@ char AES_OCB_decrypt( const uint8_t* key, const uint8_t* nonce, KW-AES: Main functions for AES key-wrapping (RFC-3394) \*----------------------------------------------------------------------------*/ #if IMPLEMENT(KWA) -#define HB (BLOCKSIZE / 2) /* size of half-blocks */ /** * @brief wrap the input secret whose size is a multiple of 8 and >= 16 * @param kek key-encryption-key a.k.a master key @@ -1826,64 +1829,68 @@ char AES_OCB_decrypt( const uint8_t* key, const uint8_t* nonce, * @return error if size is not a multiple of HB, or size < BLOCKSIZE */ char AES_KEY_wrap( const uint8_t* kek, - const uint8_t* secret, const size_t secretLen, uint8_t* wrapped ) + const void* secret, const size_t secretLen, uint8_t* wrapped ) { - size_t q, i = 0, n = secretLen / HB; /* number of semi-blocks */ + size_t i = 0, n = secretLen / HB; /* number of semi-blocks */ block_t A; + uint8_t *r = wrapped + HB, *endpt = wrapped + secretLen; - if (n < 2 || secretLen % HB) return ENCRYPTION_FAILURE; + if (n < 2 || secretLen % HB) return M_ENCRYPTION_ERROR; memset( A, 0xA6, HB ); /* initialization vector */ - memcpy( wrapped + HB, secret, secretLen ); /* copy input to the output */ - AES_SetKey( kek ); + memcpy( r, secret, secretLen ); /* copy input to the output */ + AES_setkey( kek ); - for (q = 6 * n; i < q; ) + for (n *= 6; i++ < n; ) { - uint8_t *r = wrapped + (i++ % n + 1) * HB; memcpy( A + HB, r, HB ); rijndaelEncrypt( A, A ); /* A = Enc( V | R_{k-1} ) */ memcpy( r, A + HB, HB ); /* R_{k} = LSB(64, A) */ - xorBENum( A, i, HB - 1 ); /* V = MSB(64, A) ^ i */ + xorBEint( A, i, HB - 1 ); /* V = MSB(64, A) ^ i */ + r = (r == endpt ? wrapped : r) + HB; } BURN( RoundKey ); - memcpy( wrapped, A, HB ); - return ENDED_IN_SUCCESS; + memcpy( wrapped, A, HB ); /* authentication vector */ + return M_RESULT_SUCCESS; } /** - * @brief unwrap a wrapped input key whose size is a multiple of 8 and >= 24 + * @brief unwrap a wrapped key input, whose size is a multiple of 8 and >= 24 * @param kek key-encryption-key a.k.a master key - * @param wrapped cipher-text input, i.e. wrapped secret. + * @param wrapped cipher-text input, the wrapped secret * @param wrapLen size of ciphertext/wrapped input in bytes - * @param secret unwrapped secret whose size = wrapLen - HB + * @param secret unwrapped secret, which is a half block shorter than input * @return a value indicating whether decryption was successful */ char AES_KEY_unwrap( const uint8_t* kek, - const uint8_t* wrapped, const size_t wrapLen, uint8_t* secret ) + const void* wrapped, const size_t wrapLen, uint8_t* secret ) { - size_t i, n = wrapLen / HB; /* number of semi-blocks */ + size_t n = 0, i = wrapLen / HB; /* number of semi-blocks */ block_t A; + uint8_t *r = secret, *endpt = secret + wrapLen - HB; - if (n-- < 3 || wrapLen % HB) return DECRYPTION_FAILURE; + if (i-- < 3 || wrapLen % HB) return M_DECRYPTION_ERROR; - memcpy( A, wrapped, HB ); /* authentication vector */ - memcpy( secret, wrapped + HB, wrapLen - HB ); - AES_SetKey( kek ); + memcpy( A, wrapped, HB ); + memcpy( r, (char*) wrapped + HB, wrapLen - HB ); + AES_setkey( kek ); - for (i = 6 * n; i; --i) + for (i *= 6; i; --i) { - uint8_t *r = secret + ((i - 1) % n) * HB; - xorBENum( A, i, HB - 1 ); - memcpy( A + HB, r, HB ); /* V = MSB(64, A) ^ i */ - rijndaelDecrypt( A, A ); /* A = Dec( V | R_{k} ) */ - memcpy( r, A + HB, HB ); /* R_{k-1} = LSB(64, A) */ + r = (r == secret ? endpt : r) - HB; + xorBEint( A, i, HB - 1 ); /* V = MSB(64, A) ^ i */ + memcpy( A + HB, r, HB ); /* A = Dec( V | R_{k} ) */ + rijndaelDecrypt( A, A ); /* R_{k-1} = LSB(64, A) */ + memcpy( r, A + HB, HB ); } BURN( RoundKey ); - for (n = 0; i < HB; ) n |= A[i++] ^ 0xA6; /* authenticate/error check */ - - return n ? AUTHENTICATION_FAILURE : ENDED_IN_SUCCESS; + while (i < HB) /* authenticate/error check */ + { + n |= A[i++] ^ 0xA6; + } + return n ? M_AUTHENTICATION_ERROR : M_RESULT_SUCCESS; } #endif /* KWA */ @@ -1892,67 +1899,50 @@ char AES_KEY_unwrap( const uint8_t* kek, Poly1305-AES message authentication: auxiliary functions and main API \*----------------------------------------------------------------------------*/ #if IMPLEMENT(POLY1305) -#define SP 17 /* size of poly1305 blocks */ -/** derive modulo(2^130-5) for a little endian block, by repeated subtraction */ -static void modP1305( uint8_t* block, const int ovrfl ) -{ - uint8_t* msb = block + SP - 1; - int32_t q = ovrfl << 6 | *msb >> 2; /* q = B / (2 ^ 130) */ - - if (!q) return; - - *msb -= 4 * (uint8_t) q; /* first, subtract q * 2^130 */ - for (q *= 5; q; q >>= 8) /* since most of the times: */ - { /* mod = B - q * (2^130-5) */ - q += *block; /* then add (q * 5) */ - *block++ = (uint8_t) q; - } -} - -/** add two little-endian poly1305 blocks. use modular addition if necessary. */ -static void addLBlocks( const uint8_t* x, const uint8_t len, uint8_t* y ) +/** add two little-endian blocks x and y up to length len, so that: y = y + x */ +static void addLblocks( const uint8_t* x, const uint8_t len, uint8_t* y ) { int a, i; for (i = a = 0; i < len; a >>= 8) { a += x[i] + y[i]; - y[i++] = (uint8_t) a; /* a >> 8 is overflow/carry */ + y[i++] = (uint8_t) a; } - if (i == SP) modP1305( y, a ); +} + +/** derive modulo(2^130-5) for a large integer saved in a little-endian block */ +static void modP1305( uint8_t* block, int32_t q ) +{ + if (q < 4) return; /* q is block's MSBs: B>>128 */ + + block[SP - 1] &= 3; /* get rid of excess bits. */ + + for (q = (q >> 2) * 5; q; q >>= 8) /* suppose Q = B / (2 ^ 130) */ + { /* ..then "almost" always: */ + q += *block; /* mod = B - Q * (2^130-5) */ + *block++ = (uint8_t) q; /* so subtract Q * 2^130 and */ + } /* ..then add (Q * 5) := q */ } /** modular multiplication of two little-endian poly1305 blocks: y *= x mod P */ -static void mulLBlocks( const uint8_t* x, uint8_t* y ) +static void mulLblocks( const uint8_t* x, uint8_t* y ) { - uint8_t i, sh, n = SP, prod[SP] = { 0 }; /* Y = [Y_0][Y_1]...[Y_n] */ - int32_t m; - while (n--) /* multiply X by MSB of Y */ - { /* ..and add to the result */ - sh = n ? 8 : 0; /* ..shift the result if Y */ - for (m = i = 0; i < SP; m >>= 8) /* ..has other byte in queue */ - { /* ..but don't shift for Y_0 */ - m += (prod[i] + x[i] * y[n]) << sh; - prod[i++] = (uint8_t) m; - } - modP1305( prod, m ); /* modular multiplication */ - } - memcpy( y, prod, SP ); -} - -/** handle some special/rare cases that might be missed by modP1305 function. */ -static void cmpToP1305( uint8_t* block ) -{ - int c = block[SP - 1] == 3 && *block >= 0xFB ? SP - 1 : block[SP - 1] / 4; - while (c > 1) + uint8_t n = SP, result[SP] = { 0 }; + while (n--) /* Y = [Y_0][Y_1]...[Y_n], */ { - if (block[--c] < 0xFF) return; /* compare block to 2^130-5, */ - } - for (c *= 5; c; c >>= 8) - { /* and if (block >= 2^130-5) */ - c += *block; /* .. add it with 5 */ - *block++ = (uint8_t) c; + uint8_t s = 8 * (n != 0), i; /* multiply X by MSB of Y */ + int32_t m = 0; /* ..and add to the result */ + + for (i = 0; i < sizeof result; ++i) /* if Y has another byte in */ + { /* ..queue, shift the result */ + m >>= 8; /* ..but don't shift for Y_0 */ + m += (y[n] * x[i] + result[i]) << s; + result[i] = (uint8_t) m; + } + modP1305( result, m ); /* modular multiplication */ } + memcpy( y, result, sizeof result ); } /** @@ -1970,30 +1960,39 @@ void AES_Poly1305( const uint8_t* keys, const block_t nonce, count_t q = (dataSize - 1) / BLOCKSIZE; const char* pos = (const char*) data + dataSize; - AES_SetKey( keys ); + AES_setkey( keys ); rijndaelEncrypt( nonce, mac ); /* derive AES_k(nonce) */ BURN( RoundKey ); if (!dataSize) return; - memcpy( r, keys + KEYSIZE, s ); /* extract r from (k,r) pair */ - for (r[s] = 0; s > 0; s -= 3) + memcpy( r, keys + KEYSIZE, s ); /* extract r from (K,r) pair */ + for (r[s] = 0; s > 3; s -= 3) { r[s--] &= 0xFC; /* clear bottom 2 bits */ r[s ] &= 0x0F; /* clear top 4 bits */ } - s = dataSize - BLOCKSIZE * q++; /* size of last chunk */ - - for (pos -= s; q--; pos -= (s = BLOCKSIZE)) + s = dataSize - BLOCKSIZE * q; /* size of last chunk */ + do { - memcpy( c, pos, s ); /* copy message to chunk */ + memcpy( c, pos -= s, s ); /* copy message to chunk */ c[s] = 1; /* append 1 to each chunk */ - mulLBlocks( r, rk ); /* r^k = r^{k-1} * r */ - mulLBlocks( rk, c ); /* calculate c_{q-k} * r^k */ - addLBlocks( c, sizeof c, poly ); /* add to poly (mod 2^130-5) */ + mulLblocks( r, rk ); /* r^k = r^{k-1} * r */ + mulLblocks( rk, c ); /* calculate c_{q-k} * r^k */ + addLblocks( c, SP, poly ); /* ..and add it to poly, */ + s = SP - 1; /* ..then take mod(2^130-5) */ + modP1305( poly, poly[s] ); + + } while (q--); + + q = poly[s] * 4; /* still, in some rare cases */ + if (poly[0] > 0xFA && q == 12) /* ..poly may be >= 2^130-5 */ + { /* ..if so, set q=16 */ + for (q = 1; poly[q] == 0xFF; ++q); } - cmpToP1305( poly ); - addLBlocks( poly, BLOCKSIZE, mac ); /* mac = poly + AES_k(nonce) */ + modP1305( poly, q / 4 ); + + addLblocks( poly, BLOCKSIZE, mac ); /* add AES_k(nonce) to poly */ } #endif /* POLY1305 */ @@ -2009,15 +2008,15 @@ void AES_Poly1305( const uint8_t* keys, const block_t nonce, #define ALPHABET "0123456789" #define string_t char* /* string pointer type */ #define RADIX 10 /* strlen (ALPHABET) */ -#define LOGRDX 3.321928095 /* log2 (RADIX) */ +#define LOGRDX 3.32192809488736 /* log2 (RADIX) */ #define MINLEN 6 /* ceil (6 / log10 (RADIX)) */ #define MAXLEN 0x38 /* only if FF_X == 3 */ #endif -#if (RADIX - 1 > 0xFF) -typedef unsigned short rbase_t; /* digit type in base-radix */ +#if RADIX - 1 <= UCHAR_MAX +typedef unsigned char rbase_t; /* digit type in base-radix */ #else -typedef uint8_t rbase_t; +typedef unsigned short rbase_t; #endif #if FF_X != 3 /* FF1 method: */ @@ -2031,42 +2030,42 @@ static void numRadix( const rbase_t* s, size_t len, uint8_t* num, size_t bytes ) while (len--) { size_t i, y = *s++; - for (i = bytes; i; y >>= 8) + for (i = bytes; i--; y >>= 8) { - y += num[--i] * RADIX; /* num = num * RADIX + y */ + y += num[i] * RADIX; /* num = num * RADIX + y */ num[i] = (uint8_t) y; } } } -/** convert a big-endian number to its base-RADIX representation string: `s` */ +/** convert a big-endian number to its base-RADIX representation string: `s`. */ static void strRadix( const uint8_t* num, size_t bytes, rbase_t* s, size_t len ) { memset( s, 0, sizeof (rbase_t) * len ); while (bytes--) { size_t i, x = *num++; - for (i = len; i; x /= RADIX) + for (i = len; i--; x /= RADIX) { - x += s[--i] << 8; /* numstr = numstr << 8 + x */ + x += s[i] << 8; /* numstr = numstr << 8 + x */ s[i] = x % RADIX; } } } -/** add two numbers in base-RADIX represented by q and p, so that: p = p + q */ -static void rbase_add( const rbase_t* q, const size_t len, rbase_t* p ) +/** add two numbers in base-RADIX represented by q and p, so that: p = p + q; */ +static void addRadix( const rbase_t* q, const size_t len, rbase_t* p ) { size_t i, a = 0; for (i = len; i--; a /= RADIX) /* big-endian addition */ { a += p[i] + q[i]; /* a /= RADIX is equivalent */ - p[i] = a % RADIX; /* ..to a = (a >= RADIX) */ + p[i] = a % RADIX; /* ..to: a = (a >= RADIX) */ } } /** subtract two numbers in base-RADIX represented by q and p, so that p -= q */ -static void rbase_sub( const rbase_t* q, const size_t len, rbase_t* p ) +static void subRadix( const rbase_t* q, const size_t len, rbase_t* p ) { size_t i, s = 1; for (i = len; i--; s /= RADIX) /* big-endian subtraction */ @@ -2076,68 +2075,69 @@ static void rbase_sub( const rbase_t* q, const size_t len, rbase_t* p ) } } -/** derive C at step i of FF1 rounds, given string size len, u and PRF_init P */ -static void FF1round( const uint8_t i, const block_t P, const size_t u, - const size_t len, rbase_t* C ) +/** derive C at step i of FF1 rounds, given the values: u, v and PRF_init = P */ +static void FF1round( const uint8_t i, const block_t P, + const size_t u, const size_t v, rbase_t* C ) { - size_t k = bb % BLOCKSIZE, d = (bb + 7) & ~3UL, a = i & 1 ? len : len - u; - block_t R = { 0 }; uint8_t* num = (void*) (C + u); /* use pre-allocated memory */ + block_t R = { 0 }; + size_t k = bb % sizeof R, ext = (i & 1) * u; + numRadix( C - v - ext, v, num, bb ); /* ..to get NUM_radix(B) */ R[LAST - k] = i; - numRadix( C - a, len - u, num, bb ); /* get NUM_radix(B) and */ - memcpy( R + sizeof R - k, num, k ); /* ..then feed it into PRF: */ + memcpy( R - k + sizeof R, num, k ); /* feed NUM_radix to the PRF */ xMac( P, BLOCKSIZE, R, &rijndaelEncrypt, R ); xMac( num + k, bb - k, R, &rijndaelEncrypt, R ); memcpy( num, R, sizeof R ); /* R = PRF(P || Q) */ - k = (d - 0x1) / sizeof R; /* total additional blocks */ - for (num += k * sizeof R; k; --k) - { - memcpy( num, R, sizeof R ); - xorBENum( num, k, LAST ); /* num = R || R ^ [k] ||... */ - rijndaelEncrypt( num, num ); /* S = R || Enc(R ^ [k])... */ - num -= sizeof R; + k = (bb + 3L) / sizeof R; /* total additional blocks */ + + for (ext = 0; k; ext = k--) + { /* S = R | Enc(R ^[k]) | ... */ + ext ^= k; + xorBEint( R, ext, LAST ); + rijndaelEncrypt( R, num + k * sizeof R ); } - strRadix( num, d, C, u ); /* take first d bytes of S */ + strRadix( num, (bb + 7) & ~3L, C, u ); /* take first 'd' bytes of S */ } /** encrypt/decrypt a base-RADIX string X with length len using FF1 algorithm */ -static void FF1_Cipher( const uint8_t* key, const char mode, const size_t len, +static void FF1_cipher( const uint8_t* key, const char mode, const size_t len, const uint8_t* tweak, const size_t tweakLen, rbase_t* X ) { size_t u = (len + !mode) / 2, t = tweakLen; rbase_t* Xc = X + len; block_t P = { 1, 2, 1, RADIX >> 16, RADIX >> 8 & 0xFF, RADIX & 0xFF, 10 }; - uint8_t i = tweakLen % BLOCKSIZE; + uint8_t i = t % BLOCKSIZE; - if (i > (uint8_t) ~bb % BLOCKSIZE) i = 0; + i *= i <= (uint8_t) ~bb % BLOCKSIZE; /* if i > (t+bb)%16 : i = 0 */ + AES_setkey( key ); - P[7] = len / 2 & 0xFF; /* P = [1,2,1][radix][10]... */ - xorBENum( P, len, 11 ); - xorBENum( P, t, LAST ); - - AES_SetKey( key ); - rijndaelEncrypt( P, P ); /* P -> PRF(P || tweak) */ + P[7] ^= len / 2; /* initializing P block */ + xorBEint( P, len, 11 ); + xorBEint( P, t, LAST ); + rijndaelEncrypt( P, P ); /* P -> PRF(P || tweak) */ xMac( tweak, t - i, P, &rijndaelEncrypt, P ); + while (i) { P[--i] ^= tweak[--t]; } - for ( ; i < 10 * mode; u = len - u) /* Feistel procedure */ - { - FF1round( i++, P, u, len, Xc ); /* encryption rounds */ - rbase_add( Xc, u, i & 1 ? X : Xc - u ); + for (; i < 10 * mode; u = len - u) /* Feistel procedure */ + { /* encryption rounds */ + FF1round( i++, P, u, len - u, Xc ); + addRadix( Xc, u, i & 1 ? X : Xc - u ); /* add C to A then swap A,B */ } - for (i ^= 10; i > (0); u = len - u) /* A → X, C → Xc, B → Xc - u */ + for (i ^= 10; i != 0; u = len - u) /* decryption rounds */ { - FF1round( --i, P, u, len, Xc ); /* decryption rounds */ - rbase_sub( Xc, u, i & 1 ? Xc - u : X ); + FF1round( --i, P, u, len - u, Xc ); + subRadix( Xc, u, i & 1 ? Xc - u : X ); /* subtract C from A */ } + BURN( RoundKey ); } -#else /* FF3/FF3-1 */ +#else /* FF3/FF3-1 method: */ /** converts a string in base-RADIX to a little-endian number, denoted by num */ static void numRadix( const rbase_t* s, uint8_t len, uint8_t* num, uint8_t bytes ) @@ -2169,8 +2169,8 @@ static void strRadix( const uint8_t* num, uint8_t bytes, rbase_t* s, uint8_t len } } -/** add two numbers in base-RADIX represented by q and p, so that: p = p + q */ -static void rbase_add( const rbase_t* q, const uint8_t len, rbase_t* p ) +/** add two numbers in base-RADIX represented by q and p, so that: p = p + q; */ +static void addRadix( const rbase_t* q, const uint8_t len, rbase_t* p ) { size_t i, a = 0; for (i = 0; i < len; a /= RADIX) /* little-endian addition */ @@ -2181,7 +2181,7 @@ static void rbase_add( const rbase_t* q, const uint8_t len, rbase_t* p ) } /** subtract two numbers in base-RADIX represented by q and p, so that p -= q */ -static void rbase_sub( const rbase_t* q, const uint8_t len, rbase_t* p ) +static void subRadix( const rbase_t* q, const uint8_t len, rbase_t* p ) { size_t i, s = 1; for (i = 0; i < len; s /= RADIX) /* little-endian subtraction */ @@ -2191,49 +2191,50 @@ static void rbase_sub( const rbase_t* q, const uint8_t len, rbase_t* p ) } } -/** calculate C at step i of FF3 rounds, given the string size len, u, and T. */ -static void FF3round( const uint8_t i, const uint8_t* T, const uint8_t u, - const uint8_t len, rbase_t* C ) +/** calculate C at step i of FF3 rounds, given the values: u, v and tweak (T) */ +static void FF3round( const uint8_t i, const uint8_t* T, + const uint8_t u, const uint8_t v, rbase_t* C ) { - uint8_t w = (i & 1) * 4, a = i & 1 ? len : len - u; + uint8_t w = (i & 1) * 4, ext = (i & 1) * u; block_t P; - COPY32BIT( T[w], P[12] ); /* W = (i is odd) ? TR : TL */ + COPYDWORD( T[w], P[12] ); /* W = (i is odd) ? TR : TL */ P[12] ^= i; - numRadix( C - a, len - u, P, 12 ); /* get REV. NUM_radix( B ) */ + numRadix( C - v - ext, v, P, 12 ); /* get REV. NUM_radix( B ) */ rijndaelEncrypt( P, P ); strRadix( P, sizeof P, C, u ); /* C = REV. STR_m( c ) */ } /** encrypt/decrypt a base-RADIX string X with size len using FF3-1 algorithm */ -static void FF3_Cipher( const uint8_t* key, const char mode, - const uint8_t len, const uint8_t* tweak, rbase_t* X ) +static void FF3_cipher( const uint8_t* key, const char mode, const uint8_t len, + const uint8_t* tweak, rbase_t* X ) { rbase_t* Xc = X + len; uint8_t T[8], u = (len + mode) / 2, *k = (void*) Xc, i; memcpy( k, tweak, FF3_TWEAK_LEN ); -#if FF3_TWEAK_LEN == 7 /* old version of FF3 had a */ - k[7] = (uint8_t) (k[3] << 4); /* ..64-bit tweak. but FF3-1 */ - k[3] &= 0xF0; /* ..tweaks must be 56-bit */ +#if FF3_TWEAK_LEN == 7 + k[7] = (uint8_t) (k[3] << 4); /* see the comments at the */ + k[3] &= 0xF0; /* ..bottom of header file */ #endif - for (i = 8; i --> 0; ) T[i] = k[7 - i]; + for (i = 8; i --> 0; ) T[7 - i] = k[i]; for (i = KEYSIZE; i; ) k[--i] = *key++; /* key/tweak are reversed */ - AES_SetKey( k ); + AES_setkey( k ); SABOTAGE( k, KEYSIZE ); - for ( ; i < 8 * mode; u = len - u) /* Feistel procedure */ - { - FF3round( i++, T, u, len, Xc ); /* encryption rounds */ - rbase_add( Xc, u, i & 1 ? X : Xc - u ); + for (; i < 8 * mode; u = len - u) /* Feistel procedure */ + { /* encryption rounds */ + FF3round( i++, T, u, len - u, Xc ); + addRadix( Xc, u, i & 1 ? X : Xc - u ); /* add C to A then swap A,B */ } - for (i ^= (8); i > 0; u = len - u) /* A → X, C → Xc, B → Xc - u */ + for (i ^= 8; i != 0; u = len - u) /* decryption rounds */ { - FF3round( --i, T, u, len, Xc ); /* decryption rounds */ - rbase_sub( Xc, u, i & 1 ? Xc - u : X ); + FF3round( --i, T, u, len - u, Xc ); + subRadix( Xc, u, i & 1 ? Xc - u : X ); } + BURN( RoundKey ); } #endif /* FF_X */ @@ -2243,50 +2244,47 @@ static void FF3_Cipher( const uint8_t* key, const char mode, #include /** allocate the required memory and validate the input string in FPE mode... */ -static char FPEinit( const string_t str, const size_t len, rbase_t** indices ) +static char FPEinit( const string_t str, const size_t len, rbase_t** idx ) { const string_t alpha = ALPHABET; - size_t i = (len + 1) / 2; - size_t n = (len + i) * sizeof (rbase_t); + size_t u = (len + 1) / 2; + size_t n = (len + u) * sizeof (rbase_t); #if FF_X != 3 /* extra memory is needed.. */ - bb = (size_t) (LOGRDX * i + 8 - 1e-10) / 8; /* to store NUM_radix and.. */ - n += (bb + 3 + BLOCKSIZE) & ~15UL; /* mix it in Feistel rounds */ + bb = (size_t) (LOGRDX * u + 8 - 1e-14) / 8; /* to store NUM_radix and.. */ + n += (bb + 4 + LAST) & ~LAST; /* mix it in Feistel rounds */ #else - i *= len > MAXLEN ? 0 : sizeof (rbase_t); - n += i >= KEYSIZE ? 0 : KEYSIZE - i; + u *= len > MAXLEN ? 0 : sizeof (rbase_t); + n += u >= KEYSIZE ? 0 : KEYSIZE - u; #endif - if (len < MINLEN || i == 0) return 'L'; /* invalid string-length */ + if (!(len >= MINLEN && u)) return 'L'; /* invalid string-length */ - *indices = malloc( n ); - if (*indices == NULL) return 'M'; /* memory allocation failed */ + if (!(*idx = malloc( n ))) return 'M'; /* memory allocation failed */ - for (n = 0; n < len; ++n) + for (n = len; n--; ) { - for (i = 0; alpha[i] != str[n]; ) + for (u = 0; alpha[u] != str[n]; ) { - if (++i == RADIX) + if (++u == RADIX) { - free( *indices ); /* invalid character found */ + free( *idx ); /* invalid character found */ return 'C'; } } - (*indices)[n] = (rbase_t) i; + (*idx)[n] = (rbase_t) u; } return 0; } -/** make the output string after completing FPE encrypt/decryption procedures */ -static void FPEfinalize( const rbase_t* index, const size_t len, void* output ) +/** make the output string after completing the process of FPE en/decryption. */ +static void FPEfinalize( const rbase_t* index, size_t n, void* output ) { - const string_t abc = ALPHABET; + const string_t alpha = ALPHABET; string_t str = output; - size_t i; - BURN( RoundKey ); + str[n] = 0; /* null-terminated strings? */ - str[len] = 0; /* null-terminated strings? */ - for (i = len; i--; ) str[i] = abc[index[i]]; + while (n--) str[n] = alpha[index[n]]; } /** @@ -2306,16 +2304,17 @@ char AES_FPE_encrypt( const uint8_t* key, const uint8_t* tweak, const void* pntxt, const size_t ptextLen, void* crtxt ) { rbase_t* index = NULL; - if (FPEinit( pntxt, ptextLen, &index ) != 0) return ENCRYPTION_FAILURE; + + if (FPEinit( pntxt, ptextLen, &index ) != 0) return M_ENCRYPTION_ERROR; #if FF_X == 3 - FF3_Cipher( key, 1, ptextLen, tweak, index ); + FF3_cipher( key, 1, ptextLen, tweak, index ); #else - FF1_Cipher( key, 1, ptextLen, tweak, tweakLen, index ); + FF1_cipher( key, 1, ptextLen, tweak, tweakLen, index ); #endif FPEfinalize( index, ptextLen, crtxt ); free( index ); - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } /** @@ -2335,15 +2334,16 @@ char AES_FPE_decrypt( const uint8_t* key, const uint8_t* tweak, const void* crtxt, const size_t crtxtLen, void* pntxt ) { rbase_t* index = NULL; - if (FPEinit( crtxt, crtxtLen, &index ) != 0) return DECRYPTION_FAILURE; + + if (FPEinit( crtxt, crtxtLen, &index ) != 0) return M_DECRYPTION_ERROR; #if FF_X == 3 - FF3_Cipher( key, 0, crtxtLen, tweak, index ); + FF3_cipher( key, 0, crtxtLen, tweak, index ); #else - FF1_Cipher( key, 0, crtxtLen, tweak, tweakLen, index ); + FF1_cipher( key, 0, crtxtLen, tweak, tweakLen, index ); #endif FPEfinalize( index, crtxtLen, pntxt ); free( index ); - return ENDED_IN_SUCCESS; + return M_RESULT_SUCCESS; } #endif /* FPE */ diff --git a/micro_aes.h b/micro_aes.h index 2806bd0..8bf575f 100644 --- a/micro_aes.h +++ b/micro_aes.h @@ -2,7 +2,7 @@ ============================================================================== Name : micro_aes.h Author : polfosol - Version : 9.9.8.4 + Version : 10 Copyright : copyright © 2022 - polfosol Description : μAES ™ is a minimalist all-in-one library for AES encryption ============================================================================== @@ -65,27 +65,30 @@ AES block-cipher modes of operation. The following modes can be enabled/disabled #endif #if EAX -#define EAXP 1 /* EAX-prime, as specified by IEEE Std 1703 */ +#define EAXP 0 /* EAX-prime, as specified by IEEE Std 1703 */ #endif #define WTF ! (BLOCKCIPHERS | AEAD_MODES) -#define M_RIJNDAEL WTF /* none of above; just rijndael API. dude.., why? */ +#define MICRO_RJNDL WTF /* none of above; just rijndael API. dude.., why? */ /**---------------------------------------------------------------------------- -Refer to the BOTTOM OF THIS DOCUMENT for some explanations about these macros: +Refer to the bottom of this document for more information about these macros: -----------------------------------------------------------------------------*/ #if ECB || (CBC && !CTS) || (XEX && !XTS) #define AES_PADDING 0 /* standard values: (1) PKCS#7 (2) ISO/IEC7816-4 */ #endif -#if ECB || CBC || XEX || KWA || M_RIJNDAEL +#if ECB || CBC || XEX || KWA || MICRO_RJNDL #define DECRYPTION 1 /* rijndael decryption is NOT required otherwise. */ #endif #if FPE #define CUSTOM_ALPHABET 0 /* if disabled, use default alphabet (digits 0..9) */ #define FF_X 1 /* algorithm type: (1) for FF1, or (3) for FF3-1 */ +#if FF_X == 3 +#define FF3_TWEAK_LEN 7 /* if the old version of FF3: (8), else FF3-1: (7) */ +#endif #endif #if CTR_NA @@ -115,18 +118,24 @@ Refer to the BOTTOM OF THIS DOCUMENT for some explanations about these macros: Since is not a part of ANSI-C, we may need a 'trick' to use uint8_t -----------------------------------------------------------------------------*/ #include -#if __STDC_VERSION__ > 199900L || __cplusplus > 201100L || defined(_MSC_VER) -#include -#else #include -#if CHAR_BIT == 8 +#ifdef LLONG_MAX /* which means compiler conforms to C99 standard. */ +#include +#elif CHAR_BIT == 8 typedef unsigned char uint8_t; -#endif #if INT_MAX > 200000L typedef int int32_t; #else typedef long int32_t; #endif +#else +#error "YOUR SYSTEM/COMPILER NEITHER SUPPORTS NOR 8-BIT CHARACTERS!!" +#endif + +#ifdef __SDCC /* compiler is SDCC (small-device C compiler) */ +#define SDCC_REENT __reentrant +#else +#define SDCC_REENT #endif #ifdef __cplusplus @@ -136,10 +145,10 @@ extern "C" { /**---------------------------------------------------------------------------- Encryption/decryption of a single block with Rijndael -----------------------------------------------------------------------------*/ -#if M_RIJNDAEL +#if MICRO_RJNDL void AES_Cipher( const uint8_t* key, /* encryption/decryption key */ const char mode, /* encrypt: 'E', decrypt: 'D' */ - const uint8_t x[16], /* input bytes (or input block) */ + const uint8_t x[16], /* input array (or input block) */ uint8_t y[16] ); /* output block */ #endif @@ -148,14 +157,14 @@ Main functions for ECB-AES block ciphering -----------------------------------------------------------------------------*/ #if ECB void AES_ECB_encrypt( const uint8_t* key, /* encryption key */ - const uint8_t* pntxt, /* plaintext buffer */ - const size_t ptextLen, /* length of input plain text */ - uint8_t* crtxt ); /* cipher-text result */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + void* crtxt ); /* ciphertext result */ char AES_ECB_decrypt( const uint8_t* key, /* decryption key */ - const uint8_t* crtxt, /* cipher-text buffer */ - const size_t crtxtLen, /* length of input cipher text */ - uint8_t* pntxt ); /* plaintext result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + void* pntxt ); /* plaintext result */ #endif /* ECB */ /**---------------------------------------------------------------------------- @@ -164,15 +173,15 @@ Main functions for CBC-AES block ciphering #if CBC char AES_CBC_encrypt( const uint8_t* key, /* encryption key */ const uint8_t iVec[16], /* initialization vector */ - const uint8_t* pntxt, /* plaintext buffer */ - const size_t ptextLen, /* length of input plain text */ - uint8_t* crtxt ); /* cipher-text result */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + void* crtxt ); /* ciphertext result */ char AES_CBC_decrypt( const uint8_t* key, /* decryption key */ const uint8_t iVec[16], /* initialization vector */ - const uint8_t* crtxt, /* cipher-text buffer */ - const size_t crtxtLen, /* length of input cipher text */ - uint8_t* pntxt ); /* plaintext result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + void* pntxt ); /* plaintext result */ #endif /* CBC */ /**---------------------------------------------------------------------------- @@ -181,15 +190,15 @@ Main functions for CFB-AES block ciphering #if CFB void AES_CFB_encrypt( const uint8_t* key, /* encryption key */ const uint8_t iVec[16], /* initialization vector */ - const uint8_t* pntxt, /* plaintext buffer */ - const size_t ptextLen, /* length of input plain text */ - uint8_t* crtxt ); /* cipher-text result */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + void* crtxt ); /* ciphertext result */ void AES_CFB_decrypt( const uint8_t* key, /* decryption key */ const uint8_t iVec[16], /* initialization vector */ - const uint8_t* crtxt, /* cipher-text buffer */ - const size_t crtxtLen, /* length of input cipher text */ - uint8_t* pntxt ); /* plaintext result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + void* pntxt ); /* plaintext result */ #endif /* CFB */ /**---------------------------------------------------------------------------- @@ -198,15 +207,15 @@ Main functions for OFB-AES block ciphering #if OFB void AES_OFB_encrypt( const uint8_t* key, /* encryption key */ const uint8_t iVec[16], /* initialization vector */ - const uint8_t* pntxt, /* plaintext buffer */ - const size_t ptextLen, /* length of input plain text */ - uint8_t* crtxt ); /* cipher-text result */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + void* crtxt ); /* ciphertext result */ void AES_OFB_decrypt( const uint8_t* key, /* decryption key */ const uint8_t iVec[16], /* initialization vector */ - const uint8_t* crtxt, /* cipher-text buffer */ - const size_t crtxtLen, /* length of input cipher text */ - uint8_t* pntxt ); /* plaintext result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + void* pntxt ); /* plaintext result */ #endif /* OFB */ /**---------------------------------------------------------------------------- @@ -215,15 +224,15 @@ Main functions for XTS-AES block ciphering #if XTS char AES_XTS_encrypt( const uint8_t* keys, /* encryption key pair */ const uint8_t* tweak, /* tweak value (unit/sector ID) */ - const uint8_t* pntxt, /* plaintext buffer */ - const size_t ptextLen, /* length of input plain text */ - uint8_t* crtxt ); /* cipher-text result */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + void* crtxt ); /* ciphertext result */ char AES_XTS_decrypt( const uint8_t* keys, /* decryption key pair */ const uint8_t* tweak, /* tweak value (unit/sector ID) */ - const uint8_t* crtxt, /* cipher-text buffer */ - const size_t crtxtLen, /* length of input cipher text */ - uint8_t* pntxt ); /* plaintext result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + void* pntxt ); /* plaintext result */ #endif /* XTS */ /**---------------------------------------------------------------------------- @@ -232,15 +241,15 @@ Main functions for CTR-AES block ciphering #if CTR_NA void AES_CTR_encrypt( const uint8_t* key, /* encryption key */ const uint8_t* iv, /* initialization vector/ nonce */ - const uint8_t* pntxt, /* plaintext buffer */ - const size_t ptextLen, /* length of input plain text */ - uint8_t* crtxt ); /* cipher-text result */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + void* crtxt ); /* ciphertext result */ void AES_CTR_decrypt( const uint8_t* key, /* decryption key */ const uint8_t* iv, /* initialization vector/ nonce */ - const uint8_t* crtxt, /* cipher-text buffer */ - const size_t crtxtLen, /* length of input cipher text */ - uint8_t* pntxt ); /* plaintext result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + void* pntxt ); /* plaintext result */ #endif /* CTR */ /**---------------------------------------------------------------------------- @@ -248,20 +257,20 @@ Main functions for SIV-AES block ciphering -----------------------------------------------------------------------------*/ #if SIV void AES_SIV_encrypt( const uint8_t* keys, /* encryption key pair */ - const uint8_t* pntxt, /* plain text */ - const size_t ptextLen, /* length of input plain text */ - const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ + const void* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ + const void* aData, /* added authentication data */ + const size_t aDataLen, /* length of AAD (auth. data) */ uint8_t iv[16], /* synthesized initial-vector */ - uint8_t* crtxt ); /* cipher-text result */ + void* crtxt ); /* ciphertext result */ char AES_SIV_decrypt( const uint8_t* keys, /* decryption key pair */ const uint8_t iv[16], /* provided initial-vector */ - const uint8_t* crtxt, /* cipher text */ - const size_t crtxtLen, /* length of input cipher-text */ - const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - uint8_t* pntxt ); /* plain-text result */ + const void* crtxt, /* ciphertext input */ + const size_t crtxtLen, /* length of ciphertext */ + const void* aData, /* added authentication data */ + const size_t aDataLen, /* length of AAD (auth. data) */ + void* pntxt ); /* plaintext result */ #endif /* SIV */ /**---------------------------------------------------------------------------- @@ -269,22 +278,22 @@ Main functions for GCM-AES block ciphering -----------------------------------------------------------------------------*/ #if GCM void AES_GCM_encrypt( const uint8_t* key, /* encryption key */ - const uint8_t* nonce, /* a.k.a initialization vector */ - const uint8_t* pntxt, /* plain text */ - const size_t ptextLen, /* length of input plain text */ + const uint8_t* nonce, /* nonce or IV (init. vector) */ + const uint8_t* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - uint8_t* crtxt, /* cipher-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + uint8_t* crtxt, /* ciphertext result */ uint8_t auTag[16] ); /* message authentication tag */ char AES_GCM_decrypt( const uint8_t* key, /* decryption key */ - const uint8_t* nonce, /* a.k.a initialization vector */ - const uint8_t* crtxt, /* cipher text + appended tag */ - const size_t crtxtLen, /* length of input cipher-text */ + const uint8_t* nonce, /* nonce or IV (init. vector) */ + const uint8_t* crtxt, /* ciphertext + appended tag */ + const size_t crtxtLen, /* length of ciphertext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - const uint8_t tagLen, /* size of tag (if any) */ - uint8_t* pntxt ); /* plain-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + const uint8_t tagLen, /* length of tag (if any) */ + uint8_t* pntxt ); /* plaintext result */ #endif /* GCM */ /**---------------------------------------------------------------------------- @@ -292,22 +301,22 @@ Main functions for CCM-AES block ciphering -----------------------------------------------------------------------------*/ #if CCM void AES_CCM_encrypt( const uint8_t* key, /* encryption key */ - const uint8_t* nonce, /* a.k.a initialization vector */ - const uint8_t* pntxt, /* plain text */ - const size_t ptextLen, /* length of input plain text */ + const uint8_t* nonce, /* nonce or IV (init. vector) */ + const uint8_t* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - uint8_t* crtxt, /* cipher-text result */ - uint8_t auTag[16] ); /* message authentication tag */ + const size_t aDataLen, /* length of AAD (auth. data) */ + uint8_t* crtxt, /* ciphertext result */ + uint8_t* auTag ); /* message authentication tag */ char AES_CCM_decrypt( const uint8_t* key, /* decryption key */ - const uint8_t* nonce, /* a.k.a initialization vector */ - const uint8_t* crtxt, /* cipher text + appended tag */ - const size_t crtxtLen, /* length of input cipher-text */ + const uint8_t* nonce, /* nonce or IV (init. vector) */ + const uint8_t* crtxt, /* ciphertext + appended tag */ + const size_t crtxtLen, /* length of ciphertext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - const uint8_t tagLen, /* size of tag (if any) */ - uint8_t* pntxt ); /* plain-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + const uint8_t tagLen, /* length of tag (=CCM_TAG_LEN) */ + uint8_t* pntxt ); /* plaintext result */ #endif /* CCM */ /**---------------------------------------------------------------------------- @@ -315,22 +324,22 @@ Main functions for OCB-AES block ciphering -----------------------------------------------------------------------------*/ #if OCB void AES_OCB_encrypt( const uint8_t* key, /* encryption key */ - const uint8_t* nonce, /* a.k.a initialization vector */ - const uint8_t* pntxt, /* plain text */ - const size_t ptextLen, /* length of input plain text */ + const uint8_t* nonce, /* nonce or IV (init. vector) */ + const uint8_t* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - uint8_t* crtxt, /* cipher-text result */ - uint8_t auTag[16] ); /* message authentication tag */ + const size_t aDataLen, /* length of AAD (auth. data) */ + uint8_t* crtxt, /* ciphertext result */ + uint8_t* auTag ); /* message authentication tag */ char AES_OCB_decrypt( const uint8_t* key, /* decryption key */ - const uint8_t* nonce, /* a.k.a initialization vector */ - const uint8_t* crtxt, /* cipher text + appended tag */ - const size_t crtxtLen, /* length of input cipher-text */ + const uint8_t* nonce, /* nonce or IV (init. vector) */ + const uint8_t* crtxt, /* ciphertext + appended tag */ + const size_t crtxtLen, /* length of ciphertext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - const uint8_t tagLen, /* size of tag (if any) */ - uint8_t* pntxt ); /* plain-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + const uint8_t tagLen, /* length of tag (=OCB_TAG_LEN) */ + uint8_t* pntxt ); /* plaintext result */ #endif /* OCB */ /**---------------------------------------------------------------------------- @@ -339,30 +348,30 @@ Main functions for EAX-AES mode; more info at the bottom of this document. #if EAX void AES_EAX_encrypt( const uint8_t* key, /* encryption key */ const uint8_t* nonce, /* arbitrary-size nonce array */ - const uint8_t* pntxt, /* plain text */ - const size_t ptextLen, /* length of input plain text */ + const uint8_t* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ #if EAXP - const size_t nonceLen, /* size of provided nonce */ - uint8_t* crtxt ); /* cipher-text result + mac (4) */ + const size_t nonceLen, /* length of provided nonce */ + uint8_t* crtxt ); /* ciphertext result + mac (4) */ #else const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - uint8_t* crtxt, /* cipher-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + uint8_t* crtxt, /* ciphertext result */ uint8_t auTag[16] ); /* message authentication tag */ #endif char AES_EAX_decrypt( const uint8_t* key, /* decryption key */ const uint8_t* nonce, /* arbitrary-size nonce array */ - const uint8_t* crtxt, /* cipher text + appended tag */ - const size_t crtxtLen, /* length of input cipher-text */ + const uint8_t* crtxt, /* ciphertext + appended tag */ + const size_t crtxtLen, /* length of ciphertext */ #if EAXP - const size_t nonceLen, /* size of provided nonce */ + const size_t nonceLen, /* length of provided nonce */ #else const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - const uint8_t tagLen, /* size of tag (if any) */ + const size_t aDataLen, /* length of AAD (auth. data) */ + const uint8_t tagLen, /* length of tag (if any) */ #endif - uint8_t* pntxt ); /* plain-text result */ + uint8_t* pntxt ); /* plaintext result */ #endif /* EAX */ /**---------------------------------------------------------------------------- @@ -371,21 +380,21 @@ Main functions for GCM-SIV-AES block ciphering #if GCM_SIV void GCM_SIV_encrypt( const uint8_t* key, /* encryption key */ const uint8_t* nonce, /* provided 96-bit nonce */ - const uint8_t* pntxt, /* plain text */ - const size_t ptextLen, /* length of input plain text */ + const uint8_t* pntxt, /* plaintext input */ + const size_t ptextLen, /* length of plaintext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - uint8_t* crtxt, /* cipher-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + uint8_t* crtxt, /* ciphertext result */ uint8_t auTag[16] ); /* 16-bytes mandatory tag */ char GCM_SIV_decrypt( const uint8_t* key, /* decryption key */ const uint8_t* nonce, /* provided 96-bit nonce */ - const uint8_t* crtxt, /* cipher text + appended tag */ - const size_t crtxtLen, /* length of input cipher-text */ + const uint8_t* crtxt, /* ciphertext + appended tag */ + const size_t crtxtLen, /* length of ciphertext */ const uint8_t* aData, /* added authentication data */ - const size_t aDataLen, /* size of authentication data */ - const uint8_t tagLen, /* size of tag (must be 16) */ - uint8_t* pntxt ); /* plain-text result */ + const size_t aDataLen, /* length of AAD (auth. data) */ + const uint8_t tagLen, /* length of tag (must be 16) */ + uint8_t* pntxt ); /* plaintext result */ #endif /* GCM-SIV */ /**---------------------------------------------------------------------------- @@ -393,14 +402,14 @@ Main functions for AES key-wrapping -----------------------------------------------------------------------------*/ #if KWA char AES_KEY_wrap( const uint8_t* kek, /* key encryption key */ - const uint8_t* secret, /* input secret to be wrapped */ - const size_t secretLen, /* size of input */ + const void* secret, /* the secret to be wrapped */ + const size_t secretLen, /* length of plaintext secret */ uint8_t* wrapped ); /* key-wrapped output */ char AES_KEY_unwrap( const uint8_t* kek, /* key encryption key */ - const uint8_t* wrapped, /* key-wrapped secret */ - const size_t wrapLen, /* size of input (secretLen +8) */ - uint8_t* secret ); /* buffer for unwrapped key */ + const void* wrapped, /* key-wrapped secret */ + const size_t wrapLen, /* length of wrapped secret */ + uint8_t* secret ); /* the unwrapped key result */ #endif /* KWA */ /**---------------------------------------------------------------------------- @@ -409,23 +418,21 @@ Main functions for FPE-AES; more info at the bottom of this page. #if FPE char AES_FPE_encrypt( const uint8_t* key, /* encryption key */ const uint8_t* tweak, /* tweak bytes */ -#if FF_X == 3 -#define FF3_TWEAK_LEN 7 /* either 8 (FF3), or 7 (FF3-1) */ -#else - const size_t tweakLen, /* size of tweak array */ +#if FF_X != 3 + const size_t tweakLen, /* length of tweak array */ #endif const void* pntxt, /* input plaintext string */ const size_t ptextLen, /* length of plaintext string */ - void* crtxt ); /* cipher-text result */ + void* crtxt ); /* ciphertext result */ char AES_FPE_decrypt( const uint8_t* key, /* decryption key */ const uint8_t* tweak, /* tweak bytes */ #if FF_X != 3 - const size_t tweakLen, /* size of tweak array */ + const size_t tweakLen, /* length of tweak array */ #endif const void* crtxt, /* input ciphertext string */ const size_t crtxtLen, /* length of ciphertext string */ - void* pntxt ); /* plain-text result */ + void* pntxt ); /* plaintext result */ #endif /* FPE */ /**---------------------------------------------------------------------------- @@ -435,7 +442,7 @@ Main function for Poly1305-AES message authentication code void AES_Poly1305( const uint8_t* keys, /* encryption/mixing key pair */ const uint8_t nonce[16], /* the 128-bit nonce */ const void* data, /* input data buffer */ - const size_t dataSize, /* size of data in bytes */ + const size_t dataSize, /* length of data in bytes */ uint8_t mac[16] ); /* poly1305-AES mac of data */ #endif @@ -443,10 +450,10 @@ void AES_Poly1305( const uint8_t* keys, /* encryption/mixing key pair */ Main function for AES Cipher-based Message Authentication Code -----------------------------------------------------------------------------*/ #if CMAC -void AES_CMAC( const uint8_t* key, /* encryption/cipher key */ +void AES_CMAC( const uint8_t* key, /* encryption or cipher key */ const void* data, /* input data buffer */ - const size_t dataSize, /* size of data in bytes */ - uint8_t mac[16] ); /* CMAC result of input data */ + const size_t dataSize, /* length of data in bytes */ + uint8_t mac[16] ); /* CMAC of input data */ #endif #ifdef __cplusplus @@ -456,77 +463,104 @@ void AES_CMAC( const uint8_t* key, /* encryption/cipher key */ /**---------------------------------------------------------------------------- The error codes and key length should be defined here for external references: -----------------------------------------------------------------------------*/ -#define ENCRYPTION_FAILURE 0x1E -#define DECRYPTION_FAILURE 0x1D -#define AUTHENTICATION_FAILURE 0x1A -#define ENDED_IN_SUCCESS 0x00 - -#if (AES___ != 256) && (AES___ != 192) -#define AES_KEY_SIZE 16 +#if AES___ != 256 && AES___ != 192 +#define AES_KEY_SIZE 16 #else -#define AES_KEY_SIZE (AES___ / 8) +#define AES_KEY_SIZE (AES___ / 8) #endif +enum function_result_codes +{ + M_ENCRYPTION_ERROR = 0x1E, + M_DECRYPTION_ERROR = 0x1D, + M_AUTHENTICATION_ERROR = 0x1A, + M_RESULT_SUCCESS = 0x00 +}; + #endif /* header guard */ /******************************************************************************\ ¦ Notes and remarks about the above-defined macros ¦ -------------------------------------------------------------------------------- -* In EBC/CBC/XEX modes, the size of input must be a multiple of block-size. - Otherwise it needs to be padded. The simplest (default) padding mode is to - fill the rest of block by zeros. Supported standard padding methods are - PKCS#7 and ISO/IEC 7816-4, which can be enabled by the AES_PADDING macro. +* The main difference between the standard AES methods is in their key-expansion + process. So for example, AES-128-GCM and AES-256-GCM are pretty much similar + except for their key size and a minor change in the KeyExpansion function. -* In many texts, you may see that the words 'nonce' and 'initialization vector' - are used interchangeably. But they have a subtle difference. Sometimes nonce - is a part of the I.V, which itself can either be a full block or a partial - one. In CBC/CFB/OFB modes, the provided I.V must be a full block. In pure - CTR mode (CTR_NA) you can either provide a 96-bit I.V and let the count - start at CTR_STARTVALUE, or use a full block IV. +* In EBC/CBC/XEX modes, the size of input must be a multiple of block-size. + Otherwise it needs to be padded. The simplest (default) way of padding is to + fill the rest of block by zeros. Two standard methods for padding are PKCS#7 + and ISO/IEC 7816-4, which can be enabled by the AES_PADDING macro. + +* The FPE mode has two distinct NIST-approved algorithms, namely FF1 and FF3-1. + Use the FF_X macro to change the encryption method, which is FF1 by default. + The early version of FF3 required 8-byte tweaks. But this turned out to have + vulnerabilities and so it was reduced to 7 bytes in the FF3-1. + + The input and output strings of FPE functions must be consisted of a fixed + set of characters called "the alphabet". Here, the default alphabet is the + set of digits {'0'...'9'}. If you want to use a different alphabet, set the + CUSTOM_ALPHABET macro and refer to the header. This header is + required only when a custom alphabet has to be defined, and contains some + illustrative examples and clear guidelines on how to do so. + +* Many reference texts may use the terms "nonce" and "initialization vector" + interchangeably, but technically they are not the same. Sometimes nonce is + a part of the I.V, which itself can either be a full block or a partial one. + In CBC, CFB and OFB modes, the provided IV must be a full block. In pure CTR + (CTR_NA) mode, the IV can either be a full block, or a 96 bit one —which is + also called nonce. In the latter case, counting begins at CTR_STARTVALUE. * In AEAD modes, the size of nonce and tag might be a parameter of the algorithm such that changing them affect the results. The GCM and EAX modes support arbitrary sizes for nonce. In CCM, the nonce length may vary from 8 to 13 bytes. Also the tag size is an EVEN number between 4..16. In OCB, the nonce - size is 1..15 and the tag is 0..16 bytes. Note that the 'calculated' tag- - size is always 16 bytes which can later be truncated to desired values. So - in encryption functions, the provided authTag buffer must be 16 bytes long. + size is 1..15 and the tag is 0..16 bytes. Note that the "calculated" tag- + size is always 16 bytes which is then truncated to the desired values. So in + encryption functions, the provided buffer for tag must be 16 bytes long. + +* In most functions, as you may notice, first the entire input data is copied + to the output and then the encryption process is carried out on its buffer. + This is a very useful feature especially when the memory is limited, as you + can perform "in-place encryption" on the input data and there is no need to + allocate a separate buffer for the output. But please note that the `memcpy` + function has undefined behavior if its source and destination are the same. + So in such cases, you can simply delete the memcpy(...); line. * For the EAX mode of operation, the IEEE-1703 standard defines EAX' which is a - modified version that combines AAD and nonce. Also the tag size is fixed to + modified version that combines AAD and nonce. Also the tag size is fixed on 4 bytes. So EAX-prime functions don't need to take additional authentication - data and tag-size as separate parameters. + data and tag-size as separate parameters. It has been proven that EAX' has + serious vulnerabilities and its usage is not recommended. * In SIV mode, multiple separate units of authentication headers can be provided for the nonce synthesis. Here we assume that only one unit of AAD (aData) is sufficient, which is practically true. -* The FPE mode has two distinct NIST-approved algorithms, namely FF1 and FF3-1. - Use the FF_X macro to change the encryption method, which is FF1 by default. - The input and output strings must be consisted of a fixed set of characters - called 'the alphabet'. The default alphabet is the set of digits {'0'..'9'}. - If you want to use a different alphabet, set the CUSTOM_ALPHABET macro and - refer to the "micro_fpe.h" header. This file is needed only when a custom - alphabet has to be defined. It contains some illustrative examples and clear - guidelines on how to do so. - * The key wrapping mode is also denoted by KW. In this mode, the input secret is divided into 64bit blocks. Number of blocks is at least 2, and it is assumed that no padding is required. For padding, the KWP mode must be used which is - easily implementable, but left as an exercise! The key-wrapped output is an - extra block (8 bytes) longer than the secret. In the NIST SP800-38F document - you may find some mentions of TKW which is for 3DES and irrelevant here. + easily implementable but left as an exercise! In the NIST SP800-38F document + you may find mentions of TKW which is based on 3DES and irrelevant here. + +* Here is a technical tip for the keen minds who have managed to read this far: + Excessive use of macro definitions in code is generally not a good practice, + especially in large projects. As it may possibly cause some name-conflicts + and errors for macro redefinition. So you can either delete the unnecessary + macros and clean up the code, or undef macros at the end of the source file + (i.e. write: #ifdef MACRO \ #undef MACRO \ #endif). Or replace their names + with some unique ones that surely won't be used elsewhere. For example, + rename the CTR macro above to MICRO_AES_CTR_MODE or something like that. * Let me explain three extra options that are defined in the source file. If the length of the input cipher/plain text is 'always' less than 4KB, you can enable the SMALL_CIPHER macro to save a few bytes in the compiled code. This assumption is likely to be valid for some embedded systems and small-scale - applications. Furthermore by enabling the DONT_USE_FUNCTIONS macro, you may - witness a positive effect on the speed while increasing the size of compiled - code. Nonetheless, others might get a different result from them. + applications. Furthermore, enabling the DISCARD_SUBROUTINES macro may have a + positive effect on the speed while increasing the size of compiled code. + Nonetheless, it is also possible to get different results sometimes. - The INCREASE_SECURITY macro, as its name suggests, is dealing with security + The INCREASE_SECURITY macro —as its name suggests, is dealing with security considerations. For example, since the RoundKey is declared as static array it might get exposed to some attacks. By enabling this macro, round-keys are wiped out at the end of ciphering operations. However, please keep in mind diff --git a/micro_fpe.h b/micro_fpe.h index 993af29..b2baa21 100644 --- a/micro_fpe.h +++ b/micro_fpe.h @@ -2,7 +2,7 @@ ============================================================================== Name : micro_fpe.h Author : polfosol - Version : 2.1.1.2 + Version : 2.2.0.0 Copyright : copyright © 2022 - polfosol Description : demonstrating some sample alphabets for the FPE mode of μAES ™ ============================================================================== @@ -12,28 +12,28 @@ #define MICRO_FPE_H_ /****************************************************************************** + * In what follows, a few sample alphabets and their corresponding macros are + * provided. Accordingly, it would be straightforward to define any alphabet. * If your desired alphabet contains non-ASCII characters, the CUSTOM_ALPHABET - * macro 'must be' set to a double-digit number, e.g 21. In what follows, there - * are some sample alphabets along with their corresponding macro definitions. - * It is straightforward to define another alphabet according to these samples. + * macro 'must be' set to a double-digit number, e.g. 21. The declaration of an + * alphabet needs to be followed by its number of characters (RADIX). */ #define NON_ASCII_CHARACTER_SET (CUSTOM_ALPHABET >= 10) /****************************************************************************** - * These strings are commonly used in ASCII-based alphabets. The declaration of - * an alphabet must be followed by its number of characters (RADIX). + * These strings frequently appear in ASCII-based alphabets. */ -#define DECDIGIT "0123456789" -#define LCLETTER "abcdefghijklmnopqrstuvwxyz" -#define UCLETTER "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -#define HEXDIGIT DECDIGIT "ABCDEFabcdef" +#define DECIMALS "0123456789" +#define LLETTERS "abcdefghijklmnopqrstuvwxyz" +#define ULETTERS "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +#define HEXCHARS DECIMALS "ABCDEFabcdef" /** numbers */ #if CUSTOM_ALPHABET == 0 -#define ALPHABET DECDIGIT +#define ALPHABET DECIMALS #define RADIX 10 #endif @@ -49,7 +49,7 @@ lowercase english words */ #if CUSTOM_ALPHABET == 2 -#define ALPHABET LCLETTER +#define ALPHABET LLETTERS #define RADIX 26 #endif @@ -57,7 +57,7 @@ lowercase alphanumeric strings */ #if CUSTOM_ALPHABET == 3 -#define ALPHABET DECDIGIT LCLETTER +#define ALPHABET DECIMALS LLETTERS #define RADIX 36 #endif @@ -65,7 +65,7 @@ the English alphabet */ #if CUSTOM_ALPHABET == 4 -#define ALPHABET UCLETTER LCLETTER +#define ALPHABET ULETTERS LLETTERS #define RADIX 52 #endif @@ -73,7 +73,7 @@ base-64 encoded strings (RFC-4648), with no padding character */ #if CUSTOM_ALPHABET == 5 -#define ALPHABET UCLETTER LCLETTER DECDIGIT "+/" +#define ALPHABET ULETTERS LLETTERS DECIMALS "+/" #define RADIX 64 #endif @@ -81,7 +81,7 @@ base-85 encoded strings (RFC-1924) */ #if CUSTOM_ALPHABET == 6 -#define ALPHABET DECDIGIT UCLETTER LCLETTER "!#$%&()*+-;<=>?@^_`{|}~" +#define ALPHABET DECIMALS ULETTERS LLETTERS "!#$%&()*+-;<=>?@^_`{|}~" #define RADIX 85 #endif @@ -89,7 +89,7 @@ a character set with length 26, used by some test vectors */ #if CUSTOM_ALPHABET == 7 -#define ALPHABET DECDIGIT "abcdefghijklmnop" +#define ALPHABET DECIMALS "abcdefghijklmnop" #define RADIX 26 #endif @@ -97,7 +97,7 @@ base-64 character set with DIFFERENT ORDERING, used by some test vectors */ #if CUSTOM_ALPHABET == 8 -#define ALPHABET DECDIGIT UCLETTER LCLETTER "+/" +#define ALPHABET DECIMALS ULETTERS LLETTERS "+/" #define RADIX 64 #endif @@ -105,7 +105,7 @@ all printable ascii characters */ #if CUSTOM_ALPHABET == 9 -#define ALPHABET " !\"#$%&\'()*+,-./"DECDIGIT":;<=>?@"UCLETTER"[\\]^_`"LCLETTER"{|}~" +#define ALPHABET " !\"#$%&\'()*+,-./"DECIMALS":;<=>?@"ULETTERS"[\\]^_`"LLETTERS"{|}~" #define RADIX 95 #endif @@ -116,8 +116,8 @@ */ #if NON_ASCII_CHARACTER_SET #include - #include + #define string_t wchar_t* /* type of plain/cipher-text */ #else #define string_t char* @@ -142,27 +142,28 @@ /****************************************************************************** * It is mandatory to determine these constants for the alphabet. You can either - * pre-calculate the logarithm value (with at least 10 significant digits) and - * set it as a constant, or let it be calculated dynamically like this: + * pre-calculate the logarithm value (with at least 15 significant digits) and + * set it as a constant, or leave its calculation to the standard math library. + * Other constants are directly related to the value of logarithm, and MAXLEN is + * needed only in the FF3 mode. + * +#define MINLEN (RADIX < 8 ? 40 / RADIX + (RADIX / 4) * (RADIX - 4) : \ + (RADIX < 1000) + (RADIX < 100) - (RADIX == 10) + 2 + 31 / RADIX) + * + * The above lines illustrate that MINLEN can also be defined independently, + * using pure integer arithmetics. */ #include -#define LOGRDX (log( RADIX ) / log( 2 )) /* log2( RADIX ) if std=C99 */ +#ifdef MATH_ERRNO +#define LOGRDX log2( RADIX ) +#else /* this means std-C <= C90 */ +#define LOGRDX (log( RADIX ) / log( 2 )) +#endif + +#define MINLEN ((int) (19.931568 / LOGRDX + 1)) + #if FF_X == 3 #define MAXLEN (2 * (int) (96.000001 / LOGRDX)) #endif -#define MINLEN ((int) (19.931568 / LOGRDX + 1)) - - -/****************************************************************************** - * or we can do something like this to set MINLEN: - * -#if RADIX >= 32 -#define MINLEN (2 + (RADIX < 1000) + (RADIX < 100)) -#elif RADIX > 5 -#define MINLEN (5 + (RADIX < 16) + (RADIX < 10) + (RADIX < 8)) -#else -#define MINLEN (40 / RADIX + RADIX / 5) -#endif - */ #endif /* header guard */ diff --git a/prj_vc++.vcxproj b/prj_vc++.vcxproj index 3d292fd..4f24c04 100644 --- a/prj_vc++.vcxproj +++ b/prj_vc++.vcxproj @@ -18,14 +18,14 @@ Application + $(DefaultPlatformToolset) true - v120 Unicode Application + $(DefaultPlatformToolset) false - v120 true Unicode @@ -66,7 +66,7 @@ MaxSpeed true true - WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) Console @@ -75,13 +75,25 @@ true - + + + + - + + + + + + + + + + diff --git a/testvectors/CCMtest.c b/testvectors/CCMtest.c deleted file mode 100644 index aa0e445..0000000 --- a/testvectors/CCMtest.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - ============================================================================== - Name : CCMtest.c - Author : polfosol - Version : 1.6.1.2 - Copyright : copyright © 2022 - polfosol - Description : illustrating how to validate NIST's vectors for AES-CCM mode - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "CCM_VNT128.rsp" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* iv, uint8_t* p, uint8_t* a, uint8_t* c, - size_t np, size_t na, char* r) -{ - char sk[2*AES_KEY_SIZE + 1], si[33], sp[80], sc[96], sa[80], msg[30]; - uint8_t tmp[64], t = 0; - sprintf(msg, "%s", "passed the test"); - - AES_CCM_encrypt(key, iv, p, np, a, na, tmp, tmp + np); - if (memcmp(c, tmp, np + CCM_TAG_LEN)) - { - sprintf(msg, "%s", "encrypt failure"); - t = 1; - } - memset(tmp, 0xcc , sizeof tmp); - t |= AES_CCM_decrypt(key, iv, c, np, a, na, CCM_TAG_LEN, tmp) ? 2 : 0; - if (t > 1) - { - sprintf(msg, "%sdecrypt failure", t & 1 ? "encrypt & " : ""); - } - bytes2str(key, sk, AES_KEY_SIZE); - bytes2str(iv, si, CCM_NONCE_LEN); - bytes2str(p, sp, np); - bytes2str(a, sa, na); - bytes2str(c, sc, np + CCM_TAG_LEN); - sprintf(r, "%s\nK: %s\ni: %s\nP: %s\nA: %s\nC: %s", msg, sk, si, sp, sa, sc); - return t; -} - -int main() -{ - const char *linehdr[] = { "Key = ", "Nonce = ", "Adata = ", "Payload = ", "CT = " }; - char buffer[0x800], *value = ""; - size_t pass = 0, df = 0, ef = 0, sk = 0, sn = 0, sp = 0, sc = 0, sa = 0; - uint8_t i, n = 0, key[AES_KEY_SIZE], iv[16], p[64], c[80], a[64]; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 5; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == AES_KEY_SIZE) str2bytes(value, key); - break; - case 1: - sn = strlen(value) / 2; - if (sn == CCM_NONCE_LEN) str2bytes(value, iv); - break; - case 2: - sa = strlen(value) / 2; - str2bytes(value, a); - break; - case 3: - sp = strlen(value) / 2; - str2bytes(value, p); - ++n; - break; - case 4: - sc = strlen(value) / 2 - CCM_TAG_LEN; - str2bytes(value, c); - ++n; - break; - } - if (n == 2) - { - if (sk == AES_KEY_SIZE && sn == CCM_NONCE_LEN && sp == sc) - { - n = ciphertest(key, iv, p, a, c, sp, sa, buffer); - fprintf(n ? ferr : fs, "%s\n", buffer); /* save the log */ - if (n == 0) ++pass; - else - { - if (n & 1) ++ef; - if (n & 2) ++df; - } - } - n = 0; - } - } - printf ("test cases: %d\nsuccessful: %d\nfailed encrypt: %d, failed decrypt: %d\n", - pass + (ef > df ? ef : df), pass, ef, df); - - fclose(fp); fclose(fs); fclose(ferr); - if (ef + df == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/CMACGenAES192.rsp b/testvectors/CMACGenAES192.rsp new file mode 100644 index 0000000..fb23ce8 --- /dev/null +++ b/testvectors/CMACGenAES192.rsp @@ -0,0 +1,1301 @@ +# CAVS 11.0 +# CMACGen information +# Algorithms tested:Alg = AES KeySize = 192 Mode = Generate +# Generated on Tue Mar 15 08:40:34 2011 + + +Count = 0 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = af189eb993eed7225bd3b61af2d3a9a854c8b01ba32211f1 +Msg = 00 +Mac = 771b8f673b2daf2ff054 + + +Count = 1 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = 33f01aa94838f15bcd135e584b78ce673f833ea51a6b591f +Msg = 00 +Mac = 8fee179b1e678707de7f + + +Count = 2 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = 85d27eb394e3d162d191d56f9f881292e9d1ffb5fe53769e +Msg = 00 +Mac = b92f5da88efa8da0f8f2 + + +Count = 3 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = 1f984e40df91fe9cc23f2da524e22844d84e877e634905f5 +Msg = 00 +Mac = 6d5c7013378234d81e63 + + +Count = 4 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = f2a5922af9be09c75d1c89b19f94aceb47d769611fdfe571 +Msg = 00 +Mac = bb42ed0ace961365c1cc + + +Count = 5 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = 2d5537b24d0b0f7a45703c1e131656ec9edc12cdf71dae1c +Msg = 00 +Mac = dfaadaf9c2258b82839f + + +Count = 6 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = 1ec203a8af24d67e772ed6645fef677228f76962b95e22ad +Msg = 00 +Mac = eb6afe4452ae3134ab55 + + +Count = 7 +Klen = 24 +Mlen = 0 +Tlen = 10 +Key = 212ce614a419ff6a0417ea3a20599df2c44e5e127b2334d6 +Msg = 00 +Mac = e81db4efa236b5cd5fb2 + + +Count = 8 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = 91a8a9473ce48a2e2d59885498c67efc42248e8f7eceb6e4 +Msg = 00 +Mac = 7c4d12c6087639ec7c68b664 + + +Count = 9 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = 14acced8d636fa38513fbaa6363b00629d773931040874f5 +Msg = 00 +Mac = f846c9d809015d0a8677d883 + + +Count = 10 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = 1caeedc041bc85ed1a50a821e3069670f3287926ee193e53 +Msg = 00 +Mac = 756a4835af08564c684949f3 + + +Count = 11 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = 627961ce090965ed70c3a137d601dce8dcea6e892f8b01af +Msg = 00 +Mac = ae7e4f80118b9c6693e7627e + + +Count = 12 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = 3a987ebe53054a60a2bb82ec9f217eac7d6a350f021aae4b +Msg = 00 +Mac = e7142592e6235dbc0a75c75b + + +Count = 13 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = dd4537d1df909b140d634dbc1976b4e7b8755c40fb03ec23 +Msg = 00 +Mac = 7577752bf9acb84a1a726582 + + +Count = 14 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = 64ca49eb1807c2299cfaae5e56003e02af70c3331689cf4f +Msg = 00 +Mac = feea641b952c7531ddbb13ac + + +Count = 15 +Klen = 24 +Mlen = 0 +Tlen = 12 +Key = f1d9d676c47cdbde625b5373eb24076913d0dba380795326 +Msg = 00 +Mac = 31449de440a6acd033b6f1f1 + + +Count = 16 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = 3364169ee077cafb9b15cbabafa4f3f1ea138bbc09756470 +Msg = 00 +Mac = 57aab646105c5e5b80214b87fffa3847 + + +Count = 17 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = 30834308187b8be1be405d4b274d97b5d8ab71905064185f +Msg = 00 +Mac = f4891369691f0329fb3b3160d1bcd710 + + +Count = 18 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = b822517136e97ea5ae89c49da642f5369877788945b13f14 +Msg = 00 +Mac = c2d140417892dacbf0026b35556047cf + + +Count = 19 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = 83b4dae82b50879c24648729121b263e39b27f1c29894047 +Msg = 00 +Mac = b088a52d4a5eff371531ea26c6362cf6 + + +Count = 20 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = cd941a2a84873c131a10fcff0f4370bdc87dcfb7d79bd5c7 +Msg = 00 +Mac = ab46bec76a2e76ca823b2e2b0a2723ea + + +Count = 21 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = 6fd6aa04a13bcafbfab60c5ba5912164f4acff82af7ad774 +Msg = 00 +Mac = d1e17cf8edd738f3948178d9daaf14f7 + + +Count = 22 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = b9ae557c9daaa405e08857494216d1abece82b7356a733c3 +Msg = 00 +Mac = 5cad436ec51e080df056925ab3cd4589 + + +Count = 23 +Klen = 24 +Mlen = 0 +Tlen = 16 +Key = 7b32391369aa4ca97558095be3c3ec862bd057cef1e32d62 +Msg = 00 +Mac = e4d9340b03e67defd4969cc1ed3735e6 + + +Count = 24 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = b19041308b767138ee196022480301683d1441933ec83aa3 +Msg = 86617012af7d947841ba408df5ff8b9a44f25985ccc5dc44f5525a97d46b30f7 +Mac = 8efc4d25b692c34ddbbc + + +Count = 25 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = 7fea563a866571822472dade8a0bec4b98202d47a3443129 +Msg = a206a1eb70a9d24bb5e72f314e7d91de074f59055653bdd24aab5f2bbe112436 +Mac = 3bfe96f05e9cf96a98bd + + +Count = 26 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = 3f29d9b2dbf5d3e51fcf96e86e1d40756692020966a8c5f1 +Msg = 5e5136ff2c39c2cbb80746b3df2e39e2744c8f119a0238fb7002e911f4691e6e +Mac = 0a891a799a356ec6241c + + +Count = 27 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = 3362226aa5b08d6c182ade754de4f1bf2091b357013435d9 +Msg = f576f759b19cb7c6a35806859e066a5a632cd7b3b9476a8ac0cb5a8d82652b7d +Mac = c90289d87cb97db36fcb + + +Count = 28 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = b0034305aba4ebb101dbe23b544c8991ad74bf2978970395 +Msg = 402e802885e4119df17fe85f141c3d1af7727fcdb00f8e2c34e42a436d04ac5b +Mac = 184c6701fed75c5c07d1 + + +Count = 29 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = 9d65d88bffed764c286f34894f991600d1a67d622382b3a0 +Msg = 4b4e3dfbd10f464022fe105aa6365bdc3a700fdd2525cf414df3d03aab42ec0d +Mac = b75daf02260c710b8b42 + + +Count = 30 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = 2b0ede783938ab72698850fba59a0f2248a64d811aa4317a +Msg = 5787fcfe8a1ee76afaef54cb22d8b2a20b116f72bfc7117f010783d63bdeac8d +Mac = 8a4cd3aae3d13be0c7e5 + + +Count = 31 +Klen = 24 +Mlen = 32 +Tlen = 10 +Key = 16ef35e38aef630f2407afb2e7f961437e9b88e689daec93 +Msg = e98d6b26e408f0f1b44381bd131f43aaf2d660cb62480822b48fb6cbdfd9b577 +Mac = 625ba8822deb6a9be6ba + + +Count = 32 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = 09891ed14f4488069cd6a5744061e06f8ff8d1bc87b10448 +Msg = 3c3d7f18a0bd3b6f366c1b497c602e889cac88feedd7e683bd8d95454e958f60 +Mac = a737ae846c1fecea1cf77a17 + + +Count = 33 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = a92e820d4aa83ab32bc9ce537a9582303896064840d29ee4 +Msg = 6f6c7ce5d1c725f7b0284703736a1de9ca8f75cf9110b415f770198bdf1746e2 +Mac = 087006cea64c265cb2331a93 + + +Count = 34 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = 3314e9af7ce9917ff7f922c86706277a4e98d28e1197413b +Msg = ca2b30d72df532efce9cde44ffb9bb5611e746ba1a76dc6af464d95f89880262 +Mac = a1f0e1a5d23160f052b3aa83 + + +Count = 35 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = 7ccdb1694225e55cfd7a9679569ce4b091934bdf1de0d13e +Msg = bed48837b7c36abfd299b0d12d0b0ee0c6330107982a0f3f07d950d47e0c2d1a +Mac = 3ec528a3418fbcbaa8df51da + + +Count = 36 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = 7867bb4b275b18c734f065f5aad3317aa57d9a4767fd0778 +Msg = 081568ae0b948aa647b9d4dda5d42641ad5de72aa9874d8d0717d872007720a8 +Mac = d18bc40cc5d772e6b6f263f1 + + +Count = 37 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = e5069836d054bfc844bd7800ad893892c12df3b0be7a84d8 +Msg = d788790ec62797fe588f4a68ce4a00d329a8d7b39a65b22f3a868d27fb840d76 +Mac = f1b9602ac97e8a10656f0127 + + +Count = 38 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = dd472b0bf50519020a182f122239d161d9659773b4df454e +Msg = 7bc03632942150716f019d048a752ccc0f93139c55df0f4aaa066a0550cf22e8 +Mac = 670ab4297c1e8ef9677abcf8 + + +Count = 39 +Klen = 24 +Mlen = 32 +Tlen = 12 +Key = ffead92a4a5dc1eec6d2e441de9a9e1b7a88c607c9a79079 +Msg = 9be0b302ab1fe8d13cba71652b27be06f7f8e7f626b035ece4d5e4c3ee462774 +Mac = e5012815fdeae3b1117dfde3 + + +Count = 40 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = 2051af34762ebe556f72a5c6edc7771eb9245fad76f034be +Msg = ae8e93c9c991cf896a491a8907df4e4be5186ae496cd340dc19b237821db7b60 +Mac = 74f74608c04f0f4e47fa640433b6e6fb + + +Count = 41 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = 4513f55f243b70544fd97fafe65a68ed82c4acdcc9f739ff +Msg = bb525cbd4cfe784d33c4fa8b6e75006e256911b03ec4542f2cf8ff94078b1332 +Mac = 52d23939e598a7e554d3604dddf790b5 + + +Count = 42 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = cd9806785db29769de6fdf5223e4f20878bf13cfe37d1c2a +Msg = dfddb719d00398bf48a6cefd27736389e654a93b8595cd5ac446af1996e0f161 +Mac = 09c4d337db146f920d937ed283cc6944 + + +Count = 43 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = 8759909675383ef1753b652324a023671f9d9fd6693c90dd +Msg = 2e6d3ae7949ebc6165ad4db2a3a1a93982ed4621cd44dada86ae1dc9cddcd03e +Mac = 296d7f3d432d491f514c836ace9a9560 + + +Count = 44 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = 82b8c736037ce2f2e8c36a7b26bca889e9f4c333356b87aa +Msg = 940ee53e86ea7462e9924ab4b330b7d64e9c067af62cffd262ccb147a6516e6e +Mac = c168a195c3cae1cff58a7e358f8bc936 + + +Count = 45 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = f6ef9ac4f4c9ce1e4309c64fa8318b899f9ba28ef2b93d16 +Msg = d80f90cb55bd6207c62ef9c3567d59fecdd845849f79607b28d79238361ead57 +Mac = 7c9ff40d08ee17b14ebe89abe8cf92d3 + + +Count = 46 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = ff3812e67323bedbe803a0eec47868604b81a7d0b9438416 +Msg = 0a1423e291b2f0c6499f2d408237d72d3ad7e6744941238bdb423a3d239210aa +Mac = 6864cb7f9a9c5f6854a697669309661a + + +Count = 47 +Klen = 24 +Mlen = 32 +Tlen = 16 +Key = e8e477975d89c1539ea7fa2ad320929c091336766e49a152 +Msg = 12865171bb4cf9c51c53a5bc808c107a8cd53068167ab1d73bfca1e6ab116da5 +Mac = 316b5f37859ca7508d5bc5f989a3329c + + +Count = 48 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = 2cc839876d3989f35731be371f60de140e3c916231ec780e +Msg = 2eaef86b0f602364f86510eabc58bc9ad1e6f0a6f6df0b83188c01e17744a4e0053a22810e99cf5a1ed3258f203509fd +Mac = 806a7c69eebc6041e6f9 + + +Count = 49 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = 45028dd99d0c7f13fd00a2e805922ebf4f833080f5142fa7 +Msg = f8229264bdb7657c056ed4af2a073355333de29ba748c428a4a6f2012b1bb1aabef7a28f2d9739a2ad2e70442ac6bd69 +Mac = 4288ca11a17f4364125f + + +Count = 50 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = 7effb0ee6eaf5df37e69aebe27920c6240741e39cecf4084 +Msg = 373b1b64bb5516d96e408631acf84966d2764653a280f323e9c51b0a5e29de33ce5ef9f976b44759b13288a7d3e56281 +Mac = 2e2f7779698b5306e567 + + +Count = 51 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = b62e1d3c495a30823e6783598b43dfb36d0d7650b51cd1df +Msg = e534ee399d9576e8ff67548f8c7b2c0f325384a8c3ccd6bda6ffe3d7cd6a4bede64b5be3d64d26506366d784300045ca +Mac = 47f348def1ab06f0e435 + + +Count = 52 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = 32f40dd7a952ec8bd63355700837b450b396b33c72125e23 +Msg = 728a1ad0b26ccfe41895818358baa69db6ddc4e91b142ccc688de47c0acfe565cf4286ccf7f239b28f9075fbfabaf3cf +Mac = 6387377d71d324f4ebe9 + + +Count = 53 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = 24bd86db8099642ff8109bf2b7f5c918766b8f91f0919f12 +Msg = 50f00655681d61e035ab16e3fe18bb721aab88b2a85baee080eee994695e59478c808e1328e7e2bb88070beb3296f0c1 +Mac = ccecb18d294f160860f1 + + +Count = 54 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = e0a1a00c002f6f74869e5d3db4bc4dcc283b7d7ba66265eb +Msg = 5a14af768d73f1d92b892231a5d25b7e0dec5cd929533658c67047324ed26b239dbb711211deccf2e0678be6af3c8ca8 +Mac = 5039f8367bc57a43f768 + + +Count = 55 +Klen = 24 +Mlen = 48 +Tlen = 10 +Key = edc31127952ee79f81addf982f17824a870614b80e386936 +Msg = da54f1efa6dae9a7db6be4eab91a3bf894bb01ec28ebf0e52d51a2642b2305f590eb0912008b9b44ec7ed78b66627900 +Mac = 9a9a88ddea48f9dcb85f + + +Count = 56 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = f56396ba8c08a8be100b33a20b5daf134a2aefa5e1c34967 +Msg = 6c2b091433833a0ed915354dcb70d982095b614dc51a95a22cec417184d8e78677a9b1aeae38a91ba2e92c09af789ca2 +Mac = 76f40a3044b1102db48ecb74 + + +Count = 57 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = 0d578aec456c589e1c67214c34f4380e1bfa3629ce139b29 +Msg = f75abc23b55f32700317621d891dc7c74015ca447a99e534237609d846193d28d244891f9f06125aace986e1ab6dba45 +Mac = 2efb7fc379e301855402e3aa + + +Count = 58 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = 5d27cb435e7724a246f158576fdbac685cfadf62eff703e6 +Msg = 44d91d3d465a4111462ba0c7ec223da6735f4f5200453cf132c3c58dfad87eb9ad56827857e6645a534c69e818ecf442 +Mac = ad55c7339fdcfe791c93c97e + + +Count = 59 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = ba593c3f60f11032790dca14e5d783eaa02c2d2d52e7ca2a +Msg = b0a3a2cad55c3fe2079c3ee634a9a066ffa7c6d365b23033a02a8b194b4eebd5c80d55e8df1880bba73cdc90aaefd4b8 +Mac = 3667e42b88a1029fe20b8336 + + +Count = 60 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = dfddb719d00398bf48a6cefd27736389e654a93b8595cd5a +Msg = c365e32b3eb3f4444eaec5cdfc07d0a9af5bcd01fcb826e5bf5eac366bc288c39ed974b2f9922b222ea51d0e5a8b6874 +Mac = 4f83b43cdf2da1e75688b022 + + +Count = 61 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = 2a48014cf39655cf2fdbdf650f8f0865e4d03f0e40fc40bd +Msg = c1ac8710555793056c6f6c53353dca263de8c482843c8b2ad6a958c1588fa32f62b996468c27c1a60c100fdd3f27f9d3 +Mac = e2ef607ddcad3ac32cce8542 + + +Count = 62 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = 668a3fafe71a9eafd2d24586268a425c7c4422dce0ae62dc +Msg = 3ef3eedfd640fff8da809b5289869778086fea97a8d710476c4db0a9c6037cb2a2ca58c6a53ebf89b73e63f2bfa014a1 +Mac = b14da00d64322c05ea5d923e + + +Count = 63 +Klen = 24 +Mlen = 48 +Tlen = 12 +Key = 2885116e87205b81b78e52228e2483f2313c74b372359664 +Msg = 62244890cc50d01a0949140279c18e26902e71432acb97171fe0bbc21844e872a120313f7ff5a35443e178501f1e8dec +Mac = 726d0b6a013cde5381f29504 + + +Count = 64 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = 50d024a3e7455d7249ef2ae59d2d00f111469aaf6eab36bb +Msg = b6219c241267fabe6b2e751e17ffc331263c0d8da256514a154105134c25fd7c5b578e96e187f4c28d3bf1c2e17cb716 +Mac = dedaed2fe49cc9ead5b6c622d57a37a1 + + +Count = 65 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = 317a704cee13750d7b42aa6ba729f7bf3cf91ae084654838 +Msg = 0213fe13c49083d7c00335e1864dc139c9e7123162d171f997cbf16e9ec80a335da08403740596457db850e192fc3653 +Mac = 079824e11466823db9e26a0770f28a40 + + +Count = 66 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = 105358cc17b12107e023a23d57b44c66a2c58d8db0510031 +Msg = a42a2b1e50cb962f67e857e5a16b80944e718a693c9f5159dbb960579f706fcaa67c2a3e9beb3459dab96c11d4a06f1d +Mac = 5769c65b91d010673cd9fa8b7a52e70f + + +Count = 67 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = 8e9e603595486c3855ef030c4ee2ce088fc862b68429b97c +Msg = 1b0c9ac2018fb3ce17da6a20fbe66220800538494923b689974b4aeb5f6db673a05e0849f320cd1b646482bc804d4b11 +Mac = 439c5c929e5b80e0ae9b5e85782bd577 + + +Count = 68 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = a206a1eb70a9d24bb5e72f314e7d91de074f59055653bdd2 +Msg = a24666544c071b86072afb4db5532327708897d87b4dd6af780db10cdbbc5c1f9ebbc6f237fc26aac766d60a947b6538 +Mac = e690dfcb1ca782b5eb90d96a1636447e + + +Count = 69 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = 7cdc26bb8e8d990fcd68860ad4a31dacf953eed5e982acfe +Msg = 016d049fda747301ebdda569f72e9144c5e4538f727322f50b8882375c91bad1027f89dbc8ca152d30b624c64fd68e6f +Mac = 58533e9f0cb94d916f8054cfce77be43 + + +Count = 70 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = a6ac5692e0e347418cf3180cbaff73be98cc16f1e56be2d4 +Msg = 0cfcd5f96da1c6c66cbd6c2a82f0b6e5c7011d1d1675e5986b61a02e8f7cf57ef8789fe1ea93b89ce369385a360cb9d9 +Mac = da6e08eed7f5f5ae509ec32f6279497e + + +Count = 71 +Klen = 24 +Mlen = 48 +Tlen = 16 +Key = 647a161552dda7753a54fb96bf42f3a3f8b676b7214cc4e6 +Msg = 0d737f50ed1901b544c42af8803e7244741edf14fbe1cbebdf3ce946f9b183ce996105d32821bff60bcfe725cbe7ddcd +Mac = 363f136d53ff69be32a881c8ba872330 + + +Count = 72 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = d80e97b1b759444085b903a7a49cd9e6e817d9d29bd848af +Msg = 3e7ef2e93e0126590c7f2efe255a72ee5ce09c80b9cd05f687116c60a9d4eebd2db83262245ee5a0b02b66a15e4cc293b6f7 +Mac = 8abaa9d9fd219cf3b369 + + +Count = 73 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = 04a891080129e4ccbd1bdeb0daa7d348f016b7462ee6e239 +Msg = d3111a64498098c8c26247fd9ab6f627b3e348f16004b47e8183cfa3efe9ce531af4465af0eb374e012e49c3e11155bfceea +Mac = 5ab6f953de6117c86cc5 + + +Count = 74 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = b2b5c57e08fc54e4e1907ff14cd1703768f5ddaa27b5e6f6 +Msg = 3c282a443f62f0d720345b2f87f77210b829c88b0d1196c8a4a60c0355aee9d5e7234ab583dabfbe6867a4b3e13baf40740f +Mac = f2caac13b1154003e00d + + +Count = 75 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = d14e2a8cb7b8dfdac5dfafd9bf4e8dfd56bde06442d834b9 +Msg = ca095aec96a8b093e62b10f0950ce35ce7921d8427eb0a1a8e7a4bca67721c7071a4d8888595bee578d4f5a7438ace676153 +Mac = 51edf6f5a9ffa69dff26 + + +Count = 76 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = 2edf42a21768171336f9d9b0fe0ab1490d8c590403728bff +Msg = 6f6b82cb336407306fb351e8c28a9dd0e4cf091c8d6f9c4992f58754515baa2a501f5a5f219a6222898e4771e1fed189bb42 +Mac = e53931cba4a209604cd5 + + +Count = 77 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = 8bcd02e664585f1253739afef78d7437384425e43586f303 +Msg = fc6aa1eaf50c4d6b24b1105027c7ac23fbae11e4271c2f9537c008fc6c2509a4b2da9a25d2d0f4a5e903329f195cabe37ed6 +Mac = 9c5ec095e3173080ebe1 + + +Count = 78 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = 3e402d7a87f59cbf40716cc31781c55c9d39fcdfe438c185 +Msg = eaf69a4b9029d655789b3a35eb48626d72614d4d314c561476ec6658922267a8e894fc6f43ad6f1b6de5eb7ffd42eb76701e +Mac = c264abd4714d4ad3b700 + + +Count = 79 +Klen = 24 +Mlen = 50 +Tlen = 10 +Key = 8c4e7813ab9bce9dafee01c628e050a566d3aa3eec91c048 +Msg = da76c6db3c276b03c3dcb23e23c713f2be1029221a77c135933a31f94d39ebe76d5851a98925cbd95cbb170cbfe6e10fd587 +Mac = e03607a8085ae2f17b94 + + +Count = 80 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = e63e7c1d98c06f1d50b675939efe4760afa31406ce5027ba +Msg = 9797ab62d666e11adc023fa87c87c41f4ac64bfba23bb3b3ec403c921f7f34c284add4aabd76657a05b3a603b9e372cd18d9 +Mac = ad16cbab7cf3f38b57a21ea0 + + +Count = 81 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = 0b122ac8f34ed1fe082a3625d157561454167ac145a10bbf +Msg = cd149d17dba7ec50000b8c5390d114697fafb61025301f4e3eaa9f4535718a08a24adead112225a305009d463c3997b135e3 +Mac = e0ea9dfe9c083cbf3ee63105 + + +Count = 82 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = 8f2a6540fd08939987ee96b9eab6a97ee339149f951fae2b +Msg = e7b819a853ffe79baaa72097ff0d04f02640ae62bcfd3da567de32415fce19a42ec06c72b4a1b41c6d8af1b4f73b3c00cec5 +Mac = 3529e08c1d060a15acd33ab0 + + +Count = 83 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = 6e4018153f4faa66776859abf73a2b9e23ebbc3b93ff91c8 +Msg = bfa9d9af6e1f32b6626a1cd89b1c32513b5b50a18ddab028470953f20c89a3d435e356b8d1799535eabd5e630ba027edfe4e +Mac = dfa0d685b25aacad5a860208 + + +Count = 84 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = fba4bede287c57eea4448af5e99d41c7d307d1f202af7f38 +Msg = ff6669e9406375fba3ad7c7ca2695cddbda738c8bf95d5fb42f2445775c6c2341d51dcf8da41d7e8ac284e3eb52c1d7b4101 +Mac = 31375dea1c04c2750dd37b60 + + +Count = 85 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = 31aac06a59b74bf478617c1637fa6c5593df168b8d58b1e9 +Msg = 26c228767c46436dffcbcec35bd97d6799e73ea5a0ced43ffb7ec1c0dcf06a0d615c763d17ab77aabd2fcc484a92c636310c +Mac = dca9a0d21add67590ea19227 + + +Count = 86 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = 2d345be05421ace69e7465e55b4aff0a5948564a0832f598 +Msg = 19e07bc5c4a6147d56ff18844755da32a355e33a5df2e8d1e5adfa13fc14fda2c8895b902345fa7f399d6b0652836457ec4f +Mac = 351d55860f24be09221092c7 + + +Count = 87 +Klen = 24 +Mlen = 50 +Tlen = 12 +Key = 635e2792321f9f3756b707b01b161e0c6464fe4c3f4352c5 +Msg = 42e7dc426f4071dcd2be41d9dbe6439e69e5884c288c29e71d997eb87f3890efc9c9d18d0de40b818b9a971182fecf7c46e5 +Mac = a1f09d3901a4efb793cf1431 + + +Count = 88 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = 1159f381b1c21e0d2853cb29ac7981cea902a954642f4c2a +Msg = 59397e76e777509ddba4f1811a5e9949c7928df36fe5f4e08353e6930c16c7b69acad35d7dcef98f38eded03333e7927b048 +Mac = 351bdcb858f7dbcf66b1a130c22e7cde + + +Count = 89 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = 1fe8800fcb0dd8f1ab1aeb4e159e575a3999722ba7ece6cb +Msg = 934ea4c100addb647c4a0debcce7ca389c95b0001ec7307bf4aa956050b941105a8c3a11d2f0e6bff63d133ea6e43ab3c648 +Mac = 3d05c0d6e14e06f54b7eb421175b1fd0 + + +Count = 90 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = c218a9693b3fb6f8b3b213027027ea1b88f489695b8209b4 +Msg = 0e6c9fced82669cffe7b5a6f09dceec8f95bc397e7bd55f0e9d10c3036017a348b27ddc8cda2ec62efa8d01116dd70b0fb25 +Mac = 643bbd262be43655392f685718c9ae43 + + +Count = 91 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = 90841f19366f06a9f62355c0ebdaab8e5271c1f9491c4cf1 +Msg = 57d922078c103faedf7ff4ca1c57fe328c4c9553bc464b807f59388a36f754914f6424190c6b9960865035f0f1056f7021a0 +Mac = 1a0fc66cc8605d7bc956253a42ac7365 + + +Count = 92 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = 813e2aab493d6b748ed2bf77c5aeebf871562ad747be71bf +Msg = 3384f8563cfd0fc8019bacc9b691c9ba4ae6dc8cf4c006290fe18d0f27728c3e54ffe955c6c488f8a227be740d8509a68531 +Mac = a906f46509965a3a353501a1450b59f7 + + +Count = 93 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = 84adfa66165defb6de1bb7a09ab9a3c3beef639f1566ca4c +Msg = ca5893a1e5c06b218d91d87dd4e89259621d9c7f66ecd324d3d7c86dc8c6cb314ff148014bff5765ac6f8e69e5381958a0ac +Mac = 7a401f27996cb868c76e9d3d7636c5f4 + + +Count = 94 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = 22b7f1056e760703f5a186cc0b4df84f33ffa549887811b9 +Msg = deee257fdf2129d9de3ebf8ab0580155dd675516a43d95523fbc6d12684504f21b73de759e0a019bbf2a56b65dc953792960 +Mac = 8b16dc6d0159115618c48a507a372bdc + + +Count = 95 +Klen = 24 +Mlen = 50 +Tlen = 16 +Key = b41cfb8816b91b806473424e731a0fe203bf5e79f2191c1c +Msg = 27cabc40da0e1eda0ea5f8abbb7c179e30776250a7b30d711b0e106c5ee9d84a662c3cd3e78bb2f72808c36d0fb9bc9a7dcc +Mac = 8bca66651da0dd4086774941b814aa91 + + +Count = 96 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 9a995ac9974c84c960d28542bcab773ca1c222aa4a37b849 +Msg = 7d49422e13d9dbc9542023d4c16dbeba2a201f6fc46941547b52975b8900456b48359006441a9329953c34736cd4578aeb4b52bb +Mac = 5a674fb036e33db526a6 + + +Count = 97 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 90059c2605a1160d965dd04dc44aeb9a44d177d34bedd8d6 +Msg = c5a463c2c682603f280cf52d9c3ef8954ea0a74f10d3eb2db469de76b9fa8a962b73f413c4b259c35750b73d6fbe8f8d3394e92c +Mac = 27217f9dd2539b156498 + + +Count = 98 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 1dc5f6d6103ed2ae7f4ecd7b1bae4d5b9c0adef9100527b1 +Msg = c40aea65135a862d271f73ef8263e423926f516f333b1cbe76287592a0f17b9b76dfa388b83d5e1dec0cf6865cf8b9eb628a5a44 +Mac = e68e002449a5e39e6b7f + + +Count = 99 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = c36f71095f31ab1a2532f1b26888cfb1d53dfb9056a34d4f +Msg = aae4f0cda67ebddd5513593ce0b9cfd84eeb05124a389d1427381a6521c444bae666cd10550f34f78508ea31092bb47b725350ab +Mac = f72b4c179b349713d249 + + +Count = 100 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 06ac39896073a44283611a66ccab067e2dd2faa8da82ff9a +Msg = 07d79d5fcc99603336ecfeddeede141129e5160a882d4b7b3d3119c970898377e102f0e2cef42e2e17d0b680a0f9326df7d53cb3 +Mac = 31a4aca813bc78979cff + + +Count = 101 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 2ecddb226ae668315eecf107c344926330b94077e029ac3b +Msg = 993dacbc221ed32a6fb3d90559c674fb68089eea8df9eaec14071991d4fae86ba98f2dd0246322db801301b4d8a2d111981b7ffd +Mac = 57d76d9a94021270139f + + +Count = 102 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 1af884db9327613ebbfc3dde7ffd911e4c36480d7eded22f +Msg = 90150a8c14bfa7282df6c1da4d2f89673ce423ad6a959fcf840d2b9245e687078f4fb96bba0d014b2cc00feb296874e9ed27571e +Mac = 90a1ac3772d18430b7ed + + +Count = 103 +Klen = 24 +Mlen = 52 +Tlen = 10 +Key = 63ddaa8563ed90d3b57c8c2242a6dd00710448733d72c6df +Msg = 66b002ee3140bcc1f86deb4c4bdbb8e9ad48f1f88fb7a42380cdede79e7b0c4f50ddba033762be82612ebbacc0bc4c83dbc85232 +Mac = a5c56844128fd06019cf + + +Count = 104 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = 82147b230098336b1ea32b7e32be0f69e67e79723c6e12a8 +Msg = 49fd5cbe4aff89dc3b8718f9ce545d612cbbebb289ecbf42fb77babb8c0f55088e8d90752e382b114c4319578a97320ea3d3286e +Mac = 2be36727d457ab8283f82f9d + + +Count = 105 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = 20b53dbe24a2c57b2c102c6d220ce29317329d1b95b84d83 +Msg = 51cf2a8949e13eaa087a34c9ec4d7fd92b862efd6a0b1fef8b016fa2c6933426fbee6fcd46903c8cd5c34ca3f664958074e948e1 +Mac = 506f1a30ee00a9ee13ff5b45 + + +Count = 106 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = e0a0a7f262cb51ad4529672202dccdb3437a11c8a2c14d1f +Msg = cc2ce41f76ca7477972d38a3e8fad1122db34ee80c379fa01f884cf648d1670445a8bfab8490563438c21537ac2dbfbcd7bb24a1 +Mac = cb57405aa262b3be96f2f7e1 + + +Count = 107 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = effcea4e4dbc57410426b39fcf51c9daecd9d310888590d7 +Msg = ef9e432c15d8c93a4b5c0666608e61c824cd466d7940d642acd3dc33057c03959cc347c16f81aa02b2e828b266c3ec9f2dffc4b4 +Mac = c80b11e7623bc4c54122da5c + + +Count = 108 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = c803bf3022e9722e2431f2e49a4593ac89e79fefc272948d +Msg = 9c87ad77953bf8a811e001ddb946eefafbfaa598150e85f0701853fa307d77d609f0686a5435654d622b66e3100952ca9be87275 +Mac = 434a91dc02020a7e67693d0d + + +Count = 109 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = 1d70dc99d3853edb17d34146be6e009a504ee1b30c45bd18 +Msg = 27861168ac731a223dc35c03e82267aadbce11e4c19b6bd14f3bf44219bc0c66ab52aba6d55752cd4690426c5cb2ed7d3b24aa46 +Mac = 82c86008448593da2418b3f4 + + +Count = 110 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = ada1fa439c653d0cc88c0d129ba252e86c7d20a3087be93e +Msg = 50b52e3965ea73fba7c72d19abe2ab7361b58ef68f43db667eff4f5af4e9f38861faf0425dc2a3415250f4a27652e42efd7d66de +Mac = 53142f4dff316843b47fe012 + + +Count = 111 +Klen = 24 +Mlen = 52 +Tlen = 12 +Key = cbf013ead53369cbc8d459bee3e441fb8ffce87af07eb55b +Msg = 3ab56d3c9916103f0c8d81b49d4a38fbbc4e4aac3488f6d85d3e7b9293af2daee8f7c8c91632048ab8e46a26b999652a0cc89c75 +Mac = 9972b8ceb96578868451e82a + + +Count = 112 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = 1d674eb5d85945a6c7842042adebe549d4fe515501c06c1b +Msg = a120e20ca92f79398e7ed29d5787cfa09b155d9042fb54f18f059f145f2f9cebab15c51b54ab9153202e95dcff5aef7294dee453 +Mac = 8492b0304ef44f1166185c8cd708f4b8 + + +Count = 113 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = f680853dacc7b0fcf4a72789b08984abdf7c6710c4ccbb88 +Msg = 37b7ac22b15bcae64b1b1e6c70c707281494b814986f38a6ee90acfffd51d9654741e5f3c9745d8f221e7d1df860abf29862448c +Mac = f90e54cf7386b7ebf1d3d367d0775ed3 + + +Count = 114 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = a4a8b5f7e33569048539e53b161abf6f755067dd362eaea7 +Msg = 947c01ab308974bdf67ff25ffaf83d9c28fad44520786a94441b96100e42ccb0a8478c43b604d90f7695edb90c602b651753551d +Mac = 5a0dce29985f07cddfa43c1b118cd7fc + + +Count = 115 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = b111be3d59a8809c8f54dbb0217342742f74f76c4099c589 +Msg = eae81f13e125406aea2241c01e22aa8aef611609694b9420b8ec4c63e9a86670f52c2782fba45d43cd2efee2ae8f0c665a26bb42 +Mac = 8416520121ffdf5e01dba3768001efa0 + + +Count = 116 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = f800bd782769e3201dfd065ac05a5b5a08e8b965b5bcf3d8 +Msg = 548e2152f3a15b8fb81dc01062d99f7b4fc8f074e5cbdc1030c97f8ccc02ec3f06a071cd3e8f1d9e908f808eb388b2e6201d978c +Mac = a8f83574a207ee91638696a25aed154a + + +Count = 117 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = 7cec94219eab2a29630177975d88bb78f1669bb0082b73f6 +Msg = 3a75afb245a668ddff0ac85ddd910a5117e73e585a539b9cbedf160ff7b934f4cfd91ca2d4e4f0844d505d6573ca71eaded4ad60 +Mac = 474ed0c98c4ff08ac3ab80ff9a2ef53a + + +Count = 118 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = 228a8e3cb6abced136ac8d93351f214ce3c84f843b0219ff +Msg = 539407bb6930d5adbdf19a7e285ba1dee5caa03ef54e3a3fc1b8c86a02f55921de9bf7d553c22d7ad915c6384329d664e70dffae +Mac = 41b8bb6318f9a303793820597d267cb3 + + +Count = 119 +Klen = 24 +Mlen = 52 +Tlen = 16 +Key = 8759909675383ef1753b652324a023671f9d9fd6693c90dd +Msg = 2e6d3ae7949ebc6165ad4db2a3a1a93982ed4621cd44dada86ae1dc9cddcd03e02b8fea72e4182049f96c99bd350d9ed981592e8 +Mac = 9c8a610b382ee655601ebee3633d9ef1 + + +Count = 120 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = e764fa85b3a9709084a28a7d54ad3648c0451dcfbcdeebd8 +Msg = fa263ae51c0125f2cbb410641c0c668b70f925fd53e5e18aa4440b72f76c73d637a70c6d9087ef788b7aa3f87b9e9c1e19d701036b1eb399ea1c8ae2 +Mac = 25e0f9b2550245f997fe + + +Count = 121 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = cb51b31fd0cdd33b474807f45d860edde75a7f0252c95d29 +Msg = 0f26fbe2e8d488af66eebdca2aa3d90315606947afa0c617c504df3a57a638afb1ab33e6d7178f3026e52e7339581b220a8ccb6c5950a3b45238bb42 +Mac = 76fbedf301195852dba1 + + +Count = 122 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = 8016b32a90ef4b391872b4715d1e7bf87bf3b55b569096d5 +Msg = 9fdb82e85812f29a7a41e776f4e9eda7d431a228b988c4868b8c8ee8692a454ce3070e136a1f02c004ad84fd454ad2df7a58db6a27a15158b43cfe16 +Mac = b8259fecdf17578803bf + + +Count = 123 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = ec1a1d980dafb8006b125904ef17d23d9e43ea641a390266 +Msg = 362ca7126fed62279f5296a02ef1106a6ab5a25dd6de1963c5496edd28f24142a5b78209e95f72ca3edacaa060ca39d18c4314b1dbcf4ac3ceb69622 +Mac = 8ee67f1b57150a32311f + + +Count = 124 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = 60d36753444013b722d21ba0a1df91ab82794d198e938717 +Msg = 30655a6b5a5965db992e7248d24141055e988d726abb8e729dc5c21ffcbaedbc0b1b5fea35b8751f6ec6625517312fff2234014176269b6095972378 +Mac = c22b02c50481bef8f8c3 + + +Count = 125 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = 0b320c7f4fd416cb6eb11742d8432dddb4eaca922febad78 +Msg = 66921951731e95bbd45c014af5cf623933350dd9a90d1a36465716f8239bf887142c56737eaed91268d6ef6bd471bf524fa862d5c78250d79daa18fb +Mac = 0d5cbdbe319d3c8c26c1 + + +Count = 126 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = 4b9d70d0973961f485a4c3223df4a63af02a5c591962daaa +Msg = 598f91cdc2930337839374d2297e6723f80ff7eb774675442f1853edaf6640e3d32c953146fbf00846a91e12a7473f041b532473b02ffce89ad23036 +Mac = 336a43dabdf226d9843d + + +Count = 127 +Klen = 24 +Mlen = 60 +Tlen = 10 +Key = f0b3522e21a33992e9af29c48d58b3e33d5da15b4726d267 +Msg = c96de875451bb7b9a3c99897ca504ed145a05bf246b224dfebbe50afc1ad71bc87d1e6fa34d400883bee63850d5baf25df0d6004ae9ef3ba81884baf +Mac = 9fa2b672b9a34526a16a + + +Count = 128 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = 897f0dfd90213f64a9277a0eda4f134f303fa89f56ca54fb +Msg = d2e8a9c8f2cf5ac60c8c45dc8147050ed8bf67c26a35c1c85e868599d89715dc6ef5d92fdcbd9023f8bae388e8ce40ec9293e55e54413b78f5d3669c +Mac = 973303b9a9555751cb12fa8f + + +Count = 129 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = a206a1eb70a9d24bb5e72f314e7d91de074f59055653bdd2 +Msg = a24666544c071b86072afb4db5532327708897d87b4dd6af780db10cdbbc5c1f9ebbc6f237fc26aac766d60a947b6538b938e8c41c3c90e6a12d8207 +Mac = 7ab7a6b4ca59d458144edf97 + + +Count = 130 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = 7c977be461f29657fc86eb6100496db7a5aa9d6a036b095e +Msg = fe6c4f52b7f2ef19a88156ea68ea5f4053a9e893cf18342bd4e28e35abb92f17f54c6201f073e6c4f6ad94e846cd41f807f0e6218ab2fffcd0a230a7 +Mac = ee04fb9e42e7396cb0c726ee + + +Count = 131 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = a92c8ed33533bcc52f14ecfd71d265b617a7cb1487f644b8 +Msg = 565d9248960a8ba102a45c8e588840704a2d2391c65707fe7a8ea69598cf585ed681381fbaaa822a1463407acc8a26feddb6ba35a270b8fb51a0b4a3 +Mac = c471dc3c3b9c39b246fd725f + + +Count = 132 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = 919c282f05f1546a5a207a1923826279fb5326cc6b08364f +Msg = ad46407517594cba4dec384ae7838768aa2139e5b6b39f9f00ab6f4803ec1469b3e647a6b302e343c740f5e78c1e13a067bdf028bb3f2d675f737138 +Mac = b34c7bf6b81e492f769e329b + + +Count = 133 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = 8efe0751f37eb9e193eebc2717a31bd101658d8be3d44a7e +Msg = 565011315f1755dd2f6b4e54e34424ee025cbacfb39186692d8ba0426ea018f730f48d8219e5fbb832a6d5159a2954bc7c430eba3e0bca8bfb8393df +Mac = 103abd42dc248163752f4368 + + +Count = 134 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = 089f739fd5f1933f3843706f8fc8809e1c0d2e61b6dc2a70 +Msg = af39806b14c6db90478fa21852bd65285d2d9e1dddd28916085435b28cfddb1b80d670439b0d766da49a17f029227437741c3b0dbb32771797eaada2 +Mac = f7bd26969204d9e0f5ce5f77 + + +Count = 135 +Klen = 24 +Mlen = 60 +Tlen = 12 +Key = 444a2bdf2bc17efbd60235a895abc49d183ef68332d3d64b +Msg = 314f069dd4ac5aa3fdc2a74e83daa1d5d18330cd3b90684a9260bb48f5626d49ebd7493fafda93abcb9e3d07e8f85d62e51ddf4a26ac77ee2fefda84 +Mac = a57a3bed720815dccaac385b + + +Count = 136 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = be5e932881207358c3234c6318ff693d35e3473da580ec22 +Msg = 8ff821e97cef3fc38e19e2b95121186e6c63dcc1d351eb4f3d15d338d9784d273c02cc8c9e62562c471193dc443324895ebe357c4ddd56dc28978675 +Mac = ba445d3dd3feb1aeab21d4fd99097752 + + +Count = 137 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = 8598a0b22e1402458423e2c1fd3383ac169b72adeadbbbf0 +Msg = d4a9a08cc1e1354c4265dd0451d10968a593c56b345a5356f7cc1317ed78a7dc620b53e171c6aa86c82f67a5ab0799223c7d03c4f9a1c243861b30a2 +Mac = 0c9a2a9127e90b0768253aa2aadb014f + + +Count = 138 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = a537a656fecf2c1af562505a6d923878d071c1ad04a1144d +Msg = 9e60eb43006f5c54dedb4656e1fab0fe77d39c19c73a97d0ea3d8f2a58bfe5d2a063c31b5dacb041656261f24337d20ce8aa96a99d2c6c593c8112ae +Mac = 38820063ae422d7cf8c2847737a8eb3c + + +Count = 139 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = 4322ae7dea85bee71ce116dd86feeffe5d0a5088f5df3dc0 +Msg = 6a35dbc4a890ce23287efdeeff9042e7f931f26030e410a1ddcdc18a6f73007adac4936f325a3e6e78fc3625b468d8cf434f9b5873a244c14d0c59c7 +Mac = fccf8b23a997babfbc0732ba276eb8a2 + + +Count = 140 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = a12a70ebcaad310f6502fe82c308cfa8c1f68b1f9ce57b5a +Msg = e19ac08aeb3cd78e40548db43c5aca50ad7860fe923eeff02397068611fc8a1f0ee75c30908b3693d2c2d6211c475f824525fc44766fc62b3032e8c8 +Mac = 86c44150fed84d2e1897666127e3b56e + + +Count = 141 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = 62b8263dc015ef873cd16272e4da89799b910f2b04204420 +Msg = 8b4d85d9952650aeb2391f701f1d342b45e46f0a33b6671d4cb8b9593d32a0e133f2c6844aeb5a86482263a38bcb545140aee046d6d00f3ab25092ee +Mac = ca558a0bea31ff1299eeb94bc06cda38 + + +Count = 142 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = 3da1c7cffaa167557b250634e8052fa030c662e8fbbeabb3 +Msg = d1de1be5f7a46191bb3d24d86fc3eabd5b6fd6655fb06fcbda7aa4b5cae10ce734e67296c691901fbb401bf9ff3e00e89397ee74342b149a37022cc1 +Mac = a9226f20db947f835e8575421c05a241 + + +Count = 143 +Klen = 24 +Mlen = 60 +Tlen = 16 +Key = 012d3f35fe162ac6999ad84d9057fffb5cac15bc4e780917 +Msg = 940cec23e887569aa81d5499025037be68db9ac7f28be806fd501e101994d2b622cb7536ac4cd5b2a45fe5e03597c104e962ed1b11dedd5966eebbd6 +Mac = d1f90c9f6529db7c7bfa8e7924805925 + diff --git a/testvectors/CMACGenAES256.rsp b/testvectors/CMACGenAES256.rsp new file mode 100644 index 0000000..e1850f9 --- /dev/null +++ b/testvectors/CMACGenAES256.rsp @@ -0,0 +1,869 @@ +# CAVS 11.0 +# CMACGen information +# Algorithms tested:Alg = AES KeySize = 256 Mode = Generate +# Generated on Tue Mar 15 08:40:35 2011 + + +Count = 0 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = 95d8afb8a4b7245ce79f9f9c5ddd40de61b35905dcb638f2b875404a985b3f7a +Msg = 00 +Mac = 68adfc9b59 + + +Count = 1 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = 96a085fe88bc98c763c1064da4c9c8b4aa4ad42abaff407a4626abde6fecd915 +Msg = 00 +Mac = d8dc6726d8 + + +Count = 2 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = 903e8108f35f8503288cd8c10ebdde1fdcd9355aab295025350d62f9dced7ead +Msg = 00 +Mac = 31bf37f719 + + +Count = 3 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = a52345bcb4e95e70dcdf729681ec997a0edd3c6dddb71dbd574b97e45c0c2800 +Msg = 00 +Mac = d4b4e580aa + + +Count = 4 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = baf5afafd7d0c8ad42a44e4e0a90fd2cecaf8df1828686d2b79e56597e71a068 +Msg = 00 +Mac = 9746cbe3ff + + +Count = 5 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = ad632ff35d6a1399b7be3611e5ac40b7e8054e83e822e82dc8243294fe806660 +Msg = 00 +Mac = 9c3e317928 + + +Count = 6 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = 52c557d2fa26693640467709122afb2be6423a1b4ea6795ccc9f6e1ee869f51a +Msg = 00 +Mac = 883c7b812f + + +Count = 7 +Klen = 32 +Mlen = 0 +Tlen = 5 +Key = f4b9a81167255b58b9fab6f31a7d7eee7ca6599dea24cacb1ba0621547463590 +Msg = 00 +Mac = 683c3be756 + + +Count = 8 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = f0a3e4c237d86718d84c43185e70f9cef0dc92b378e3e0db046b06716cfb3b61 +Msg = 00 +Mac = 38ba46602f3411a58b2e + + +Count = 9 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = 71afe8d00c6f2ea8c8b050d4cd45e3686f84f60361a6ea54257184ddc71440f7 +Msg = 00 +Mac = 93057873b0630ff6de7e + + +Count = 10 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = 14cbb770baaadfdefb86af89e5453acac11cba813a17d44ec1f61d042f3bdc5a +Msg = 00 +Mac = dde61fa1342b15a74d5d + + +Count = 11 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = 13835e3d8085bc369a69b8851dcc0e49c15458030e39813f72047c7791973634 +Msg = 00 +Mac = 0cb93914be23792dc288 + + +Count = 12 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = e6bd0010c98e60b9af7cf905c58e0653bc425e2ccc809bd4f9cd7b1f95c18786 +Msg = 00 +Mac = b1685b1d2bb24fbcfb33 + + +Count = 13 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = da79b90f78efa89246c79f75868814248991018722b8f0cc5c32556868b32158 +Msg = 00 +Mac = 83a88e0679bc915386e6 + + +Count = 14 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = 5cfa6e5a2e9a8b49ccbc73e442ca3904d095bb1cee46c9cd8d9789b4a0431987 +Msg = 00 +Mac = 8e36aaec763c6690bae6 + + +Count = 15 +Klen = 32 +Mlen = 0 +Tlen = 10 +Key = 4551c0ae63369ac860a655b09c50791e063c7dfcea513a100a1aa0dcf1caa8c2 +Msg = 00 +Mac = e8eeeb5415a2ab24f176 + + +Count = 16 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 916cd8119a4d7e825e01a86f93b0eee4a46d29216115cc9ef67a784c19c1ca1e +Msg = 3310fc5bc910f4c9b9cf4957ac638ae7 +Mac = 03f045f886 + + +Count = 17 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354 +Msg = 41b98538c752795d9d48702b56f334d9 +Mac = b961aeec5d + + +Count = 18 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 7ad491ec57187d4243c36603cefe682c0c56675c310448395e71600fbbf92cbb +Msg = 0ba21b260ee894147853a14328cecf1d +Mac = 1dd6cdc6a7 + + +Count = 19 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 29fcbbc506989671909510f08c723f51de5836aa58a17cb7d098bdc5757fc0ce +Msg = c00f1b8066677c63e898fddfb8a1b482 +Mac = 097a7c5ce1 + + +Count = 20 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 5fb57eb6861dedb1fdc0319e4cd33bfb086669fba8e9fd2b94eece557f313da4 +Msg = d4dbe3de674d48c2c16e9be544637f2f +Mac = fa8fde4a5e + + +Count = 21 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = f76c24a362e1e252db2549c5c4e3e5ad1de8e2d19de2c4f801685909a53beb71 +Msg = 972996d5b4b6829913d5acc3dddda2f8 +Mac = 46c87e989d + + +Count = 22 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 213c55808de5d1e4147bd0e64f41570711cf6ebb4b6625622c81d9798cacb412 +Msg = f94df6392add216cb8f9b8264c3a41e8 +Mac = ba01dea290 + + +Count = 23 +Klen = 32 +Mlen = 16 +Tlen = 5 +Key = 28d44a24d539170f5ff419afcd0032efacc7f2adb1375f6ea019f1506c9ee140 +Msg = d9aa092708e53d1ac81b7b0070586e71 +Mac = 1ae6edcfcf + + +Count = 24 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = 3a75a9d2bdb8c804ba4ab4983573a6b253160dd90f8eddfb2fdc2ab17604f5c5 +Msg = 42f35d5aa533a7a0a5f74e144f2a5f20 +Mac = f1532f8732d9f5903007 + + +Count = 25 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = ceedd503bdedaf238945bb060f6772ce36b67b118b98748d29ccee17dcfeb9d5 +Msg = 4064b1cddf29c0c9adb380b2c1525074 +Mac = 35b4b77e20cc372f5675 + + +Count = 26 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = 739d3c7e0b5ea38678becd6fcae05a26c9bc79f22d7db6fb0d27140c9a7d5c98 +Msg = f3c1888da16bb2de8579915debdde521 +Mac = 16342e2b828eaef6969d + + +Count = 27 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = 4216333f61d3e89d149d274913d51cd2849cb6767d435039c4039134d9ef9030 +Msg = ffead34ac26e21158212d07c367c3a7c +Mac = 29a70e4692d6acb92b79 + + +Count = 28 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = 20225e1131dda70ef888ddfcb7f4e7400ccfff34bb63a079ae81a68f3ab7b1a2 +Msg = a233fed49f866ba32f1c14a57b8e0542 +Mac = 956f17e83094b9d762ca + + +Count = 29 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = c286bff65def16797bdfa7e70fd10c429e8127b53a09b5d6b44a26280e8dade4 +Msg = 218b8756540fec98772183aee7ffa265 +Mac = 4956abf4a4e05d59e8a0 + + +Count = 30 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = 13ccb08a580efea53dfba6a59626bbe2a6dc26333eb8ec1a2572af3bbcf87813 +Msg = 868058aa92f27a1eec013570a509c602 +Mac = 66249fa56ee9b3dd4520 + + +Count = 31 +Klen = 32 +Mlen = 16 +Tlen = 10 +Key = 6e0fcede3647b6b739d490e5b68836f0e74454de856c114b8f98f1bc488cf931 +Msg = 8c09d421e09dac1d9d966f02a3a52097 +Mac = 01e776d3c54f825d9ce1 + + +Count = 32 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = dcba2ce01633937b1cdab12b2e83598a49c51609efae0f4026b62d82c3f280b5 +Msg = 9aa3e8ad92777dfeb121a646ce2e918d1e12b30754bc09470d6da4af6cc9642b012f041ff046569d4fd8d0dccfe448e5 +Mac = 816282fb33 + + +Count = 33 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 0b122ac8f34ed1fe082a3625d157561454167ac145a10bbf77c6a70596d574f1 +Msg = 498b53fdec87edcbf07097dccde93a084bad7501a224e388df349ce18959fe8485f8ad1537f0d896ea73bedc7214713f +Mac = f62c46329b + + +Count = 34 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 7511f3a04e0ea0e7ceda9e06666d1553ab5863840ba76db6b80b37b5e939b377 +Msg = 30834308187b8be1be405d4b274d97b5d8ab71905064185fd73b990d769a018447ccc27bef6c598f681e2e96047dbc30 +Mac = c04ff71638 + + +Count = 35 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = ae7e255de0c5fd0f59e634ddd8f7953697975a3bc68a428239a3e4135ee743b7 +Msg = f8e4c7147fbc3b09f4a1feae73112224afc5107b87efc217dac033589b2d147a28f3c1b9d7d873b9d234b72626b11f97 +Mac = 5582966899 + + +Count = 36 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = ea68a20612f3310649e7c63246b26a7efd016030677a083a85ae03c7a3499814 +Msg = a0629aaac155fe0363ab8bf0221e621bcece73c86f369c66865f156396530b45e3d58bf77a4fa260710cc33a70a76822 +Mac = eac72a8229 + + +Count = 37 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 9b1e7e52ea1a12444d884866e11dcf367b70b816460936fdaebba36d7d35c4a5 +Msg = eb80a43c5986deee6925d7c6d53cbdcbe11194843ea133f72d3590d8e8363efa3d4234097c7fd07b93301cc478864fc9 +Mac = ea1a350fc8 + + +Count = 38 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 50f5ecc3b95a1b5db44ae5706a9bd91d061c9b4a697937a21e5eb4dd90dfed42 +Msg = ab23b53c5d8a477721201a77ee927c6a0d92a6b320cce185621cedb130fea2bcc946d835521185451dfb25882a925f1b +Mac = 61778985d9 + + +Count = 39 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 45c2c86fc0ad37d8abbed5cc9dbc9c76e64af2add11a16c9265ebeb6f37fff47 +Msg = e5267407c93e225cebb9503966568f7406c1af33ac653e5cf4814b4d167e6fce0a800f43f03bdb27ae089ab5db372ae8 +Mac = 073e125891 + + +Count = 40 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = d1abde73d927eef381f37abc254ed995fed933d499419523871d4484571a5293 +Msg = 21ed22abc7bbb62fb2d51d1fb8830ca95b16213f56291af976274934ab0d43805f71d9b906c44973f7d4b59b7a94d35c +Mac = 3ad12df7acebdf36ee1a + + +Count = 41 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 615b79304be63ee74cb1b63581f5863862d78a6b48e177c22db3bef7b3f6b31e +Msg = 99aeb57d7f95703abbca5a215a3197534916139c75c1c6a5304b376bd7b03fefb12410301bab7556e2e45c30f12591e0 +Mac = f3f16805e1c7326524bd + + +Count = 42 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 506e8f2efc8733b454fba43a74c7fa4d428b6626a2ea0a2ee9340ec19542f032 +Msg = ac087420feb1e1e8c2546c2a8b8a5af0d03b05f7e5bf74fa29432e33826f50200646de83fb4d57ac02ef8cfa8f20b1a0 +Mac = 32c77c481821184a3e72 + + +Count = 43 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = cdb6ef161bd4be6f0381ca5479f048b8f2d2f7edca26a617e353f8e19074646e +Msg = 1341a69f685f376cc53cff3252347bce8d9a42cbe2fd39ca7baa06275972c7d9a4ae039a3f80e049a05b978cdfc526b9 +Mac = c663efb93209a0ea1068 + + +Count = 44 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 7bef8d35616108922aab78936967204980b8a4945b31602f5ef2feec9b144841 +Msg = 40affd355416200191ba64edec8d7d27ead235a7b2e01a12662273deb36379b8a748c422c31e046152d6f196f94e852b +Mac = b2d078071e318ec88de9 + + +Count = 45 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 3237b8b4b19b31a220dfe63882937f8d5ead677608c42a57217f2239614c521d +Msg = cb4239f3d724c00fad64f8bddd638d8b10370e5becfcef5b386fd43841b90d8f7c885ca56c64ff57c641ea54d4505589 +Mac = 810dc0f31bfbcc8f5633 + + +Count = 46 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 0f7b1420258e1d82cd6949ff87e327c4611b668db35f2fb00c4db95d6c381724 +Msg = 2feacaa68aa5706f4288e5ee677067fbc50bb8e2c3321f5c8b79afbe6b04cb717b9ceaa28101983a1182be11f9cc225e +Mac = 7c25582e24ce3317a63d + + +Count = 47 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 85e3e6391b13c2a32369b23680504cbf1c127b10d2367ff68c0c356ba886990c +Msg = 674a7b4be56996d4fa5a6d8a64b6cc5b6a7947d76c4f7392be0e56cab7831b4a04710a8e42d7b828cd727b63d2832125 +Mac = 3df3b0296892b03b24d0 + + +Count = 48 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = 6c0b2c3c5fec961ab84e68f56ca166586e5942fb2594b18a1dfdc4a8fdf07634 +Msg = f08f890875e139480489 +Mac = b49c2239e7 + + +Count = 49 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = c69f7c5a50f3e72123371bbfd6bdf532b99ef78500508dfe237a949884061cb3 +Msg = 047840ea96850ee5c0fc +Mac = e5a8fa8047 + + +Count = 50 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = 7e8ea82d1137c1e233522da12626e90a5f66a988e70664cb014c12790d2ab520 +Msg = 19ebfde2d5468ba0a303 +Mac = 8f3d3d12bb + + +Count = 51 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = de8e84440ad97d0ae5001b3590b5182b2f9b5cc09158c2f00fec1fd4b64181cf +Msg = 0cfcd5f96da1c6c66cbd +Mac = 082b5ab895 + + +Count = 52 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = 8de30b07e8352f91ac06aa967c3a62b48d035053b9a63188cf837e3a2e509f83 +Msg = d3b27343119c0ac00a98 +Mac = 71530400ab + + +Count = 53 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = 91ab9c7b77abc6bdb043758bfb87802d0da566f48610e57b24ddc92d366d0307 +Msg = d40d2736e8669c98ba42 +Mac = ad41f7f8d9 + + +Count = 54 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = 6364071a20bf787b16cbcc58397abcd135957d970401f253bf402046b43ae22c +Msg = fa490aeb51b2c516f49a +Mac = 0421c439f7 + + +Count = 55 +Klen = 32 +Mlen = 10 +Tlen = 5 +Key = 4ebe07d03c93e849b4bbfe9f2d2294bf6ccab457f76d3f99cb643d3c51c771c3 +Msg = a38231af405dc7b70c8d +Mac = 41e5c8068d + + +Count = 56 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = 712e6cc33d3d1f442776d546f4d5a25b7d23402a5fd65e6ef3333a4281b5729b +Msg = 56c026b8a71974ff7ecd +Mac = df8dc096f5b385faaffa + + +Count = 57 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = bd05d26ebfcb5f6e102e79976fbd038e02da6a64a6be90bb84bd092be5cb8ae4 +Msg = bd637f707f9e8d4f0cb7 +Mac = a7cc46fa9fc37800339d + + +Count = 58 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = afa88f18ae879a38cbfb2138484a22b0afe90aea71947797cd9d42c0f385bdff +Msg = deef247a0573e87a6474 +Mac = 03b5a18924f92f3ebc76 + + +Count = 59 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = 273cc5013785baeb5abc79c8bde73af71085d7018e7be92a37512e46609e2fce +Msg = e30f71cca7fd341551b1 +Mac = 8291ac51a937856300c0 + + +Count = 60 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = b97e055e3306cf1de468859fb2445c1695012ec84db5ca1250448fad07cb3930 +Msg = b204fe3357150f7289f6 +Mac = d9e121bb4ee358df64cd + + +Count = 61 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = f8c3eb48608018d3c7701c956146e68bc19fb7c6499e3326e5d3b966f962f058 +Msg = 405056131c3293f9d9f0 +Mac = c549b625c6cab8360d2e + + +Count = 62 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = 7c7c857ade97ace0595fed960efe1939f61991b12502af094f30617d8bed17d5 +Msg = 95534b3d85495a7bc8c5 +Mac = 8f5c9dddac54694499dc + + +Count = 63 +Klen = 32 +Mlen = 10 +Tlen = 10 +Key = ffb795d9a4f1af7847c82560eb0728545921f1f6b773f8315cc867d4e322ce7f +Msg = fb7ffb9ede5639dc7ea9 +Mac = c68f3e63165d07170cad + + +Count = 64 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = f64e41e62cae5c26fbd3738916f5f39b67a62f3202fef8ac57f56e78ab1015d8 +Msg = 449f3e3ce08b72f4f9bcad194acdad +Mac = 4019fda078 + + +Count = 65 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = 7a07d53dfd8390b9c2cd25e4c190def22ebd3c6c4338e0813fd1ab9eaf75253e +Msg = 73cd8c9b7502796e75dd9e1a5ab2cf +Mac = c74145e986 + + +Count = 66 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = cf3b0ebee6b4ac11aa7678b2f5453c1307af5cda7c34672a7baaec252fe08faf +Msg = e4bd45e31e1d3cf9276096c18d2d70 +Mac = 326b023904 + + +Count = 67 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = 479720cddaa5e008fa194bb859ec3fce76b2d696c229a0e702122f9df43fd948 +Msg = 3a987eb87958080128f08dcdf91e63 +Mac = 1ebeca94ae + + +Count = 68 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = d32ffd217fb41ef4a2b31d3a47a5e8386925fb90fbe980ca2cf6ba34e814a3ec +Msg = af87b347b59e37a424004a00907dcb +Mac = d628508d13 + + +Count = 69 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = 55b59eb434dd1ba3723ee0dc7286731a0afc956e21be759a7d4d23bbd64c472c +Msg = 5e22dffb5ff90aabfc5d6a24013c46 +Mac = 7a5e2b2481 + + +Count = 70 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = 94897ce2de8d0aa884f9ecd4c61ff580abfa0c89e7792d89021bb005b7bccee8 +Msg = 4a5810b121c91bb4eb31cd1a8059e0 +Mac = cb940e9579 + + +Count = 71 +Klen = 32 +Mlen = 15 +Tlen = 5 +Key = f95d64a513a9f3e6c95c9ed27b22fafd7dd10da52636029523142149116aff53 +Msg = fd940ba0ea21a9341cfc088df2171e +Mac = b099d3f2b4 + + +Count = 72 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = 2f4a6501d8fe7b65f607757ddff6ed87ae0681b98b53331d2d46109f9c541065 +Msg = 4fa9ac1b544afcd85ac32ac0909c74 +Mac = c02e8b66f9fc263b8fb0 + + +Count = 73 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = 012b4cfce8a1acd89de5f6f78794e2813bbcdb89959dafec08ac8a7c32de255e +Msg = 7cabdc7eacd764001509c925edef0d +Mac = 0da78ac83b1c0141968c + + +Count = 74 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = bb3087d1b5b0f6f14a532c3604c82874fb15e97a4b3883dfc50e71ffe5752d40 +Msg = 90a10e977c80cd885ff45487e90365 +Mac = 6fdc6c626e9a8be6c34c + + +Count = 75 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = 569d50d2ea793302102714e517416e1bee942fe59f8d623a1aee0b1834c55219 +Msg = c2c5846614fba01347ed69221daab9 +Mac = 6b475d0667255b5a49ab + + +Count = 76 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = 698bf4fc0b9c2196162d9405b5ce7460ef7e8dd884094fa617951a429277b9d6 +Msg = 03c0dff0253a0dcc9afd9fc6dbeef4 +Mac = f00b02485fc68158f84f + + +Count = 77 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = 7b352c47a4718938f842f6924684edb8f6512f33f9245cfa003ec1f0ec4971af +Msg = e48dfaa53b6807ea6f01d8dca67960 +Mac = 1b5818e13a629caf728b + + +Count = 78 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = b331553cfe0308f1be6b162d11a12ff9ab144f6b1da42b785711ce0a6cb38452 +Msg = 240ac67c0bfb4254d8cc6183ecf213 +Mac = f5a1d5715ceaaefe1734 + + +Count = 79 +Klen = 32 +Mlen = 15 +Tlen = 10 +Key = 397e826e6f0e7eb141087b3c5eb6aa47b399950827526bc289c398fec6719918 +Msg = 72142aa104b778564edf32daebcb64 +Mac = 834a790b5c40f4cf7692 + + +Count = 80 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 166cc49ca548d5bd871751ce05c604bc6a4b97dace2e07822d4856ffbccb80aa +Msg = 065ff9e8d511c61da3a554d598aebd51419a8592ee8723c95858bd0f87083456f33f609fea239d6e3171867beecc00ab +Mac = 150d928f7e + + +Count = 81 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 80441013c0cce59292a799e58a2fee5b0758daa15741d0ef2209417f05e46343 +Msg = 6fd89e3eb7b048eaf66beeb2ae543ede159b3ab66855319f81c5ee88acda2f84b7f859b848fc6978737a2ead8c48b67a +Mac = 0e7679e2db + + +Count = 82 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = e0e54be32dca732c5780f9e68816fdc17de4cde68c79078be5d5fec518d95f9e +Msg = f706a3e09df95d3e21d2e0c886dc5dbd9eeb6a2fc53f5108cfacae4a3ef8399bb885e000b92f19e98678766e62e379d8 +Mac = d913ea746b + + +Count = 83 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 4767cfb06f010a20fdfa790dc91acb391fccd9ebb8363636e9aa087d1b3d1737 +Msg = cf38216a33db0f5b6c4c9f413ba29f8001ffb5f4bfb7f63340b5b313951b966dc229ee20b760485882e73f10c22d95d5 +Mac = 84056758cc + + +Count = 84 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = b8244a86f99f5b0d7533c599b1205a0627c9816e99b82c4ca4e10ae1982bfdd7 +Msg = f12ee9d37946cfd88516cbe4a046f08c9bbba76a3973ff1e2cb14493405bd384d7a02c3e95dd49a75cc22f7f7bb1c2e6 +Mac = d70c237f94 + + +Count = 85 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 9523f53f92b6e4ba86e56e11e0fa09f2672b6269c411fcf8415c19e9d0c4dde3 +Msg = f0b3522e21a33992e9af29c48d58b3e33d5da15b4726d2678b6245d52ff0730a94fbe245886af728bd770c74799dc214 +Mac = 4bed0d0a2b + + +Count = 86 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 9caa7d82a499d92ab491bb6c7bd66256617e9d4fbdd5989f48fff532d2df1e98 +Msg = effcea4e4dbc57410426b39fcf51c9daecd9d310888590d77827973a29c4ebffdaf5cf2c088ddcc92a7c50e69ff4a9e0 +Mac = 3cada30439 + + +Count = 87 +Klen = 32 +Mlen = 48 +Tlen = 5 +Key = 68c2249c8a338f6358963638bd016c71c027a600a1202f5225681d772e298382 +Msg = e6ffb8b4bc6127e2fe74a8773628b517466ad733a9560eddfda873dabe741cf9551840a4516e9bb5f446148bf1139e5c +Mac = d9f205e453 + + +Count = 88 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = a4b91d7d6b655945d711c203f7e2f99da891e3380a12b7ff3073551f1c06da16 +Msg = ad17e9724a19959a92425cbb099193ec38fca8edb0614eba4dbfda60b8a6ed102fec547289a22c3b74464a02023ada50 +Mac = 34f439ba9d90c8555b21 + + +Count = 89 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 97b9814d6cb36376c4730dfde6349c19741b743095c784035229cb2741961ab4 +Msg = 635f20accf83befe972cfdcbcdf79e2549256aff43e3699021cf55fd8db94e32cba6cf10491be1ce78988f99db62997e +Mac = e0e61b45ff5ac43b504d + + +Count = 90 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 8a981033d7b4eb4cc9648ba26ad9679c1550dcf32df17fb80ef6b299440f7560 +Msg = ad7883c7bec55f31ccf6f62bda15fc2fcb890ef6c8e738e8e10bbad6f7680cebd99c1fe0ad47e670921e150c833b29cf +Mac = 2665bb30e4fd690d485c + + +Count = 91 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 1bbf5a21762dd5a9371ea48fc6e919f494cdc3325d27dbb8aae8de1599477c52 +Msg = 5c98dae543dd618cd6c9ed391864335f01d9869321859d40874e959ce13639dae52f82a2ef325abeeb8ba516757782de +Mac = 02ce2699e19f7d1da2b2 + + +Count = 92 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = f81ea615e48c0a25410ff15c1566b10a83fb9d839b667dc577333b5b83e5df81 +Msg = 17fabce1237e7a0cb5cbc6d1ab5dfcace0ab85f698ff555c1e86b890aba34f3e8a8955427a09271854a80494edf511d3 +Mac = 5202993b20642a8f3cfc + + +Count = 93 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 23e5422e8d7560a9e65642b5e723a47536c16791f3a0cf918d3dee8adbec60fd +Msg = b9ee1400186c0c0774401a815bcde30d3be1d4f87f42646cfb8a99e48a35cee3f5f9b3e6175695973f6de043d615e28e +Mac = 1775847019ca9b88683e + + +Count = 94 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = 7cfc086d10659d7cb9247208358dd82c03b8dbd8233223231df218e2448f4a79 +Msg = a3af8f99703a601086c2a1ffe55fde4c2c4153dbff8d6601ab68743c0d50d021b0b3099535ba6c40f866ca3ff0df7c19 +Mac = 9d713a1944b8eb649584 + + +Count = 95 +Klen = 32 +Mlen = 48 +Tlen = 10 +Key = d0f46fb37d516cc957aaefd3be2a8bede885330a8edb96f3e5e0ab8cd03a8c59 +Msg = 60c5ec2170e9bf2b0d24174a7bbbf41056e778a3772cefb71ce60cb94225754d56ba83fb0d9242259143c03ddde58435 +Mac = 03f592d81ce503133129 + diff --git a/testvectors/CMACtest.c b/testvectors/CMACtest.c deleted file mode 100644 index 9b4bc33..0000000 --- a/testvectors/CMACtest.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - ============================================================================== - Name : CMACtest.c - Author : polfosol - Version : 1.5.1.1 - Copyright : copyright © 2022 - polfosol - Description : illustrating how to validate NIST's vectors for AES-CMAC - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "CMACGenAES128.rsp" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* d, uint8_t* m, size_t ds, size_t ms, char* r) -{ - char sk[2*AES_KEY_SIZE + 1], smac[33], msg[30]; - uint8_t tmp[32], t = 0; - sprintf(msg, "%s", "passed the test"); - - AES_CMAC(key, d, ds, tmp); - t = memcmp(m, tmp, ms); - if (t) sprintf(msg, "%s", "failed"); - - bytes2str(key, sk, AES_KEY_SIZE); - bytes2str(m, smac, ms); - sprintf(r, "%s\nK: %s\nmac: %s\n", msg, sk, smac); - return t; -} - -int main() -{ - const char *linehdr[] = { "Key = ", "Msg = ", "Mac = " }; - char buffer[0x20100], *value = ""; - size_t pass = 0, nf = 0, sk = 0, sd = 0, sm = 0; - uint8_t i, n = 0, key[32], d[0x10100], m[32]; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 3; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == AES_KEY_SIZE) str2bytes(value, key); - break; - case 1: - sd = strlen(value) / 2; - str2bytes(value, d); - sd -= (sd == 1 && d[0] == 0); - ++n; - break; - case 2: - sm = strlen(value) / 2; - str2bytes(value, m); - ++n; - break; - } - if (n == 2) - { - if (sk == AES_KEY_SIZE) - { - n = ciphertest(key, d, m, sd, sm, buffer); - fprintf(n ? ferr : fs, "%s\n", buffer); /* save the log */ - i = n == 0 ? ++pass : ++nf; - } - n = 0; - } - } - printf ("CMAC test cases: %d\nsuccessful: %d\nfailed: %d\n", pass + nf, pass, nf); - - fclose(fp); fclose(fs); fclose(ferr); - if (nf == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/CMACtest.cbp b/testvectors/CMACtest.cbp deleted file mode 100644 index 6ba089c..0000000 --- a/testvectors/CMACtest.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/FPEtest.c b/testvectors/FPEtest.c deleted file mode 100644 index 2f5c5ce..0000000 --- a/testvectors/FPEtest.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - ============================================================================== - Name : FPEtest.c - Author : polfosol - Version : 1.4.1.0 - Copyright : copyright © 2022 - polfosol - Description : illustrating how to validate NIST's vectors for AES-FPE mode - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "FPE_FF1&FF3&FF3-1.tv" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* tk, char* a, char* p, char* c, - size_t n, size_t nt, char* r) -{ - char sk[2*AES_KEY_SIZE + 1], st[65], msg[30], tmp[0x800], t = 0; - sprintf(msg, "%s", "passed the test"); -#if FF_X == 3 - AES_FPE_encrypt(key, tk, p, n, tmp); -#else - AES_FPE_encrypt(key, tk, nt, p, n, tmp); -#endif - if (memcmp(c, tmp, n)) - { - sprintf(msg, "%s", "encrypt failure"); - t = 1; - } - memset(tmp, 0xcc , sizeof tmp); -#if FF_X == 3 - AES_FPE_decrypt(key, tk, c, n, tmp); -#else - AES_FPE_decrypt(key, tk, nt, c, n, tmp); -#endif - if (memcmp(p, tmp, n)) - { - sprintf(msg, "%sdecrypt failure", t ? "encrypt & " : ""); - t |= 2; - } - bytes2str(key, sk, AES_KEY_SIZE); - bytes2str(tk, st, nt); - sprintf(r, "%s\nA: %s\nK: %s\nT: %s\nP: %s\nC: %s", msg, a, sk, st, p, c); - return t; -} - -int main() -{ - const char *linehdr[] = - { - "Method = ", "Alphabet = ", "Key = ", "Tweak = ", "PT = ", "CT = " - }, *alphabets[] = - { - "0123456789", "01", "abcdefghijklmnopqrstuvwxyz", - "0123456789abcdefghijklmnopqrstuvwxyz", "*", "*", "*", "0123456789abcdefghijklmnop", - "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/" - }; - char buffer[0x1000], alpha[90], p[0x800], c[0x800], m[6], a = 0, *value = ""; - size_t pass = 0, df = 0, ef = 0, sp = 0, st = 0; - uint8_t i, key[2*AES_KEY_SIZE], twk[32], sk = 0, n = 0; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 6; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - strcpy(m, value); - break; - case 1: - for (i = 0; i < 9; i++) - { - if ((a = strlen(alphabets[i])) != strlen(value)) continue; - if (strncmp(value, alphabets[i], a) == 0) break; - } - strcpy(alpha, value); a = i; - break; - case 2: - sk = strlen(value) / 2; - str2bytes(value, key); - break; - case 3: - st = strlen(value) / 2; ++n; - str2bytes(value, twk); - break; - case 4: - sp = strlen(value); - strcpy(p, value); - break; - case 5: - ++n; - strcpy(c, value); - break; - } - if (n == 2) - { - n = (FF_X == 3) ^ (m[2] != '3'); -#if FF3_TWEAK_LEN == 8 - n &= (st == 8); /* old FF3 with 8-byte tweak */ -#else - n &= FF_X != 3 || !(st == 8 && twk[7]); /* FF3-1 */ -#endif - if (n && a == CUSTOM_ALPHABET && sk == AES_KEY_SIZE) - { - n = ciphertest(key, twk, alpha, p, c, sp, st, buffer); - fprintf(n ? ferr : fs, "%s\n\n", buffer); /* save the log */ - if (n == 0) ++pass; - if (n & 1) ++ef; - if (n & 2) ++df; - } - n = 0; - } - } - printf ("test cases: %d\nsuccessful: %d\nfailed encrypt: %d, failed decrypt: %d\n", - pass + (ef > df ? ef : df), pass, ef, df); - - fclose(fp); fclose(fs); fclose(ferr); - if (ef + df == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/FPEtest.cbp b/testvectors/FPEtest.cbp deleted file mode 100644 index 69ca338..0000000 --- a/testvectors/FPEtest.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/GCMTest.cbp b/testvectors/GCMTest.cbp deleted file mode 100644 index 489f1b4..0000000 --- a/testvectors/GCMTest.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/GCMtest.c b/testvectors/GCMtest.c deleted file mode 100644 index 75830bd..0000000 --- a/testvectors/GCMtest.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - ============================================================================== - Name : GCMtest.c - Author : polfosol - Version : 2.0.1.1 - Copyright : copyright © 2022 - polfosol - Description : illustrating how to validate NIST's vectors for AES-GCM mode - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "GCM_EncryptExtIV128.rsp" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* iv, uint8_t* p, uint8_t* a, uint8_t* c, - size_t np, size_t na, uint8_t nt, char* r) -{ - char sk[65], si[2*GCM_NONCE_LEN + 1], sp[0x100], sc[0x100], sa[0x100], msg[30]; - uint8_t tmp[0x80], t = 0; - sprintf(msg, "%s", "passed the test"); - - AES_GCM_encrypt(key, iv, p, np, a, na, tmp, tmp + np); - if (memcmp(c, tmp, np + nt)) - { - sprintf(msg, "%s", "encrypt failure"); - t = 1; - } - memset(tmp, 0xcc , sizeof tmp); - t |= AES_GCM_decrypt(key, iv, c, np, a, na, nt, tmp) ? 2 : 0; - if (t > 1) - { - sprintf(msg, "%sdecrypt failure", t & 1 ? "encrypt & " : ""); - } - bytes2str(key, sk, AES_KEY_SIZE); - bytes2str(iv, si, GCM_NONCE_LEN); - bytes2str(p, sp, np); - bytes2str(a, sa, na); - bytes2str(c, sc, np + nt); - sprintf(r, "%s\nK: %s\ni: %s\nP: %s\nA: %s\nC: %s", msg, sk, si, sp, sa, sc); - return t; -} - -int main() -{ - const char *linehdr[] = { "Key = ", "IV = ", "AAD = ", "PT = ", "CT = ", "Tag = " }; - char buffer[0x800], *value = "", *line = ""; - size_t pass = 0, df = 0, ef = 0, sk = 0, sn = 0, sp = 0, sa = 0, st = 0; - uint8_t key[AES_KEY_SIZE], tmp[AES_KEY_SIZE], iv[GCM_NONCE_LEN]; - uint8_t i, p[96], c[112], a[96], t[16], rc = 1; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - do - { - if ((line = fgets(buffer, sizeof buffer, fp)) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - } - for (i = 0; i < 6; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == AES_KEY_SIZE) str2bytes(value, tmp); - break; - case 1: - sn = strlen(value) / 2; - if (sn == GCM_NONCE_LEN) str2bytes(value, iv); - break; - case 2: - sa = strlen(value) / 2; - str2bytes(value, a); - break; - case 3: - sp = strlen(value) / 2; - str2bytes(value, p); - break; - case 4: - str2bytes(value, c); - break; - case 5: - st = strlen(value) / 2; - str2bytes(value, t); - break; - } - if (i == 0 || line == NULL) - { - if (!rc && sn == GCM_NONCE_LEN && sk == AES_KEY_SIZE) - { - memcpy(c + sp, t, st); /* put tag at the end */ - rc = ciphertest(key, iv, p, a, c, sp, sa, st, buffer); - fprintf(rc ? ferr : fs, "%s\n", buffer); /* save the log */ - if (rc == 0) ++pass; - else - { - if (rc & 1) ++ef; - if (rc & 2) ++df; - } - } - memcpy(key, tmp, sizeof key); - rc = 0; - } - } while (line != NULL); - printf ("test cases: %d\nsuccessful: %d\nfailed encrypt: %d, failed decrypt: %d\n", - pass + (ef > df ? ef : df), pass, ef, df); - - fclose(fp); fclose(fs); fclose(ferr); - if (ef + df == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/OCBtest.c b/testvectors/OCBtest.c deleted file mode 100644 index bba7af5..0000000 --- a/testvectors/OCBtest.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - ============================================================================== - Name : OCBtest.c - Author : polfosol - Version : 1.1.1.1 - Copyright : copyright © 2022 - polfosol - Description : illustrating how to validate OpenSSL's vectors for AES-OCB mode - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "OCB_AES128.tv" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* iv, uint8_t* p, uint8_t* a, uint8_t* c, - size_t np, size_t na, uint8_t err, char* r) -{ - char sk[2*AES_KEY_SIZE + 1], si[31], sp[0x100], sc[0x100], sa[0x100], msg[30]; - uint8_t tmp[0x90], t = 0; - sprintf(msg, "%s", "passed the test"); - - AES_OCB_encrypt(key, iv, p, np, a, na, tmp, tmp + np); - if (memcmp(c, tmp, np + OCB_TAG_LEN) && !err) - { - sprintf(msg, "%s", "encrypt failure"); - t = 1; - } - memset(tmp, 0xcc , sizeof tmp); - t |= 2 * (AES_OCB_decrypt(key, iv, c, np, a, na, OCB_TAG_LEN, tmp) && !err); - if (t > 1) - { - sprintf(msg, "%sdecrypt failure", t & 1 ? "encrypt & " : ""); - } - bytes2str(key, sk, AES_KEY_SIZE); - bytes2str(iv, si, OCB_NONCE_LEN); - bytes2str(p, sp, np); - bytes2str(a, sa, na); - bytes2str(c, sc, np + OCB_TAG_LEN); - sprintf(r, "%s\nK: %s\ni: %s\nP: %s\nA: %s\nC: %s", msg, sk, si, sp, sa, sc); - return t; -} - -int main() -{ - const char *linehdr[] = - { "Key = ", "IV = ", "AAD = ", "Plaintext = ", "Ciphertext = ", "Tag = ", "Result = " }; - char buffer[0x800], *value = ""; - size_t pass = 0, df = 0, ef = 0, sk = 0, sn = 0, sp = 0, sa = 0, st = 0; - uint8_t key[AES_KEY_SIZE], tmp[AES_KEY_SIZE], iv[OCB_NONCE_LEN]; - uint8_t i, p[0x80], c[0x90], a[0x80], t[16], rc = 1; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 7; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == AES_KEY_SIZE) str2bytes(value, tmp); - break; - case 1: - sn = strlen(value) / 2; - if (sn == OCB_NONCE_LEN) str2bytes(value, iv); - break; - case 2: - sa = strlen(value) / 2; - str2bytes(value, a); - break; - case 3: - sp = strlen(value) / 2; - str2bytes(value, p); - break; - case 4: - str2bytes(value, c); - break; - case 5: - st = strlen(value) / 2; - str2bytes(value, t); - break; - case 6: - i = strstr(value, "ERROR") - value; - i = 7 + (i > 0 && i < 0x100); - break; - } - if (i == 0 || i > 7) - { - if (!rc && sk == AES_KEY_SIZE && sn == OCB_NONCE_LEN && st == OCB_TAG_LEN) - { - memcpy(c + sp, t, st); /* put tag at the end */ - rc = ciphertest(key, iv, p, a, c, sp, sa, i, buffer); - fprintf(rc ? ferr : fs, "%s\n", buffer); /* save the log */ - if (rc == 0) ++pass; - else - { - if (rc & 1) ++ef; - if (rc & 2) ++df; - } - } - memcpy(key, tmp, sizeof key); - rc = 0; - } - } - printf ("test cases: %d\nsuccessful: %d\nfailed encrypt: %d, failed decrypt: %d\n", - pass + (ef > df ? ef : df), pass, ef, df); - - fclose(fp); fclose(fs); fclose(ferr); - if (ef + df == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/OCBtest.cbp b/testvectors/OCBtest.cbp deleted file mode 100644 index 951a22a..0000000 --- a/testvectors/OCBtest.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/Poly1305test.c b/testvectors/Poly1305test.c deleted file mode 100644 index 920fa20..0000000 --- a/testvectors/Poly1305test.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - ============================================================================== - Name : Poly1305test.c - Author : polfosol - Version : 1.1.1.1 - Copyright : copyright © 2022 - polfosol - Description : illustrating how the test vectors of Poly1305-AES are processed - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "Poly1305AES128.tv" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* nnc, uint8_t* d, uint8_t* m, size_t ds, char* r) -{ - char sk[2*AES_KEY_SIZE + 33], smac[33], msg[30]; - uint8_t tmp[32], t = 0; - sprintf(msg, "%s", "passed the test"); - - AES_Poly1305(key, nnc, d, ds, tmp); - t = memcmp(m, tmp, 16); - if (t) sprintf(msg, "%s", "failed"); - - bytes2str(key, sk, AES_KEY_SIZE + 16); - bytes2str(m, smac, 16); - sprintf(r, "%s\nK: %s\npoly: %s\n", msg, sk, smac); - return t; -} - -int main() -{ - const char *linehdr[] = { "Keys = ", "Nonce = ", "Msg = ", "PolyMac = " }; - char buffer[0x20100], *value = ""; - size_t pass = 0, nf = 0, sk = 0, sd = 0; - uint8_t i, n = 0, key[AES_KEY_SIZE + 16], nc[16], d[0x10100], m[16]; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 4; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == AES_KEY_SIZE + 16) str2bytes(value, key); - break; - case 1: - str2bytes(value, nc); - break; - case 2: - sd = strlen(value) / 2; - str2bytes(value, d); - ++n; - break; - case 3: - str2bytes(value, m); - ++n; - break; - } - if (n == 2) - { - if (sk == AES_KEY_SIZE + 16) - { - n = ciphertest(key, nc, d, m, sd, buffer); - fprintf(n ? ferr : fs, "%s\n", buffer); /* save the log */ - i = n == 0 ? ++pass : ++nf; - } - n = 0; - } - } - printf ("Poly1305 test cases: %d\nsuccessful: %d\nfailed: %d\n", pass + nf, pass, nf); - - fclose(fp); fclose(fs); fclose(ferr); - if (nf == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/Poly1305test.cbp b/testvectors/Poly1305test.cbp deleted file mode 100644 index 8d25091..0000000 --- a/testvectors/Poly1305test.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/README.md b/testvectors/README.md index dbd9728..b2ed52f 100644 --- a/testvectors/README.md +++ b/testvectors/README.md @@ -1,9 +1,7 @@ ### Testing µAES --- -This folder contains some of the NIST's official [CAVP](https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/cavp-testing-block-cipher-modes) test vectors. The `*.rsp` files are courtesy of the NIST. Some sample codes are provided alongside them to demonstrate how they are used. As of late 2022, they have set up an [official repository](https://github.com/usnistgov/ACVP-Server) for cryptographic algorithm validation. +This folder contains some of the NIST's official [CAVP](https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/cavp-testing-block-cipher-modes) test vectors. The `*.rsp` files are courtesy of the NIST. As of late 2022, they have set up an [official repository](https://github.com/usnistgov/ACVP-Server) for cryptographic algorithm validation. Also a few additional FPE test vectors are taken from [[1](https://github.com/ubiqsecurity/ubiq-fpe-c/tree/master/src/test), [2](https://github.com/mysto/python-fpe/tree/main/ff3), [3](https://github.com/0NG/Format-Preserving-Encryption)], and the OCB vectors are borrowed from [OpenSSL](https://github.com/openssl/openssl/blob/5a7bc0be97dee9ac715897fe8180a08e211bc6ea/test/evpciph.txt). -To do some extra tests, a bunch of additional FPE test vectors are taken from [[1](https://github.com/ubiqsecurity/ubiq-fpe-c/tree/master/src/test), [2](https://github.com/mysto/python-fpe/tree/main/ff3), [3](https://github.com/0NG/Format-Preserving-Encryption)], and the OCB test vectors are borrowed from [OpenSSL](https://github.com/openssl/openssl/blob/5a7bc0be97dee9ac715897fe8180a08e211bc6ea/test/evpciph.txt). +Some sample codes are provided alongside these files to demonstrate how their content can be verified. Furthermore, the [`main.c`](../main.c) file contains a bunch of test vectors which are either generated by the [Crypto++®](https://github.com/weidai11/cryptopp) library or taken from various online documents. Please let me know if you faced any issues in verifying them. -Also in the `main.c` file of parent directory, you will find some other test vectors that are either generated by the [Crypto++®](https://www.cryptopp.com) library or taken from various online documents. Please let me know if you faced any issues in verifying them. - -Needless to say, the µAES library has been successfully tested against all [CAVP's vectors](https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/cavp-testing-block-cipher-modes). +The Visual C++® [prject file](../prj_vc++.vcxproj) in parent directory is configured to compile and run `main.c` in 'Debug' mode, but in Release mode it runs [`aes_testvectors.c`](aes_testvectors.c) for test-vector verification. One can also use Code::Blocks [project files](aes_tests.cbp) if a different compiler is being used. Needless to say, µAES has been successfully tested against all [CAVP's vectors](https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/cavp-testing-block-cipher-modes). diff --git a/testvectors/SIV_GCMtest.c b/testvectors/SIV_GCMtest.c deleted file mode 100644 index 7b13df5..0000000 --- a/testvectors/SIV_GCMtest.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - ============================================================================== - Name : SIV_GCMtest.c - Author : polfosol - Version : 1.0.1.1 - Copyright : copyright © 2023 - polfosol - Description : demonstrating how to validate ACVP vectors for AES-GCM-SIV mode - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "SIV_GCM_ACVP.tv" - -static void str2bytes(const char* hex, uint8_t* bytes) -{ - unsigned shl = 0; - for (--bytes; *hex; ++hex) - { - if (*hex < '0' || 'f' < *hex) continue; - if ((shl ^= 4) != 0) *++bytes = 0; - *bytes |= (*hex % 16 + (*hex > '9') * 9) << shl; - } -} - -static void bytes2str(const uint8_t* bytes, char* str, const size_t len) -{ - const char offset = 0x27; /* offset must be 7 for uppercase */ - size_t i = len + len, shr = 0; - for (str[i] = 0; i--; shr ^= 4) - { - str[i] = bytes[i / 2] >> shr & 0xF | '0'; - if (str[i] > '9') str[i] += offset; - } -} - -static int ciphertest(uint8_t* key, uint8_t* iv, uint8_t* p, uint8_t* a, uint8_t* c, - size_t np, size_t na, char* r) -{ - char sk[2*AES_KEY_SIZE + 1], si[25], sp[0x100], sc[0x100], sa[0x100], msg[30]; - uint8_t tmp[0x90], t = 0; - sprintf(msg, "%s", "passed the test"); - - GCM_SIV_encrypt(key, iv, p, np, a, na, tmp, tmp + np); - if (memcmp(c, tmp, np + 16)) - { - sprintf(msg, "%s", "encrypt failure"); - t = 1; - } - memset(tmp, 0xcc , sizeof tmp); - t |= 2 * GCM_SIV_decrypt(key, iv, c, np, a, na, 16, tmp); - if (t > 1) - { - sprintf(msg, "%sdecrypt failure", t & 1 ? "encrypt & " : ""); - } - bytes2str(key, sk, AES_KEY_SIZE); - bytes2str(iv, si, 12); - bytes2str(p, sp, np); - bytes2str(a, sa, na); - bytes2str(c, sc, np + 16); - sprintf(r, "%s\nK: %s\ni: %s\nP: %s\nA: %s\nC: %s", msg, sk, si, sp, sa, sc); - return t; -} - -int main() -{ - const char *linehdr[] = { "key = ", "iv = ", "aad = ", "pt = ", "ct = " }; - char buffer[0x400], *value = ""; - size_t pass = 0, df = 0, ef = 0, sk = 0, sp = 0, sa = 0, n = 0; - uint8_t key[AES_KEY_SIZE], iv[12], p[80], c[96], a[80], i, j = 0; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 5; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == AES_KEY_SIZE) str2bytes(value, key); - break; - case 1: - if (strlen(value) == 24) str2bytes(value, iv); - break; - case 2: - sa = strlen(value) / 2; - str2bytes(value, a); - break; - case 3: - sp = strlen(value) / 2; - str2bytes(value, p); ++n; - break; - case 4: - str2bytes(value, c); ++n; - break; - } - if (n == 2) - { - if (sk == AES_KEY_SIZE) - { - n = ciphertest(key, iv, p, a, c, sp, sa, buffer); - fprintf(n ? ferr : fs, "%s\n", buffer); /* save the log */ - if (n == 0) ++pass; - else - { - if (n & 1) ++ef; - if (n & 2) ++df; - } - } - n = 0; - } - } - printf ("test cases: %d\nsuccessful: %d\nfailed encrypt: %d, failed decrypt: %d\n", - pass + (ef > df ? ef : df), pass, ef, df); - - fclose(fp); fclose(fs); fclose(ferr); - if (ef + df == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/SIV_GCMtest.cbp b/testvectors/SIV_GCMtest.cbp deleted file mode 100644 index 4fb7dd1..0000000 --- a/testvectors/SIV_GCMtest.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/XTSGenAES256.rsp b/testvectors/XTSGenAES256.rsp new file mode 100644 index 0000000..d2676f3 --- /dev/null +++ b/testvectors/XTSGenAES256.rsp @@ -0,0 +1,8013 @@ +# CAVS 11.0 +# XTSGen information +# State tested: Encrypt/Decrypt +# Key Length: AES256 +# Data Unit Lengths Tested: 256 384 140 250 384 +# Generated on Tue Mar 01 08:39:52 2011 + + + +[ENCRYPT] + +COUNT = 1 +DataUnitLen = 256 +Key = 1ea661c58d943a0e4801e42f4b0947149e7f9f8e3e68d0c7505210bd311a0e7cd6e13ffdf2418d8d1911c004cda58da3d619b7e2b9141e58318eea392cf41b08 +i = adf8d92627464ad2f0428e84a9f87564 +PT = 2eedea52cd8215e1acc647e810bbc3642e87287f8d2e57e36c0a24fbc12a202e +CT = cbaad0e2f6cea3f50b37f934d46a9b130b9d54f07e34f36af793e86f73c6d7db + + +COUNT = 2 +DataUnitLen = 256 +Key = e149be00177d76b7c1d85bcbb6b5054ee10b9f51cd73f59e0840628b9e7d854e2e1c0ab0537186a2a7c314bbc5eb23b6876a26bcdbf9e6b758d1cae053c2f278 +i = 0ea18818fab95289b1caab4e61349501 +PT = f5f101d8e3a7681b1ddb21bd2826b24e32990bca49b39291b5369a9bca277d75 +CT = 5bf2479393cc673306fbb15e72600598e33d4d8a470727ce098730fd80afa959 + + +COUNT = 3 +DataUnitLen = 256 +Key = 522499839449864b0f59ac861b0b8923a1e4e204f8a255febb9ef0a8078942e8ab26a30a3bd6d14fd291efaeacd088169a6bb1218f3ffe9a482a439d2ef78628 +i = 04782cd3c9161fd2eaa9e911c23af4c8 +PT = 1614c98391c1dece1a3d165af0101c872a31730c407b07a2bc97f8c8741e7fcb +CT = 4d8ee472b5c9367b364cf284738ef5b490f4c131a4badc316a175f3d55d28711 + + +COUNT = 4 +DataUnitLen = 256 +Key = 67c2e3a5b02881d7370320d6c04a0a138370dae588bf09a0cb2595167150572ff4b3bda91e64c6ede62375e8dd47a2951d65464ca48346047044d970ff45f480 +i = a1f908be560286b9bdd0a7f405abd4bc +PT = 42b564650ec0a34eac69dc17fb69f46c2cecaa5588557ece634711ba76d55da0 +CT = bcf08b6bf20e6961d8b7348f8fced7f9ea51e15902671bab1a366de1f72c1726 + + +COUNT = 5 +DataUnitLen = 256 +Key = 5ec416c58f2b5a78c4f658da055bc00f359c685b9f6de6ffa56f86d95086844f11b58338d318ddc8ed7ff65c31b7dce448df81271877d2616f36b29a6fcba9aa +i = 38d7db2d700d0adaf20bf5c2e84568ab +PT = db34b3fa9914903f5184040f1143078f124db769fe830b89d253c73423da50ea +CT = 998f9e21fe8f2a848b8b778ecd254bd2113969e13bf7587fc98fa8d7ebc2e2a4 + + +COUNT = 6 +DataUnitLen = 256 +Key = b5b96b90e36b35eccb718b14c7a749f31fd99ae1ec1ed3a52f99d4a3beeb6f20ca2723d5bb005386b79e1c4e23f6b5f81fb450b2ba92a5844280d3d91aee4a56 +i = 9a063653a0d7a67bca5d2e47aca24ac9 +PT = beb295f510ca61db0cedd1d0e9f75827970657f9873e0ec010b573d3d85ea586 +CT = b7d44012a1a4459a6ec604633f74c7a76b62032fe6a2727cdf8d3578c189e541 + + +COUNT = 7 +DataUnitLen = 256 +Key = cb87196e188698698a058c98e855aff5cfbae00a4c51e913f0c9e4a57d5ab416228757d08414b1178852eb4d47172de6ac0bf7d5f16dbb535606e8b212ab49d9 +i = 225592557e2f60e8916056ee71091984 +PT = e5d3ca08ff68cb54a0a5b8480747823042ced6c03280d968ed3f66c958d971ec +CT = d456c0ff4000c5dcb884eadfa8d4d13895c488f5188211df77b31ee087c8bdbe + + +COUNT = 8 +DataUnitLen = 256 +Key = 143b1de8a633fb40893a0d5a88334bdbf89bcbe6237b984688bba1528a8e4b1c58aa7615be268a157cf352f0a6c4cfcafa1fd58950d7398f3cbb83a71ddff17d +i = b17e857e9b101282a8bc32538b9dc632 +PT = 6cd912f55687e9223036801c200a5573f563075ef452f5681f489c19cfcdb4da +CT = 8b4336e87d1934bb3531f9261c9b6aae8e1ce3017e8c948350daadf4d2a84e99 + + +COUNT = 9 +DataUnitLen = 256 +Key = 092230dd7d1d6f3f83ab04ccd46b1311cea25c7e2b503839c7e5535a0148b6dbfdddf6777708265aae0e72b47658a45310139ee0b1185f98c8b8a5c187d5fa69 +i = 17e6ba1c70f77074ff1d567b52f6bdad +PT = 9c3ba625a21f8f5583884b56d4d1a2e1e65fccd03f65d6caa5507b71b10ae0c3 +CT = 5e987275d6ea7c36593c5eab78a74e38504ee47bfef4fe6184285a2e625619fe + + +COUNT = 10 +DataUnitLen = 256 +Key = 5d4240766e71216ab73da19ea88027488759c3c83aad8223bcb60ad5559f913d1fa858154fbb8217c04ca352b22e492cf9ea81d1a87838125c90a1340d04f8cf +i = 08496af5e9e51e06e562ad121ed422e4 +PT = ab5ead893b99dc72e927c82edf40c3e9617c6789d9d488d63a91ed7d37892eba +CT = a8fb3a8bb9c1158d08610636137db4bc2adf2907291e965efe91e5b804c2f3f8 + + +COUNT = 11 +DataUnitLen = 256 +Key = 6c20526385c785ae857a24754875f753911b1ecf189643de9b5c41a7e7213b721d1b063d363821a0f1f2e42166d1fbfbf7d17396b289d6012a531577365672b9 +i = eba311569feff984eae41209b495c298 +PT = ebe077dcfad6a39023a976a6f5a69b251191e9096efa4e4d9e0d8a8f3bd877c6 +CT = fa1d194b88f488be2a6bab15ad9bf40a7150971d6ac9503fab58ea86b714a2c0 + + +COUNT = 12 +DataUnitLen = 256 +Key = b265b9c31b388b7f12c810f23a38ec48443fb1ec52f2c1147e58481735a30cf1a690d7be6558ee22d8346a1e9420b0b3326b3c494f607531bf9e1700a3f972fc +i = 2cca7a1da2e92063e2f87ae92c460868 +PT = d6ab662f11675bebbaaf100e16d32aaa8f12e240a7a3d261267daa04574b969a +CT = d1203e2b1aa9d9bd08e22fb4c25080e7f85f35ca839013d964821c0a02429a6e + + +COUNT = 13 +DataUnitLen = 256 +Key = cf16b47b4b32bd038dab1d4bdbf86b7b797bc9ca2f7b9bb18415fef781c3a214e6f1863bb37414ba12559d8c0b603b376a4f88d0ea5c49e8bab005a42799c545 +i = ce328a5b1f000b36353723418eac4a0b +PT = 0b4b0609d9521b9ab96b0bb566378a2163f940d61230bccfb27d7f9e185b4022 +CT = e3881ad60a6b1b71bffc3aa60853951740ee52bfff75940031cd2eece1ddf6f8 + + +COUNT = 14 +DataUnitLen = 256 +Key = b21f22b98004f3579e3a7b4a8a72503543faa0a5a5cfcc09fe449e3d76f668a2539bafdb0cf1c002d6df3ebf3e6b7ef176d3c564f84beacb38c5dc2566667c19 +i = f747278e3fec0e192d308f56111d0d08 +PT = 2d8f720c3ea91684784e52bcba169a6a081a1eee78f68a83049114b5352a6635 +CT = bff5cee0f2cc3e52bb3c3bb67c663c5c1020fe3b1083b0b1ee8c718f7b5ecc47 + + +COUNT = 15 +DataUnitLen = 256 +Key = 7d797b11bb16634625ed5e1ea909cd2c6c3d2f6b86db5f974d772f04df86972330323a54bbb105c7c0801207439a2e89b73d48cc5c0cb7938a192ee59b8c7547 +i = a3e1477d3b0886eddfe8934f111a2449 +PT = 63ebae85895f3440c19b563e25f6673f1a519b87ec8d8f80d4afd0dfa5c4d3d3 +CT = 60977934efa61e51b171cddede3358fd53b6fc13483a690820a484a7ec33c2a8 + + +COUNT = 16 +DataUnitLen = 256 +Key = 8a055b91c8a099f7a033812ce74b2b2228de2492e94572b5722737581769e7407a309743866da1c0a162894e13c133ed33d0ce3fa1c385310b3c7ac4dd4cdbc1 +i = 898d5d82fef50c536f483632201948a7 +PT = 45e092e64bf2928194f7a69bfa2503509bb3c6d99f71fb49c700500c5cbf9d20 +CT = 2792d9481a3454274283c843e936e835f9fa44239355168d4faecdf70904b758 + + +COUNT = 17 +DataUnitLen = 256 +Key = 513df3b4470f38aed86ab22cd33732eb02d86358f0e76d375ae94848587c0fdd473a06cad5bda8a3796f636f884f1b9bd0c36497f06998835b5b21ad0d53ebf7 +i = bdc61c3eaa3b825abb585f7938d003d6 +PT = 64235b353e43c69fa42c8c4936a11bb931d71432bc49d473d34100e21027c722 +CT = db2db7fdc072101a97ed1f758848eff49d08896fbd657a10cbd0d3299cdeb03c + + +COUNT = 18 +DataUnitLen = 256 +Key = e4cc481edbfe800ec4e1e525598567eed861e553ce5c92efdd84d69861e09baa72309c0d0549a92e120785cb43a4937acbd303f6197b26f24b16d0911f70a313 +i = 5c006140b8ac3f9738af2fd3ea6f3721 +PT = 8df44a74c0205222addd30eab2c7d2fc71ec07ad12932bf0854fe0502a642183 +CT = 0eb309335399b2006b832bbc7356fd88af0abcea6864f6b41193dffeca4a7f15 + + +COUNT = 19 +DataUnitLen = 256 +Key = 04e45520f663ec8230a3226da247580129ab927cf80fd8f656a1f13424e98ba39c57bf3e4c172c8c21bf6c60a01d05360a306d6f803d5f2377fe67447b869f5c +i = 652ccd3927cd5a845ecbce9150a87127 +PT = 8658f2b13a49b7150a52280c9e98bad19ca1ac0ef2bc3e0244254d8a0a8f4215 +CT = b0cdf23aed707762e73a9262eb168487873be8a4ce990208e0a67b922b8e3712 + + +COUNT = 20 +DataUnitLen = 256 +Key = c9032290ea6c1b8fe8448fdb6e7e48ef0d81c1a0bc84a9052e40807e515733ed93e55838a88ff1c78509c62afb26d52a8ff687846601b0930771e6df1d1f3c4d +i = 30ffaecc5c0843078b13d370d912ede9 +PT = a02ffe56131167a1b12136f04bb71786aade3b06adf578fd8d998e39a9846c12 +CT = 5ab207394fc7a0728a2c683a880d4daee8c20553d91722816a76340e2b4e6662 + + +COUNT = 21 +DataUnitLen = 256 +Key = 28b09f8b53adcdff4db75dcc254e1f4f19212c26d7348a3e3e0f26aeac1f954a7ec89e55bfae931cddc378821e282b52ee44f39b9501d5658d5a9be89cae2067 +i = 07160761f37f37839402890cbc189aeb +PT = b56df24e2796624ef75f74f6b7ac4dec4ed4f0aefb836dda2ab9b4e58d7e342e +CT = f3e260ae6299ff02f487eec8a73a881bc9769a4efbca446418f9e1fe554d1ab6 + + +COUNT = 22 +DataUnitLen = 256 +Key = 756bc77552bd66bfff904634afcda857ef3e9bf274eb2e6e3ced54e62340a540b61ec8071474cbd3277df609cf14b06394046b22dbe8e3e3dc5a50741e0cc5de +i = 930b1c20ca3907ace49afb3c2bc729ef +PT = 9ad8651834d2d914222c288e720645b33da47e0ff9f3e029debed250cf0a6a77 +CT = 870b2995952b36c98f1858586279634b998cb5fb6a7d3efb2e95181828c4c649 + + +COUNT = 23 +DataUnitLen = 256 +Key = c4c78f0c6bbd08da2e3be614bba35081a975b2cf1558b324dd72def3c35b5ccee542c25ea50f83f8b5afebec7a3ccb6922c445d31dc2f524f207bbc48183a99c +i = 01e1776af79c9f983403fe0232bb67cb +PT = 23a759a8c4935d275d4b02a6b11b47510720fbb9cd2cd5452680d43da7bd0a7c +CT = 58441453991fef424e28add914f67883a6b8e53522aafa6cfec1b5fb09e966e9 + + +COUNT = 24 +DataUnitLen = 256 +Key = 49b2658a244059d8bda854ba5e1d03927d413caeaf8adbd95eb4ad4edabeab13b3f51b5ae9c04a4946df2d17b02bb2630318347ed8709df8f98af9ae9a468bd2 +i = a496a1be3debf774eb8efb36254ed706 +PT = eee5279ec8d959be31b935147261308fde0fb4c4346c50e4f14ea6f2406537ea +CT = 85a9e672ad50c7b509bdc6964593446eb9bd3458205202d3e20519a207e9c1ef + + +COUNT = 25 +DataUnitLen = 256 +Key = 21b5ec3a31be1c36cf353d2794f1e39e77353d4a284ab10590b5a4afbc23fbb447dc85421f739ffa8296d15537f514673746c854c8d4f88c2b9c466eacba061b +i = 6391ab6f9ddd693422e21e5c2bbf440b +PT = 177bcfe1414a3bfe6a53700da1a3c6fc5b27b29ce042d973099d87bf886f4137 +CT = aba26b842ccc19cb646de66018710e7a95b1f4f87b6bcedba61dd074a3fdef17 + + +COUNT = 26 +DataUnitLen = 256 +Key = 9ffc993d37b16d55a399242b973dfc135f2f98dafeceba6e4f9af27431e8f73140edae9b91d7aefc05eb5244bb6520cdb29babc59ec96860006e415d698a076c +i = db03e166d130a0517b6e2d1be6909c4e +PT = c18ac5ffc5226784e6cac442e25cef13417f912b5e1d1d0cb1eddff9bb59e835 +CT = 42d07f26b4eb62c99768455ec72bdb696e1cfacadcf28ba0815024cb4c570e64 + + +COUNT = 27 +DataUnitLen = 256 +Key = 50c8febdea7ceed2690f73a39af02ac3229f11c9d4d2f19048eeb48dbb26978480781c1dd5952258305383f5b3bca0cca71681574c99d8d15e86eef2ff04d7b3 +i = b46ed058407cc928d693a0f8221c08ca +PT = f1377a8b83f1d7562e5eeea291fdf07c1d6e076d061fe100e6cc1a647c8644d8 +CT = 989931951f452f96033628d2a44baf1c8a4aeeda0684462efc9689b15235f955 + + +COUNT = 28 +DataUnitLen = 256 +Key = b384d849e3fdd1c0155083a496100caf0937ec08eb6705ec9bf088e6e62e27371b9d4ad50286d3bf660f3aef08f2681785b67ce4483e83b468976ccdeb263768 +i = f400d14e42d0840f69a2be44913c6fb4 +PT = 3ee6e2156e4b0928f85be9a88cb122b873d6c5f0e598bb37acdc744b121f3a0e +CT = f909c6e723d8cb615a3382e13dece80461a424e62b72517ca3b2898249266d19 + + +COUNT = 29 +DataUnitLen = 256 +Key = c76daaa16c56b73280bf0b0304b94eb3cd5fb2e31bfeaa07e137123eaa97bcdc9d073c84b64191591b12267c85207d346d1f534c648e0d5432b62bc3aac54dbd +i = f710627d0cede8763eef34f1a47b12bc +PT = 902ef7c1da3ee9fe4d03340e7b466df16080d2093a268a0a172eb9830880a68a +CT = ac4bbba090232062b801aeb8ddbbf450e04133505510840abd0c42d6bb089f62 + + +COUNT = 30 +DataUnitLen = 256 +Key = d9dd2f932b39b82c666352b104b15b31f714cde49d9d2e019aa1e73db3818b8eddaf4f47f6f1fc173eec2e0c30674803de8780f945d8005d9fe995785912354b +i = dfc989f8d81871a2bfe7839b94dc8a9f +PT = 72660b85b4cb16ed7334404fa39877b62a15ebdee777bd1013df9f6733372b62 +CT = ae4dd2851a8c12efc5a49cfcb7d98f6eb3a8b6d76400aaf53ca6c7fe142a6689 + + +COUNT = 31 +DataUnitLen = 256 +Key = 7006a18821fc53955195bbac5dc395bd2e8b6ed72818a98d86c841d83e4c70b9981b67f162dc9b8690b47e11dc2e695afb7d83095f6960b8611b335e2d7dbfd8 +i = 508d50040430f6ef585b84b7afcad76d +PT = e69061771cad8516d75b5a2cc4893d31d482b6ab8dd59a68f733defdf74d147c +CT = c5a4607ed7fd6162abb2af66b1213b337a18b4843d81735318ea763d8bab6acc + + +COUNT = 32 +DataUnitLen = 256 +Key = 4870cee046707d197ed4e09c713164cdb5213781a651ac82378a6e0b2958484a43a826cb34ce3fd0b20b5a06bb5a65f381c0db4fc718fae31fd94893f5b7d6d6 +i = 24a0237aa8177cbe218847a84e4dfa90 +PT = f984fee2341c4f1a7eeb85765240c2b104323ecf70f39b150a2ff58c01d63d0b +CT = df754889084e0f8ffe799d17c481242eb65c6cb5fb0d46a81bb027c2202f3d3d + + +COUNT = 33 +DataUnitLen = 256 +Key = 1352e5045192ee5dcb9509b737a8b392acfe311c2f94ecbee363c8390dd6362df3f13cdfcc9957dfab46393a217d5baa8b2fa94687485353eb5a9bd9e15283c2 +i = ba04ead5e7311fb6cf37c9e70115c8b5 +PT = 1f9cbf00c97ec9d1173da395be86ce366f1e2cdf16bd10f28a86e03b99860046 +CT = 64e67521557a7050435f8d0a71a157c971d875cb8d1d4d74a57499477f231328 + + +COUNT = 34 +DataUnitLen = 256 +Key = c4b788a0762a0a3458705883f0a892d6adf705c8cf329cbfbdb53c6304c4dd849838816508c293e8e6d1cffa21df5725b17ef3b89f5a5c7f743b105480548531 +i = 60d6f70a1918596c2d7abb85b68d9b12 +PT = 0eb7f0fb2b1dd5035c06658a49af7cba2a7d66ee06b0c194a26af4edff636697 +CT = 87845b822bb5f1f8d6b77715165657c2df3a969b40b1df491adf6d6f7cd250be + + +COUNT = 35 +DataUnitLen = 256 +Key = 2241de46a24e36a62fa50a2018ac90c594717c832dbd8d75d69b5f39b5eb9e6167e3be1657b22a18228fba50bea17bc3e40e2a72ad7374e1be92cefe5d541357 +i = 56f92b0fb2b56d649c63dbbd429da28e +PT = 3bccc7324bb8a878f5550edf2351c10a4ca7ceb3e33f8980ecab264f79337b55 +CT = d25a331baba8bf6c5a7d7c915fd032a2a7e751720c2d0961934dadd56c6df8c2 + + +COUNT = 36 +DataUnitLen = 256 +Key = e33936e9010d7a813296d212b9656fbed7a9dc445c496cb0898ce062c3dcf168cc17f7ba253760f45cc379d425c908bd253f78c1755a866e9b3c20e92729cf3a +i = a3bfaf71bffcf0da9d4428621a4dd8db +PT = 590e37f827fadb3fee838fe94fbc8673de1f9461ba9572929d600b7331e0da54 +CT = 4c996d217ae5aad9709b8b393d8ec9fa858e2a20585092cf0ddc1b72ffa2288c + + +COUNT = 37 +DataUnitLen = 256 +Key = 6213b1bc4a50eb65153f486258550a5eedf4298a773110e3b348a9cd37844f4becd514718370fccdb7b225550bcb39553d1631ef2f210c28cd142cdc452a52fd +i = 68c03891f08fd8ec549bd82771b5dd57 +PT = fe1a3ec210bb8e9625609a27bb31bdbf5e2d4a9c820b2f6012c0586b211163ad +CT = 9ceb1d7626c135d33cca2aff06caeb8129d44a9db1a2dd1cbc90199f59caee29 + + +COUNT = 38 +DataUnitLen = 256 +Key = 3b4e2dd14eb165a0503006c93469d1435b3e3e0bab047d116a71fdebc6509ececd0883ad42ea0db56ac5988fb66519bc2ea0c6d5744f7548184a8290b0da77f4 +i = 65a523921d5a7075b22012e390b67c43 +PT = 33df8d8086819128987a105c7359f057fe099fe26f1a58d28e0c88333d5f69e9 +CT = 2700042526c540c26946678ee07d6c82e6523032cb210349c7d85c0525f1655b + + +COUNT = 39 +DataUnitLen = 256 +Key = 9aa772f47f53559cea4f4a7d73f0fb6f97a5a460e73b18ecbef1fede288372d2482103210cc16df8d4c1f1b37022ccbabd3d93ce4a95d2c9efcce13d83036afd +i = 8d142aaae1da29fc59bd6e7fbee260cb +PT = 3598af1b46069c473d1cd87eb2eef25ca5c2a5ac5530a9270af88770a498229e +CT = 7b435eb9227a100049e6256b46141fd14f9b73529a26252cab5147c0fd7b5436 + + +COUNT = 40 +DataUnitLen = 256 +Key = d77104e5756ca260c3c5912439b7f8c81716d5c4a457e24d104ae50b40167a80ff03e0682729d824dfa8c84c794b80303dc9ff0585088ee6532565bec63ad7c2 +i = e9dc846cef4a2c41b4a020f44c233f47 +PT = c125edd5ff5eaf875cc4b2bba5fb7dc47a2a1dbe5cba38b213372188890f153f +CT = cada4e269a208e1ee4b3379a4ede5dea049a93fd8e0f5b26069800b0789a0319 + + +COUNT = 41 +DataUnitLen = 256 +Key = 4fe410e5f61f858c3b784c5e213ebd112f2d8333cc206ccca8454b28497a2e9057ca0061aa077331772868a82728b4a75f896f286d384f540638af9e7bd9d293 +i = f8cdcfdebb4a48bb1df1a4701b8ad6a4 +PT = e8a8ec4fd5fb92ee2d0b289b8c3fb674d95575798b85b47ef48a8a4bd33de685 +CT = d6132ba3551914b3e6c5c15064fab84247cb2faf0c4b445f86451271ae7c6cf4 + + +COUNT = 42 +DataUnitLen = 256 +Key = ebb8a03972dcfdb90c55c3002a558f057f2027a9cc2cdabbc2d8bd9710f473d8f21aeaf4ba82b11c372731c5be576ef049ede9cdbad208be07d3ed15dd760940 +i = 0fde23fe8746ed15d0b160c05d0f88c9 +PT = a200dfecd771a9a019caadb4bfbbbec6de631ad5b6ec8f2379ddd39732f601dc +CT = a08047dbfde7f4724bf9906cae354f10040c6b64951b02564b2808eb430415b8 + + +COUNT = 43 +DataUnitLen = 256 +Key = 76ad6a08c3991479dc9ffe3feead0dcadab6633465b0b6697cefc210452dec412eaa749859a9b5d5560026e44d0ef9e24de41df17f1839c5a2f7a7ab88a35775 +i = e6d02b254009b1f98a6d54f744216eda +PT = e0bbcf9410691a1fbf7a2724945f214d29a51fad8c2a3e0f22a7effb0562c19f +CT = 0ab10a0a91c3ed9838ffc45eaed5575413e3d839cb5f101c24cb18f00e82a530 + + +COUNT = 44 +DataUnitLen = 256 +Key = 601b363028a6e805404752870de68d8cffe554461ff5ecb3aa68d97a31616fa42b0d604029c25e65ce434a09f1ca90e1cf58b92fc8c65bb203ec2ffc960e0af2 +i = 33c6f73a788514f0fba9e29ed3acc0f4 +PT = 1ad9633a85b2fe2810e7197ec1293a8b82cf58dc2bef9f8cf43399157b2365ad +CT = 6507d7d6d8f8ff19bfa13261de7f4514624e20b45544e021c6d9bda3e255cf98 + + +COUNT = 45 +DataUnitLen = 256 +Key = 75f8bd54f8246f79b89c0784154c853137199d7504c700203193bff20818a1e363ddfb9a6999f81c63dcb6ee0c6a453ff5e563046c31fae501852f688cdd6a2b +i = 066ab7e7206df6fb3383631c75a90393 +PT = 2cad40aa2b61be8a1dabd3901d5d4f861fb034198a4102a7b7a7ac407599c24b +CT = 6caf989c55c27a65bc7f99bc4ae0f5d54178ada004a09efc91809814c01a5dee + + +COUNT = 46 +DataUnitLen = 256 +Key = 37dd7adbb9d548cd66604cd685f62bc6b5d7c316ed8d9158b538901776191e9591314b0d5b82c85f8b241fa4f5e43e015610306dcf6e64fadc90725085b268be +i = 3c6e70423c165e451ff191329d4c1b41 +PT = 36492eabf5f863a8d5f2433094fe8ac077acff0613efc654317d09bad75ba4af +CT = 5621bb68ebd12e7d17e1e07890a995a35fe97cb5056b43e7e1f9edee6373173e + + +COUNT = 47 +DataUnitLen = 256 +Key = 7af1784dc21b17ea18ef31edc133f171bc4d84fc63e76693de6842ee3ae2d73e5288ece073eec5b6975e47d2e6d6e6a8c2f532fd5a7d0ea9c58f5da0d3b04d08 +i = c9773da09bcdc7a63b3164b8db6b7bd0 +PT = 31109a3076f3a2f229d9971767db2e2529d577fd3f6f9108b4372e2c031715d4 +CT = 2ec0458586ab8e1c0843d2be81b3490a5a3f478fa932d2e01d34e4355c841866 + + +COUNT = 48 +DataUnitLen = 256 +Key = b91df6121596c9998b14c167cf47bb9640228f3bff3baf6ee616bd735d5508dc9a0f6256f14b6ce438f3a83f895a732873c913e7dde5a1c34ee9c8db8655d1b9 +i = a314d4a0825127c5d7d6304be27dfd87 +PT = 48ab86544c0e8584d70aa1f7334119bab3c811975da93aa8f3e399d563748eaf +CT = 6c634c9805becf8a9cea5bb527f439565ff516538f98d5692149bd995ceda47f + + +COUNT = 49 +DataUnitLen = 256 +Key = fda65c924b471bcc27dc75b1b39189eb1ed2282baa851e7daf067185d7ddcb65570aa06356ece3451d076ca56da27a6f149a368cfa3d1f10c5499c9d58dc7d63 +i = 6b3d15f86b5b47a972883c8c12d72a06 +PT = 364ff6183b8d4e1ae81091e57e55658e0b6784cb88c0ca98e9b12d9b2fdc36e0 +CT = f51c0df01754d4de41c0160060b991164e298a82c15dbcd17c4d144a215e6350 + + +COUNT = 50 +DataUnitLen = 256 +Key = 0406cefa3e16325e0b820591b5d45bbf21164b521ded97628835f2d3be7ecca18d1ba0e5d47f10b969420f59c02e731161a2a262b55b5f35f6f8ef365159f50d +i = 9ab2ef46133b547a8ab880e17000aba1 +PT = cfe237a9399d58034a6ca7f0066a96374235c1659ca7e7fc978a1db2cb30263a +CT = d2f5bfe75ba30148aaf42b56e264e1827f29b8097f06322d4c7c74bcb2ff540c + + +COUNT = 51 +DataUnitLen = 256 +Key = bd3e3a102cac0a692e72b5c3529b0fcea279d8588ed3c5fa3018ba672c12cfe07a58cd95e037b55b2d621b6791f4abbc7a5d9a7c112ac7c7871dcbba57c06c87 +i = 5dbfa92072870ae6b02da840f272de16 +PT = 39069d88e51c26432ddb0ec8da3af3b53f0f71411e1434e87274f9eb540047b4 +CT = 969d42664562fe21c6e158c537493fb154202cd741676747c239749ebf46bb34 + + +COUNT = 52 +DataUnitLen = 256 +Key = c9380aaa1729c64a0b49473dbcf0051bc7ecfbc035dd7508097c6a26638da4fe41a242e1733bafe2cb5b3f49c2019668efba0d1effbad25f6eb3bc00d26ba8ff +i = 75e7dd791f0be8487ac7b855b5ca7f7f +PT = f06df3eb3771d11dba468cdf19dc67fd003d55b91dcae2fb30bd56c93aaa96df +CT = b2c7ac50573ec233a42b39cbba166429e40bd9907be910f2be2f88d306be1683 + + +COUNT = 53 +DataUnitLen = 256 +Key = 5e3046ab8f0ec340e04ebfbdede872660dee6f84d852e9ff77db14aac70c3d76fe1e525fad3881ee1b77069a1727eaaf3c4721342704f94ec4b612573f4804f9 +i = 38caff738ecd994061beec2be45a1d05 +PT = a6976bdf2d3d5dda17ef8c63e6bd318ecbfdb46b66452a6a8084ea8666d58404 +CT = d4e5cee54ac9139fd0bc20d9bc1c5635b3f8c7c0731562a9e5c7f952834644c0 + + +COUNT = 54 +DataUnitLen = 256 +Key = a29a75b3000b5511b5acd0e9c227b01186d353f87104d195816a46c68770cbc8106b4ba8978b92f1c72642d61d67a9a5f61657b23af7fdda349b0bace100de6c +i = 70f92b4e1451b94aeb7e6bd4dbc1cf59 +PT = 2429389764ad11293ebcedb89c8d8cc1acc6a0f3b64f684f21bd33cac0e41155 +CT = 99fc30d6833fe504ef4cdf5a50693774e7e6608f2c92b8b2c2c10bad4dd5cd13 + + +COUNT = 55 +DataUnitLen = 256 +Key = e6c905acdfeb059cb92ef54b2fa481a4f26cc5a353feedbdfdfbdbe50849c5ce39dc418d2a81f4f5ab288fa15d457958f5edcc0d48a49594a4ea7198a1e8ce10 +i = 6a84176a739eedeaf1429402e19842dd +PT = d4b4f0f5fe0468be24c07aa5bfc92fd804a4f31c62af687ca86ccf1dc97bd8e1 +CT = 636877e35b20da31fb65c1d44c3ce0673c7c3382db58ca90c89b9e4db169a94b + + +COUNT = 56 +DataUnitLen = 256 +Key = cd013ffee14bc1f6425105e2a6b81596378372ab92a59041af5533fec9e3bc16d4a73298327c10a044458e42a69bcf0dcfaf11e17a159e87768677acb39080af +i = e946672d76e091710d8346e3ebe079f3 +PT = c78d93ba03e6ff1b232bc88a9ff86127d18bb8d572a3bf6d40ab655f9d4699f1 +CT = e23851a6bfd895090da16f499123dcf16759219b28f8edeee1aa9ca0ac1fb4a1 + + +COUNT = 57 +DataUnitLen = 256 +Key = fba875b9782e7899889175e6bbab6889145c1b277ee0457cb2f710f27efcaeb172eb552921915453792ab29519b31af9152a8ac592da9dea1d3feb7a1c2a32c8 +i = a2cf7f40421a813924a692a69ce31c66 +PT = 14e02407ffcccaac0326716af04738c1912780c2c0aca49b3d11fef17674a3bb +CT = 0264678282589a6c6af763194ce315abb277831a0f133201d789fff4e870b7b2 + + +COUNT = 58 +DataUnitLen = 256 +Key = 270cd3551e4a1259c22043e32c5b60106453701ffb04788f860976aff8363b28970bd30b00eb8ecbe5664b1ba181a6259a4b754591507925c2a5eac0714215ce +i = 804e27d0a228b0e459d2d4a70d22e7a2 +PT = 0f50e4ecb59a167d6de832af706a8ed5da24804d287d707344261a083a091957 +CT = fb9cb8ee4a2a34c1a50d79c1c81e4093c75ddfb9f8a7193975abcc060cdb9e97 + + +COUNT = 59 +DataUnitLen = 256 +Key = ba2046990180efed157e49e20cbaa262336e174f12dd9f94e6787aa3995a6f4969b017dcd0c2f0fa2f1d85376d3fcf91ff5dcf1a46be33e6a6157e9aa66dbf97 +i = f96bf00f92435b262ad2ef78029b8870 +PT = 2aff40f08750fab83524a2e908fde20af678930a07aaf77f55a055abddf69224 +CT = 25bbecffaf0699a45793b5166d2fa52b5ab909ae0209eb2ae70726bc9ea43071 + + +COUNT = 60 +DataUnitLen = 256 +Key = bade4d98d950bc1c0f9af6c0449df05955ad9db136fdab98b07f359b3a3781d44ccd04a9bdbf2191099dd74705811c9cbf26173dba5ca9c1c89566f061d0c943 +i = 28b0fe036e623143923e8bbc34588269 +PT = 70ccd34838671d1699a89e113edcae8fd312415b6f8fd5d00b02705887822497 +CT = b090dcd79bfc77f1a5ed3470dca309d018c1c82b39832a2e4f355e43a787f643 + + +COUNT = 61 +DataUnitLen = 256 +Key = 5eb50987dc582bae4bb46c7a1cae341984380ba28909ebc9a4f20cb992475b167fd81d94ca638003c13986f0095c1ec8eb12e6f060d4e83cff0f8f170ceb96a8 +i = c1b94b4b6bbd65f75ad8d1aac014fdf0 +PT = 64e5ddf733229d639dfc7b86921f2c8bb8dff717bb163a85ff59b915fdf285e3 +CT = 3abd4bd1d8436be9cf9d3027b0a7a543db6b2caacd77a41abcbc9a899e42e3fe + + +COUNT = 62 +DataUnitLen = 256 +Key = d01b40f455522cfc8304119e2e633d6bb2748702045b89a6184b836a9a7cd859d9e7ee1d952a95e1e770b8b96f8f7cbcfa9c411b93227e775d94a5ce778715a0 +i = 3fc644cbec9af3212f491849b6e01088 +PT = 492cc94ccea28122c78a14a9f774e5e4d773b36b00eeda944a56aafc80dad414 +CT = 26a59c5bd693033fcdd97106ecdf63d8488411d437416f221651d68ffe278e99 + + +COUNT = 63 +DataUnitLen = 256 +Key = fff7bf050b3da1ab92b48eee92d9e7d7a178e47b021260e84df3572c71d3523d34e1bc45e6ff8982a61e528c0d56f8f98e60a07ea76429eeadbb5fd3561ae801 +i = 49870da1189bf3d1a143460db2af1a3e +PT = 68b91b3b495be17a600e81c188dc1f1dfd53e30db2f3ffb1f17acb600c9de877 +CT = 0d9ab80875b2b64d2f8987f5d9afc7387f3bf028bafb967b6d8bf619f2618529 + + +COUNT = 64 +DataUnitLen = 256 +Key = c04f15a5d33c2fcb78264756a55c882dac5d018d0488d3c3944f94b35ab1c517e70f8474e8a140142c4f188efe4634c384d7ec689c7f744a0e12794651f5d69b +i = 046fe4185368f7ce6796f0bd3dba63be +PT = bb47621961bf208350eb9d8aaeeb3c422f53856e256506bb820bef3df5741acc +CT = ce268a799726173ce0c2a2c7ab365873b650f1b9dfdf02f74e3ca6e7bf4ee5bc + + +COUNT = 65 +DataUnitLen = 256 +Key = aeb3fe8f87a1d9ba5fb6ad1620b40f80bc450627250c83ca9a75a0010455852508a4b3ad801d2ff582197ebae9215c248acdd1ed048cd511537fe0e3c9106f6d +i = 8c19d398db05c333562ec9ed9b63c98b +PT = ff8239f19d44a67d0f4a0d02958dc3fd4752e97887e3375629561878024f2173 +CT = 593085a47c864597edd47a7e6de8bbc402baa5bab8f554dd2dc791bee10c2348 + + +COUNT = 66 +DataUnitLen = 256 +Key = 10c9e07ce784d6d20512f39f7677a2fee2f4743f96b3a35f71f4b8505b6f2f57764592014ac5c138b0bbb516e9725ea60dfa6b1d122420af411cb6a20ce71faf +i = ad496ac92c2e5a6e76d2e1d9c9b81368 +PT = 9ef1531b80e5ca4e180ce9a2ffd4a402badd3a12c3d08a60871acf7769b2e7ed +CT = c24a51de9c172b91b9e8ae94c0ae9f9b89b322072704c7b65f78880bb367f210 + + +COUNT = 67 +DataUnitLen = 256 +Key = 179761ee0513de99804d839b01a6eb11a4f1cef843f27940ca407ba0c7f7b8987eb1c11a6ec7a77f7181fd4dc6639c83cd408ef2fb6a844224cb5ec827a77ed3 +i = 857950196ae7d3c8ef53cb8921d63d58 +PT = 7d6b066eb3d1612741937118001dab97f30f20232dc78e3d0a89071f4864ec73 +CT = 8c699ad0feec040d385a864c3728b3455584a667e719bc5bd5869ca2293a025e + + +COUNT = 68 +DataUnitLen = 256 +Key = 7113e52e6121a823cd9ea8712b2e26927c67a280f4ab856a13cd8773c0d9467b527d8565725f5a16484ca41d03886a64e23385139fde571fac218c6d915ff99f +i = 40bc30b095db185e89c4851ff2bfa0c0 +PT = baeb3860674e6d65644d2d76471d7ab9ced7bef25e11d11983e81e02e5ed1856 +CT = 1204cc8c76826cac97b90bdbb06fda9585ee1a493450b688c261f9886c8c1561 + + +COUNT = 69 +DataUnitLen = 256 +Key = 2f4671066a9c328e393276f64f8c9b5406881682fa51cded858bc8d0678ada4f450d7007589251c41ad853012221c583d515e3986aaec5c30fbfd1962986f24d +i = a1ca7a742815f9dfaef37391fa8c29da +PT = 219814a0c9d202d13855f06b8eb9b91749008f19a2bd725d28aa4b475ee6b66d +CT = 7abfdf593fa2ef38e1cbbc3eb046ad6334bc42c24c35eeff147a13810005155d + + +COUNT = 70 +DataUnitLen = 256 +Key = b353e17f495d6b6a24357a6a6c30372d8e6d79923f0e0b62224af47240123ed909f5a94a299a0cbda4ba99e864698803101507e7027041fe04eed90336d89c76 +i = 45c9b9a9842445dd369f2f9408c76813 +PT = d265b71fb89677540d73c441368299c4162e9f5c070c3856813245f0ed402fab +CT = 48126086975de6b282a5acdbeec5777e5f5955d7f938f3c56fe69a91b8b63401 + + +COUNT = 71 +DataUnitLen = 256 +Key = 78444ca15453b6120f49b31648be62138b3b5588083ffbaae5f32a8fd999a997c2734b3bf1f90c84a8ff70286f973de7ef5b3cdaa2c7d890be18a18e5a1dc051 +i = 6756726a7aa08c27023090f244c61f80 +PT = 7ef4668bcad140a7158ef491cb7373c070f4cdb4e2d416dc8dc689ca88045e1f +CT = dfb3c1d4f07451b82f263af412c712f8f4fc29adc6d49abfd5faa48417d34372 + + +COUNT = 72 +DataUnitLen = 256 +Key = 14c9b136c6afd636caaebe249c762d6828463e27b2e24fc2777f6003a7ebdef43a32506b49ff1beaa0efeb914cd024c5ba2aa0b011dbb29ca3ff22059a94f7f4 +i = c2a15c46df79085642160d1206b7c5ca +PT = 3659371d51cfb1df06d596566fddf904dc4715ee819185a453f6095826d4094c +CT = 7bbeedad3910cafeb14234245cc2a1502653641ef5e0e0689d6c70125f0009c0 + + +COUNT = 73 +DataUnitLen = 256 +Key = 5694c511286ffa1f1f51678a7ad4644eb5e9547d8560d4aa4baad8f1eee84f1ba2ff4dce1e3c633cfab4d62556d9b0e0646d723e03363276cd4c81d7c7e81612 +i = b441cb43fdd9e2c42e31a43e40255dff +PT = 53e1c77b46310319a90e03e778136a3c838d92ea0a427b551f3aee1f70085b6b +CT = ef760471a22a83872e950910376a38a61b1e3e2e3641c89286e3443b56b94490 + + +COUNT = 74 +DataUnitLen = 256 +Key = a9f66417f5f28808de4a41e53c6d90e9952bc33691141e266dd965414b6ec0d3b2d0a6ae2bcc8ed2c23db6e4b1f6890a14f7070c65dd04798b6d85df1ef38f58 +i = fd3e61399781e527add8b2eb0efb795a +PT = e6bce62a359d887aaf5989f96f266672e9eac28bb49503c5d79d7b1c6a11a507 +CT = 4511c9dda86feeb3ab9703aee9eadabb407ba2c02a9e03003959d9334d9067da + + +COUNT = 75 +DataUnitLen = 256 +Key = 0b75926865c1c0571324ff3475c5143e7c18d157162f177c233f3e17a0f4e12f19abcc4e827549fca534eecd8be858edbef1e1f3f1d28d06db966d6e62e73499 +i = 55b2333468a0ec130c014b2bcd0ac8a9 +PT = 455393961b34dc103037d425f3874d3a8ed0ff22d1290260c1f97a9097cb0562 +CT = e66d3c26a03fee0277f4f09e37ba7def9f0ccb8d4372787e3dfd61ed683bcbdf + + +COUNT = 76 +DataUnitLen = 256 +Key = 9c0c1f73bed872b90cbfd16ddfdeba84d10fd9431731124fb845e9ad03f301ea91a4c51f71d8e75618151a5a5a2e979a1e412f5e3069748b5bd684f042518bdb +i = 131d7d5fb585eb9d495483a43377f768 +PT = c9440ecf76f673dc6539114ffacc1643d5709d0ff6cf75dc4a52fa503ceb0ce4 +CT = 2391e3d877382ec2427de1730d7acacc73a54e75583e8d20f116fb6b03906d07 + + +COUNT = 77 +DataUnitLen = 256 +Key = dbc6ea5f07e5eef069066e0705c47df805f850ce5c09ca0bf3042830e482dcb8862df12434b42ea603982705719ab6b83be318b17654db9f7a9d8a0a041f1d5c +i = 5af578e4af1ec5afb45dbe05bbb77cc8 +PT = 793180ea6a128b94f12f34853302f1c235d72cc2972615844d4ae8b6c88465a7 +CT = 538657e16e2a5f2653fed30d49c2036fdd2573d2dde74149d78b0bd5812301c2 + + +COUNT = 78 +DataUnitLen = 256 +Key = d5857d935161473031a49fb99aad2735416519aca50027d1fdd9a0a2c8fd8108dc2fc8dfc43ba56e0d55f1917b5b12b79d5dc57b2ea757099672c5890cacca59 +i = 5062ede46ba1f3e48d49f6478d1b4664 +PT = a4d0a482e9d0742cf41a7c876dc58d78201aea9fef682c7d221e61e9912851b7 +CT = b9046bb527cec7a0d6943a51d8514ae83c52abcae659fc67d8aaee1c8a2f7c6f + + +COUNT = 79 +DataUnitLen = 256 +Key = 7bb5f025084fcb5f350de299288a106c867af70d0cd8071ee925ed6009ccb59337ae0219eded1788eecfe325d170fd18ae5cb1ad369e3492e9db3a8e00439f08 +i = b770b9e5652bcbba2c2947b476e583e9 +PT = 2930197db6de215d6b758435572f2777081784a16b8ad4f53435e1a3ff41f889 +CT = 0357dea5df59d7e834e0c20fb3d74da2bc686ab26a9c5698c4337ee18ba694a7 + + +COUNT = 80 +DataUnitLen = 256 +Key = 2c7ca38b0445ca7345c53d05e433a84e93617723ec4f22a9e3c4d822fdda9a88748d653b83ea170668fae1b22525afd3aa78e1f09106a22d640d853524a80b5a +i = 44ddb8c843750a34a598c4b1f91d9230 +PT = 847417b53e2fe4662e6197409e869dcc16c3b1902cbcd5ed01b5b60d890c4f79 +CT = 187d4fd73abe3cb652f58a3860e0d8ca36509b10b5843c693160a18824b45ff3 + + +COUNT = 81 +DataUnitLen = 256 +Key = 299fd77e9d9e43639bc91507ed733fbabb351bc4a4df920aa741b00b3bc69c93788609bbf63eb0d86d9718b3dff485e9190db3b7896d693e5155785eb07296eb +i = 77f53efcfaced3ec7eda86db1cd4ee0d +PT = 3c0269b40517756022a06a5e9fe59e49d9713a75a86ba373cbda9e8a87570388 +CT = 1e782e2e678dbb3edf7d05f2c5ba1e23e35a7f92bd6f64d8c9f5232d0c240398 + + +COUNT = 82 +DataUnitLen = 256 +Key = a3e184eb5f0b5ac6763366443e3c67759374788b22c564d7adaf325412c2b0b35658f0974c1744c4217135a791e63754ec4536453a9a3241cb5f26b8f2fbbaa8 +i = 392d2e266bde97e23fe33e253d98cef6 +PT = c59f047e76f02adcf22e0646808d57caac0e16d026111346d4f2a18240be0c76 +CT = a9073447e5674c12e0038b02d9b15fecbfaab3f9f1fccd26b7103e9676470c24 + + +COUNT = 83 +DataUnitLen = 256 +Key = ed4e43fcf5e2fd4454028aa6bd3a8ece19ef318a49f485342bd4bf4ce98abca6e3593a9fd339ad1c2764d65e40adb66dcd7052b3bc31f3c18e9c5ef590df2f0a +i = 1e1d81c6f69a78e30f2392188ac9b429 +PT = b4f2bc3a56ebb8a28d8035b216748fc3d465efe8a3b019e793f9187fe28e96ad +CT = 0bcb4c624b7895e716d195cb6fef836173e3ccdd1e3db52d3e8592c9e9aa4c4e + + +COUNT = 84 +DataUnitLen = 256 +Key = b612d544688c73b150a7618ae53fcd0a70cbacc6fcb9c88b4c7b4c5d320708fc5384ef900e78881f57cd952f57a638979b05de62d2aaca4e80241fee5f68263e +i = d5f652f36584bf8ed30fc51f5ac77cfa +PT = 4fda1bf5fa57d0a8a8b76ece238eef69edf5c5fb12dfa995cdad65367d36114d +CT = 441ee0acd5a7848483f40a77acaec83ae3871a205aa781e5c4266c52b6bd659f + + +COUNT = 85 +DataUnitLen = 256 +Key = 7f0f22836de358c3e19621a6be759054956cb5953eca76f9636288937922a126537b69ea03f8669e95d38f85f4f4fc5e88622e2b8fd0cdfa5ee320d2b5ab2503 +i = 8e68cf52ac93940c277442b5fd70a180 +PT = 8ab4548236620a2665004bc68a9ffa77bfc00ece36f8257280fb85cf6b25aa9e +CT = fa4748fac282dcf219a83ca98d959992d4d7ae5c60fcbcc1f609c1f93cff8299 + + +COUNT = 86 +DataUnitLen = 256 +Key = 37514f9de4c60940958aed0e631dd04709929e706ca4d042026e0a8fcc4dbfc4e58cc129df23f50d1585427d1829659fcd4d4191d563716453746e564fb387a4 +i = f569d6883b4139ceb52eb45af461f7f5 +PT = b1639e0f5a3835e1e1f847643a2afa36839fb23ab1a52b577603c5d78efa7495 +CT = 64f4968f60e331e7313630ca2e28e578b1b74f0c3e90d6fe7a7b8a9e82103407 + + +COUNT = 87 +DataUnitLen = 256 +Key = 50d3f1eddc9684df8a37d0d5ebf7f7b8da55497ea77d7752fb28d4a6a8b1fcbe05e25de4aae4086aac47f5bde2009c5653351378b4749ea888e79178cabb1dfe +i = 8aa380f47ca98106e5407197bb3a369a +PT = 8bd39e46fb14f75ac84c0abe09a9f4e0cbc4542a6e28346a9c6d526690914553 +CT = 4f00d328c4c8f44e2e56b5b1caffdda9e862563b3a35dfdc954d5c5203847d4d + + +COUNT = 88 +DataUnitLen = 256 +Key = 00f5f7044069709b333af05cd4afe19318be7e0e8854a330969ddc6630b657d753c98df8facbba7ea380e9b3c9af55c7f217397b64e04328b5cf0051c527dca6 +i = d7ffba8fe2ae7a7ea4d985ebfbd4a0bc +PT = b8f683813dd418d33a9210c3467e6cf29b891870f2bab0bf7843b4767749d837 +CT = fda4a3a378070cc1304e8d3a6a149aa3372855b55516a113ba60a32dd800743e + + +COUNT = 89 +DataUnitLen = 256 +Key = ec41b9248e64dd43b89cd53bcd6d720a3bdea5b6bab13c0c7d574b0eb096e6eaccc8e83b52eb3a854b7f44abf0da25ef82472478c3e40b507592e69f1732ecb4 +i = 9c92632596acc6c3f3c016ef804cf144 +PT = 276553f1f023053728a3e8b9b3baa70d19d0b26de25eed9cc06efdf09125e5d7 +CT = e77c05af1907a847a40fd582224306a4d60693288a6b98724fde927820ae6824 + + +COUNT = 90 +DataUnitLen = 256 +Key = 9051e843a1a216c0bbad5d67e2e30ee414ae0ec29675deca56507ef011ba7f3f273edd58ea12c02ad03ebe2405702a0b8ac33016d216e22af0f1141998ea488b +i = b4599993e7c9b1c96a49828ad0eb0d24 +PT = dd09c1fc4932cbebdcc02fd5ae3cd84c69cceaebca4fecfc6f975ca211fbe205 +CT = a818957f0e23cdd3b9d579ba40997a9be651566996f656be257a806a36c2756f + + +COUNT = 91 +DataUnitLen = 256 +Key = cc0e919745830661faa12b04dba5febc29772d4a686d9a433ebbd9ccdbc02d3b893a1ed1dfb10d2d351978a1971a408eced8bd3daa53a49198cd7f751733d927 +i = 77a0a83e86727254130a59a7d6b76391 +PT = daec92b3a1848d81286d5dfea7cc5acbc1cc27c1d1947aa757bf16cf7c895fbb +CT = 35401c3cd3671db2890e1638895691f09a9037f2e07c705817edbdf6b9c28d11 + + +COUNT = 92 +DataUnitLen = 256 +Key = e3917c9e9ba6d89ede4b7e0b8fc501cedd7f1ccd146162efad989095f5f68d5ecd6fd4333e1bd453f09b6d09d697a285e07e0f5ec4611412977f9ae38d15ef9e +i = 9e258244d34e09a1c5ef76ea210e676e +PT = 32dff1452da87bfec228c13028abd6535780a6beb39ff9e3074be5896f30cfc0 +CT = a6a3e35f0de70a925bbd7d8012e7f9c2fde3c009f8113e3ba90a943319e0dec2 + + +COUNT = 93 +DataUnitLen = 256 +Key = 9a40e679508c6d3091aed61da803fec47f191c5a792ac38479ccff2f28c2ab71ec899ed4711a0e6704db0f60067d3d80009d7968c2926cec9cb3b029b0cfa5b0 +i = 11822fab69820b6703163c9b282f0e2c +PT = f4a350c54b03cd24e1e6596d328c2c93bd3b7275107c24b43850f2410f17e795 +CT = f864e42bb92dec7496f9c64d474fd8e010726a389e058bf9c20c318b522ef184 + + +COUNT = 94 +DataUnitLen = 256 +Key = f5d145f6a7dd0596b81439a1a5423ec285e3bd1eb99c71991a3ddd00b2e59f27f7656a4107d929d20b293bae1f86414488a1e328bb278a6b09b3955110a1e769 +i = 65c0b2a7d4448c8bc0f2979055f0d284 +PT = ef26cd107a96dd8c33f047aaaaf2322645eda646d458f0dcd897cee44b02d446 +CT = 084535587434e28f955c4925d738a5d66c5b43c35359872708f6d3db59646055 + + +COUNT = 95 +DataUnitLen = 256 +Key = 4921b019ea495cc798613e0168b7d8c525c4c7c2fcf0c0c58b7ff07ac38a1a885e033684f4311e37f50c429e0196030c99bd8fb01d19fb98467e5aec7d3e172e +i = 9dcb96a565a8795d40075fce44458bbf +PT = e19961d9543f444a81bbd501779c7fb796ba0da3d1d37d47243ab1ecffd4ad3b +CT = ae79e4150553e9c3bebb85dee47dec390d992a7a266f6136e5ac6bf88a414d5d + + +COUNT = 96 +DataUnitLen = 256 +Key = b1a00973d9bd1312cfe4eb0053c25c89d1a421f0f0551f8b923d1d9feb32500146032f952f243e1ac1a7f5b71f80c9fb8fcf33e756816de66d8934a747fb5027 +i = b93df2683c7486b8fc7f097275a6eae4 +PT = 559f74fb464561ff6b59c7f8d1d795419cc24358a2e58075aa7f83c591875107 +CT = 6687d9604ee1698fc6faa3f0fc685f0cb2778e1a12abf3d2235383d7aee21e87 + + +COUNT = 97 +DataUnitLen = 256 +Key = 6290d7762f83a9220008274a74e89c744f5b95e877b9e9d170f442f4efc9b0cde0e9bfc1420ab4986631f9309a392e4dd02b98c3d518fa5742851f658f9fa273 +i = 745013c449a0af38c1fa3f419e896684 +PT = 9d800948bbce94eebc17db5eb492e4c1ae43c036736f383b30547b01b349dbe6 +CT = 4065a0574d5b1d19b8f82ea31f2beb6daafe4580f589ee641338d94d23dffdc3 + + +COUNT = 98 +DataUnitLen = 256 +Key = 14271a41e9da37781d5ce0db76c8ab3ed8baa50a74aed3a1b2669b75e0b36cdc141d0d012fd216a1108ba7db61e556027b4dc080808e64d835cff9074af8141d +i = 2d3e449ce014692868ac402103f8bbaf +PT = 8a8b2073dad4fa0b83ef703b658c3e153db72f4148e0ceb8eca389931d0a67d3 +CT = bf561aa9ac6e0b4580511aedcf93df60d977ef9d42e5d5120c5cc86435bbe41c + + +COUNT = 99 +DataUnitLen = 256 +Key = 93adcb4261ca1a38eca6d98eeea7c3ac37a06f9cfdc9f2a4377a6c30e297b589df06203091f8298a523ab28b3100691a8cd341320a5876bd4dcbf1877280bae3 +i = c2f84d160574b5376968c56ce080f910 +PT = aba336ae4e0acf542f826f014f749720ed169ddaae994b8d932929bce19d4848 +CT = e6596074c2a9dc9d8dc2ee35b39c8b9f9fc62d53dafcb85ea3f88d79fb4c6ad1 + + +COUNT = 100 +DataUnitLen = 256 +Key = 198363340a2c104edecef6ada540a9c3a752c4fdcab8d16fff1823d98d959389b92bfd43a9df083600e07f712d6f04a20456d452ec6cb7e836da36581ff7ea33 +i = 3738f1d2fa33ed4fd3dc8345a77c3195 +PT = 8e9369480e1c33bd5e4f9355cc81acc0a97bac373ab8a292874fe7103b16ed95 +CT = 3a23189b53f33da3976c3db3a945cbe89b7cbae84f00dc691b4a113ebefe65b2 + + +COUNT = 101 +DataUnitLen = 384 +Key = 266c336b3b01489f3267f52835fd92f674374b88b4e1ebd2d36a5f457581d9d042c3eef7b0b7e5137b086496b4d9e6ac658d7196a23f23f036172fdb8faee527 +i = 06b209a7a22f486ecbfadb0f3137ba42 +PT = ca7d65ef8d3dfad345b61ccddca1ad81de830b9e86c7b426d76cb7db766852d981c6b21409399d78f42cc0b33a7bbb06 +CT = c73256870cc2f4dd57acc74b5456dbd776912a128bc1f77d72cdebbf270044b7a43ceed29025e1e8be211fa3c3ed002d + + +COUNT = 102 +DataUnitLen = 384 +Key = 7d12d5eaf687a3edf4ef0a284a6c7e9cfa075185e2608c2003b5f2719f81dec92d107279d6f1985b4b950e168b8af70b6e6e0b4419ddb50f425d673fa3714a38 +i = d63bba65b05d175a90de1003624e1d9f +PT = 752e9b0b241e91fad431e0b900b5b697f875c0898d3d58b93b74723c032fd103bcc555a7b8be44a9d1e7726e7f31d2c7 +CT = ad6f2c59c6130f0814bfebcb3f5e7833d6dbccb24c3311642806f965ff4435602d9d3e39851a495cfada67f8b3017ae7 + + +COUNT = 103 +DataUnitLen = 384 +Key = c87fb73eb82d324be109e8fea07e14a7e76d39dcf4b2a3f745a230c2df66413686a48db657c220ddd1a35764379ae4d3c83c5645090c262f776778adea5bfa28 +i = 029c8685779e9d3be89aaf5b16cd28bd +PT = f7354b97fdb01e0b64dde22c841dfda5c946b93e206e75d4a87b67784bd3b4d054174b980144b4c2419af2f084e08809 +CT = 7be844854b4aace2178e94f5f0ea6f9452df701137710be4913389cb64595cbaacca500b3e004ac49d1aa9ee926139ea + + +COUNT = 104 +DataUnitLen = 384 +Key = 2aa55a7ec3664f104c232ed94f6ea94edba7f48bf0a4faa9e2ebac695d67f9cd60de48dee13a9ef910b25e7b5845e5661f6d7197ba1f534d0c9032e9ca33026c +i = 44b39243dd8accd55aad11224d010522 +PT = 7dbe65710b19518a86cf49f0530fe6b1d0c838ddf444e442745bcbfd81fa90f1eec7f027cbc4ee9d74f8c9dad514dd83 +CT = b9b07a4aa980b432ff5a46af2f996d14722cc26b7ec86bd265db68edf63bbc128016a8405efcb96bb13cdaf9e35121fa + + +COUNT = 105 +DataUnitLen = 384 +Key = 53376c86ebf9e73d69de6ae8dfb6168568639e22f874e1c47971104113fa33f5044dc53e662cdf9f34f2b5ccdbda299408a2514a32ce4ed07e033b5da9c600f3 +i = 0b807f99baa9a840eace541448c3ac3e +PT = dd9f72e9ec10d7e1ba53402288a4726d346f9b1486c11a6e6a931c58398b86839fb0748d40c576d9e2ef2f69416919ec +CT = 90384646ab252d37d35702ae9635061222e7c1584c6fdd2b9a0409497f535c986e67bc621ceacd30ca0117c505dc5205 + + +COUNT = 106 +DataUnitLen = 384 +Key = aa70271d299a1a6e524e4b0bde2740f1b00f7759b6595b3959fb7530558fed75b933414b5f32b98e779aaabf64c03c80acbf8783031a065e61c4af6a6900668c +i = ae92161e7db865f788a070e9caa93c84 +PT = 6000f51ef62d75c4a95654d2be920cb4e95c8972ab4ef4b6099c9e5f1003dcb9da1ab121653b9a6f848f349f9d13b77e +CT = d7db21ccc2949cb67de8647fc5d127db10ce4736ec54b099767b7d69c57a7ae843e6a88f522c849e80f12b2dd85f5a8c + + +COUNT = 107 +DataUnitLen = 384 +Key = 6c1325c67c0ce664ddbd688a736d07638f29270e472e4c5af41b0526c3b3bb3bb7f34cc8b288b168c4d4096f8a6e5ce50fe419bfd253fae03ad70101e0ef7b8b +i = 8003b7f5bea391deec6ef5eb75d564f6 +PT = 3e0b5d60e4f0cc18e2816acc58524f82bc2bf4f4be8d339779456e3ad8be14c3c58663dfb2c79523580dba65466ec05c +CT = 16a544d137e63d4aaa910d7de3fb49e59c226fa8623a1512dbdbe1faa0002f0f2518e5439edb406c8a6faa729ad031fb + + +COUNT = 108 +DataUnitLen = 384 +Key = f7a0f29333229a59cf356dd11f5239b5fb5fd95e1494b5cb8a221ff1d8023fa5ed8f4c001f66dce3fed0dafd990876dfa360369a22a18abb8271cecdcf32b77f +i = 2528cf17d839919f8418fc58e72be0cb +PT = 2402f6f20ff1a6c47a265bfa78bf6de2ef996ff2648c587e9a201e1c4e83b61ef2dcff405f71a526b58e0dae69f03977 +CT = ebc9f63d59c69bf8c5fa52b195e9969c3c060bc50e476f0164350e2c5cdca173cfbb16ca2298a0a6ffd7945619a90838 + + +COUNT = 109 +DataUnitLen = 384 +Key = f8ff93de3b1917fb087d01ddff7ed8dfc2654fcbd94fa7a79f74e8fadfd18038601c770d046a0c9edef526d582ee7fcb4d3af1a7d67064935b6cd9242592b96e +i = 82cb05ed3159bd8f4f71cffa9d9b1184 +PT = 2aaed8ab63b4b7ca80d6932c34d9dbf6e1a70f0cf3c06d9ef47540f48c741ba6784141e625126ab53287715d2e8fbd19 +CT = 2730516c74322c7438e79f2dc214176b6c24076f52f43d08bcc76b031ea6400ea537eb4df4a1f58a585d13bd1df816ec + + +COUNT = 110 +DataUnitLen = 384 +Key = 6b1984c24e7eb6628e3a11c9ccd2594033a3a0d9016eae65c2f24e09b9a66e9fe9d163a506dfbccf2d93e8991e2fc560e10435b890b5889a5003e4bf817dc3e0 +i = 6bb0d3ae4fa86e431619e407d59ad4f4 +PT = 6a741a945bfbf0c67afd43ba1f841816c099515805d0fc1f7dbf6de900e0aa7a219c88563271b009d1ac90eb7dc99735 +CT = e47bce292baa63bef316f680a5f480a7b883dfab6ed5a57f7e29ecb89e354a31c9b174c4abad6cbababa19140c4620a3 + + +COUNT = 111 +DataUnitLen = 384 +Key = 9aca91dd1dd1b9235272bd211c540d8131488a38703322287391ab24840c1f6e917027deeb02f5033908b2f866d32b98acc4ce6f8d31f932a90400627eccb033 +i = d6f8e524f8d56e49c79f5c42f9ff1392 +PT = c88db3a0143f085332a4f508cd45ee02570e8c58747a980d4cabf41e8647ca8ead0c3b72965ee23488583861564fd0ef +CT = 7fc8b03cfa3647f119c20089204957244546bb22cff5390ad271ea5c5385251deccffae6ce0090c4b043232e4485856a + + +COUNT = 112 +DataUnitLen = 384 +Key = dc969f141952d672e56cac6510662c1e7174fb1ebfba1390d7da1eb6d8c8578ff80badec38804f74d67e3e2326fa5407cf1b324e74e294ad4d0f533482dc443a +i = 261881c205bfda56c0793e1a49cd6915 +PT = fbdacb586d7b54650640c607e50ada280a4ccd13a88f9649216845ea1885fc86ef3aaa35a4d8d30d1197e8fe954163fa +CT = 79ce5e5855343e4c6fa6c47244bb27e723a3f04cfd7eadf87eae9d81825a5e26749f59c42776a721559b5e4e3fc1602f + + +COUNT = 113 +DataUnitLen = 384 +Key = a8647d60a8d1bec3305178f11fd3e193ef0bd62354815bb1d9b3fcc555a7a8aedc7861a9a7242348a1890498e845bd4101d75899db5087205f9f3386a82dd63d +i = 878013b84337862ee5fe8558ec03ce8e +PT = ff5574a4a0e796c53d2fb8b859401fe624c26d6c9ad53adfcb0bf5b5deda9745e06133c5477f51e9ccc2e2294abf3107 +CT = 0d555965bf178dea351710b48e9d88005a2b4c26439c923ea2a4e5124da610d35f7bbdd3e0495b5ea52807bc726ba72c + + +COUNT = 114 +DataUnitLen = 384 +Key = e7d31c5668b67c871e58ac0bd79f75b89022be1c83c6ff43dfcbd6c5bbb103f0415f51a13a70dfcd1f24617ecadff10c22968c5282bef4437e68899b4f87b526 +i = 6aaa85b7315188155627a060aa77df05 +PT = 0ae75a94eba76a33c6a0cf761f0a0e4788f17876d295362ac42a3531ebbc27dc5a59ae929ff0a7fa91c249aaab7e95ee +CT = 888a69890cfeac26cc053126872f7be70213ccfcceb42585211e89ef9c2ca8f2e4dd529d2da88df4cfb6833cbcaab896 + + +COUNT = 115 +DataUnitLen = 384 +Key = 8792f4788d7789137e42dcb6e58b210f9d84518311fff0a2448a436837497e072e7d96bfa72d69265bb44cf113037045e3a1633db2b924df3aabf548193b7f38 +i = cc36b7272a3399d6f1b273cb0382a5a2 +PT = 6e0c8b9f131d30ee50e68e52e782bfa316e856abcec87ee842d58cc82d4b12021c651db5bcea52579462ee201bf52119 +CT = 33ff0ccb4183dafcd77f0a0eca53b56f089abbb85eb5de1d59e7da9264c89f3333d774cf26083ac2152c304171da11cb + + +COUNT = 116 +DataUnitLen = 384 +Key = ad504b85d751bfba6913b4cc79b65a62f7f39d360f35b5ec4a7e95bd9ba5f2ecc1d77ea3c374bd4b131b078387dd555ab5b0c7e52db50612d2b53acb478a53b4 +i = e64219ede0e1c2a00ef5586ac49beb6f +PT = 24cb762255b5a800f46e8060569e0553bcfe86553bcad589c7541a73acc39abd53c40776d8e822619ea9ad77a0134cfc +CT = a3c6f3f382795b1087d70250db2cd3b1a162a8b6dc126061c10a84a5853f3a89e66cdbb79ab4289bc3ead810e9c0af92 + + +COUNT = 117 +DataUnitLen = 384 +Key = 72af6f0ead6fede25a5ce84fbae1184bc87e2724a1b07aa92fb7ddbbffae9f8650d7f8fcf105306455031f3c46b054eb56b277cdc361f89bb6d2a3e5ed2044dc +i = 03cc73b0c5e3529896824b17ab607990 +PT = bec8eee6f77e942a62ba114c2ee73fa4a57b9fc4bcf270f44dfd01ed4f92d52bd3fdcb5e5765146e47bcbbf3770933af +CT = 846e690501b57469ade12d801b6dc0886b627c677d98bfd66882275d315b32e22725bb8117b456fd89f078254db84cb9 + + +COUNT = 118 +DataUnitLen = 384 +Key = 6869a611b75dd542a020b73ed3bc9c501865847c49732c1fda9f35c3def00b8c083fc997dca1c3c2b64224c2dbda9d97451ccf6771a986bf5183e23fae88229a +i = 16d433a9a5189b9277ba63121cd7de89 +PT = d3339aecb2539dc8efbc895d33f9cbc43aea88d339be0f3e75045d3990ce578453d3c47fdc69df76907c27a5b9bb7a43 +CT = 5167067599371ea28f13dabd45b74fe3d50bd8f4209d186742c37531551f9f9469589a0696712f6ce1e293deae35116c + + +COUNT = 119 +DataUnitLen = 384 +Key = 2b607c1b16ec9b6c0dee3bf30a6c8c45147564258cf26b9a1dad97640ea0b9c4db159a566ea2b57683db1f11973076097683facc69adb3a2bb4f6657a26df964 +i = 3b92cdd3ffc656c8920d3c928fab0ab4 +PT = 0fcad47ae115142a65aee595f7669ba5dfbe2957df728df45d1883d903d8ed5085ee5fc255ef2a514b772a2e5ed3f36a +CT = 9a97c8e704c8fe5af919b28055636e43b9e4f01121ed2aed118bae2ac3374bddb4a316171c85651c24138cd525945691 + + +COUNT = 120 +DataUnitLen = 384 +Key = 10c2e0ee117d7c83bcc1422b1c75445fdca94530eac7c9292e76a2766766368d7f852c6f6b25e8448e9e315b761dcb1a31290b643535a66de5c2bc1e5e3978f7 +i = 5879b20b8e420dbc2258ac2edc8c227a +PT = 95fa154a5845e016c11482071cc2078108eca943b4a3a7bdb65c09ebaf4c7b5b529dc5a718b34f488dd8bab912207da9 +CT = 6edfac840de7a7e9a4718eb8a1270004806bf4d1ef6249c13b482d390cac49e31f8e1bffc387c2837f2c891eb8e1243a + + +COUNT = 121 +DataUnitLen = 384 +Key = bf73ac492ae887e0c81447fd61db7e02e76492468171dbc2584975b44a9e9cb9b3c17a4d543bc1cb4484333b4c55ca0c4deabe859ecf5e1676395d4caf89c29a +i = b3bf55044d4912a01b6d4d195a6d1759 +PT = 48fbb539341ed55b5599dd9d8eb0424e74941e48d0fba53485ae2cfca67c8200eac3e88ad066dcc4857f8f6731be10d8 +CT = fbfecd2aa668d0c806e2972b188a010284a8c672e0287e3e50a32f6b355125ae18ed9559fb460eaf992ea502111f31b7 + + +COUNT = 122 +DataUnitLen = 384 +Key = 4651a50a0035837f2b2a23ef9d6e54037ff4a921d96e47f0a4dc0029e905eef3fd1c5ab89972d008b896473bb94b75b2a432ef184a3163933460833a5259a37f +i = 70467a95b12df8cc7ee1e89378b1426c +PT = 3ef5aa6e50c92763d82bddea1e9100f4e0bd423097e296c4eedd27a053fb58a56f5f29b964d0ffc64f41777f707f57f3 +CT = f5498a2abdc91d5014f09ff27325428ffd9c82a167a9bee072b74875ab6829e053d0f2e66e6b778988594f711bdea85f + + +COUNT = 123 +DataUnitLen = 384 +Key = 54b00bfc239bdd18e173bf7df6180f53f61a147a78755543f14f5e09b5b0a75dd3da7c2295483d80bf38b4e554d02a212dfed88d41c94e0150eca0e0cddaac78 +i = bcb436646f8256a17144916df031f03e +PT = 71b1548ff300c266dc012e80da264c9745705e63f84eb209eb1b4feaf4becbaf91c4a60a7c205fa607a180b058b0b5ff +CT = 212be3721e86d135a7bdb0a6133df9b37e74ee1813c913745a20cf9f9d2067565080af51ec9d81254f910f6000ac9526 + + +COUNT = 124 +DataUnitLen = 384 +Key = 09ba8945b20b11997703590aa41b3326cfa57efd7357db92748fdb631e39adc612e65081190ab399f9f1f599c44f6dfec6050745f4077f66e0cf90e240bf1219 +i = 7a81574d2d35ab97547b3c7d11386a21 +PT = 7f1c8e3064b0a3d0c88f3151978dcdef34bade3beea971c72ba99201f78c38217e1b0b132a30469080be2b719bfeedc9 +CT = 0b700f620004682783bbc05ce929f7a6eb742d207cff0e1044d68d518e3421c4eccdb7e238fdaacb9df2ff9151bbdb0f + + +COUNT = 125 +DataUnitLen = 384 +Key = 216f0c8ed55a2a0b258c9eabd7141e1dd8af126a78ec2dc18f77a603355a438e533c7d552e6d22ff5ee5ae419939b9cea5b028a1435a268362364d85829abce4 +i = 2c67313a6d54db9d65100315da93a764 +PT = 9ed2285635da3f7758df2c88f91eaabab755b870a9961875739ec63ce177c630a04c886f36ef779bc0bf887795670dc8 +CT = 2db6af8267a207985a60704c0f004c1fad447e25e9cc7ac4ab66feb158b0fbdfc36e8044150f0973cbb9276c210426a8 + + +COUNT = 126 +DataUnitLen = 384 +Key = 7ba4a8a379ffcc91db2c6341910aa1fb267c06ad06506de9575af0a1b4d35c97530c13efd96a6e178b7d0768752eb182f52999a3ecfc4ecd10daefdfe0cdd6b3 +i = 9aedb367dae2a4374fc488f8b085f940 +PT = c422fd648f256943410f8d5908286d6b261ac73f78a900feee15a3b61d16479b2debc421b86c2b9fd285a2004ee739aa +CT = 6f09ccba799791bc547a6ea68c617975c651496f90c15d3f41ac722df192b4b1271e22a25e48f157acf031458d74e77b + + +COUNT = 127 +DataUnitLen = 384 +Key = 9336f79ff5b4dd5f3856f3e8bc638d2dcbae1f4c666db2e6b830b6ba7d588500573fa80cd847dea34ae653989ee895d32eb2a05c6b4b1ff3b2bb1a249823b9e7 +i = e3449764518c5812613d634847433925 +PT = a2c39a96c251ebad7fca5d2f130cc934bc6a4d0f4ae02b429188d6815ce71f32564d8a1e5c513fe8c4f6a5e3f1941416 +CT = 67da7b9320893c5c97e00e746f53c64c33aa6210c6ec15f33f292fa382fbab5b09c9bd8470e5accfaade333d2b2edca1 + + +COUNT = 128 +DataUnitLen = 384 +Key = 4e9ca11a9de2a83344ea6ae5c4211aa9720c5850c31e7e4d28b54b43ebb4f4b6b7257483e2fc3c4ae6ec6ad917778943ab88493ba7dda57585aaebe4659863bd +i = df5c2a4d3099d37ef08f15c671143fc6 +PT = 2aaebb3527a6cc859775496efab8fb72bd0f750a9842285944364c62483f31b659243b7ad67913523de642834e09eacc +CT = 6aef3af2512ba5b7266203d5b83d63c78b5006424fec3b08fb927141c1971ebad4ae5df3f56a1a9f7d1427e9ddf58dbe + + +COUNT = 129 +DataUnitLen = 384 +Key = b15c829a888679c519c4b60033853b9f3f05167cd86aba2a7f5809c45a8d01a3dc37a23f5839db1c4679cae2094238ac445a00f858add076c339b1492383bf9c +i = fc457c2c32432d62032db1a3236f3484 +PT = f652822bd37d069e74487b0448a3e52e5841f470fed4a341e7451caf6b9a3ac036ea6ac2ce176262de53e11cca9ff915 +CT = 1536ac71910b23198e1afcdf963e09da36feb5054f78bb4f08a2a5655e3e1682e776b26f67c6762c6bf441014d8037bf + + +COUNT = 130 +DataUnitLen = 384 +Key = 43401c1696961f2cfa7f2f825c0bd08683219ef7a3b8f2352c6a27afa14424de31ceb11b0983b981b3cc59f712d7513bbd78b97724544fba99a7370698c1f586 +i = 78753fb9e9fa3bff92ed0419cddc538b +PT = 7b57a6803504864254cf8dc951502410d9cdc6cd2bcc5ba15d8253f42b8f5a6886ac7c7d00c1487012e02c670540e100 +CT = 99dc0c7a5041257055a6a857ab29191552c63a5432c6371dead034f1167746bfb84c260b304eca8e6ec315dab732e03a + + +COUNT = 131 +DataUnitLen = 384 +Key = 9f77c936d56ccf0596b050a2f8f69dbe332bcb076cedd5f38ee5f610c2ab055f86ccf384ae03f695642fd2b2f401f31036f5e6ee24f4cc88f2f0ed578f0502bb +i = 494421c2e06904fdc73768a180d19c20 +PT = 221e662328a6eec07622b86b0e41abcb7126a8b39a143af267cc503f935d2b08953a3c636721e032b60d38db0d7547c4 +CT = 337ee5b177fca8d904e0d72261ac87e85af88f3fdcc0623bc44506237dfbaad74c79b5b84bfeb42f9d6401b5e535063c + + +COUNT = 132 +DataUnitLen = 384 +Key = 3a9ee90d0def2db705a3c0c22de935f8dbe02f9081bdfe5e48e3c1db290d7123a2d39b1e1e4cd86664356a79f5624fa003a4413da03f534fca9434209732cebe +i = a6aab252e78c6dbfd6693796bc2091a2 +PT = 3da39f8cca3a38513e5273df01ba68031521289ae0501a29c242a5ef5368667b7ccee1d12aeabd69732e274051f8b975 +CT = cba3900b3c01da11ebb612896ac8421ccdaa08721191020a5434873a68ddc6672c2682251986ed3fbe5cb77010eb035f + + +COUNT = 133 +DataUnitLen = 384 +Key = d8759a0292b96c21ae3ceb6d79e2dee35c1cb4e24b7a8aff4d010fb176fcb6bdf2cdf92e5c40614a1d4d449836bf7f160aa28ac04a351185c4c3229bb6656482 +i = d85e27a4ba1286ac013d081bd2ccde07 +PT = f063d4d7e5e18efe889aeee00d607d075f6536c1ac41fcb9388aad9516cec5f149acebcfc5075f78ad36eb88ac30f107 +CT = 0d7db7c5799c49ac1ba0a8194d261c6455e0a67155d37b1f03fb75016f2b42c8a9979fcba1510ac5392008be168e79aa + + +COUNT = 134 +DataUnitLen = 384 +Key = bdc32ca87d2b190f302553b5bb15f29b037e04622237f0f3868891fc4660debb75e812d7891b4c172cfa79ba69239e70b32e2c537670f6e1dc9ed3079d2df881 +i = 5480e24d0f82039cd6c4391dbcfdf9a8 +PT = 856f272fbe13940cd6c8a43df0211a39901a8a25b55b854d9eb85b6d17b2796f025ce0bf44db6e67590491c625cda5ac +CT = 3c16c325ff46ca5be5dcd3b6db72daa594f44da2ec9c2ee357b6b42e8e554a4fa5f9c7d8f0d6aab934116e7d56a510b8 + + +COUNT = 135 +DataUnitLen = 384 +Key = 9f93af0ca4eb5466f1428a30a6d5a7c34dd536601d2c630a39c4156857c7b048922ff82fbccb4b821152119eea670dcc0e54e960df39fc245945e0463ce171c0 +i = c477c7c4f32602bc40879b88a603f215 +PT = fe5ee92f6ae8ceafae84cc236cba230a5cb20ddd8ea3746b3ddd18affd4c94b855c08bdd67f03f5f30b2bda8f16d1b96 +CT = 64507645ee5991dd9dfb89c0730b83c48f7a92408aadc4726ac68354ad4fe8c6404afb8f9c0149b8cb92a916b49b52ad + + +COUNT = 136 +DataUnitLen = 384 +Key = 77d750d986ae30df8d13806dbb26f25e626a98641d27f7b773b8f6ec8974dc801efb5a5e07d4c5c7ed294dcf1346ef0306c4201eded8e2245cb4400c6de263a2 +i = d85c5369ce2ba233574c1f1e010eabad +PT = ebed28b5d382363bb27db6dfe0822313b1826f91a1132b8b59dca270d7f02ed19d6bd5d92815d5ca660a63b9aa7e78c3 +CT = 7ff26afae811752382f950cad612f4b955bb45c341b7dd1717747f52f8fd2f4e271b3a83b4df2adb11c06bfd3de6b3c3 + + +COUNT = 137 +DataUnitLen = 384 +Key = 83c72d2cc28d5bc519a62c9bb35b839ecf4ac9339d442fb5485395a7da7319ecb26af5cff53da7c84ab6f43472395bfcc840b3995f8d833715082c0811dbae14 +i = 85eac0f9dd0f8e660555474c719e7c12 +PT = e728ccd3670164a985012e7917d3c2c2edc5f67b44158a4ff3645075a9d94fc763e4547325ce9ad95fa35888cb8b43ba +CT = a55b647c758d500e39d70f9ceaeb14bde4c3481b2f3e5c308bc995fdbaf354eca5ca13aa4bf991894bfe50e64a120c97 + + +COUNT = 138 +DataUnitLen = 384 +Key = 74adfcaa33265427702d44376c909ac28207fff5c5f2f15d21b1570317127ee68ae2228a99abf28c6d455368afe43685df10ecbc5d4dc5a860c413882761cb75 +i = 2b0a5fd60e11d7ef024fbc89bc04848d +PT = 46ee2018a1b4e6d8fabb48eceadf99e572881d8ccf378dcd40f209f6b939a114b302b04cc0edd964d69fb2061ef7ca93 +CT = f180695ad0d23cf97d6ac48974a91e595cb1dbf689021ec942df956cc63bf7f4841f931f1b5a8d23e56f4873b282149d + + +COUNT = 139 +DataUnitLen = 384 +Key = d8f32414b5945f01d74fadfa95faadcb24bd689e56a18e9dfd32be88a931b93724451ba2573d01db6134381aafc0299102b72bfa56270d2ae4d077a5c240a70f +i = 7e77fa25bedcac8cdb2103a493c2184b +PT = d9acfaae546c745131f7e3c9346d4547e32f18f0d7fdbd4330aaca4d3aee23e66a8f3c6818b2ba324496061edb5a2a7a +CT = 06fe3e1be1272b3d2d6cd6df1228ed94b7d5c9afb2c94918c896f3ded9248f3c3d2aa9859276277998b22ee2722cc725 + + +COUNT = 140 +DataUnitLen = 384 +Key = 1e30686246d41359c6b98bc474ca7c70bfd1b1167183d099443b50050b9abc031d2491249b64dae81532d55e5ec4b8fc0942956b8016e70c05c07c2f9281294a +i = 7bf88e00f309e50739b2eb9b8fa8ce07 +PT = df6a4358a3aefbf2490a0cf00e7b7be13ed08881003e140a4681bc794a5327f06ac3fb54cb89be10130ee742bc28ba57 +CT = fb051d28b1f2d0f225afe2b5738eb3ed30a050642436fd9c65aa3160997204d05efdbb9d0ccda19a497ba135ff0490e4 + + +COUNT = 141 +DataUnitLen = 384 +Key = a3423ec58d76ec1fa3a1fdba142da32c69d1b313f38064ab69d9a48c0244f576eb040258fa13bfe06ea107907841a54fa7bb7f8eb082ee2d42f62459a45df00a +i = 71220dad8c752f5c8cea9a8897e0b8c5 +PT = 4e9de42c573ee90bea1b3ee93be45d76c8540013e729ce1c89a214095e84ef8e585d649f2e8b7d7405724ad992770a2c +CT = 9d15f61291993813c71157a74ca6e1553502b698e6f4c99d532e0ec7a9382c3ed92a3ee41dab4def573eed927190bae5 + + +COUNT = 142 +DataUnitLen = 384 +Key = 8ccd4a12da6df4d5e338fc63c6a042570c732b9af330407a7f83a5cd9713d59574c6e3e4cc79a3a6bbf9de362e2a0fc4d4ddb923194ca38c618e3845377e7dda +i = 75acb5edc9215b64fed3aa9a81937239 +PT = 3aeb1fda34708dad3ba316b1a1a706c4c1a4aa794bc75e0022d322d29feac7ccd20773ba70628cf09c4375208d6bb0a4 +CT = 19c927bad89a3d5a15e733c5b8393e0f1304476ab7c5bb964d105914bcd362f32d42ef3dfbf2f703dea1952a09372430 + + +COUNT = 143 +DataUnitLen = 384 +Key = 492b3b5fdb5460b292abb9eeaff2451caf69aa98eb684b32aaa40aa1ca13b1237c8c7e9a00054d66722affb5df91b9cf308c18987d007d01d1a6318c50a757ec +i = 1db148fbf62680e5426d4bce96840725 +PT = 7798587bf9d4b69ecbf217f105a064cd8abc0017b455821b0f2730fe34a0aaa200450122bd7304b684a299b7b0d16b10 +CT = 39cded2cb9c931537a889701ec5212e516d63a71554bc40c4ab149c5db6aed2391e53add098bef58f03d58710ca35de8 + + +COUNT = 144 +DataUnitLen = 384 +Key = 5c2978a295e222f9e0c87eb2c24948bc89391cb447a6fc7b5c2b29f331e629ab51d5876d25c6d7abaa277a6039f790099ae41caff4a81ee3d7ccb02a439e14a0 +i = e6a95dd69a1166b404a7436496966b65 +PT = f797aa0af52e28263fd58eae6c6af9d592bcc21745bd163211e162b5af909139407344d6a1f61e6a472db40542557f1f +CT = 14f59aedcf8d49a650cf57108216656045f92b785e7451d782e43b4c33edf5469566a1a3073237b84f9a669e1b6371f6 + + +COUNT = 145 +DataUnitLen = 384 +Key = 9b21dd5314e36dd03db4881d81e4b17fb5b497b950b191142df63b3f27afed5564d165bbb0b7f86cebe52f705a78a554c4f098445b074b88a2b47bfba9a7f28f +i = 9b6c318decd74c24fa509c52c7694401 +PT = 15963085220f25479ca0f4ddd300dda86808f4b71986e2243be63b6fa08977343ed166aae73da48f0bdb097af0532e9e +CT = 08bfa5f85e988b052e2edda3a331ddbd5dcabff296d76b57a6e923b9f7dbd71ed1207a6b2f6e0f150c1833e0adaa0d25 + + +COUNT = 146 +DataUnitLen = 384 +Key = d8277c4045a8689fe04f0005d556da9cc922a23f9a70296d36111b048fda55a1eae47d6692f46640ebdc57b1c58cb991f069a6126f6355ef740663e7c2bfe652 +i = 76a6f7b899716fadf10df7615ecf4d45 +PT = 55b5cce3a8651b0791ee96d15b3d4834e2bbeb1e099ca093b8e8bf096066bff23a52722320728e86d3800cac3388e1ff +CT = 21b566972760a6bbb54c6f9bf9bdfb578746b6f8da26bd8a4e55343f8475120af136b929e3b12c75971bc262d71f90aa + + +COUNT = 147 +DataUnitLen = 384 +Key = 975e9f5b58a62858dbfbcb10aa309cba67be6085b8d73799151d90eef36d04dc10a303b916fbb552b0d8447d008e5f2a0b148b61dad9967c014619e088e33c32 +i = 4018a8c77e9ca52738f864e853490f97 +PT = c72806c859f771f4ecf5477ab583b53a36768fee534c160930649d1e7081a1a3dda25d92e600ef2775ccef7d903f9015 +CT = 4bb488b4b0a2df1f7d33e732a0879280d8a8864f1234edeaa0fe32bff3d19b129170df1780353fdc2dc66f59b856bb76 + + +COUNT = 148 +DataUnitLen = 384 +Key = 3ac4ce7ae065833f2105ff9a2dbc2039e8fd493d9fd97d173650c48c67970eeb7b3f18fc0b5bce46ecf20437ebbb69d0349021a059f81bcd47e4b3c2374e0bcc +i = 8ede4ca58947c1cf5f15a868762d7b73 +PT = 72e256c170ce2b87b8cda77e4e880c7b6a2534a69a80f08c6a0f20e8f278590fd550faff242675de5c503a07c1d961c3 +CT = 4ff16e3af2b3e1a6ef90517b81d8dd78e3d450b3b6837f2be147f2e8e843029627eb4912847b9100dec74bfcb0c6e553 + + +COUNT = 149 +DataUnitLen = 384 +Key = 9e64c5ffaf72a653a95ee344458f1aa7b23c40eac9f705d5da5a5bab60843293d05d5e04a06685f41ee9d15a39655f8a49cf5f431570b1261e08ce7ab5cead62 +i = c9e88bca111c735d795447189c91f49f +PT = 661ff0a7fabc65dfd6aee579dedcf249737ef2f736e9231a9f7fe780e44d657ff54c4b49a905b672fb628236c33ffe63 +CT = c0e0d5a23553ce55d823c7517e44e1c23ab2ce1e70edefea33d0f0fbff4300183f21b4849b49bff44d31498907ab0562 + + +COUNT = 150 +DataUnitLen = 384 +Key = b4713941c6a4ffdbfe2bffdcca09631911e91f1260e650d389803b1aa89f5789fb8ead890218105b63c6d8af1cdaecb8da8c807a16e97ebdab860c169431f596 +i = 737ec14228a09f9c52041d9dbfcdd013 +PT = be7735fe5eed83198698d1597dcfbb5ece39a067a1d0b7486cdf9e80767a55317da178b7ad276974abd4d069604668a6 +CT = aef253795f84d13f90706d34d925394c3d9c3bdc06772fded8ee9cd82b407f06482c679672fa4225c8db8f036eb71eb3 + + +COUNT = 151 +DataUnitLen = 384 +Key = 3655b75c8622b0cb72fcf91adda8584d24854abec01edf3311e4ec760dcdaa21f8088acdfc493b0bcdf486f1419b48662eeca09c5f87c9cf8416f7b0c021ddb2 +i = 445d7f431d12e1550a1d74d9fd3e5334 +PT = 9c8e67abac7191f52f761c1ce7df0f383471825a9d0f0c8a890fccea0bfee4d2643275237440761517e1599e736bb35f +CT = 42bc46ab27c0ff1a3512267e7a72868f4e268f2da85fd42755011345b8f0c7fd7d82c1dffe78a787bcd1eae7ead24f69 + + +COUNT = 152 +DataUnitLen = 384 +Key = 9267253c66fc16377af2bce2c9e44e03306c63d4027960333e0130520bdcd27e25408def8c86945717443c5cf3ed9a64c38ebcb355524d3137aa34e304fb7863 +i = 41ae06d300818c5aa6a8b9cf5c52cad8 +PT = 718215becec21f55eb29f54305d1c1278a40332ce6883b5adbb5ddcd5b8174a5dc16d8f6829709c784d6680154bef201 +CT = 853a8d46cb2f6419deb1ceb52bca6214048017fcae05c3b1355b6d2c61716653f9501067fea1628e74ed9f765401b1a9 + + +COUNT = 153 +DataUnitLen = 384 +Key = 82d4b132e6c04e54efce6694f175b845fbb6a2f49fc25137beada3eb9d043cbdcf5870998a2b2625311d3d3f3493d0cbc808c9aa17b34108eb63f4d8d79af4b9 +i = d182db4398021fe1c1f6b80f95296720 +PT = a0eeaac02b6cb25d5288e9c8140df96d6942f5bccc39eee94ca938674d5dd973ac7ec13e47e02b84e2233240c8bb03d1 +CT = bc6dbac1f4db306c68aa0f5d94b934d4460f1348a8acefc98635e807131030c6ce48ce7f7d6f7966339d4db83eac3625 + + +COUNT = 154 +DataUnitLen = 384 +Key = d8e20dbac2cd42acc08a966fbb43d3a97219e3aab6565a02312a6ff89e9799a145bd962d07c8577589d3a28d0c8cbe0a61e42be021e14ee05ad40b8cf6b31cc5 +i = 4dc897636cb9eb73dbab047272ca37b6 +PT = 0d95922172f80534c8212099147ef81dd499e5938564b90f064361ba089d885cafa19921347f806ecc682502c06cf570 +CT = 82f34f8fc604c93c2df8ada24d40a35def297d682ac8c1eaa1ab08e65d7dfff48ac4c9dcd0cd88092efbc18e19a296f6 + + +COUNT = 155 +DataUnitLen = 384 +Key = 1f1dd824fda9666118ec1116eea78d37175da4d459a5fe225e5fdaaa4eb2aaf41eb8c002cea6d7f7d2cdefc7e9589d789d190b2e93f0ba58bf648826c275329b +i = acf51a6805fd7c2a806d75bd7ee5f42e +PT = b54950c0acc1699aef8d952e013da2637974311487a11d9889b458cfe9678b8830fa61af3eddcb1b670fabdf4b10aebc +CT = 724341e9eda6599cf6930c62de8957e3a05194843b6aeb6f5a80786464176ebefd1c823fbef5e195cc41a968c14aeb8b + + +COUNT = 156 +DataUnitLen = 384 +Key = daf2070f2986540e2b07b8e63afbad8b8934399c856ecd1353040fab2d521473d4d49c94949fb491b2e0f1652ae166354269802bd9e1f33bb3b920a58c9418ba +i = 36afe529f06f9497b31a38bd656fc791 +PT = 83d0a966309fcd7dfc2866e5e39776f7ca91f64baf5593433b996facd85a09f2df0d1cf88dfaa742aecd66e1fe2c4252 +CT = 300cf9081141d6332d1532f679eb9d1e10923754fe125b29f1ee8af57f16fbb7823548bd9273acdae5efc0dfed06bf33 + + +COUNT = 157 +DataUnitLen = 384 +Key = c76cc70eb967996dc3de798ea3ae862ed5fda03ac4d881302548bb15981e6fc2465099e3b5f588d9f823052b7945b3834e3c667474a683384a205a2c273fe5b4 +i = 9493384402aba6e016eefa5f90665bc9 +PT = c037230578c86f95a662c4f9516cfb5c5163e9ea17083d56dde5ee7d99a4856ecab83d0dd936f308bc2b8be38fc9d1d0 +CT = 2acead8a43e0b024fe5f5c6e0d22542d07790e7d504f465e9580acc6a61e36c57b337a0a7cd7c30acad64c808826572c + + +COUNT = 158 +DataUnitLen = 384 +Key = 9a80693962f631b5661cae3d6796d879beda0cf5410ba99d003622b7e88d50181cac526a04258ba72ab33e09f176ec71b46e361fa3bda4e7ccc786ca863aa6a4 +i = debf5738cbce508c0160e1f97cb4b96d +PT = fac73fc7e2b36e5c6ac3572c4ff2e9f1557d83f451c17a69407dc6a83d1d7f39c877bce17d14347793fdce146ab48eb7 +CT = 866da719cf292c8a8e6e5b7c350c95a521ec70f5b6d7ca03e5bdb10b75265256f185d56fc9fc60a0f3fd3f35c96b3394 + + +COUNT = 159 +DataUnitLen = 384 +Key = d10daae41eb813899cb799207508d68062428835c0990dbbe23210d2a6086699bacc8447fe826da454001600a241597e79a038e1eed99000353fcc451964e5e2 +i = a9ec9b30bcaf0a4a9adea43ba2c7780b +PT = 83509891a6745a63fd929dc95b2cde503b4bb1c8638c1786f82c036c31320697543f93a8d3aa187fae13d3dc66004859 +CT = 8369f1cd430e116d05da901f1fd3e4f588ccbe27bc70767a1a2942a5f28cc6fa9a8e0880bef691a8d0769122496c7460 + + +COUNT = 160 +DataUnitLen = 384 +Key = 02f5f16166ff196ecbd88d90ece619f1815e6dcfce2827a407fe1201c4a4c82956318912d9c7a6e12ab2f69e17b83c0ec42fc9abb25629e66c37b8583c2ef9bb +i = bc9ab46c8d61620d078ecd0fe2cc9796 +PT = f163a11a1169c6befcf999c68253f24c35bec8416d7bb738309e8f4cdaed4cc4146bddb71388ffe6361c44b30ceb76b4 +CT = feaa6a8a357f3427dfb745cd2eebb3bd893efaac50cf6fcee3495f6292257954873dcdfca9bef8cec8f032d7fc378481 + + +COUNT = 161 +DataUnitLen = 384 +Key = e090673661378f59af36db6c310630512859723a0404e766df7eb47253dfc9b74115d61dc26e157e09f7660de9ef984751321fc951900977073cad10a3124c09 +i = 254d80b21be5f7654260d7223306c1e0 +PT = 40e5953642e4d13a7aa95206f101de8c98862822e1c23ddc0c366ac656a26f859f4244462fc33153f3112ca966bd3beb +CT = f66665211b4f95ba2fc9cae36a8f3a7789e60e802e91d8a1e6037b5c237885b0767df9c92de9ec3fdedac971d0c6bcdc + + +COUNT = 162 +DataUnitLen = 384 +Key = ad7dc36258b42180fe22d74f9f82d05948dc09102c041fc646c7c0822dbc0dfd25bbce142d573cb895566615593fbef46aa3710705a809179d6e3079147dc1ab +i = 494f48e8ecd7fe9af1fbb56d5d6fd1ae +PT = a4a57b20a0cfa6c9fd0d2f6aa30c130e3c3460a40e7ed4b06a08a4b6b0a3ebe2186cc61a0e8ff372402af501a8fa06da +CT = 0d769bd9230cb06edf453084587bfdf687f70b8acd7501ba84df52af19badeb4b3439e03d1627b75aba2881b8f68d371 + + +COUNT = 163 +DataUnitLen = 384 +Key = 4d6825a1ca1ee2c879ff83bc842fb310a2e83ec101bc1956de43794aab03fb3cb6e993471ab1a724ea5dd9c57ca2736884d95ad930d9f6dd59f6ca751b2f5712 +i = 6ff95ba9982494170476370457f6bd80 +PT = 501f6d9c497edc87eb0233c035d6601c3ce8460229f2d14156912d8d0ba15b6416eb837e21073164b456f0f7c45646ea +CT = 8cf64aa880939d899634216abc9ca3d9340433cda8ffdce272d4e3e3a6e84e2ef8644492bf6acd1475a9295beb4f73ce + + +COUNT = 164 +DataUnitLen = 384 +Key = 6a9bdc0fb0ff6ae2505f4b745d74597c3923e8c566dbedfc4b75d63987cbc2ef275a15c27bc2b4f34c0b00916f43cdff8fb13b448b4cfec1aa5915ffc6a69a0c +i = 216694bf2f49ad9cd6c9df880b0b8dc6 +PT = 5cf02f7f10f17483ab4546df0ad70523e3f43ee4a743d920ca4f320dafd43f9ef67d970f0e5518f20ae9a0b34b514a0b +CT = bd3ed5ec110a230bc52175616e0135a5a8ed4151a64c49bc988514b870f75791fed8ecf8e6067fcafcf96c0a3affc7ed + + +COUNT = 165 +DataUnitLen = 384 +Key = a1a8d702b9820db069b716b994ecfa26f269e2155bdef78eb460e588aac7a059ebb9158795e4ffce42f7c65e30ab7eb8e26608dee93b4f89fdc12699af0466a0 +i = 5fee20bce0457000b1fea66d0ab536d7 +PT = 1181679dbd33ddebdbf6a0449316a74894b72d01a21b6e96e51eb1c30d59e8b26358c1e87e09edcf8d763422022b4252 +CT = fb6065eb25aacd507e134f4f3cdbd77a46748e347574a7685fb756b4e49569c940237e43ccb17c04c1f3d6d169c6ee3c + + +COUNT = 166 +DataUnitLen = 384 +Key = 3ba55c673b309d723921dbc3c84251bdc2ddf76abb963e23e011fe7214096cfaf6c84e3897af04f6081c157aabeb87bd2fdba4be8a9c452fc77b02ee5ffde802 +i = 5231319bbd17b15e18afd13d02d8f122 +PT = 4c00323d6781443e5e6e2181e51219a746d9c259a9c13f2a5b8efb10424da7b86f97f87c1fb2bf3d3f163c719cf930ba +CT = faf2616f0dfccb96bb44c786bcb7b80b7161a55657309559d590895448145b9d6dd01aafb3b3509c93eb5c394ba85446 + + +COUNT = 167 +DataUnitLen = 384 +Key = 7e76d932c8d3edf5990468db816c9d35af407c748a43078c46540673d8b34406a960d338b18166227e88c08bc69c8d52723a1c468ff6a201d2d21a63ba8a5997 +i = a39603c815ff257354cb48f99825f675 +PT = 0749d735c15504fd4fbd6a8763eedce9929a20a0f994b30fe541a0e0ea34a01c46f9dfae701cb25c1030cb1cf95999f5 +CT = 0c22810005ecc4bbabad73f4db66c10a1a624b3f5ecac922cec8e1d3ec50011d52109d780d5a18ae7db6774c14e7746e + + +COUNT = 168 +DataUnitLen = 384 +Key = dcfcaacab2a5f6894ae1ffa3186d43770828d49a5fad35ecaf89debf184538180cf5772f1f9115d60813951094ca389d0c4b90a76485e79ab6f6780e6c4df243 +i = 01be8643c67bf7c9cba96e62c4568e92 +PT = 7411783aef37c79842410e7be57d1830e1f0369ba89cbe2087c3f7967df44c5cee14f2468bfd41535ce09f28c4c8b027 +CT = 41b22f50b116ede2dd5cde9cfdc78150053b2362c412933354f2d54ab995e35f830ac52fb0be748473f8928032301a1a + + +COUNT = 169 +DataUnitLen = 384 +Key = 426d4d31f88a5be86330c6512816091cd05eecd09f8b27af1fa13936c9d2de61ce6051fa64a9e621f1710fe8bb1b002e73a84164628ea1ff8e78247012cdbd70 +i = 646deef6e9065772fd576c172aed6100 +PT = 309d9e8811708346c6a79ee019ca89a5a9203b12e442b6d022fbfa13ff55d16968a6e82de49e4373766befb5f7ae8da6 +CT = 452a7d94597a084b0d4e8938989ed937136fbb2e56965da0c1505230cd369a8a996527f001a30e90bb26b9b3af272f2e + + +COUNT = 170 +DataUnitLen = 384 +Key = b67995bece5a587ffdfa9d63ce82700eabaec701312aac591ae4c13045b17832fbffb96fe953be24ad4e22ac146eff566453fb9abec7c80b7d4f849dba96ec2d +i = 952d9dbe6d2b70eca8f11a68bd260e46 +PT = 190e1bd6674eabd5f5954a439c6748c820d036913e6ce075e2c53f3a1c53dca62f99a2377a42ce685b33edb63917b2ff +CT = a458c4a4952c0cd01c096624ffe94f911197691b658f8daee6b1b853775173ded5761e07d9a1a39ef72d8b6242a1422e + + +COUNT = 171 +DataUnitLen = 384 +Key = f1798b1cbe9683b9a6e4f24583bddde5bffb82381150cf6df71a3f7755f1c49f22f18a6703ea82266f72aead930307d6bca13b99b4d2419e9435e97f6c11ecf7 +i = 0858df21034a36ba442231c543be1945 +PT = 509e85aa57adfdcb51f750e096a17c441a83d9c314aa3321ad4b6a5d77040637bf24854fe01d91548ce0c622e5d7078d +CT = a9a9e269651078e4fe95c631cf22e39f83ecf09e6ea231a79ffc26eae32f706167a546f3c30c1587fca293803fccb198 + + +COUNT = 172 +DataUnitLen = 384 +Key = 5c7f7a36080178430083ff5492ef77260f680a15a76624b89e854c94f0488a9e7daa4f33011f91df5e338053f46cee650fb0ee69f8c215755a4a63cd4228c219 +i = a401d73c8875e759aa3eef53e0fb6263 +PT = b1e629a62a03ca969b16915202bcaa09e78ae1851bc88581164968a5656c82c0e5c403ba54b9b5ed9babe8b0751d1b34 +CT = f5bca60fb9352b1de04d7129405626b3a474a264fbac2d6be119e1d57aa998d0e0e4d9f9c976210d93c465a3e360cd92 + + +COUNT = 173 +DataUnitLen = 384 +Key = 1911e3774102c5a38f4bc1af2bd9111b43e9a3df53bc0e7134adf4c90801b140ea65fcf9e94ab063d94a3de77e775b1c27d1b2de8c4e48167fa54d838297fa28 +i = 4ad18ae1a630c169bb93ffe98168cdc9 +PT = 399dd2e00110380da43d67a81bef6169898754cc8f75c13674ee6a652ab0198175c98b2399edca0f592ffb488051433b +CT = e055d709d88b21bf36cb2700164d508b690d8262342052abf807a9df093658ec8164d49fd630091e01536e962321354a + + +COUNT = 174 +DataUnitLen = 384 +Key = b6bfef891f83b5ff073f2231267be51eb084b791fa19a154399c0684c8b2dfcb37de77d28bbda3b4180026ad640b74243b3133e7b9fae629403f6733423dae28 +i = db200efb7eaaa737dbdf40babb68953f +PT = 77f4ef63d734ebd028508da66c22cdebdd52ecd6ee2ab0a50bc8ad0cfd692ca5fcd4e6dedc45df7f6503f462611dc542 +CT = ce7d905a7776ac72f240d22aafed5e4eb7566cdc7211220e970da634ce015f131a5ecb8d400bc9e84f0b81d8725dbbc7 + + +COUNT = 175 +DataUnitLen = 384 +Key = a4be45694240755787649bbfe9c62dca7955fbad4a2be15d4eef2c703696f12877ecda778a0d547f5a1a4328f2ae0db5893470f967a8967c75881370f9d18b4b +i = d66458b1e5e382b006b32c9632a2e12f +PT = 0e380a0ad91c31ac1e95d6c3d26554c38915df0fa1e9e8f781b34969c7ea61347b74cc807c7c603b35cd1593271fa938 +CT = 3fd7b0b5ea66cf4e2da1e690f6e80660638b1a3f84cf212d9ba90e7db14177a3c4eda89ad357af4408a7a342828a5dd6 + + +COUNT = 176 +DataUnitLen = 384 +Key = 47c2b1b4458af043441a1461ae7326113fa2dc1b7b35cba14eb8473db169a17d33ba78659fe0933aeecdd75047b1c986524c091c778c545722cb459430487b55 +i = 87b1d01d0525d0af0bed9e059e6946b6 +PT = 1cfaaaab545fe967549f0f28f9667a0f7d2ea55fb7bab2ac4f3917a76bc309155780853d2e48d2e8217685c4ba909cc7 +CT = 3fe4be324991aee1a628c3e5c14ef6d7c4125932563afe2c08a1bb82234152bfe78228b40acadd7d398cf20f621eadf3 + + +COUNT = 177 +DataUnitLen = 384 +Key = 6013e5cd1c6f341c2f37f4f35583dd222c06207a446f2e10b71743e0d6164542387089692d975e2f50c5d62e0f18c20570354a737b71514a2beb7a49cc941a61 +i = d7ed58c0282398df330ee851872bdb46 +PT = c79f127174bce174451306e6dafeaea0e1bab09970b5aeb0e041f1e5c1f925667b7902433e7a34b47a19bba216bb622b +CT = 831a0c7330e96088cfd14346c0c53f2e4add5a6edad6d1a80cb007a5f25aaf241a195c0243ae26761044f274e9000b43 + + +COUNT = 178 +DataUnitLen = 384 +Key = 53724613045a688ebadd8119d87e28a1674178fc42a40b54a83a61c0021afbcb8d6e6d28b6c1a5138c6b2deee472d61143f81f45dc697556e2ce9f7197996b83 +i = b00bd9829b1024629a1ee362bc50158f +PT = 6a131dd6bf6f35b1d08e50951ac2df6c2239dbe2c3b8283cac688ee97363544506a295d86e39abb0ae730a952be896fa +CT = 0e2bbc05fd817f098b0d94408c8d65704901e8a63262032b0e7b03cd6960a9ec0366aea05d3c2002971efb075396db51 + + +COUNT = 179 +DataUnitLen = 384 +Key = df35e4d415feaf511203daff594843a79ca3f164c954dc3cf70d660a4d3628ac7ac38218ecae74b433e3b0e6cfe21f78fe3ed3fc02f3bfd60abe6b529912a7d4 +i = 79178a9eac0958a622214a2c4f2b2f2c +PT = f0762872bf7795392f75708ca33fda7886f9f1c4167229221580707804c283a4e86e75ce9cf4dc310ce090e590c66241 +CT = 26fd54196b4ac550342ff46e2e7f442540518e01467ace2da52876a54636626f1e986df916e36e716fc009e5fc9dfb81 + + +COUNT = 180 +DataUnitLen = 384 +Key = 4324b0fcdcfedc5af7f8170c157ef68680197f5901fb5f3c9b9f85db8319293066a4e1a61c5943865e7b2de129dd3a6db5d8865ac55722399a58822c4e51d0df +i = c0eb880e0ee09b46d3d28ad7b363a851 +PT = e6082cecc24808a6b25e7659b24b71e77ec14887750a01fb9d387c2e90acc77243d7a0dbab70e41c34594a4ad197c8aa +CT = d3c5c210afd597feb2e188b0fc08e77992e2e75bd53cd60c507b2ebca37c7b7defadd06500ab67af7c00e5918fca8a16 + + +COUNT = 181 +DataUnitLen = 384 +Key = b77c56a9784f3c26a8847114a31ee2cc3648b44295651267df3964dd689fb226fc9526da77a02ab04f332d39a4faf9ee7ce3a7320f2ce9c21fbd5536506aad07 +i = 5207aa755b7874b559139f6d50e3c5fe +PT = b2268a28bb39a15d8fd90b5ca7ac698fc2f28206e0f2073b543e567969baa69397aabbea9fb90062d1a7c395936f49b4 +CT = 9ec9552e50f7620b9b4fdcf9df6512ada43c03a14a32e17a7d48cf5378f9f855a2cdfd8054c677ecfd4f2bb925723496 + + +COUNT = 182 +DataUnitLen = 384 +Key = 17230072ac4f7af2661c26325c88565573fa05c270c53193ef3b52c40b86ae720cc894ca4ce8510d4eac659ad4aac0f9c9e0a65fec76ce9a2296218fca6ce500 +i = 5246b8bf6a28c8799101dcfb375f83a8 +PT = 0bdc724383d8f76e2a921940ec84b0701eb37b8f5c35072cbe48d0fb8792b87b9bb99d6ca40ff864562b720745712f26 +CT = 9c4b9b19b48c3d1cbe13b0b08d708345b0f25e4926f633480a9f52ed3e30995375038f641267431a206e3eca599fe6dd + + +COUNT = 183 +DataUnitLen = 384 +Key = b625879ad3cfcf11d39af454007d0483afdc2724ffe07c046db78501c9d04cdc9ca8a00fa6c6ca14e3987991f2e8f53504390a125d471c95c92d4565fb3b1928 +i = 697b65159bcf2b0871cfa8e070631218 +PT = 758a608a8d146167be0283e776aa493fc39eee0cd6de71c1b57a5c24551d0f58bd55fc60814a661aa0a17d4c54ae3e43 +CT = db2552e820f1aedba4c17d0883745ef307c4551c7c8b7dcf457ee33bbf5d59e1fe95044103c94494569ea31f00ffe1e3 + + +COUNT = 184 +DataUnitLen = 384 +Key = 2efed72f6fae0c139bc12de5a1c90a05510bccd2d83fa55ca1058a9253a6fc55ca7885ffc10ec6128046f87cde88b1e8f4a237e24618ead6cdc4f4f01995800b +i = cad76b7158a61465586b61272e0864ba +PT = 0739d41d77d69acc204600a4c84334c4c39d3effab76e063d575baed1c956bcb67691983d55d924dba3f1fe79ebe4c20 +CT = 0d6846f139511d9e07888dfa7afb1ff0b029f1b6d6d8a35cd4130637fda958e824c9a9df5f6e80f80a19ee2731b12289 + + +COUNT = 185 +DataUnitLen = 384 +Key = 924379aac0cb7a4e2de6108b506ef501490aeeeaf16d7af500b4f2b8f313c2d7738f499bc42adfbfdc28759ce68b4cd5e57e62b469e3aad0941ff87b6546ba14 +i = 635e4d4669fed1c8c37e1f0a36b37804 +PT = 1cf76a9be30e60220c1828db68d45d96a0d6a3b1fe309cb1defedce851b39b07caf15a822e3d60372f8544ec906b4add +CT = be0406da120d4cc1e3bcd9a44626e8b5b3b550a23c6f9279940ba7d4f71e275088b92a958d4d2ad5111bd8f715de4c30 + + +COUNT = 186 +DataUnitLen = 384 +Key = a7bfb6d4a54484c2909b92339b7dcf176188f3d4182d9112243714fd5b9c798d3d7407be99852fc185688e58135a76b4609daeeb6c1d0659b120fe7505a4624a +i = 0d3b9350ebbbaf2a1416995424a7885e +PT = 4091ebe277df242e8de6209908b6a8e6973cf4531e23ed6b1b76cf0e8efb652d2cecde9b697bc65afe873603dc0a70a6 +CT = 7b205893a05873a82f7ab2132883685e0b6f20f05445d5a0d9b2fa8cdbeb1037239b05d715b169bb99d0ee9b5ffef742 + + +COUNT = 187 +DataUnitLen = 384 +Key = 16d7db8d519c2974cba7c44d3a2a4cb79773d21edb3b359cb20c716570bf3aecab9dec3976d8322db4aa97b2e153e2b012c4eb1ecd2dca83f7c06cc370791f78 +i = d208aa5cc5486e0e27faa73ffa767623 +PT = 81ecbe0ad23a1645f5d2891d78da406a70d540993c3cab508859bcfb2d3a371c4331a380fad7caf872e74bf861b95bd8 +CT = 305d4cf4f7f9a6192e85e55176a58a85e5795dd359417fab2e72aaa13ee6e093768a4e741a00f4d20ed572d6af43a121 + + +COUNT = 188 +DataUnitLen = 384 +Key = 41e9c3d70302fb488034f3c1f4156d09f951e19ae00ed0914d7b9ea688bd4aa9a20fdebd4229e2b3558411cc9868152a436fdf0b5d10eedb2a581cac4252b9c8 +i = 2cc5ddbe77712002de095aa5de31d429 +PT = 306165583eaf16391a31512c8d2487431ecd714baefe609ac478e41e6d35a694ca6dbec8faa3f814844dc2acddc157b6 +CT = 73593426603a768f9a151894184deae22df23584374f2ab1253bb38eb99d1f208562d12d81ea34bb0f4fd183aa5e9af5 + + +COUNT = 189 +DataUnitLen = 384 +Key = ee5bc150f08110aa95700f96abfefad196755b49068866dc7b2e251260bde5226b2a234c8043309dc4ceaa62d62c3eedaf4440e09f6c44915db7ce47a17a411c +i = 11071e5b327fe8acec3b9f81fab37141 +PT = 134a04de6a76beeac202f48f656e101e27c2856384d0bb417a1779ca29403dc96b382830e151764c2513ceb4e572aa27 +CT = b4dd7ed020d3121ad9d1a58760980e3e7d203d84fd7b77c6d4fa3dcdb29f9aa6803074aeee6ad8e47ad0dd01a2b0ab96 + + +COUNT = 190 +DataUnitLen = 384 +Key = 458dfebe5a6e381da894a1551b95467f19fd475be6a61930ea7707c4f21f88cddd7283c59cc4211af68cc4273ab0e31bf24bee161a5690c754f46ee6392eb6fd +i = eb051cfab3db35ff7b3919ede9f79e93 +PT = 506a8565eb8d3a39e2cc9d32eb477cbbc621d6451e61fcb8528a6b1935071ffb31f18980ef586b97f02e257e09ca5f0b +CT = 95943d6d57f17f5d626518cbc2c7175ab97cf74bbfc8571e8100a921061e68df4e193b53e4256356efbc42969ebebee1 + + +COUNT = 191 +DataUnitLen = 384 +Key = 4224d8d8e7c870628c9fc4a2b5c67117f68ca06fe9b9d0fabc0de18ce9ff2f5fe2f93c46eaf42c5513af3880bee73be8f6cd051e1172c1a79d8a5f7509b3d170 +i = d128477c0509e96770e907a69f316f11 +PT = 5511e976c5929dc506b12e3a13740d59799c31e6e4f762ed3df15085cd5a99588813edbf30413a48622896a690e4795a +CT = ec0f79a240589de132bcd23ad5b1bf6218ad82314f94fa43f918a0e342d1d5c719d12dd3a70984d7b6ea2c25f71180fb + + +COUNT = 192 +DataUnitLen = 384 +Key = 30788b62febec41de3d01e9375b01ff3c5362a81b4ec0adf2b4fbf4aa79d2654a1efcf89dddb2b4aac7c0c25ff7d5e631baee8cf5ff46f2c6c440db08120f798 +i = fce20063b9ce5820c48583d856c31d5b +PT = 45d5ba3506f5510256a9dcdf7a69efe9d2ddb191972c10ca3c6b820aabea59c8c02262df10b24471723129cfb46647da +CT = a7c2aa4f19ce66a3c2b15c950783401c547691eb06740971dcd0f1b2acf2bcaed48f569b799b41b8d613f2bf4d7657c0 + + +COUNT = 193 +DataUnitLen = 384 +Key = 1b7424cf9a4598a3f6aa1f15267e9ae0c4b2019d0665e9f7e7d4d7fa8871884a248ac042a5267dfef73c51d89bcdf01a51568dfccb080b6121b70f6c8f2416c0 +i = c83836292441a0dab60ba7312014d9a6 +PT = 943d20b70e72cd3f9328048933e8cd2d639d9468251c20232100f162dc5326c78edde144f59006ba4a886bf8de6eeeda +CT = d398795a15f9de591a897712bc454d819962a9ed1e638254cda815e86d5a9f297b017274a55179e6393ff0e5f1c49e27 + + +COUNT = 194 +DataUnitLen = 384 +Key = 2501f6f8fb11168026fdb988879d2571679e69715e89d5f142dce3de6d59697af676a811c6fc255554486b4f82997bb909cad701cd2e0f269450128faf23ec1e +i = 37aa0356bc9f948630c6e7ac50e9b381 +PT = b0b198e498e685fd761aaf775416972fab373e05b4d8dd8640294f473a04bba1a3b1634cec7c188a0e9f30530cc446b3 +CT = 000493368e93d01cf6800f4054da92d74867b685419e2f382eea9c8abdc421469d063609bd0cb7e433a8ebfa652979e4 + + +COUNT = 195 +DataUnitLen = 384 +Key = 073d56941b536ce6567b100839c8ca5b97827e58b4c849e2be549cc49e690e15f5869311094c6b8227ae3c9c0fb24d146ab24f286ce9fd50ee06293501bbafb2 +i = ca51fcf3fe7aee41c6e482e9d4df171a +PT = b62a3c1084b5b2a1ca930cabf36e3df93ecea8ca45029af19479d866c05999a1c24276413a4d1ef4bb8d85714cfd8c79 +CT = 74c927e7a7eff446f0f3b62d2b65fa14e2798a7fcd1b88df941002fa6733df5e087570d4556195e3fca5a8290008f974 + + +COUNT = 196 +DataUnitLen = 384 +Key = c581a4cedc8d412bebfd448350d088bbc63b731da56041fd9cf34ba9e2f47232a3da784530bdebe90f9f0662fc14cc7aece6cb28ec4eaf6487a240b5f5e5cd7e +i = 20922c21dfc3478fda875ffd0ccd06d8 +PT = 150a747149fb2ce6e17312fef0950fe85343b356f37541c9e051e464b628a6cbbd51a2c84a5dbe6e886732949dd0b95c +CT = 57e865cd82cd9c841add8ba33806d35a83728a1f10320ad4e09f66ad26735e447d3b1d8a396e67f4ce84ebbd0207fc67 + + +COUNT = 197 +DataUnitLen = 384 +Key = f3fd9423bfdabec6536aa498c5a83c0616269f89666e5f9aa1843dd0103cf8e5badfa8c5dccda59987c3ac01c27d6315196fd5bb484c545be246e3e10992209f +i = 6c01f321222682310c6522b74803f823 +PT = 66cb3db29d13169a8bd426a88190c5e44b81de0f7561acdf226528df15cf0ba4ad50f02f958669794351acb1c612434c +CT = 6f53bf8590f00956c4047189da666ebd328c18806854ebcca99f8f18f47582bc58945a9d61bd13ed7a49644dfef206e5 + + +COUNT = 198 +DataUnitLen = 384 +Key = 31dd1c3355a05085156a51d2133365ba323d5092b6c5d1945ce68493915d2d41c46a4ec60f62c3f9ba41382c06d24143c71f88c7b900170fd30aff02a4fa6a0e +i = af5c1274eae7d65d3aef19b3b2d6cc45 +PT = 37d77d18180e205a19f057c9beafaee099683d905c9270434b065a4426d15a4c68670157a9ce6752e6dcf61c8315c93a +CT = 2beafe1310a40b04c07cf8136acd2cb9a1c6e49d468f1d727d18e90b9c2da77ed1ded5ac0929fc8a53079c23c5093c05 + + +COUNT = 199 +DataUnitLen = 384 +Key = 2937ce984fd09f899adb653f0acb7725ad9e493bdeb520bc527cba058049a6fb827e13ed6e67f02d8f1af74798caa8bc92d77a7db30ddfa7a3b3ef5d28f546e6 +i = 9290ecd6483382598a540e1b67c99f9c +PT = aa2fd60e91f9f001233f5617580266486a0c5a767695f60fa45fa067d13b7cc775431704963dd9426b5ed8c84de94b61 +CT = 9f743b2d5021a796c9ed4dfd043cd7592f762cd7b299d77dd1c1d7e30b2bb8c4b055ec6988a08ca0d4cc31f17d4461c6 + + +COUNT = 200 +DataUnitLen = 384 +Key = 28ab33a47b32dbe9ac4e33a7dd3bdea0fc47deae790c3f5c24cc4e97229ce0c0a15160ff5cc544e2b4e03b4ccd55cc685e93e4ddb2fad8879d0774e92780c521 +i = 3871b04b799f7c572168af16efe880cf +PT = abf99e347e086cad3676dba7d8ad30713de3852514c78db83ad75d75b686bab066f62431cefe3a98de7b713b72c926fc +CT = 3501de2f9e6921c2ca6c6f5a7d642e7c6ad6cc1fc8f3ba496fc5ddc6580df5584bfed4bd02e48d898dbd06757b5f5b06 + + +COUNT = 201 +DataUnitLen = 140 +Key = 4272a2be234ff9763e4996b1bdcc1b6bfb89fcbaf5097e737ca52c6f1b25807c81de7433738c6d5347740c8626bc9a7f8609a34298e01c3beb4b2fbd5a824284 +i = 3034e9dcf27b260970cc555027bc0ec7 +PT = 77348d634fc8e2b057c940cdf94abda3e050 +CT = 2c40695ba73014e0db5ecacd54b239557570 + + +COUNT = 202 +DataUnitLen = 140 +Key = 5e9e0d63521a5196cfd8ec0332688bf15ede0a13774a4a82550a8e81b5ea5d267b4f2d5810e7d3040b33c2ada54617970d27a52ce02bf566c2de07cf70ac7c25 +i = b99051271ca1f798cecf127706d766cf +PT = d4acfb11d3a985df1be65f79d86b611464c0 +CT = 32bc6ab26025b1166679236b36278c844e20 + + +COUNT = 203 +DataUnitLen = 140 +Key = 9d7acd9bc263705fd0e6b4126fe72f75a2966cd5c2e0a587f6cd7ae43fff643bb56c87d4215448b9cccf988e238804fc8c2b0098b60073a90b71d6b9567241bc +i = 8469ca522da1a5a357bad0dd2fba6c3d +PT = 73d0e3e5e554df38bb935caeff4a21554210 +CT = eaa71c50a40501cb1da54eb6552f461125d0 + + +COUNT = 204 +DataUnitLen = 140 +Key = ca6f7161200424e803b1aee56465f37502c922a2dc8b3d5fad531326610d4ed9e2f03fc9f788030c2b8ed2e3f3fcbc530a9a76e39bb6a62320dfda564e3f48c3 +i = a280618e500ae43b0ec6f69ba874fb09 +PT = 920ca735d51192252916a93fa3b1d08a1eb0 +CT = 82b1298bad92b7dc5a63d73f8f215aefd120 + + +COUNT = 205 +DataUnitLen = 140 +Key = 67d4158cb62329b71b249a4e0e4d1f265d7614167fa406a4f7564bca98570cac5ba5f37d3c40edcbefa9fa76de175f1d6572dd33032c19cb8a3664990438eafe +i = 82d0b4c2a65a20e8c3adaabcbe7cdb17 +PT = 9dbd94a3a5087f8148f92bb85d20ba2dfce0 +CT = dc76da46e9d6c17d7cecf23b1eb3ad4e8640 + + +COUNT = 206 +DataUnitLen = 140 +Key = d481abff127a31c322ee54b11c90474248a06ac4ccbf066e0431cf0523c8652c7c08a8b1c91f970dfbeffc93c01e46df5e1fe9b974b9488f92428f7c17f79a09 +i = 85b952d00b67878ba8ccc46070a7285c +PT = 1922cad97f29549a6ecb17c5ef8a8a4c0290 +CT = a675115da28762455d6405653db1ceab3530 + + +COUNT = 207 +DataUnitLen = 140 +Key = 356850275cfbdf317764185ca48a0acf60c14254245f0edc989290fa72dbae9b629c2eee3e204377b825a7520dc5dfbcc10403eddca52754a6568d23671a62c3 +i = d52e71e8a1431cd278c4a4e85b387bc7 +PT = 64ab9ce4f96ea8892d8b59aed24a0c23a650 +CT = 9b780351c9f375426af5a0993e85af57f4d0 + + +COUNT = 208 +DataUnitLen = 140 +Key = 0c5a1fe23e42ef806a99099e540c0e7ae139e507019bef00d7d19427db4cc4b598926a9a18ceac63a887533068895d71d635b3520879a4936466bfe3b17fc6b2 +i = 742015a9f7cef4a6dbc0a4558fe7d037 +PT = ed740b9c285c547e0136364caf279d3b8530 +CT = cff69c54925e01420ff0e60d6b88c980d680 + + +COUNT = 209 +DataUnitLen = 140 +Key = 80d88dd8ee6883b53a0a48a7be9516552fbfcd083df34acc51493f2e1ba9206b708d4683ca5a4d910483d31cd228146d246639254acc0985df69d3b4aeb71f54 +i = 1fc6c63b73d12e9075fa4b6d514f85fd +PT = b8df9b8afd4f9bdd4457c33dd4837b65f2e0 +CT = 84e2b294c94c3bb1cfb7e83d27d39b705ef0 + + +COUNT = 210 +DataUnitLen = 140 +Key = 8b9e28ee69b21b3c27b38287a8d671622202b4b686a29d800f1eb4d7612f5bc19a0ccbd0cd59ebcfef570efd277fe1f56f67231fdfdc2449be6c07d80fdecd49 +i = 53328d826c4a897b33150baf95c93497 +PT = e445456b6bd360bee845297e4a25569c9e50 +CT = ee5bd06b9caecd789b6d405c87252b83ec30 + + +COUNT = 211 +DataUnitLen = 140 +Key = 62c2e4f852a93eea4a2f61e8676814f4a80dc47ee18132c838bf89a618fdb8e2913e2e5c321b19ea04bba6347d226f41dbee880d6167b8e1e917faf046f0875e +i = 537ee3dc13ce27a8d30e6e42b5b996ae +PT = 00c9eb8778e03ddd5f3de8c18b348fac9c30 +CT = 9d4a08ac0fb44e90d05f6286193f3aabc290 + + +COUNT = 212 +DataUnitLen = 140 +Key = dfc6771f62718db88a1c8d6151e853003d83ffed970d706ac0746a2a232cca9ee6a4d8a763a0cebd295fc921cbc94448d8c35bc97bf70f6c348efc5f51dd9659 +i = f41f811546d22d93d8b356ccdc302abe +PT = 31699a7f5556043d6a4db8bb3868d2357a50 +CT = 057bbaa1709c4cfdf27dada9c4991847bab0 + + +COUNT = 213 +DataUnitLen = 140 +Key = dc0a0e99a0478cb6fcc95860d3b3228990c6deda7a0de80bad774d575ac77f6dd69b1564185f1c0dd8858fe2a840f02755430fe3c0d75389c1519be430e91a11 +i = 612365279b821727bdf1d93870cbcdcb +PT = eb8e801a28ed855b54bc147a1d05860f3310 +CT = f64e2961254d9d1d3e72daebee55d951c580 + + +COUNT = 214 +DataUnitLen = 140 +Key = ad95a475269b7749b6332558519d6b3b28d48e221804660ef8a5e839e351e314420f8ad18a51fd865ffd4719558f05c2d59e98459c59f82f17887027fa836bce +i = d6bd638f4880ece0a744ff872b01eace +PT = 6fc1d4a20a8dfc92ed540dce88ba1bd40910 +CT = 2a83b35dfa61e6e4e4337601b1d038c04380 + + +COUNT = 215 +DataUnitLen = 140 +Key = d5afc929a452f449a572393a94c1acee63e61d2746a86fb77f254db6b4a4276a0454da40effa69afee2b5f0ddb30cf39142c4d95d58558623c99cd17639ba35e +i = d548758ed4f0389a2540ed46088aa010 +PT = 5a77bd0b8e86d9f2565250a9046453a79240 +CT = 68798011f7bc50fb1b4d92e968140e0f24d0 + + +COUNT = 216 +DataUnitLen = 140 +Key = bf0011ad7141adac0955e06280062828054cb61ce6697bcdeea31dbc4ee6ce08e3b4a0044347645e50945822889bf3b10236008a41e03a3397beaa2da0470afc +i = 19f92c9d2266e880f06352e88775da4b +PT = 2a108a444829d4b3d27b9112e0a9d819af30 +CT = e6183ce8278c8f6790af221f451a3d402d60 + + +COUNT = 217 +DataUnitLen = 140 +Key = 80c461fd9cc44ca716b152cfb37598e6ad42a52131845df699411a98d430f376143ebb1b5351a32fa6c8b9659db69fcc10cd3118e48030aa2ad6921d3f9da870 +i = 0e8e733477947833bb08782593391ec7 +PT = 462c027d28594405cb010943e06c95643620 +CT = 26a9170d4437ac412246c8ed9865c3724fb0 + + +COUNT = 218 +DataUnitLen = 140 +Key = faf90507492bbbeec8d6002eaa25a78f6f2ba17ef5f1b5ee9131670255ec53f9ad4fcdfa497e83b66f4a1adb70733c9da7357b76ddfa13c95c193262d9e696c4 +i = e25a286ace6f931e808817c46ea1264b +PT = 36a8337fac2026c4316c9e5b14be4ebbf3e0 +CT = d3d215f323c47665ea08d66c2c29884771e0 + + +COUNT = 219 +DataUnitLen = 140 +Key = 2fb45a79652118c8f05761ab4e60f4c3494d1bee275c41afc747421b140011d029ac388e4fa826b8d5f50398138ef230cd2b7d161b1bcc3fa4c25fd18fbd7922 +i = e7bfa2e266ff4f8e503994c2a6337563 +PT = 20b0ce7cc081aa50ec4929e90afcceb751f0 +CT = 772652e9f80ce3283b0c1b71cd23264e60e0 + + +COUNT = 220 +DataUnitLen = 140 +Key = 28389f31776b6292f8658b9d71d4e94ffe90769a2cb67c359a21d486d170340d3e5fac3417cebb1e9e4cd4f5a39f576249c1a079dbc11686071d31d842329867 +i = 2a01d67d95d0e0d8679a20c99e79f8d7 +PT = a7aeb79d52f9c87f60b9b52527cc2464cc70 +CT = 82be51466b40699f20dfe69e6d8ea0436140 + + +COUNT = 221 +DataUnitLen = 140 +Key = 8d4b489db0ea727d948b32732e312dd918d044ab2f4d9978abb8d3b81c578c24a2e34b0e398d92fbe5aaef12c36758d7847cbfac55700af8447517fb9ff5e7fd +i = fcf88f41e054ac3d6fc5a7a8cda432c4 +PT = 0cfa6f92774366a4c21ffef513b48f804e80 +CT = 17a9859b8c1b2865a260daa2380e09aaaa40 + + +COUNT = 222 +DataUnitLen = 140 +Key = 4a49e4e09150c3c340a6fa9cde65b4c3b0c13cb723653657b48dc4d4e0fd068bf1129727df1b290527243b022e8369f6eccb49f832faf7f8e58872519ec62747 +i = eeba2c9bcdb9332823e3e1e1e53f902d +PT = 1157953ebc2eb54260959afbc5eff1f749b0 +CT = 232175bb936f51d16fdcf68eb6aedc984750 + + +COUNT = 223 +DataUnitLen = 140 +Key = 5e46d59db71dd04e1225764a0b0af99c5ae0af97524755abac37a53031499d72583abebe71d992d7392ea23c2b669f0226002ce1fccd1f4bfc0c14798baba258 +i = 122f99582a203b8129913dd78361cba0 +PT = 8ee23006251f1a43e59ff6d5508a1abb6570 +CT = 050759eb578f1548866a3fb90a412b4874c0 + + +COUNT = 224 +DataUnitLen = 140 +Key = 88e167f36cef1ab0732423ef9a9ca8bcce98dc861d57be8f8f0a89f7f906594ce321ef08f472a9922a3cec164e9bf36431f2f744d9dbfa678d962e69d9913265 +i = f33f384dcc5adf6f1bb75ff545d36ffa +PT = 2dbec7ca92dac6a155e43d980c4f5be53420 +CT = 9bfe026a5f98a0e4bf604ea44ac6801fe3c0 + + +COUNT = 225 +DataUnitLen = 140 +Key = 4096d4e11ad68a4bf2cc550a32e213ec9cf86d8c85de6ae5aca9d1309639d8fe7098111a5366bac5d733a9f0960e0ff5e025650e2cab7f9d724b2af3712410d7 +i = 4c7273d65678861baa7d85d8eea1a5f1 +PT = bc464590108c4777f84bca8b369133b474d0 +CT = 86998eee85836dbfc198d201011099761150 + + +COUNT = 226 +DataUnitLen = 140 +Key = 36de9f2f661feb00f245eb2abee67cb8859f4635cca7b68b88fbf920d62cd9f2144e5d5f7882efd6b191bc3303940fa81b7c92b02eefd189635b4febcd9f5064 +i = f6d3f5db0d86e45a4babd48c9a62c18f +PT = 02aa7fd2e655adca550f19699798f227e410 +CT = 5209f88a2cf45955c6a229c827e72f174780 + + +COUNT = 227 +DataUnitLen = 140 +Key = 471b3c12966db5a1d7774bc3cd8bfca6a96e2e3937398d078b17ad707dddb7f2bf016e343b42bc43301cbce52507abfbaf069afafaa4ec49f2b30a3841453c6c +i = cab10c38afe0907088db6a509a6088eb +PT = 9d0ecc25831752449e68fadf8768164c67a0 +CT = 8073400008ca70cf1742525c17a40b665960 + + +COUNT = 228 +DataUnitLen = 140 +Key = ea57e96905bfd0fd4c88b894fa805accefcb5fe2e85b534693703b20dfd68fffcf8fa74ed864296705235a974a37a2317242e7b6326fb9cf4aa9be3ea5cc33b3 +i = ae4f0b9c0747d2db2167b4f9a91bfa9f +PT = c5ba1f251168074e139c640a8f3774ed5610 +CT = 40edd3f06d159671168813fdd90151d1cd80 + + +COUNT = 229 +DataUnitLen = 140 +Key = 3ff8f44b783713661b08523a900ebf595ce803729675ac0f19f3515f938787d98341be483bfda41debf57c044c50e8f0e65cfd40b010950366908e5fe74790e6 +i = 202a49d0d20e890182e2851d2f1ee88b +PT = 4707f264f366198f241165e59e4e77e0ca30 +CT = 42fe28e30a20d3077dbf88baf4d40f611f20 + + +COUNT = 230 +DataUnitLen = 140 +Key = ebc871d37fa36db1f148a50aca81c5c73548ad60278d276eb355f4bc2861c09c4bae0fc08200e5b4f4ac7f164578f0f1bb662efceb80a7444a017abd191f1a33 +i = ff6883ff636e3262d18169fd0219bb9e +PT = c0f113ae7b71af0dd903c3871bdcff46dd90 +CT = d76432b0b8d78e0d08cd2b56ced6b98cf850 + + +COUNT = 231 +DataUnitLen = 140 +Key = 9ae6b24bd19bca630d5c4c597670c6102e8568f6a989bb74f21fede53d88f9fe2c6cb1bbfe659c42589461d3b6265d86bff755a20a1966f5a210de206838da20 +i = e751b8304b94bc190c2f595bed1a3992 +PT = 83c911a01f610f971e2c65258bd03fad5760 +CT = ba2b614c3745e5b6acd2df2ebdf551f67e30 + + +COUNT = 232 +DataUnitLen = 140 +Key = 3224facef8a1f4f9ce60fb3c0b19576acbc0f91ff7d5f21570e2961bb6c6bb5140d2e2e8c84f652b7025f91ae037ba21a85f4eae019d99a935dd4552ac182fe6 +i = a3fb425eb7b065a3605e720c63213f48 +PT = e2baee86cfd14e0e715f81ec11fc92cbd000 +CT = b2db29f1fc9ba3376afaf02983102f015bb0 + + +COUNT = 233 +DataUnitLen = 140 +Key = 7481b386678b1dcf0fcc0add06b209f0ae27af5dae00ef72eace03814c043e393256b47dd43c4078757e29fd6839d0b9393451efd2725c7e9f3d0cd65cb81a50 +i = 1350c11b2e932edb595e0525519663fa +PT = ab488dac4cd40eb9d5bf4c8591abe2608210 +CT = 875b0de1feef4756d14150c9d2e7aeb326e0 + + +COUNT = 234 +DataUnitLen = 140 +Key = 7107d8c47bdfb01c1e6ee3b92256c7ed25aa7a8e7ee49dfc511cf06dc04ee1e7418283e28298c0c7964c2b770639919116ea8f15771a3008d3b10387f88fed0f +i = e317f183690ee3249e8dc0a6cc84a879 +PT = 413e5084abddc40c88e68db2fe6e7e25fd00 +CT = 6e551f6ece8a79a8847fb40268ff35605230 + + +COUNT = 235 +DataUnitLen = 140 +Key = 4e58287eaeea5d7c582b12f440dc758b92a60ac7d8d80584569cfaa92b38ee27a81e34a5daa26ae6bb43ec4db692efb2d98ebdd0494bfa8a689d42ade1e71c56 +i = b43e57765ec9e7d28b9a1cfe5b9dd0b5 +PT = 5f4af1fd0bd805eac180e8262df788280e50 +CT = b81ea3a7c42a5d3b02a1eba39a42b2f4aa80 + + +COUNT = 236 +DataUnitLen = 140 +Key = 31f514037b0a5faa1ca67642d23a52f246ad87cba76b10e440980a7f2c5da255ab5b5272248fbdd68ce455317c4855d5ae7b7a13110b0938cd5639a392b16df5 +i = d041fe774b87a6c63ef1e04dcbe1e93c +PT = 1b3d48b57d67014021de751d6b56fb8110b0 +CT = 8a6377c950c22ba61b1d282ad6f2e3338a40 + + +COUNT = 237 +DataUnitLen = 140 +Key = ea08cd5c2942ceb314900823a7bf81f76863efb0c5d3e864cc56152b465a43a7f44e32abaf90020782109a0e2b3e1f0b5d072f77776ab38a3d63bd2459571a95 +i = b5dee4718548023040a5bc1cd81d7ed8 +PT = 4987db9fbfba9c641346e3f16665b7408eb0 +CT = 9233dcbabf4b2ac7b20343657dc04d64c9c0 + + +COUNT = 238 +DataUnitLen = 140 +Key = b826ea308548ad0a4e58c502e5a1c92ff106aa4b7b7f09c89ad3e2bbe55d0ac2ac5b4460db828132b9568cf512ea3d0dc0b63d9b0533c82d7fb5b3ca24ce5731 +i = d9661395b660e2fc9bc3123b498a6572 +PT = 4615f868a994122a02652d0ad0497ee09df0 +CT = a64aa5eecf9a77237448668bba80b303c080 + + +COUNT = 239 +DataUnitLen = 140 +Key = efdb13b4c94f2ecc7cee4c51522dca7d86bc793a7b13461ee6747a49c235885b5a3db3c84682605d88fb2d81eaff880ce8f18e32d4bbafbca17d5be0e00045fc +i = 13098bb17ab5bd62873ca047a4819c4e +PT = 823bf75e16dc8301b08acdda48419f0f9810 +CT = 1a8bee1449e83c92356aa4205ad7ceb7e420 + + +COUNT = 240 +DataUnitLen = 140 +Key = 6d388ce6a0cb21b3fa82e0d93687a842608467b0f812ea9d3889232e4289c4739907bd8685e2253005155218d6f5b24f0dca9177b23df233bb5ae6deda952854 +i = f56a3a2f5d2f5fc0ec2b614df5dc28a5 +PT = ad11162fda6660bde9366c26328cfc801630 +CT = a3bb29c45f5b97f0c71cf405670c4ad7a520 + + +COUNT = 241 +DataUnitLen = 140 +Key = b365932a6af352af0541917ea142a6830dbf355c47e59ddd8a1e68b6eccd6c7cf70a2afc08e2cf4f7400ce86d5b078ccc75b34a5283b15e178f982efa87348db +i = 4c6ebb1e1b5d2c8a776117553c8c7c8e +PT = 4b84bbd95e8a10bf3ca54a47aead6cca6a80 +CT = 22ae9468769019030a8067d4cfccf029be30 + + +COUNT = 242 +DataUnitLen = 140 +Key = 9f814f9522be356e15480ad73dd178e8025dcc00edeee4d1d3a47f33be4516edadd75b4dbce0b0e9068e3871de447a22073ff18cf93855fd68004337fff8c735 +i = 7d43393c5f07f60ae99e7ac66dfc98ea +PT = 4e3c507e78ce741f1d52822ef075811884a0 +CT = bbccb175db55a4e13c24ce80ab7559bf24e0 + + +COUNT = 243 +DataUnitLen = 140 +Key = 1888096df47ac917de045077273f459c394a27e774e74331e1be81c0aa1c779295a4d20d015fe22c2b3db15bd0ce1fccde764d1981c66e16e22a8473dbdbf780 +i = 431bb7711eaab78cd0cbf75fcccfb377 +PT = 795d8c4254820410d507e18d3dd6a34cc080 +CT = 845cf214e006e5117ab1d24f4abe9a492590 + + +COUNT = 244 +DataUnitLen = 140 +Key = f7a9ea6dc5ee111c22c7ea3ac08470a3e1675747f704e42ddec6258f069c143c71cf44735335c2406bc1c4040bfd2e3a8786e908a2693299a922e7c9980f0503 +i = 9ae877ab3e5dccbe08a19d4b10c53f69 +PT = 0293e64b8ffdde1f727ee1da10cbfc9d50b0 +CT = 5a27b93bd3f5bbae892f0ed81b82a0b67570 + + +COUNT = 245 +DataUnitLen = 140 +Key = 696129bce3d38a31ffb940642f3248148da3438f995d4542e41717ad70bed59e798b88003dcb750a83b9ab3396dc1bf5fca48a08b001de1559950961f99ad385 +i = cf7fbfbf7f23d4873bb5df9bed83335d +PT = 8a69c189ef757853d7044667be519cf8a450 +CT = 6178f8e6613f561a061c0fa4c75b7a8d89a0 + + +COUNT = 246 +DataUnitLen = 140 +Key = 2fd3cb0c97723b540b40a9fbe53c614c0aa52f67a5abcc939d4b1bfa8770213f30616e2487efe7b39dfdc82b48d6331f43a73eeb0874d644a0ceabb88a2db620 +i = 6492547d1ca399e95196b316f480fb79 +PT = ae98c50854951b255c470f6dff857a5065e0 +CT = 4a277d6e2e50095c163c911ee9785525ebe0 + + +COUNT = 247 +DataUnitLen = 140 +Key = 89cb4fb422b074d9017de9f29610127c3e22e79581227a1ce308675a39789077b059f0686dd4be10d46b2dca84c9cede50690049038cdd738e2b3dcc21005dc5 +i = 3ed9d55dd308fc85bde29f266b44c532 +PT = 82277a4459aa3494e83c4bc08f0137415e10 +CT = 46f88f8c3c8bf805254684b6a71e1bb314b0 + + +COUNT = 248 +DataUnitLen = 140 +Key = 1992d69aa25f512fafca32419b7cd6b4f1fe02dbe2b7ffc8f19f565191668fad11802a3ca9d5a517f916767d1131df71e87e931f7b10511391ec68f5966b87c5 +i = 7e1cbbf8052a0d5d62c233f92ec2137c +PT = f4b24c04af9b1c197afa89b3d9e116d4e9b0 +CT = 480c2eae7a9f110a717c108add885e2121e0 + + +COUNT = 249 +DataUnitLen = 140 +Key = b00ed6ae34c65c2c2974a4a94e6aee1e07f3b97f3e8220e1bffcb1742e8318af3c40af6e6a1fef3fc0fa770745a6d440174110f6410b993edf3b0bd0cbd1bd78 +i = 54ffbecf3d6afc80dd9531e94bb8d492 +PT = 420ce02cc831adec9e5d2394f5c837348d00 +CT = 7aab6db185de87871c17b0ab09c6a1d9ef50 + + +COUNT = 250 +DataUnitLen = 140 +Key = 749449ceab6757c2248541eab465b201860d20ea257b96cf8c9a695f3f0664917c7fc17e510a0963ee6da2bb39d19414393ec0cd111ec7fc55d41633610327c8 +i = ac1f70c32bbacbad86cfe21c274ab039 +PT = a37dac67e1939e686cfd5db2183b6527d4b0 +CT = b2c812eade4ba251f5792326711a6cd500a0 + + +COUNT = 251 +DataUnitLen = 140 +Key = 0b9b8bba081fd0b3afbd2044e07a6e80135c94d9e79a7b2f77c45adde42704f8fc889c728610ee4405180a975429757fbb1d22607b144b491669685cfa598068 +i = 3e098c2fa47414fa9c3a2cf76e362466 +PT = 637f3f2bbb8ee7d7af01ae19946f85711280 +CT = f2607b81959404e84ffaad7a5a844353b2e0 + + +COUNT = 252 +DataUnitLen = 140 +Key = 59a523ce645312131d49f7ae8c437521c66c64009450b2f3734b75c18c49d7483c0b5b1c1dec664cd6fd512538ebfeccb7f3205b2c14b34604836a03939f6b68 +i = 1f23676127bcc31f57f3197a0fccdc32 +PT = 9f4b97311fe6144019424a8fec3a35a6e980 +CT = d5b08a5fd3c61492ae7f0826c428cca0f530 + + +COUNT = 253 +DataUnitLen = 140 +Key = 288898acb240be7a2b2464cc82c36668bd931165607bd0893976c20a6a6f4c80c91d52135ec703f79d336ef44f2ed834a7391d88edaf22ad8a8f2328ad244440 +i = 57c2f1165c88bdba3b9954cc5bf0e652 +PT = bfefea5fae97eaaa1848bd54a0a7be442f10 +CT = 99615b9f543d0588ae4c36f246a23207bc40 + + +COUNT = 254 +DataUnitLen = 140 +Key = 12bcb27a268fabd40d3ef84f28425deed031c9fb06aafe40bcc15defeb9e715cdd4d2b5275d30a7cd0d037ae8e3b797819983adbd5da2c48700343ccfbd6a593 +i = f617ca0d80709642acbd63a7f51f77ff +PT = 0def7fda15386bc92707c385a3d1d632b9a0 +CT = 8f274100a385f97bd85003abbe2898a30180 + + +COUNT = 255 +DataUnitLen = 140 +Key = 90207387997f12217741439cdb6d011bfc4e75066835cba6b5c458e2acb391bc326027a6125f08b831b5661092395917358b4cbf6ca5205c1995695bcddc421f +i = c263447b0a30173a558e7bb312abd425 +PT = 61f574e1a7c1817e2114bfafb85c3bdbec60 +CT = d7e80d77ddc52b622abcb5df35f3b425e790 + + +COUNT = 256 +DataUnitLen = 140 +Key = 62df2f3e8f1b7bc0cd4f495d0c217de10194cd5678f3bf0cec62572b3fa5d5323122ef5319203f270811951ec68492496ae21739b560223c2500fd18e520226f +i = 47c8aada6d68a956040eda377ee9a1ce +PT = c5be6c40c3180caa1936ac81714758ff7d40 +CT = 1f40308b1abdd972bf23b209e2fe869533c0 + + +COUNT = 257 +DataUnitLen = 140 +Key = 7d00ab437eb40c1c69a823f69a4b8aec8d8479a292f9ba948dcdf97ef148d4a490d82829d5ca9f130b88f30ad26ed2b597789b6c3fc280558d901e1d635c0361 +i = f1c1bf12f6dc07b3f6b002ad41c6dd44 +PT = 00f405a8dcd8be640d2dcdee23a477855130 +CT = 8dc3aae10fe8cbed763aee8c1bf51d3131a0 + + +COUNT = 258 +DataUnitLen = 140 +Key = 028143f31bf113788848dc4478b6972589fb7535f18b1addea7f7f1a2b35fee4db2ca7e261a5719c05a946e229495141556199d46b6e05ebc19451fb9ea6f691 +i = 58766f40dfcf6d7698d9118339ea8fbb +PT = 931ab98e6a93b1a89a67ce57baa56e511d40 +CT = 2d32c2378899ee1171cb5bfacbf53477da60 + + +COUNT = 259 +DataUnitLen = 140 +Key = 2ed76b73b8659f4fde9e934615564eabc4fb55dc0413319e227af972c84796c3011a504c15825b20601da4ad42a33619b0e73642ab0317c36ddc1b55a5593aee +i = da302f84a010e4d0f4bb2ec5d2ac2447 +PT = ab3d954ff2187f7591ae01b7f102808b1a30 +CT = 14d515fa5385032a3b3b5fac37d08a512680 + + +COUNT = 260 +DataUnitLen = 140 +Key = 15fc6180303bce025fc697e572e7e9b66895509dff9b1e7998018e354a56e01713b37f5ec6e7cab0baffb1c5bae9686bb7bd29fd0eea6e31f79dd0ef34058bf6 +i = ef050380b665f2766d5028a960767e39 +PT = 82b1ca1675734264b8912f2ca48a06501be0 +CT = 9f733b967fb30020e42dfc97063a8acc3b40 + + +COUNT = 261 +DataUnitLen = 140 +Key = 1da2e658c3d71fa4150565d87dfcdc98c9bf18276620fab717067892e50329d9790b76383804818c5f89cfbd7f1da5165e9ece3f3ae6e053a3e767019d579299 +i = 25b0142ef6b465ee8f33194b8836af47 +PT = c3ee74c7d09281124521684f0bf446eacb80 +CT = ce63f545e07bb33a600be2a2ae252fa248a0 + + +COUNT = 262 +DataUnitLen = 140 +Key = 27ee9810003b735299ccbe39ae67fd5776fd9fc3ae920140c56a7881ee02ad12ee205af5db84ea7565910f1991b488a5ab1e4a5bacd9d5caf8e069a75ab39788 +i = c88d9723c7b10280f9df16dff37802e8 +PT = 72804c6ef19e756ac3a41ecf3a07c267b480 +CT = 6763fc85fa7c93c68ec57b901570d0ae4140 + + +COUNT = 263 +DataUnitLen = 140 +Key = 0da17f59d3c2ab56a81b3a7f477de5df81a0ec0be1ebafde27eaeec45f6a4083ca212c6bb911b1c053c18fc41bccd90fc1238452842947d2432813cae6db8e78 +i = 7c9b82aa951bb88d10c6be24b8d498da +PT = 781f9b5afede1a32924e840ce82eec7c4fe0 +CT = 506f1dea2c0f363970787ec335a1d5301500 + + +COUNT = 264 +DataUnitLen = 140 +Key = 8de1896c4f5f326366726469f3d2d4f4967c0bd0d80f69ce2c7355dd70d37ed19bd130cf67fd8199e084736fed95506d00b0414a50aaf7e5d85e475a1f7bf2b2 +i = 5311581d64884cf1f2e61ee91f104fee +PT = 99255d50e938fcf47dc3120fab4b2114eea0 +CT = 078a825d3983b957768f6ebb6dc4ae756310 + + +COUNT = 265 +DataUnitLen = 140 +Key = a52d4c6a5a2704d87ce77c2b56f40f40cb37456d2744a8a39c7268577310a3dcfe97508d6ad0b6c7cb959fbec143593c6c182f5e64f2cd905b5f9376cad4d476 +i = 673331ce9595d7949b3903c0ae6c79de +PT = 756890582fbd30625a1ad0d04a985a4ebbf0 +CT = 8eb22c7b7924a7582b3f9fc203f2d18ffcd0 + + +COUNT = 266 +DataUnitLen = 140 +Key = b7902e6a6610e9152eef158a546952a93d10888e9d19abe7d291885ba8f2cd92ba5285846affdaacc4e5321d60c9e8bdd7259b1e70e03a73feeb39dbc20b31d5 +i = 3b3b89b4e588bb8fa9132ab9e66539e1 +PT = 300f56863a70dd5527c34aeeeed4e2dca7b0 +CT = 9c8a06818381e21a4e91592da620d368a180 + + +COUNT = 267 +DataUnitLen = 140 +Key = 10ffbb5109c83220c555d7144136981680cbb0b2ff117fb03abd1c70483bb4e07b78e205d205a608f8d85f82504dbdf250f9119d9442c27077599bb9f2d5cb9b +i = f43060cfc6123a78496e934593ea859e +PT = 49670415da74e877f8acfd176878986fabc0 +CT = 04f81830c48e609b9ebc01f1ac289bfb2370 + + +COUNT = 268 +DataUnitLen = 140 +Key = 4c0a60a06a26a6abbb37b5f086977c5786d2e4cd64a54056d30f59de406eb9131c243f5037c095f2df37043680a673db6f4e955422168d925e726bbb6a415a0e +i = df42c4a5742d8293227ceaea9a69a78a +PT = 56e9d9774bbfdb566b03425570d3a41ec620 +CT = d889c2beae6ba4b90a2e89b13f719f9c2fc0 + + +COUNT = 269 +DataUnitLen = 140 +Key = a69c1f2398aca70a257cbc8abc95e19d74059ea6e33d3f977a37d369aea8b62a1c0e0f096e96d66f9419888e520920b40213f7bab9d9f761a62d1bef7ebed329 +i = 98b46908fdbb7757af5560e3bd9e6697 +PT = 0000864a8318f861a3159098a8268efe3d90 +CT = 53190588ec79cb40c8f54652f5d50f8fbdd0 + + +COUNT = 270 +DataUnitLen = 140 +Key = 69fe326a069a93bbb16be66db7740fc361352ac395ba13143806b88b661fbcbcc4d205540a76a2a9aac23a874a4a4165899eeda7413ca4972c74532c56d7ee02 +i = 6b104a90e8772abf7d140814e94c94ac +PT = db6219259d4c437dc7f2e37850b698789de0 +CT = 04801f8b8e434e1d9b2762bdeeaba75cc400 + + +COUNT = 271 +DataUnitLen = 140 +Key = 0672737685ed07acf4b31e720a51bf6abcca07e58be393a9775dad180030a3cad9ede2a4e655c3bf48553bb640d40f635bc5782c5e1daac65eb1d07d7c36a806 +i = e97d7b8a0ed0fae21f12f80abb299539 +PT = 2818ef5979d43a2d36ebadd33e51ed5b2c00 +CT = f3296c510c8229fcd477d7dc96b73ca04bc0 + + +COUNT = 272 +DataUnitLen = 140 +Key = 7cf8e7251c8a92da1c60ab037abf40c1f3a5d5b686820d35166684f83a9cde1ca3b04e61d4938752eadc6e29ca5fabe52b28ce7d5d1070087cdf6e180cc9a2eb +i = ec5dee1d5bfd12f0f91dce305a2c15c1 +PT = 141253b37a60b838a8b0406974e8b83ad670 +CT = 6e267e368b5e5bcd83e1aeee8cf68e00e9a0 + + +COUNT = 273 +DataUnitLen = 140 +Key = 20523356f72e3cfd510aadbdfedbdf0d3e69bad59dc6c387da3eee9f9a64cc018e34ac4ce8a5579736ab70425d23d0c28db69bbed474bdd2d5b5cd46042efb2f +i = 183a0f72cf569713dbb788cfd7e0c4fe +PT = 105c975760965d7193dc9f75a3798343eea0 +CT = c71a8ca05e5913039c980c233f87f7f73ae0 + + +COUNT = 274 +DataUnitLen = 140 +Key = 6eab35cfd4d24afd9adf38a56915e39f91a990376d660e31a44aa57aa83a40d45ae3b54307841636eb77f112789810cb3ae49c00118636ba60e7b3778b7e8b79 +i = 3094ca27920410d8adaa3207bc2e2fc9 +PT = 3679a940d955f87f25287f56b70d350912a0 +CT = 87d5618143f918cf764a5f7d67d8d270a260 + + +COUNT = 275 +DataUnitLen = 140 +Key = 48c2743045282fbc48d889f78a0d02f37c3805d202724ba0c6a72c479d5070d29ed383134d62a6fccbc69d0021882d93de6e1377764203b49cc6550bab55be28 +i = 64ff71d601d2b602a5dcd57cf2151141 +PT = 7fae480bd4479525cdcc42314b69806bc310 +CT = d9d655f9a1568e59eb5d50c1a5b48cc9d500 + + +COUNT = 276 +DataUnitLen = 140 +Key = 22408c98039d1bc8773351af0d8786f4a54a6942054e8f881ab30a00e3a225fa88e3c6dda539e730e78a15f0e5f9a7d5df6a8faaa76ed874951b8f89c4031d10 +i = 1510a478440a3af3ec2e5605838b22e9 +PT = 1bf37836370155d39d9a1b3be6f8392e4300 +CT = e137f12a5d2bd249c30f68a4d69aaa1d57a0 + + +COUNT = 277 +DataUnitLen = 140 +Key = c528c675f55ba6b256303d143bce407b450f92dc78afbaf73d0794705aaea4d952aa4968d56a1fe6b4784cd8d35b67e63c5d04f326d0d4c6d1a00ac22361b4ce +i = 2e8d059391282d92b0cd2f4a0376b221 +PT = f36f0d30ff6b985724e22bc3c208f04fad50 +CT = b913f20e7007be7717d77d94d005f588b360 + + +COUNT = 278 +DataUnitLen = 140 +Key = bee5d3d15c1b74893af8d8b8b7907d6d9af29496f3e9c08e6d5263cb01a576847efbc089c060e44e737aa982cc4d48a2afe66ee6f1802badfab41e2c046cb31a +i = 64b2a4e8ed2899e3b49134c507d93055 +PT = ae5a58743b3a579c7aace22cedebaca7aed0 +CT = e7c8d53b0dc50c77922db779b695d0c91250 + + +COUNT = 279 +DataUnitLen = 140 +Key = 99ed353eeead60e84e9b46e55a48c18bcba2f10e44172af7bd5c7e5ee2b16640003c1170f75d3c2d3b6784b5fb06fae6c3763a5d450220b6486350576e2b5277 +i = 484bbbeb92ab8e9f11799e4f3b2459ef +PT = c0efbd830b06715ebf7477af8f89719678c0 +CT = 663bebc3787bea7193b11c17f2fba5fe8de0 + + +COUNT = 280 +DataUnitLen = 140 +Key = 977f8c5e3cfc244517f097f83551362e302d9278b164ab55f7861764bd88b035c718a01daef5417ed852494d095cac046eb11de3c2e5bf87a14e3c0397c27737 +i = 7a7297dadea5e05591e9505e1eb8ddf0 +PT = 723e373e555dfdefdc9ab3882fb2723dd5b0 +CT = 25f116b6cbf2949a840fcd7b2d95202285e0 + + +COUNT = 281 +DataUnitLen = 140 +Key = 8e15512fac97d42daca631ec1d2d66e1156e8cc932a61184cb93070a8520085ff56c51752e479ce41bd34683359f95464833dc77bb3fb7cf1469c450af95fe9b +i = a78880a05b261e1ac0f7ea46dbb1dff1 +PT = d271b2fef7c576c0f24957e782237a39c700 +CT = 48d2dbddea8dec0b9bb0b9d5380e5a469570 + + +COUNT = 282 +DataUnitLen = 140 +Key = 4b338a1baae8fb2a7254b624dba0db5256555258a2750a19aad11e338aaf8d2a4f37a07a45c354726ff990ef13dbbf1733178e60efcba51d30bc492c1b8a00dc +i = e5834cb7452bbe2a892dc97707c1ab4f +PT = 3f1ed6c7f2c3271b89e03f9bacdb4b5a2670 +CT = 150468127ac5e100b23f5784a7c46fb44b40 + + +COUNT = 283 +DataUnitLen = 140 +Key = ad5bbe2562937ac0a37227a3cedcdf2e1da1ecc66a7df7f029d3e1d395f50c7c4cc2fbbddd270835be564f8e23fef5573f59c663b41192382331976a7636b8be +i = 4e0c0f3dfe543e387342455482b87004 +PT = 8a15131a3bbd5c3c255d8f934321c45bbba0 +CT = ee8f9aa85950dfe0ddbc723ccb1264324840 + + +COUNT = 284 +DataUnitLen = 140 +Key = 9d3c86c83d202e7cfb6aeef1edb15b80525c330789fafc4084ed7f23457318dec56058c18fc300ceea8d8465747707679244e70b733367ec86d1a34df6e8c6f8 +i = d5a78ce83d9e20a8508869f48d114171 +PT = e5c4858c797f69ca2c25904e4ab874c53520 +CT = a75f32eedca936c6a54a58486d930faa99f0 + + +COUNT = 285 +DataUnitLen = 140 +Key = 697aaf1677d29f4a32e90227f95c4a8e00a3951b1fb7c27cbf9469855fb8acede8ab2b868d2ea4e0ed3d8cf38e30f29aee5b39abaf7177eeb2e39a14cb1ab556 +i = 3f38031869b92cefbb1eec2e04a1ac7f +PT = 827a5fde3f45139d9d6a818d7f7311f43130 +CT = b0b3eedb094ad95c7c2da20ddef9723601c0 + + +COUNT = 286 +DataUnitLen = 140 +Key = 60fb60ae8e958658cd923ac260180851d3f8d5a4ee3fb2b331dfabb1936b77f7c576b52d851efcac501f85055ef5b66fd2e5b4f2b1efd5f5a99f5a3fa3083eee +i = f1d83cba1e9a212c3fa15d95d726c905 +PT = ef8839ab1a8651de3234404fd8db126ae410 +CT = 60945e4550f1615188e3ff5cef4af2b79df0 + + +COUNT = 287 +DataUnitLen = 140 +Key = 1b1a3d65e7d9b03d27b5cd6f4522b1b47c800aa42f4cecaab4e43d5720ca26ce8497283d83dc84af5e6c0070585ff902a4e1ec7282b26e85761f0867190e84cb +i = 870973d689f12f0400adfce392221ed2 +PT = 8210adfcebca035e71637114463569f99a50 +CT = a1299bcc1ee15c5280362259b24d962da2c0 + + +COUNT = 288 +DataUnitLen = 140 +Key = c3590c84748013c8caa1a83416c739a1b31733aef9fcaa47eaedaca6290758cf133e47b33e92ee59731211597cacd8361e16962ed708953485613a4a17b5d6b5 +i = f689d6635290c61bd0518aa303f62d46 +PT = ca754ebc7d6580d2003c16abb0f5efc39960 +CT = 6c3caa95b14a16d9fafc342984ab6e374d50 + + +COUNT = 289 +DataUnitLen = 140 +Key = 082412b0e0f1cdd3249da3f20ee4a8f55dd4cd98a0e99d109daf451302cc7296713d6f30fc85061790a145acbfa26a0fc42c9f206a3496f11aeb7b2e2fb92624 +i = 86ccd517d1c5fbcdc555f5193d832f68 +PT = c3ab7fefd454c34e5a2084fd17b08b0650a0 +CT = 6151e43bcdb32ca6015eada2a8c60812a800 + + +COUNT = 290 +DataUnitLen = 140 +Key = 693c480066c83a86a4d010eb33bec042ba96f0e3d33bc10e4c94f37947c8b2f862d2e50d3477c8ada8b589008f325bd14830141ea3b2c8e68f7ff099bf2beaae +i = 17827a926443f1d91787dd2cf3b77941 +PT = 3df6f2698e9081105f5e3440025d88926fa0 +CT = 70f591540791b72ecba2ff4dc7858a8ed250 + + +COUNT = 291 +DataUnitLen = 140 +Key = 7046db17de288178dd3f16416e34fd251c70b5148a3664486cc60de4e495eedb00c95db7c2a8ddb925becf053784a57cc2216def6c4528e09f8be2317b7aaeb4 +i = 6537fcbbef263a0370ad5e328fade84b +PT = e193c599300e952829d75e615ec17f1ef4c0 +CT = e8171fb6f2ecd932323feceaf61d73a47290 + + +COUNT = 292 +DataUnitLen = 140 +Key = 90b5f84e75ef86254dcce5476c6dcda3377cafa5f13570b8d03d1ccbfe80d68f45355cecb1ef5666e973b708bd91e38a1dc230cc8ec7dad4ff5b347049cd9a6d +i = ac3a5b8180ce68ce3d1da12870a6a404 +PT = 70c30f859c7fc9af641fc4f5c6859d950d00 +CT = 68d675ed679590dd2fce5deb33f38c9780d0 + + +COUNT = 293 +DataUnitLen = 140 +Key = b4e9778e1d10261c50913cc0554582231b7210b35bb0ccaa9665e2bfe38052b24f38277e9a2756dd0852221240a843dbbaf54b357b001bfe16bb8b0257f1f3de +i = 112548220f588bcd3d90f4d93e747bd6 +PT = 2f0caa713cb98861589dd271b3c207624980 +CT = 190beb3fd7b1051d44d0b7d995022e15b770 + + +COUNT = 294 +DataUnitLen = 140 +Key = f6830e6d1813e1ba1351c972b6b6f5f05715e8cc35529c9a7d3d186e51b825d67ac2d447c8d1a615d5b65208edce0c9533f238341f3cd53c4d67df517147fc2b +i = 43da551912ea9397a07210ae3ec7bcd7 +PT = 8879947569d9dcb4f5383f96452305dd3d70 +CT = 2b377eac5bf94590cd08e382d0faccb7acd0 + + +COUNT = 295 +DataUnitLen = 140 +Key = d68c33a33a7061cb90ee68f25a83ac8d6aa34dd75d62d754edc633460ff3bdf7485a6e22fd584cad03114f1a8d558034d7e1c4cda3b29a4e66248ada640c1922 +i = eb5aa2f837f5b86f6e11a9c331926bc2 +PT = 14f249fc1ed2377365fd75ae53638b8afd60 +CT = 1955d8643cdfceba7a2edb871ad737fcefa0 + + +COUNT = 296 +DataUnitLen = 140 +Key = 8f08436ff548985648e502b6286a395d9feff404c8c524dd4265282c463fcaaab536c93a2e75214fab725e9832eeb9770d15d494d22be2a2171567acedb0f6c9 +i = 24660bdc6cab0c53f1be42875c4bd7a9 +PT = 53417e137498a3de696c07e5c3ea470a3060 +CT = 3088df2df8dbc5bb3c060ab00e4b3f729130 + + +COUNT = 297 +DataUnitLen = 140 +Key = 99ec0638974e584cd12d9575b7e054c51accf6b62fd53c624c3f2e749e1c7b507cdf4ddc53ee70e57345e770f90d539916f83b7dd84b920847566f8658c31409 +i = d11a7a88be8e0253af174c3eff7db8dc +PT = d9641d29933faf86ce1d934c0ce448733250 +CT = 0ad908aa66967f695154e5e9a8d951de7c20 + + +COUNT = 298 +DataUnitLen = 140 +Key = 17f7e2c5e907a6bb673888843035169d90f7f529a5a108b1cc2c86a802cfdddf04dfd59635d174c0770aa6d5d8ffe992d9cec2804b94148e791bd4540f97d6a9 +i = fd9e65ffce55a87e0510733cae36830d +PT = 950832b7cfc55ee22d3ffcade2ef5bf14380 +CT = 7bb7771f31d7aece3000c6a18195a6fd2fe0 + + +COUNT = 299 +DataUnitLen = 140 +Key = 22ee77bbab3ee185e110ae176eb7d95940ed64a3bd8bbcd05733c3d6bad151c1e8434fd82ba5d567c463f30a9036b8514a8d13e0ff72abc75747f07f8de5e9e3 +i = 34701e7cb8f87916078df2293c32ad91 +PT = 5281d0761b1692e35a15fe0cc01b3669bb10 +CT = 9758ab7645cc8db1c689ad94f5c3d2800f00 + + +COUNT = 300 +DataUnitLen = 140 +Key = f9c25eafb7b2c36c42225e87bb5e9b636171a8568d3e21fffc40423de125e77c8ea149f5bfa2bfefa9405091a4df8a76548787028f2c752b02eb2a05cd5af785 +i = 7d95dba38835ceb6ab32457be2ed0135 +PT = 80185bb0b776404e12c83619539450d6c9f0 +CT = f73d244e206a5dca2d0ed4dc05e9ec4f7550 + + +COUNT = 301 +DataUnitLen = 250 +Key = d6b58f6638f64c3692a5b53671c5d51e0abf5169437aacb363fbcfcb91f9f6b0f536d0e12dd662d3151a77524eae5ad5e1b9cf860199981edd09ccf99f86fcd2 +i = f5bf2260198883d03b133810fafec16c +PT = 8b81371f87661e49b904c8272def606717c3050c125905d23a2f0c142132ee00 +CT = 84a7f42be588fa36442d33f098ec56e554a8629d76db46d0c516fca52c9c9000 + + +COUNT = 302 +DataUnitLen = 250 +Key = fb1482d6d0b912c7710296ff5795a7b0e2d7e6e3c369bfe51d7b851b0c6222604c5adc70e8f355fb4166223509bbb6701210ee68d43e7c7e0012eae9a5f377e8 +i = ccd6bc58ae79270f6df7b5bede984b80 +PT = fe2f2745ab0ced7057022afb12e23bba31c13f526eb082e34ce2bf14d745ac80 +CT = f86acf3fd43dbb5225d86f5648e2ed0910494fa567cdd45f226a340ce0cfa300 + + +COUNT = 303 +DataUnitLen = 250 +Key = f1ea1143530d48f29bd9fab40449abf9453705120f58fdf4de78faaf654b8a822bd39e5385811cfaa1c5e2b83207c6fa6a2b3ccb3e1c25c3bb51681aba51a60e +i = 5017833c8f0dae7a58895fbfcc814894 +PT = 7f0dc1466115aeaacf228ec70e74dca168658d63503ae40827aef6288a9e2900 +CT = b908a7c3c1b9be23e6990073ba3ec736700d05d1788d4d35c1b8d0fb13665d80 + + +COUNT = 304 +DataUnitLen = 250 +Key = 37d43cd79937dfea850cb1c631b57f82c600131769b4add8667b60e22a198cfe45e887526ef168f21433779d0b302c09ebd9562bddf4d2f5994757b5c0be2435 +i = fec25d9cf08a02ee3c2efcaba150b314 +PT = d52bf1e08093fd35d2d298ac447c889efe20b4d8b7cfde85ccea02bb82a3e380 +CT = 8fe17462d6823649a4fb4f36165e74cbfa4b3926d8ef2744194e01ed4e0128c0 + + +COUNT = 305 +DataUnitLen = 250 +Key = 3dae91935d45c998e0f91ad27801d2351e3739ca6f3814add49e520a7f5b76798d95e560cbb6836210f9f45dfd40258d6d2a1e104b5c1670da3a63e504dab314 +i = 5b1aa76fb4c45438d415be44452c551d +PT = 36bc1ca3cd67c60cb93b34854fb084365c7026f6fb6ec245c465fd8590edf000 +CT = 914bd9bfbc9ff5234d99444625ab54f3862f19e3c36546ca559333e3dd739100 + + +COUNT = 306 +DataUnitLen = 250 +Key = cc5f7e7cc41f13b05658bbdca5a110bb048bed6b9dbc6effef577d6c3d59d7e4b78611dc532853f3680fd46734c7ac3d42e09b078936bb1fdcb358acd1b2e35a +i = 03b47104c2aba9bec1cd78a138c00349 +PT = 4d601ec59d2caa4224836d2933d5a1a588aea69a5cc951f343d8f38a30c7cac0 +CT = 2efd81b9990ceaabe049a9feebd5b071092202686bfc126508b5811204270600 + + +COUNT = 307 +DataUnitLen = 250 +Key = 445e58ad726b79020c394465677ef537de2351971310ff4480000337b3b56d590ed409cc5308514e03881cf1fdc2d5ce1fbe9491ca25b339292d93f353778f15 +i = 337850da7a9a6797b900fbe38ed1fa3e +PT = fdc060db662e55db3471c0b23d67a086d4b1255b461eecf1ed5c31adee766080 +CT = 1d0408ddc1d11da6a81cd4bf8ec3b111b1a6fcb972e4171f5027736bf7c34ec0 + + +COUNT = 308 +DataUnitLen = 250 +Key = 7cf5d6989a1b67b7059756591949ed221a9575b8dbc4bbe36a80481fdc880b6b7c75bd23404a37df28277451dc5261ec586103c5e29a92e7821647ce6f893e81 +i = 513a603e1cde040c33fe5a020e4070fa +PT = e64b9e3b2ea6fe3338a0c808febb971ea5a7eaa87481475684eba40c31daa680 +CT = a45fc68be64b23f80f9e8d1dfda16e522eabe820463958f2a520a7ab7e3842c0 + + +COUNT = 309 +DataUnitLen = 250 +Key = eb4ba622e77c15cb4bc5d0e87e463628cefe0a57b7eaad6a98e92ef84fc4392cbe775d34c58f20cd871f3e8443353825293eedd5cb27f5f838c11af8fbf90f74 +i = 4809471996251e8eb8e68ba80288c85f +PT = 4cd6317ea486a4dd2833ba1c30277097a1c3060a72ef0df11e0b5b7365808880 +CT = c05a1cdab76a34343cc67b57e27758705759b69d8d0d90029fa05dfabc35dc40 + + +COUNT = 310 +DataUnitLen = 250 +Key = 494306571d295aacb313fa2242077fd74e349ec5c9716ccd7c9745ea7fcbb25ac7371acc692f8f4d93909f722abe8db5a1871f66c2a9d5f8d03df8067a446d14 +i = ecaef0bab91c57f7ab8417dfb06f1fe9 +PT = e1463242a2c9ff66be7c0156b5f83089851666bf23038b74318f9349c67e9680 +CT = c435667713f38718b75187ef42a44423c0ee2926104c1aff2711963ce5e8cec0 + + +COUNT = 311 +DataUnitLen = 250 +Key = 5070bf0401a1cbff66da5967e003b615836c166cc52758959eec0587866f2e20539c4f1ba8c75af789a74cab7d07d5523037f5bcdad4f62df1d962126e7f9d88 +i = 39804d933f1277b936d941f444a4600a +PT = 5d58b5fe36fba3707f92148769dbd7160d3fe393fcf758f81dab58a89f321d80 +CT = ef345dcf21c3ebf494021dd9b086e7d395a2c35d23d482de298258183921df80 + + +COUNT = 312 +DataUnitLen = 250 +Key = 977cf67f7f6a66ea160177071f9ed1bf1635ae98ccf48759d75ccf30ac054c0549e1269ea25aa811487485cd52eecf9facc5e84079c819b0f187b6a57556aee8 +i = ce4dd4797b95afd9614882e6fbd5f258 +PT = 0c627eb1aa9bd86a8a08974e5b417aaa324c3469de73a4c123dbdf18bb82eb80 +CT = 274f5fdf7ee0ed675e54d325db3d5f9bc90446402150e2c9a054e9c59c326c00 + + +COUNT = 313 +DataUnitLen = 250 +Key = 02e52c03e8e3ab40b9afba46df73b28e41da0776002dfe060f97c5690713e78627e00b416e4fad36f90847b48a8ab2c0d5a103711d545b08da5696dc30751ed1 +i = 347f9b70c38f3f0fcff8271b62359fd2 +PT = 640414a14b5787c48247e0e90eeeec6f79a35a9b50466903fa4c806ce16761c0 +CT = 0aa07d869fc80f5dd02aef1b2edeed866b11dec857a740f38472dfd0b64c5940 + + +COUNT = 314 +DataUnitLen = 250 +Key = c788ee468bff902f1242d22271d805bc0aa39cce169073a3a9f12ebc37d6e76516d524ddf8d7fe101324430da1746e2466a0800bc95f5ab4e20bea243f57ec59 +i = 15f41b86fe2bc7af02b288ae65639c37 +PT = a99cab890eeb80d098f45f44772023e9b91f17ab6f8fcac6046cb42db4741240 +CT = 8c8b794f312f7c32c83858c37beba61c199ca8e942004c1b4be50ddf26bdc040 + + +COUNT = 315 +DataUnitLen = 250 +Key = 9de61f07b082d145e6be1726fcd6b946e2269dd6773e63290a33e5c14d5f98842376d41f865c68701014213d33a3a250a6be6ca8ec6b3ec277ad9fd566706081 +i = 51d54ebc06d99cf7f0790e985b464f6a +PT = 0a0b39458c9e2acbe6e8ba716525af0d50a640de83a4bfd84a73e09b99ead7c0 +CT = 2432743f9318af93b0074d414d5f63717379e8bf396e19ae20d3de8198dd5240 + + +COUNT = 316 +DataUnitLen = 250 +Key = 8fac3ea0955abe5d681ad5e5a67cb26180ec1fd1a40ac9c7c0f2de9001afbead55951e6123babee3cb34600f3e7828bb5f8d49b669a719f1a67a4d05368dd1c3 +i = af652322fa9f8ec32a0a9c716839b268 +PT = a998d6dabc9e4d4af34ddacdc881d56170ce2fe42e9ec87ce72ee73c9cfa3640 +CT = dc6ec9bed855ce0231bedf5d74052523358bdc4671764fcc8df19c8c3b110a00 + + +COUNT = 317 +DataUnitLen = 250 +Key = a97f2eb47e95852a5909934ffb3ed3f07367f8f88943525a95b9fb2cdfac334384b5a569d9fdaa902ee864deb4e69c4091c306408dbffd813502baa1e6f3c0b9 +i = fb9652bd44631d728e502a0aee9c76d1 +PT = 95d8f18c028fc2dd5222bce0c95879446beb66da84a3bf3af5366d4961f78680 +CT = 96ddfeeeae4fd3276ddbe3bc1c9144f24f061ad659d5cd533ed14c330a160740 + + +COUNT = 318 +DataUnitLen = 250 +Key = 01d9fee1420d2cb15af7b3d9ababe9adc6a0dad8d78375b0742a47d85c4e4591702ce94270e821a1154e298f9794cb64292655541a716f5e653cf03a85ccbf9a +i = 9f79c7b5f743550ceb3025b0edb8b563 +PT = 7738e1b9ac2b1cff7cf6c1057efdb5e3b74b34e1653269366c575581e8a68340 +CT = f2e5db7f05e1def5ac7cdfb60f9bdb7c029fbbf6497c3df43d5e194de4a75a00 + + +COUNT = 319 +DataUnitLen = 250 +Key = 0f23e766d943acc16ffe34c450c1b3cad0acc35540937b17db14b926936776e137629e25917fc69cbdaad72d62dc95baaef6ddbad6017a153f10cfafe9ad505a +i = f8bb6d4825b7a18795056648ccccff04 +PT = 248332ac7e9cc01d8f21324e5a86df451f924b2d23dd63976443e15f9b48f380 +CT = 675c9aee6303b476273feded392b1b103e210a2aac7203edaf2e7597ca6fb5c0 + + +COUNT = 320 +DataUnitLen = 250 +Key = 29a8050c3496efc55957b8daf99391a631ab5a8da8f63fd1f94fa9af4985b30bba80cc6e91b240818ee241d99e08844adb53b0bd5a56085fee1d9c33e26445d6 +i = 807dbdb61b2e8ad38e057b1db7289445 +PT = 3737259896934eda3e59e0b9fe7e8bdfab9dad54d73166a664f7a5acc8e8dc80 +CT = 3d2a0c12fb8f8186cd50cc522be8b16138e7d30c92ff8903d6121df66484e600 + + +COUNT = 321 +DataUnitLen = 250 +Key = e6639d3568690d413b1f4c040180976c7f3ff26dcf71f7c357b27d8bc3214d845e89c6efa4e869960fd6c2d7cf4e1f503bf53b73a7710825048d6033818babf6 +i = 6667bde04e90b460aa4ed7dbc38f888b +PT = 8411f0efa5eed8d3b709125050e2558dba6efcf266908c9d06211c2b39754640 +CT = 1de747a949ac5d9d3644826a64d09c7e02fa1c42d37973b1db6ea251953c61c0 + + +COUNT = 322 +DataUnitLen = 250 +Key = c8c9aaf581cffb2f8b8a92cbdb276e11601b695c33ec94f33ec230be98ffdc7da9d1a6ec358a97606cedad44c61500a06e76813c0306f003a6e8be64e95bd374 +i = 1d2b69c28a0ec26a21d6b08ad7a3d79c +PT = a9ca332442cf435ecddca9d24742db620e1c3c9824c643dcb14d169cb73f0540 +CT = 37a7d100c11013858cf6d300be1a922c7271cf03e487846b957234990b57de00 + + +COUNT = 323 +DataUnitLen = 250 +Key = ae9dd13567d0ba27ece34eaf96e48fb62d5ffb48c0e4d9c3d44a7c9fdec683eddc3ba0668c372d797c59df72f1592320ed3d35a603e10949795c282b68d4eb3f +i = 5b32ae33689a079383513e460c9c8d2a +PT = 1a4df73051d7cfcd0ad48370ccd88fc465cbcfb611e3a22b6e82aa259ea8bc80 +CT = 7efe8bdb59ddfac13b1ba76cb3a89287c894ec99d4c2ad4eef2140d13ce42000 + + +COUNT = 324 +DataUnitLen = 250 +Key = 794a44fc6e3a2ce7022d5e639ec2b93178d285fbe2f6651a5ecd57ace3fa04e01998ff0d38bd33be3e4b1221e0c78d4f003d261b5ed78b3d50ff432ad7b3fc2b +i = 9cb14929273a3b170cc01822e0c1f1f0 +PT = 1f734e35aa0f8645c064d11be983d4c2b48f82bf7ef2630f1538507324604580 +CT = ac3a551733aa2d10eb137322b8ae8bc97cbfe2a505843cdec0238567055c2600 + + +COUNT = 325 +DataUnitLen = 250 +Key = f6797397f36a08db4dd230c20ac5a7aa7c0aaa725eff133871ba6f6d9b396d172baebc071729acda9d08fda9b58736c11656303ce4edeeba6fd67e34b4faaf49 +i = 347e3a588c3e5e17b59ede990b179cd2 +PT = 44944c9634891d8f9e05dd1821d7e82ecec8353a3ec33a562ced66a05b0e7540 +CT = d8a4364c7f0ae9dbc16b8a4d35b82799268b9efd60747057005181f9325f5600 + + +COUNT = 326 +DataUnitLen = 250 +Key = 93f1e10ad914a88b240b3c2066a4f4717d214790c80e290e5a9bf10d75aaa7883ca6dd93c6f9a5fcbd0fc5bb18e62447c835f83e0d5275e36341ad49950baff4 +i = ea6b193c2f6bebc79dc163b6ab7c70a8 +PT = c3ae335182d0912998376e5da4690c52d5ad2b330c813f285bf934bfe578c900 +CT = 0044a8621b77b5e66f51401fb5c9e17fa8ca7638ec2afda565bce19cd57c6e00 + + +COUNT = 327 +DataUnitLen = 250 +Key = f7fe2a03ea2534562ea8c0a678a3bad79a26292b0d7868aecf9ce9bd36e44bb8ac3e9ce05aecee28232a21811d7d62f7ae2751bee633e4f20fcb832a83d4afd0 +i = 1bfb47d74904a85bb87d126e6deb710c +PT = 7e210b19209851fa903d9b089536cff346f26cb78d480e329907bc61cc1585c0 +CT = 3d139289be29f97079bc481d1d9b27c4b4af508890922aa2cfbcee7673458600 + + +COUNT = 328 +DataUnitLen = 250 +Key = 6d5f28bb38f2e2a87e926a0b344871ee8b859aea4b2a19dd942761b98ff5b5a13b7082ffcf71c2da4e32dbbcdf0ca21a149ce33ba04b645da7d5d98a60e9406a +i = 077d6e33ee7f31ad02843c81a95d7437 +PT = 98eff98a4c1bec3e5daf375d246fe0c65e5064a919275c9636afbc91ab03f140 +CT = a70d830424119d94bd7559403e423a1b44d254bf20fbe74a3e883bcbd3692780 + + +COUNT = 329 +DataUnitLen = 250 +Key = b156cabeaf62deb91fd484a617871f77d176b97e62fd4fc1b5a7186198954f3343a6add0356320937932fc7f705b5788aa3760b63feaf545eb644bcb4258fa11 +i = 3809c69eb9a091ec19fe0a9a9796b05d +PT = 89941b596f34f90619073b22fe57357f1ebcc51aedd7ffa0560443b3b2453800 +CT = e28575488d2aaafb887d6ba6f2388b29d84eef1944ca984bbb61015888812a00 + + +COUNT = 330 +DataUnitLen = 250 +Key = 6c5a07362542e3cc9c9a0ab1f8db42e50cacd657e32323b93fc49fbaf37cf78350f9d8b09b85209f2bd902ec4ce10175905de6187d8f3123250cb4b7110cd5df +i = b532ccf4a8defbc81a314171ae51faeb +PT = 9061acfd8353131861b9200f6f555d84e3da680d0807b6b32db994ef2887fd80 +CT = f2d688eb6d08ddaacf389fc9818174cba42589a1ead38406004ec94b8c761ac0 + + +COUNT = 331 +DataUnitLen = 250 +Key = 69499dc6f6de3a6d1774b1b1e18a3d7a78c9f776155f10c47ca9fb5c83b39aac2b21986771f96fc87705812217c8f05be281c2b3c99797ae7269af05dbc81e3f +i = da9058c82ea79016d8d95d189c91b40c +PT = 9c298fbb905e79132a9d8e2988ff6d9747e70669f78b95d8f142484a7c01d740 +CT = 9e013fc23ec5db5bba1a964459e6ff920da164b486a2ec3c36e9bde344f5f940 + + +COUNT = 332 +DataUnitLen = 250 +Key = e1842b23b0eb6e85fff54b23329a6717f1bba3c881176db786a76cf5e70c2891756df54eeabe59357bc884b5c7fd6264dea4d7f0283c4991bc00ec946e63d2ac +i = 894f2bfdfb5267ccca0f2ccb249488fc +PT = 6eb4336b9ef33adf1c55008e630faeda8afb3938097a4c50ddf9937365e90680 +CT = 56b77186e30f850e39f7cd68fc525b38ea5423089d1f3154793b8e720e647a40 + + +COUNT = 333 +DataUnitLen = 250 +Key = 50b3b4d5e066bb7448ab2af4781bd64b3503c17ba0c98e34920af718c411b2b7ef158de2e8e2865db419971149dc8971047389e11bf29488ff311a50829b6e8a +i = 93303a49704bc2da9a67876a9fbbf277 +PT = fd9b29b5850d53dd495fef44aca8388e30a54c9e0b7255a754ef75ff94e09980 +CT = 6129667aec5d2b3ea0160e201cfb176d5afffb8b8670ec3f6fc1a7e5240cb880 + + +COUNT = 334 +DataUnitLen = 250 +Key = d75f6acd243f3544700b353a370f7ace99b1c8971751199dbf5efe9763086ea46b85c2ba76009f06cc912bfad335fb4725d9fb7aaea8bca391cf667586447a13 +i = ff68cef50df5049c526208cf64091c6d +PT = 069ffc8e06cc205f631443558dbf17460b7c936c28570051281487393d75c800 +CT = 0b588b0e5bdb785538aa49425bc6c4e10a4c6ebe5fa39090a8ac8286a0575940 + + +COUNT = 335 +DataUnitLen = 250 +Key = f8843b006a0e5a33813ef267c24cca514f9045e938754f4cb263ae5ab4d1151a4c96501ae67da472895078685425090d97f46f689978f1480f2c5e86e6723c5a +i = 312287eff478982fb37e79859c38e6e5 +PT = 60135a9641eb5c9d35059806bdbdc42f8bdbfece9438a1b22e983e80b5d96dc0 +CT = 9f1f9d81374fca2656893dbd6c2b1a32cf7e8498ad188a877a0e3e517d4a9900 + + +COUNT = 336 +DataUnitLen = 250 +Key = 5a43451cedf6133607b14a9878abe2224b3cc1fcf0dd6d884882b1d3c563a9f317751822e476733d40a0255a2ae9e632308c803050b8f6fd5b255c531ac87310 +i = 407c11792c75adb6896f77a1f8f7c57c +PT = 6987a7e9888328859555d3b14d0d42455f2705c1a621886ee8d56fd71ccb6780 +CT = 36da8af4c706e13ffa424509c45baa9fabfe809560c5eab511a834ed89cf1940 + + +COUNT = 337 +DataUnitLen = 250 +Key = eb9e0cc52e280958eaf15c20a75b056d524cabc47ffedf39f9f8ec9a48a59a8a4085e5d22b4f130e85ac8a04005333787f2ce2ed4e6657077f46a53bd60eb225 +i = 56113dcdababfc1b7d100c90c6dbac81 +PT = 7c3b67655ee4fc08a03b76a612159ca4e493817ecb02a2f1b01af68262f59340 +CT = 45afcb17ce8b6aacea54d8ff56bb05462df428a86880202d6a0e0ebb2eaaad00 + + +COUNT = 338 +DataUnitLen = 250 +Key = 90fa13d1d31851da978e15db564d9a75bfcf8a4edd99c0f61e04f60b3ef8d7d16020dbc575515118f6b6ab959b9fcf0768b547cb87bee022ff64c01574833b24 +i = d0bf319b3f2e61013f4bfad265f39af1 +PT = a4c6d986388a81f2156f19522fabfbd9f547956ffc2491b82bb9c0ed6faf2880 +CT = 3a0106aa4a63977919c464a2deed17acb9a9ed76abc70a50140a9b5080e98000 + + +COUNT = 339 +DataUnitLen = 250 +Key = 4af266d5d147af89614665b0b9641d836dd86aaa1acda8951b0a111f4400caed93ae9697bf6f85e7aa8479dff764985fa8b52b35a74f5faf13c6edfcc075bc03 +i = 29566f811c5b6a880645479ed7f31e6a +PT = 004b39a6beef18d38188071752d9a6c1f2b87e76e9c33d151b6e3d25537ad580 +CT = 7bbe6055f558fa224db423dd9e0d2adff51b1d72e0dcb5d83011bfa94e1a9d40 + + +COUNT = 340 +DataUnitLen = 250 +Key = 3baeaf187df83df87712ef24b1615e498efb0aac3afb693eed87ea8e2777c27f0d0df2b6e8c168352109072f6cc09fe841f9a563772972b1108fd2a96e9a388c +i = 0d2b81509a7c102f4f0367a53c355ee9 +PT = 2907ad6075a0fe0c2e520985a3702c5aa38721bd8233c9d8cc7f131d3b0b4dc0 +CT = d18f855717ad457fb790774910d4a82f75c6ab684c04f47e7bcf40864ed1fdc0 + + +COUNT = 341 +DataUnitLen = 250 +Key = 80dd7ef5823d15ead744eacf4a08fb519dac87f6db8f181e6ec91f2d61d2797eebf6079710ce51fb8c4ee9783adcb6e83b8a2a9fad07be7f2be00ee82efec623 +i = 36e0514c917bf5527c6214c510d0833a +PT = 880646d3e1ded109f19ab9cb9b2f5c170ec213554aeea712deebc8999be599c0 +CT = 96b1963338a04af251a1296fc6790e82c519a14056ac71816c012fc72f965ec0 + + +COUNT = 342 +DataUnitLen = 250 +Key = eb443271073787a9cb653b2e9d965ce3223a0462027d9338a46166236c40b842d4a9cb86d48d0a94500db5ea1ff727467b2f041db0c672beccc1bb493ad264a4 +i = d99c5400040d658fd77150fb62ce9f74 +PT = eebef4f1430997de8edcf7175f7ada54ef9871eec26fa0af9496f2e2b872aac0 +CT = b4f8603c5b1ba5b72b5d018e3282f123bf6b9952a746be9cd89dc1c7ccccb800 + + +COUNT = 343 +DataUnitLen = 250 +Key = bd3bd8dc8792cb793fd8dc94b727795c278072e23a095f3b11ec6ccc7e4fed4e941e8eb933867730bf8322f26b30e05247d97d94211c9f99f9c4b73ac73b3452 +i = f74b3e9467d50743cff25389a7512619 +PT = 50eb0646b50c550734db7e1aed3a8aa5c9c1c7c28049c073cafa93bf8ee0cf80 +CT = 0f354473d245657d98c57eb67d9bef70d324aa99059d87613aa3fa7e70d62600 + + +COUNT = 344 +DataUnitLen = 250 +Key = 7dfaef4aa55ec260027c0654dad6569865e6be224a392b6497827d66badfb76112e2fac246fb1ae39bb06bb899b2c1c09bad26c1c837f83feb1a6b3c81d2045c +i = f0f5e54b5c6cf84c2c900c12a369d61b +PT = fe728b0c8893f0419e62aa4d0f7c48b82b10e59312485b2087a7b69301ac7ac0 +CT = 83341ee2b185479547ce6270a772d921696896773d8e5bf4fce7702e71845940 + + +COUNT = 345 +DataUnitLen = 250 +Key = d2dad4ffb4560b19c719cb5ffcf97b6bb8f52c6ed9421df3e6d834272292a14c6efdcaf484c1474bf8b188492479b5d049e734ee8f25f96f331160bc46722396 +i = 8545945143f6096856c72aa521445e7d +PT = b222af6e1d5830f922566738ab01e03e3dc935164ec8bcfe5f8dad9361d18c00 +CT = de6fa63037181c6b6058c1ab8a5f2a4073008c9bf6c03894dff15111bdf71280 + + +COUNT = 346 +DataUnitLen = 250 +Key = 432d3ece456de22592d6e773e44c45d6e064fee6e236b61d096b8175a15b3be8ca1c987de6736f844e03527b420f5b8ad718bf8fc2936509d48f73138eb49693 +i = 519c2ed44bb098d152760d94cf5e19a8 +PT = 12d09edf1921f18bbac0a90adf07efc67fc744335a88e8e08025b68067f05900 +CT = d0673c4d5577eebc5a6efb2d8bc30915cc06dbe7e60008b893d1f8545f61c180 + + +COUNT = 347 +DataUnitLen = 250 +Key = 4720b83ff60f55e66d03ec9abb86495e0f6c8500e267423b570c33d316615bf0718e8187b73df65b1a72e300a1b5a3c075da7a768bc02b9b0589f17aea85e4ee +i = 78e5888dfbd4948a19ee57d2a50ba7ef +PT = b88d67e73d87d2dc9d651412bac5dce242a1f008aa72574d43f6d3db924e3800 +CT = 7496adbe1ffbb601c6a79f4c31df691720a6dfa552f1edfaf14c697ed1d33080 + + +COUNT = 348 +DataUnitLen = 250 +Key = ba0b33fef0e42bc18d60c36ad370aa81c5c4c43d0e26ef715ddb358bdf4d9a0d676b150bbfc9daf97dd69b0567c06d505060ed2e596c7b30e09db3be82d2c726 +i = dad76216de6dacd86f21cb139a3ac364 +PT = 120ccf421ccf276d475661124cad2e0d795c40c136c3ee37bf727be0b91ff540 +CT = b0ae7d489fb3dc1ab82baa1eab679d411557689ef2755c3188faf8e3b8e7b480 + + +COUNT = 349 +DataUnitLen = 250 +Key = 56880873b7ec5b5d52053a903835bd38b8df3e8304ccd0bb1e3ddb6576d2645ee72e65190abace2dd35920a540cc2a07e52db3e3a7a5056fda2fc8147887eabf +i = afb92810b4860c1a7b2b689ed9c2569e +PT = 042ad6bb91aa622a9d3d913f7014029f0ea491299ccba9c17ec32cad7f07f380 +CT = f0219911ca38e50b833b6414105f635ffce75fa26ff1ae2a34772120a9bbafc0 + + +COUNT = 350 +DataUnitLen = 250 +Key = fdb656a9347468ee4a6358bfdb5eadc371360ea3ee50f4043278bf585d1edfe735dbbcbfcee55b0af13568b71a72039d826169bf4146c9dd15ae029469d2a579 +i = 91a568d8ac28261d5abad11946e6a0b8 +PT = 5ca05465d5be554b34a4fc79750b8eeac3c9a663f7b2cb540d9bdb4aab6f7a40 +CT = f823c5a7af30c448f48f1f15bdbfa11762c593d6dfbddfbbb31851b8cf9b4d80 + + +COUNT = 351 +DataUnitLen = 250 +Key = c72245c93f5059ab778543d716fb7d38b67c2c155893ad7f241065b760091dafc5a61e403f67ef1e6c1921132df0f9666c80b62d15f089184db89603f1ebc771 +i = f8afc36e0690d1ab3313aed352a8bcf7 +PT = 5239fa0df5d0dd26578532c6069cebea8fbe4cfc78d82bf3bb10bf0fa278bd80 +CT = e1172dd5c6a2948d44bfe0716ce7fde56fc22c5bd38d27436bd51c08da95ed00 + + +COUNT = 352 +DataUnitLen = 250 +Key = 3fa67c04d9128ab4555d776216f575415ab236b49bd6de855d37ca207f1a9739273dbd2e36cae234e0603b5587402352b13ef60637ec2bc6cfd5bbaf3a95eeeb +i = d2aaee33b586b33ffb495f8cba9bf150 +PT = af4aaf0ba5ad41405d20555d5fbfc458e375dd511d641afc7e62d60a72d97f40 +CT = a37f722d1b4d067974c4beb26c97cbcee09fc6fbfb46bdfb108853e548afd980 + + +COUNT = 353 +DataUnitLen = 250 +Key = b5676b2de0c5a218d22cd617f7a94f338ce606b784e90e30db6755251176fee040d9f3a7915d505225741441aa15c3ccaf9890925d1aea7edc7b34e7b2f1a300 +i = 88d2ecb603347fd90fa19053ffc663cb +PT = 17382ecd1c43481da8c16515aeccfaf45995ec72b38bd2ecaa6cb9818c62f040 +CT = 9438332248fd58b3a813b5de385a0f4e205b3e32459b8e8955fad154d9de9b40 + + +COUNT = 354 +DataUnitLen = 250 +Key = 61b4a5b51f32659920d17f7f63310db8708af9053eec829b0d71d2f37bae3a3ad047e7486422acfea142177c291fea492fea4932581d96ed766dd38ff60712d4 +i = 323704a4501548c74bd50134fbd963f0 +PT = 4d94a766d687e2d76a5d0fe06d0e83541c8795947deef1a425ac7f58d3985240 +CT = 316da4938f805700bed32e453f2e3d293fbad6ece644c334a0c95ffe0498df80 + + +COUNT = 355 +DataUnitLen = 250 +Key = 7229a65b9c5d52ca9fd31ff7e32308b3fa861ffe24d155fa4edbe44db32a53ba1f4314479b8e91a52cd28140305263cbdba7ec536f36a42934716bd01f86cfd8 +i = 75ddecce03db2fe966b415811850a91f +PT = cf8c4a0f0978cda2ebbf778186bf6e52d5bc682d1c7762caa29cf7600c39b1c0 +CT = b22859b75fb17e89de5503da70604dd1517fa4233e13902e3cebde7119f9f200 + + +COUNT = 356 +DataUnitLen = 250 +Key = 05bdd701b453d4d8e0179c98376847346b515730cd7343ffda7d809682a38d73ebff86dc365a97fc1701eedfe6da612180c01b3d443445fb6e91823dab5874b1 +i = 1c506555a60662c60b39b026c906cbe8 +PT = 4e8f116dc991198959818b116a28ee5c7de7d98f60fe078341e17801bb2218c0 +CT = a3a11ba09f88a330a4591ac9042112f415b143c6400bf07007d35b31a921ea40 + + +COUNT = 357 +DataUnitLen = 250 +Key = 5e9998c4afa60a1a0701ebe23caa24e166419badbabf064f4672a83560f532052c491b74e8b61aefc86bed434b2e9d7e4bc349330db022313645bf701a823f02 +i = cc54b2f5d8a83baab7dd1374542d0174 +PT = b78f1dfa089fbdbb26d01915ef27853b36a85b7eaea42c2288a0680314664b40 +CT = e207c0b2b0fe530724ced204ac224b9722d9e5ebb8684d1441e88a38f3086780 + + +COUNT = 358 +DataUnitLen = 250 +Key = e49b4d2ee25851c691b24ce40e9ea9739e248410d649b7e250cbb7fd98d6a659e80e2f84121b23599dc29be114370f442c5bf66e3467fcc097e2abc14efc5817 +i = 415b14fcbdda59ce48b78801524e0ced +PT = 31614ae3aa4fb98d89c7fe4bede017054209f8e382afd083eb78a27e75f59fc0 +CT = f66142ca5fcb6ad28e58f9a962f4acce060f2c5bb65f42313cb5dd2b44ff3080 + + +COUNT = 359 +DataUnitLen = 250 +Key = 168e81745ea56e5b86a4e9f9ef07eb52c5933f6fa20a25f2c2efc66763aba0486b0b0171fb5f5002ae8466a94f91110e12fe148116799b0cb1e1b2eb16f48db7 +i = 0102dd8fb6fbda700e253b0cdf055047 +PT = 416144b10dd1bf21b580cc14a411ab53998eeb3e7a2b90af881863ab6b31ed80 +CT = e90cdc5719c648f9c8ade3c62d96631e220d1bd83996de0b6652d8d09b873380 + + +COUNT = 360 +DataUnitLen = 250 +Key = 386c519e9f4bbef31c7b02994f0fdf3610d5165a44716befb3e84e65d2e82ae988e36beec1a508b2acf7752372e3684e2eb7a23ff0f2dbb1876cc2e0671cdaf4 +i = 79cffd289202bde203f7a44733d2ee60 +PT = 7345ea11216a550c4037099c6bbff2532de3824a41401d742090ee58a2d1d1c0 +CT = bb7e528d950577345c1d21b538ae6f7937d80028cb234fc6e6a878b666f832c0 + + +COUNT = 361 +DataUnitLen = 250 +Key = 944850ca2891a11a93671aaa8003fa6d36bf374889d184517de15990c50b46fddf94331859bd3fe155b5790283aaa610b43da933b9e61b8cfd6fae5f190f45d8 +i = f1dc868c4801754aaecdb41ba13336d0 +PT = 45bfd05f24f68a53a25b57d14fb2e2935fc2dbf2661241366b9c1e05e2c9d900 +CT = b697f1216c14c5b99f3e9c61c84bc9835210249b1947e76ec6d1bb551edbbc40 + + +COUNT = 362 +DataUnitLen = 250 +Key = 8aa9b0f74ae5c33672d979caa48964a8bd4922bcb6f7ef5d470ea7a4ce474e59f660bbf1ca588a0f346a68b10384a39c64288afd53cad07a96fb4f52dcc8da2d +i = a6885e697aaf33e980164e522d4234e9 +PT = c67c223ed19278cff42508deffa6ce548d949b2c8b38c231c897e2ae5832fa00 +CT = f39e38b117ae3d818c7c28ced2b5c77d4d3eb207f40db349c9e1d7bb4998b180 + + +COUNT = 363 +DataUnitLen = 250 +Key = 3153ae848731003efd158895fccd8e350a9699baae2e8bbec9e35c64bf9207c886bfab67240079ccb150df0b3727e9c053c67ccc76d1bf263a80037dc199a420 +i = befd83effc962a3d3de958ac9a076ecf +PT = 9f67b879407548431590c2871b83f9162b0e18426a8dc49a6d160337b0181140 +CT = 61859490a93194e05ddf4121c844e9cd376400ca7fee9623e43977e37eaad740 + + +COUNT = 364 +DataUnitLen = 250 +Key = 5623fe9c97fb73e2aacea64cb0223238f66e8a03f6b10872f6f4ef116e252ca111355194b5e4698b6850bae32fcc9b025c904c39ed0c5dc702c6bd5a8d71c7ad +i = 1371b824cafe77cab2cf5ced52a59143 +PT = b5ba4bd289f5bb1bc7668089d2998bd660653482732b22a46b906aa6a2d4dc40 +CT = 6d7edb97f87c9481d9ef0961199e1293453e9cf8d1063b275b4714391cd84180 + + +COUNT = 365 +DataUnitLen = 250 +Key = 1fca6225b30daacb7c06b3ce9ee9a5eb49291f72e84c01cf244a9fc9742752a4641daf9f23d19be1688f624a9cadb3196ee8f5c82109b64cb306510b5b5dd77e +i = f949ef29f0ee0aa2f655dbac326e3c82 +PT = 22414ab022deafc0e74e01cd695252a0cc4c775da14f114cc4084270e5a8c780 +CT = fc3d3505b267106256929a480912d3c8098831a5ffbc0812cef1278177d50240 + + +COUNT = 366 +DataUnitLen = 250 +Key = 454162053e89a75fa07b6d5e37fc3b5470fffad6166c07c2245e67f2ffa12287fcf005dd01a030b5abc05e7116cd7f4b2b7bf51ccd1a3b51bb4b028f4392260b +i = 7d2fdce1fa91c308470eacebb2575183 +PT = c17dd21c4ea417a23714fc8a9b3cb9f241b361c4c9ad2b40715a5cd7f05bd880 +CT = 67a043f106ef31a4a20449d2a2e9806cf49b37c93e847850964697afc76ff4c0 + + +COUNT = 367 +DataUnitLen = 250 +Key = 350b64cc0111cd4a090b369131be62711c7b03abef6e1b224168bcf18ea8aff85127808ef66891d3621994c782bb37d35cf455fb60a1e47f282d1f00b73e3fd1 +i = 6cad13a2a542c347fd57a4bbacc34932 +PT = 5432b8c12edafe777af694b00b9a2b4e845752e95ba380ba429193ddab717840 +CT = ec29ba969dc67d05e2ffebf38a6634776be6f0c920ed72d2a1db9ad1150773c0 + + +COUNT = 368 +DataUnitLen = 250 +Key = f236d1526f41d19670d390ddab208b77efb3b65c57b9d91b6622654b89007f8fc5030cee62ab7052c9f92375c7d22e46de1579a4667027dbe4d7a40da7a89c93 +i = 720aff16d5620df5edfb66667db72859 +PT = d722d6fb790fdafe07ec4f9480ec3b8353a9f3c3b991cbf05800250c72145e80 +CT = 20e3cf0e4c3eca7a4b4b4b11318e34629ff135c97adae85b55580968f4c91dc0 + + +COUNT = 369 +DataUnitLen = 250 +Key = b579710c657ec68a6aefa07266ee4127d78733e9ed7e7b218bbb2afd5bc2931b5c9dbeb64d9b8cd90cade5696b5a0d979b8473fa2e7f05e00d6075e83c4f964a +i = 873fcbf921d11c5dd8cdb0a34d0a10a9 +PT = 5a8c0adebad0670d68f08c0238a15dcf7e3e3af602a8309122189ee24cc35600 +CT = 95127432c4d9b818b408256514935d68a9739802dd68b99b6e7af68aadaeb8c0 + + +COUNT = 370 +DataUnitLen = 250 +Key = 0c8d22371facd0edb8efa732be743b3e086ec579b7e1972d19b0424688ca22edae5031a1a606634c49e723bf3317f1c058f81d78ee54a3461060718d3ea61fab +i = 94451562ea39ab870aebf163ea93304a +PT = 72554297e5d4ef023c96b8bce2254a0352ff87bc5904bb3ace4e681314a30040 +CT = 667d9008a98b838c6ca4aaef8127415373cbb93aac5f022c25f9abb75dd24740 + + +COUNT = 371 +DataUnitLen = 250 +Key = b6af89accb644e9bef6e67e82e66ae0d15ce2331f2839537edf834ce28ea33520cf9f12103c5a585bc668b7fcfea3f0d052466d5f1003f2e1da93070bb5b8557 +i = 9ec45519e5e8a793a1a7c37f55dd6373 +PT = a98ca7238dd11d6f90ac5cda6c7e282143b907be9c73f23e58e7c52e8a4b6400 +CT = cbae6744ed7db19d51ccefa485771638f131d723d2eed130c2dba89e4a1fdc00 + + +COUNT = 372 +DataUnitLen = 250 +Key = d2354715192abcd30920d5ed85f98b6b7b6e1015e859bfdd0d1ac2f0ef1df9724ad0af116893696c879a64401b765b63536410bc4dc6d9a80605a5efe0ae3b79 +i = 16f78f5073258676384e0fe468215740 +PT = 62397c773977d106dd14d4416df6883a94137ff4b25a8f0b66ccdd3d0ed3fb00 +CT = 6f3ba7309067877c2b56edeca1887d50020b70f7fa6b8c599ca5d8131592d580 + + +COUNT = 373 +DataUnitLen = 250 +Key = 8be233f08f2a2655710653372e8c319ed369dcb31db4c8498e1f9f4655a08e94b1b9cbd1d0988ce282d6fd03908292ec0f04f47ecfc5d39c7279d1070a6dfc10 +i = d93b810508bc2c6d725c7ff3b8b89a47 +PT = c1eb742c1ba3d488e97ce865497e662935d1e2ada5b498efd4dd5f8fd65d4a80 +CT = 15afcaeb72cbf0f16e8b1bfde75a6a32852538d65bbe201cec7fef6c55e44b40 + + +COUNT = 374 +DataUnitLen = 250 +Key = 91fc2b9685fd1ef4e42fa20a8e1d3385e639f8b5615bc9ba2e35616416e8ba1278567e882f7f99b2b8ddcae2f0b45a5d64c2d4a0a86fd59047c8779f780a3667 +i = 385dc741b864c202375bfdeee621f53b +PT = bbd824f596736196a308d766ad81c8ee9781348e2e04c47f3600fe2409aae4c0 +CT = 3107d4b81e16dd1a7e4443251474b0264c14985b5ef3da48e6f9f0ce636a1100 + + +COUNT = 375 +DataUnitLen = 250 +Key = cf39d9f3118dfb488933cfbb98833631660c0759013d74e2a680a691219eb1f0a1784112cce2a3f16c84b4420f95f58904e24a5e5be9059926c70df147f9c32a +i = 3f37d75e8fc78f13dc129dd61ad43697 +PT = 4ac4926fca0d30a8a618db1245c605b021c04ea3349faa85fedaf2482b4f1480 +CT = f6de98f190242c9c2c5c47ea4cb0a3147db24a6c09ccb1cb6c95ecde618ca940 + + +COUNT = 376 +DataUnitLen = 250 +Key = 6acfc641a6cadb93911d2ec85fbb362a7e21874a05eabb2bb703d54eb6673d6dda284e484d40bcab2af2cc8167aa198228943dd4099875d6a80ecfdc81b71e30 +i = 40259088017ad340ae13772e61ac8260 +PT = 682885019e906767d0086cb403eba9f75df90c1ef398973b63bdeb38c334f080 +CT = 720c5e06f17ff7f86a822cad6da5e99934f4d7fa4ce660c7697af4e28ccf57c0 + + +COUNT = 377 +DataUnitLen = 250 +Key = 5537f8813d4c88fd6de06a6139c3bec0dc053b7dcdba0aa939334c28b7494f6633f2fec331d5da6a653878a88cf9e90fb637b5ac7af0aa1bdacc1308380a0504 +i = a233f7cff3bee3e4a08e3e18fdd4c78f +PT = 9ee2a8a963838dbae2662c356ee0ea06323b27a194a0248bb9dd789094cecf40 +CT = 79ee303a1c704e07785acb97ab2874af688a8a93e4c9c6826197bf5f9a9eef00 + + +COUNT = 378 +DataUnitLen = 250 +Key = 766eddf875a2e08f5209e4d69ae4ac9ec2ee1983f2f998193d1cd750bc049ea9d907b781a835ecd631200c4c843002d569d223eb849088d387896e6324514747 +i = 5d822833cbcaf377b88f0429d45cdf6e +PT = 335ac132b79867dee26cde6e2d493a0cdfb704022771207eaf0a1080cc5bec80 +CT = 43b05048eeeaa75ce2963b7edab51540ad588824e033beb2cd76a0ad27003580 + + +COUNT = 379 +DataUnitLen = 250 +Key = e3915c1dbd8111eac441873d19005ca32d05bd88b6a9e4548cff13458cde19e0806020d738e7526222e08ffbac84289feceda46956970cd2a3930c2c2ce0681d +i = 30aae8d2d0de02a73f3d89d704b79178 +PT = fc31719ba8bef24be085871e188e4f7360392fc99f4efd1b1fa3a3bc26107fc0 +CT = c397bd8a4271f98db7ee03cba484841a0098db4e9fb908977f3a7ab833e40a00 + + +COUNT = 380 +DataUnitLen = 250 +Key = e96a0102ad170eec434b50c5b26b996eda63fffbcf274edb69d54f0394820c26a8301fad476b4079bff4baa80d5fe813ee760bb1f4aad48a17df83bb6ca08383 +i = f0e129c06668fce060d88ee59deda11a +PT = b9c00f9e658ab2ebec6cd15ca04d388e00971e20745dd24e0c26d63a6c4b8a80 +CT = 0786cbb22f040240ea0459423a1aa1169b36421a0f430e6f93479ad13f3822c0 + + +COUNT = 381 +DataUnitLen = 250 +Key = 8967cbfc7eadff58e2234551038cc96033787a1ebf9e66540b5f67bafa1d983502362b968ff5a0a7bfb66a703d7b725a34db48395cf8a90750bdc56ba328cca5 +i = 81f2cd4719c876dbe7695b9ba635ae12 +PT = d010cf41876d61ac712b88e69f2609925cf6cac3fa1ff2fa21535b7a4099d8c0 +CT = 96924c5909a98b5618b0fec5eb3f75948653f8512cbb8bfff42a5563d4cd46c0 + + +COUNT = 382 +DataUnitLen = 250 +Key = 30a3ca68abdf1cb1387dcd768259c721c121bd457e11b015aa9d23a84ce9bf1a336379506d0bb50785a47ef45c4601d93364b1da98cbd0f272b717b34619722d +i = 97be1b6783be08a104fe924eb6250512 +PT = b1a82a765a34bf724dc8a89cb0ea68dcc8dbcf05c703953e2cead046c1de7640 +CT = 000bd5688e651c22390c1099d35f830edd62f6647b9336b42cfacbf9cd5c0bc0 + + +COUNT = 383 +DataUnitLen = 250 +Key = c762921df53bbe80c5dcb10c14c1b8a7aac192682f39a72ff1a3bec0a763f125a539fcf07180f1929af9eb7a999d4bacb83d73eea6bf72b1590b22a7e61a3b1e +i = c00fd49b4d2e4cbb4d202fc2f42991c4 +PT = 71fdfdf7bff2d8da035869702df13eb0db2ae1839213da03994243617aac1340 +CT = 5c823da21d1b1534834596ca8dba9564399b944502b61f4600e9fa7985391ec0 + + +COUNT = 384 +DataUnitLen = 250 +Key = 08a593d6b05f16e0986666488b16a05dcbea578594c199ace79e306de2533a263d6c53e47b6799e50f1a98baff51f482eb7c832357c88f67330fd16e922abed1 +i = e431f8134a44f6b30b11fa9b0d94984b +PT = abba67548d1390b639fa3bdd96c66d58039827e2b1f8040f07c5a021ebac4b40 +CT = 3b4be1180e1fb5fa38806dfbcf7d7424eb2171944767b5430b6c4866fad11000 + + +COUNT = 385 +DataUnitLen = 250 +Key = e997a0596baba5ee341b2b45c7940a11778a770a6bdbbd79406bd95c5ba23cb3b77c611a354e9269f94c4fe1c7fb06876db43cbb59e2281294f06ce83e903e43 +i = ac8e15c1352320b15f001a9aa0cddcb4 +PT = 571a36fceecd9ea1d5129f0da1f12499f1b5303e18006efee47e93cc747ecb40 +CT = 2ec3a683e08c5876a2b9a14bd788dab7f9b743ab8826fb62f5067fc9dac623c0 + + +COUNT = 386 +DataUnitLen = 250 +Key = 41df1476ff6b55efde2d51eed5a70124562404977a7585a193cc50d2fa7bf3122204978f0f1935639be1dbffcc9558313a0b29570c889221e49fc0b0376ec5cd +i = 1e3729a8002119b6fc5c73fba4784a28 +PT = 9db16839d7dbeee204079ac709d73ad4cc995ae1c298a28de1e35e048c20ec40 +CT = 06e9235f812a59989526ab73cde217800a7cd3cc82723ef46a9f90ff9f316280 + + +COUNT = 387 +DataUnitLen = 250 +Key = a38461331356ec666b00c56e93878785691b8b74a39143afe0616456605d1fc21aa68e9f064b5036a12cb5a1b2febf71fa0e830ffcf143e87c606dc81ca4e58f +i = 2f5e004b01c44df35269ec7430d01f3f +PT = 5d55f381fa58ca5b7689f2a8cab5c59c31ca6f1d9c8f97af9b0da28c466d4500 +CT = 3d515e45741195f2f952687a2e3aff2d34fd96b559693c7034e1f61bff6c5bc0 + + +COUNT = 388 +DataUnitLen = 250 +Key = 73b695cf6645bb011cbe5b79b8df799685fa4d2d6dfbe799196159087be861f4b608a9899d4bf27c56e47e2a7f20060797b6f7d0d644bdf30815410c984fe978 +i = 09d5c25e368c39ba6c47dc35525917db +PT = 55fcfcff3709f43d73d168f5e06ce710cb23ee4dd4dd0f0426e4a36609e77f80 +CT = f3f2e9ec1fc293adc5c067052ed6b91af98960d577d3862f83fbec5b57a80ac0 + + +COUNT = 389 +DataUnitLen = 250 +Key = 8bda6272acccaa653f2637a2bfa87d3badc0815e23ae3e3a1749c69c9b89bbdd57df30665a4fcbbc2a0448fa6993c12fcf5c2206b265f5ca6001cd19bef6ede5 +i = d1fe744fca1ddc305a0b3a55fe588519 +PT = 683270a3ae3d22d01bfeb7dcf45c6474471db4bdcfd36cabc58fddb84afc4780 +CT = 21dc86a706fdd30eaf7f860278906139de51f75ed0096cf6b070a33330255280 + + +COUNT = 390 +DataUnitLen = 250 +Key = ffbb33d2d748b7937e2b81320455bb8bb279137a8d60540a6c58a024379ce3e53c7140fb0544d590ba69eba915fc68fee7a7f19bf440199a2d7667f1b5d71d74 +i = 46e9c11dad7cfed1a7c51db6f2b3911c +PT = 9edce151fe49f30693a22bfc8d3fcac4cf9da98c2f301cb903c56114894646c0 +CT = ab4b237ffb0327be62bb4f7e9b668da26b5923ef8d628a0af13622b8a3187b40 + + +COUNT = 391 +DataUnitLen = 250 +Key = 534fc7841042467d88cdc4f4ad3086ba9ca20183c0b3bdf2f91b2b29eb36e9993fc6a16aab86c8fc000ca4129b7c5edec076ae29a57bb8f0e8010cfc4124a912 +i = 398d23b6582e6cd0f99ec817ed5b3405 +PT = f591a4970739aeaa8cc95c56beb10df4fea3f907464ece91d30c587c2168a6c0 +CT = de3ab1ee363eb012b92f7a6e67eb488c52e2413425e6f8c00e3bbf1cc6535080 + + +COUNT = 392 +DataUnitLen = 250 +Key = 5c9cd7dc1e9680e6c6c854a35b3b0a3ce67d8093e62ca82d2eac7c4d38dddada290bf49113de9efc62918426adaa3fe5eaf9ffa6449e78906b6c39ae9847a6d9 +i = 61e1ab92e03146deb5ddfc7ac9f15230 +PT = f8a514e907b002383518371811138e0473d2a3995a27067f182b94a8226f0f00 +CT = d3c2574cc7ecb13e0bcd6cd55db1f5b54bb5c748ba498ae09a4494fad476acc0 + + +COUNT = 393 +DataUnitLen = 250 +Key = c0a2113d21913a23bc67d7fb3012301c06b4ea6287d05538698d39aaf2239346e7055c2c56590943bf7a2f287342bc472bdf75a8b1bc9a911be46a2217390866 +i = 942eedd74828ea3819c48ea3fc65c3ed +PT = 3bec64e35a95d6bcc57c09ba308933c9bf3deede97aab04cab9f637ebfc851c0 +CT = c3842b3bcd4b240c699a16fbc55ae396aef9d75d4338adb7614dae01ee48ab80 + + +COUNT = 394 +DataUnitLen = 250 +Key = 73b56738a0d902449684340a8a518125452437b12fbcace1ea3b513a3f53b4d7c9c7f2a8748fb7a20d5922ff7c53654b98854da67898510b9ae7c59bd0759ceb +i = dde098f0e382f8cccf60c7c0f7edf81c +PT = c0bd65d608c461b4ad10a3fa1ff29b5fb05d6008c126059a199dfa2a07717240 +CT = 9827d3bc4861dd55e76588c0326f1934bdef98855e203ed33f74b5c3cf79fe80 + + +COUNT = 395 +DataUnitLen = 250 +Key = 5733dc37bc80c09a6ca27c7c40560a3bcb3c4cd933cd861cee52603ca5e5940969948dd176d2a910e430f0bfce9f3f89c07c387658676324f11144aaec7ff0c1 +i = deb595ce8cc877c21d58138a8b9b0d70 +PT = eb50b2ce0172b399a0c426c5ba1f00ff0236f0d8b0c0610c78c37c42e315d840 +CT = 0f39e2b11b17846f445c137c970b1cafc5ba118b2a4d23f74562ef892be44dc0 + + +COUNT = 396 +DataUnitLen = 250 +Key = ef3c73714eaf308c6fc7987f05bfa24baac5a88b29af44eeb3059bfa3bcbcdb29682b09f94df177e8901e62b1a15faf7c8fe8b99a5460ff451221be2788fbe12 +i = c18ea1b990bac25c5eeb6cd9374e2d2b +PT = d1d99a4b1074e79ff0b6d504f4744be2d2ab0c673497e204741a48214bc72c00 +CT = 9a1f08f0fe00a05b03856c6986e64607c35e9930e167518297e15eb0c6df90c0 + + +COUNT = 397 +DataUnitLen = 250 +Key = 11960beebba4a48822756fb6e2b8019f97aeb16458bccf4c69800b7fc1428f8ab28520a5635a8ac3bb99a4bd475efd82341c36e80f02986aac7eb5c63921de7c +i = f6c6098b16d511cd0948d439fa531f4a +PT = 37b5b87dee2acd43e637fd5def2045f1dffaee290e8ffebdbbd79be2b1309980 +CT = f24d9008f0995f9975a347bd0c20745e85a529eab5335910d83c081075682840 + + +COUNT = 398 +DataUnitLen = 250 +Key = e4ce5da6bf0f2ac47d4927ec45050202d8504912611654b7ff68a89a4454b9f7017486d2419dad8cd9c1a78400a081a3723437338ff7cb01082f376046bcf727 +i = d9b31ad8ebf3a3605588d560972b84de +PT = f0b750fd55379b5d958918aed78d6db8731a121ac35b69caea5ffd85363c6cc0 +CT = 7f16eaf60094d6bea5632c1d642ee1cd1346e73e1114a5f561b3ca27b29395c0 + + +COUNT = 399 +DataUnitLen = 250 +Key = b4befd9aadc491568ff2bb98ba7418e6833194eee3edcb7580b3be947c08f6777760bcd63fb75fd77cf0073873e20e524245915619ff8762d5f27e0d0addd231 +i = d9769154e30260363066ad750ee283f2 +PT = 9ce679166fba6fe40dd09dd451e54e466f014f87e50c5465e5cc603afc4c6740 +CT = e43d0e9d81da2ab189131e714e6634c835d082c22a558c9a389f433a7aa8d6c0 + + +COUNT = 400 +DataUnitLen = 250 +Key = c6782b765ea999ef16ad06d0916480a78214c45a8a06db33765fae69c483701cc94ac3c1ee0e430b0dea66352507a522cb7495983f6e797b6dd9b76a9bda7baa +i = d2dc7effec1aa2ff841649ac2ed479b5 +PT = 66794cb2fd90bbdfad419061a7b345ec33e2bf60d099dcff9eede93ea1a10c00 +CT = 05b293f9122771c2b9f75fd1de13341e557beb61c074e92544e977374b7fc2c0 + + +COUNT = 401 +DataUnitLen = 384 +Key = 33e89e817ff8d037d6ac5a2296657503f20885d94c483e26449066bd9284d1302dbdbb4b66b6b9f4687f13dd028eb6aa528ca91deb9c5f40db93218806033801 +i = a78c04335ab7498a52b81ed74b48e6cf +PT = 14c3ac31291b075f40788247c3019e88c7b40bac3832da45bbc6c4fe7461371b4dfffb63f71c9f8edb98f28ff4f33121 +CT = dead7e587519bc78c70d99279fbe3d9b1ad13cdaae69824e0ab8135413230bfdb13babe8f986fbb30d46ab5ec56b916e + + +COUNT = 402 +DataUnitLen = 384 +Key = e530b0dda11865624e73a321d6ea17d60e501353466f7686cfadcf7b75791f7e2233f08d0097ae8dceb50cf63e6e95518476213797016094dc75d96e7a9a4c56 +i = 968d77c9b876e9b5b7cc6a2494c16b67 +PT = ce37427ee378dccf1b3dea3b91612eb7c7c4436c6bce3846313cce952693e0b9a8d5dd20a67ea4b3ed985752e7629893 +CT = 87b06e311a58866e58b522dfe90219eb1d350a95960575a3ba6c3d53f781f6d09f354e79425cb643eee2b1a00492a67b + + +COUNT = 403 +DataUnitLen = 384 +Key = d1f9cc7ed9a0434e194ace026dedbd1271faaae855ca8b7a6e23e4fd13a2a2b680ed1131aefd06e023773e8915d9bc04ed1bc4260671c0204676c2148ebcf430 +i = b7c9054a9af838750afcbd736e7b1047 +PT = 5bad620098fb1b6bea9d5118a7e89b7dd59861f0566ebd87f9c16d84e7a8b5dcb721c7c5a2e2155922aa82348794325c +CT = 5227c1299c1287edbb53603fc558697394dc5bfb6aff6356850f74191d990c2401b01be229f54fb3aeaff0ce8f6b0181 + + +COUNT = 404 +DataUnitLen = 384 +Key = 855a34fac429b15d0406e197bf02d8afe411a16fc417f4e6255406a072b5b0accbd9d49fe84922498c370f52a2f1bf05478f6d7796ec1179c374b82c4edce4d2 +i = ad6cefe6705f37084019e0c35576d463 +PT = 67c195a568cb0a37de8f7261fe15c25fd9912afef57c9e9482ae13d2d817558ac10179e908dedf8aa8b97cc4844c30bd +CT = 16816297d988d987c82b8a33eb9259ae48c85c1ae1401de30200e572582109e88f8ee8ae807371b3fab0edd3400e8cbc + + +COUNT = 405 +DataUnitLen = 384 +Key = 7af19fcfdbf6a2e959f15c906c0d2276010c94cc74f3fdae22220f8487fad572db7ad21cf72bfa44a4cf311045e8933b770430540da4834c909a310dc1718377 +i = 25bee7a7b7f3cfb3660fab619b8d64d9 +PT = b39032f82fa5dbe8f11815ba11c0036b44dadcd558d0a263e79caab673bfc6cc906b35c8a23afedf33b4ada9cf15a79c +CT = a17ff069a5d2bdc11052e856b64b03fb8f8dff05b1fbd9ac39745f2a970e183c8297cbf797ec0d45916d2851c465747b + + +COUNT = 406 +DataUnitLen = 384 +Key = b9e0b80c434881a979151bb6364e27c9986f4c72fa76c4f38d3177af7ccb94103477dd3d63024ff17ac9cf4258ef0be570a5a3aca2fedac37d9a48925a51c529 +i = 98083c9386a6d58cce570c0d0abac54a +PT = b42b0a8201ee75707761a6b9c089f9ffc431c47824af69adc95eff98571427b59206ae1cc3ba8da79e73e472ae062711 +CT = b0d5dafb947784df27e2a1f8e512858cc795b7cb4c0e08e5c527c912f5acd63adadeabbb697358cc1d2a5d3c62e9687d + + +COUNT = 407 +DataUnitLen = 384 +Key = 7f9bf3748f2ddd3a121d15a050c5dde9f41f310a6159beded1e99601d3d2af934f8206902ced5f3633a00b9be391b9d06c25a8383116fb9f01bf4a0c116776f3 +i = 9260004acc621c658e8f6707358bd074 +PT = f6c24aa94d7bf049f7dbaea25b55ea8f742cd1906a4f5c1c7c701d922135fc7a81232d1abc269c93c7145472c43f2d2e +CT = 2a0163558171c8762c1757c25ee7043dd8ba06ae16f4b401f34832391c4b3ac3dbd089084b7efadbf7ae8dc33264b89e + + +COUNT = 408 +DataUnitLen = 384 +Key = 41302e54c603a61b79d551bd3d57e6a38f86124ee76585af81abb023ec8ef3cc53d77600e5f45e968264a12f728851dd57fc888cb978c227323288447451b241 +i = fbfd6b005dc0f052c8b5bc2b2d602af0 +PT = 547a2b9299a5dc98c85182a45a8d40374614deaf0d25eb8cbb9101b82a55a37bfc78667dcafbfb464d86381a65bd01ec +CT = e6bfdfae2677287baf8ec594185746e374ad6bb98a80fbf865701cf56fff6a81c1a666dd40fb1084ec623aa8165945c5 + + +COUNT = 409 +DataUnitLen = 384 +Key = 4da540f88e3bec25814aea89fbb43737f0ccbee99392248e69f1987e00d100018d7b23de8efff8c5cc85b0006d16900436a699fe5c4450e194fd9391b8485e6a +i = 60b25f3fb580d6cde23496f660d1459c +PT = 9e09d2cdd844decd7a00c71cd7ba8885ba98649027cab1452c233bedf92c18c2d720d1279ff6fcdf3db2fd0ad99972f2 +CT = 89738935e791f1ccc96ddb6d1e1435eb866c817557c22a0eb1295592bcc555710a8c1bd5dc257a5d83e4329acbd7b480 + + +COUNT = 410 +DataUnitLen = 384 +Key = 50cb392fb40b931374c3405601ba2764b88e5e63d6a2a3a183eada949e21c578a1a1b55ee0147856f72d3874368e13565213204833e608ad5ea084e163d05d6a +i = 6ff4b5ddef5128f9ae292b984bbdecf8 +PT = 285188e2d5981602f042908489a570580b89c50d3f10674bd147521bc3a69e1ae0db35218547e3744f0c2e5489f9b62c +CT = 82876e4a69160f0249eee80423a8749888156f15c61f5a4b450e9f8f77a86baa86733f2d453a7e4d09132582083e7e6a + + +COUNT = 411 +DataUnitLen = 384 +Key = 9e01a04a3b2f66b8e78421305affa696b5c1cfc1c90eae00ca375dfae5133dd20368596024943f6101dcd3653723f0e785becaf22169e8244e2bcb63ea0f1811 +i = 201b298202cb180722f34ca2a025c791 +PT = 65dc6a43ed1c2a8acf505f708bb4a34196c79fdc1e86cedaef17c5591b6683b353123cc7a1dbb8fa90e0ba9a488cc3bf +CT = 8da1bbe05f34555d72d5498a266a45d3f42f8456b925356df3ee7476115c59d237953d4f357d6505e0ef107bca5e6cbd + + +COUNT = 412 +DataUnitLen = 384 +Key = 2da8c026b078e512fc389f1d0aa4f95575ce1b7d3e23e9c6b6f2c2d5f9a12d5f1156972250289b4dbe3130b01a2b37f24b4ea35f6eec741539cdaf85fe5acce8 +i = cfac7c90008093e9700c6d0828a231b3 +PT = c0450cf6088790544f355923e15cd72d643a7141b67af61c20f63692a15e35db38a84d47b7bbace78fb4d8a2b58e5946 +CT = f38892550a774c5bbb23ebe182e6b2912e52853de79b082533449baa0da535df5f30d4f5951ce4d0342f060878ce474d + + +COUNT = 413 +DataUnitLen = 384 +Key = 489a0b0ea71f3240b461fc8b1becb86f3f9844c4fd6acae8b20123c79d9510dcbbe33288a993e407517d86140a17f3254fae6e5f4a1b63c94b84618adf91122f +i = 78fb2890e7962081a8273cb1a2e6a388 +PT = 1e2ff2fdd015aa629f7c066434592ce808bb0e4afa34e555678c40b989414530a383d37664d0cb325ae2c94af98f285e +CT = be3be639292ede0aa1f258951e026c03c2b7299a7ddfbeae96beccc91edb696780e4a3675d762ecfb2d28529785189cb + + +COUNT = 414 +DataUnitLen = 384 +Key = aa364e6de2f0856dd07a93ee1198b2d83d2cf27f26dd29ddccce7f214e6b5d096f04404352b54ef4154634b5a47fae3baf6f05a30423bd126161a00c56267458 +i = 0341b3c3a427488abca69a308202f633 +PT = 9388066de5c865cc4183f42e436838a98fdb4329052e57d1440b7efe7b84b877c7516ce7e63f5a37397da6561a176a37 +CT = 851eeb8fe99c5e8409e9af8f4855b4b6a2ecff5d7d330c3e07ff7b243150d3c1a8f9160a4327bc6fc791fcab71aee2bb + + +COUNT = 415 +DataUnitLen = 384 +Key = d7b55d450a709888c2e81ece078c69367c8a4c28a7b0a20831a95ccc6377c185272a2054aac1c7c95577894aa2b2bd2a3cf0bc87cc3919de750f44ba49ac769a +i = b943cd22706fa4d675936f5ad994c437 +PT = c510d766b3693a84247baa9c38bb29d758ff2155bbe13619b8fd6a7992e5a54a6c1daf4eb8ce763cee78d2b9ff24bb22 +CT = befcac56e561ba4bb513f9dbcb0cda5498d18555f595bf8dcb6bad1495088e3b2e268809266f6c0850751e90a1d61fbf + + +COUNT = 416 +DataUnitLen = 384 +Key = 4128a40ff005da011d43405a3dc4214d1ebafffcdf28dfd47bd7675a714b75a19fd81f819fa9654bf8228859d420d0cfe0a5b9f2084317b423c6739b8265c540 +i = de0d613bd82886c69f046625e05c4771 +PT = 81ee0eecf86168a0756d0807ef258e06b69d7b9e2e01ec0bd05b408387c74df9a1c000376dfcc4210099eb80781366dd +CT = f22be4c22a249d17cb4fa92d4d826517521712eddbecd98baab1fa462b0b94d636ce55f6b350a7fb7bcc3409575a3081 + + +COUNT = 417 +DataUnitLen = 384 +Key = 979d3095432fe13926466d81f76a03c3a97b4d28859120bba04ab039fc4e45dde6dea0c12dfb22b947ea805c21997d7d83dde735df04d14263ee81901e6feebd +i = c45521359984d4e6aee4e750082b4aff +PT = 4a7a241f6dbac0f7661020c29f2c2a2de686fc1ab14eb48d2b8a2bec8d1947c71ddd5d55d909d6e89117ff4db5ee8d39 +CT = 676474603ca0a17615f8642a0af2be79f7a1083eeb79fe770f4376a6e9bcf149f2eeddc158e4f8b194ccab6c7fbf804f + + +COUNT = 418 +DataUnitLen = 384 +Key = eae9203370d6a5ece7de37d8c09a556e7e8a7a0c2fe6aaa8138f8ae58a7e287db2470e841dc9b152fd42e44b764d240c66cdfef9ae3944346711ab9ef329c18d +i = 176dbf122409b7eff4156e6ae1112824 +PT = c629649be641298e789a01db2e7e5907ec9d0c2436349f45ace4b1802033b0834e4607c3e070c1940f6a8d8c2e5b669f +CT = 4ca724f3e2df333e826bf1f56282d4abe8a17e68377351a4858d493185e045613e436ed2d6b65b6a5d1cd522111251bb + + +COUNT = 419 +DataUnitLen = 384 +Key = 4b08acb6b459ee038aebc951149e251d6774330654f3f8c3a4263f01ff461abe9d93da564eb83f2098d48f2a25cc55d50acd9d738f74cb06ee92156d797bd271 +i = 62e7b4213cdf615ba78aa9ffdbf109f7 +PT = 60f1a6ab744aad7377f18e5d4836c90520b8879aee4e20a284756fbeda585d5263089ec22f7a79d3150c137904a4840d +CT = 5b60589281336b88255b2f57f10c0e5f2eeedf75623775da46de824f238b78ad428f96ffafdf7afc5aa86739d9e33294 + + +COUNT = 420 +DataUnitLen = 384 +Key = f7301e716790cee0c4eb7be11efd0ed7801da85a500710ce745c03ad62845d3b24cb118e05db4b56781085beaa4b74b193ac9e3db3f9969afea0c0572c2c4246 +i = 22bd2e7be2b234dfe7b0d59728b8664e +PT = 702d25a1345ad00f877e6dd53df92c9ce0e4a163315b1cf66967f962391005edd967e8e3a60df48964788f326f080ca3 +CT = 59ab157b2ffdf44f73c594fc3d3e889fbe76ae3e9a62d8844dd3d4f6e58b92049e28fe3dc869ff477251ede8d9ab0cd0 + + +COUNT = 421 +DataUnitLen = 384 +Key = 2fdab284390fa70f308a3f78175e46023e6c9656c256a61cf41b526d28a0ce1a3fa9fdf7f518dddc722b079ebdb33f146a5476a23187050563365851e3cb68d2 +i = cff7d8941e4e6d42564fd9099cc21f12 +PT = db1cbe9bfde94fd981bbd24ef9b409a8e3ebc3306c91aaeff4487afab84f3bc85f025402b5dfd034bf0fae5144c40b5e +CT = 5b2a66dff6c62884b9254690d9fa5fbdf0e11d07899901838fde5df15c7bc78dea2fc8b5b5c320de3197810299b7635d + + +COUNT = 422 +DataUnitLen = 384 +Key = 5f1a7eef236b1fe4ac1654404c878a4a0ec4ee7c55a30daa4e045447e9893a253b5a10918b6348f85b110e92a57b2ed76a9c5342d764909669793c932ffeeff4 +i = aeb016d57ce55f9f4c2f1f94ebe0d2b9 +PT = 4ce97a0d46eea97ebb8c5ad5b0d4a000bf59c93a66f1c2b0ca4c816332bcf2aafdc43bb0eea1d4cb119995d41627cd16 +CT = 99565220a2ebe0b7c3aa4c3d5fbb16e54976915a54a0ec0a26dbec31105076e8d4d87faf2a25c36d8c11994e3ef65999 + + +COUNT = 423 +DataUnitLen = 384 +Key = a753896b0be3b9941f0f83efe313534ecfb46f592822d6e284e54adaba6f54117cd87d8f584d5d67341be1cf78705260f2026935eafd30897fe03cc9e39954fc +i = 6f35b45f32c6cf17ffb84b43978c2330 +PT = 10f0327bf1dfa02d213009c7847cc31d5f2e7bdebab5b9f7887aeea472a769a8f8bbc5cbcce518603f3c08f14516bf2b +CT = cb9257ec818a740debecf3f7685ca6cb28cd47c324faf4129e635f707b719bdf382c9c4080b405191075d7b37efc6f05 + + +COUNT = 424 +DataUnitLen = 384 +Key = a0bf48c242020cce49406bca6a60701b1a6900a7898183232e372bf4dcc13673c69292210b197011899c10f308005dca98b2c30f50626eed3c5b9f8a0c05c0bf +i = 973136efcb9d28e3990e6e09ccaacc72 +PT = 80f44acb5d39c5851b1a16ac9d4b56cacf18c2d6eb557702d68eda14169e7a4772dfabe574bb4021d484531b92bea96b +CT = 013b3a9c6107115466f3b72fe617f5c2445a1213cdc3d551e5e59415319490889507e74625453d65c0c1d20137c52c5f + + +COUNT = 425 +DataUnitLen = 384 +Key = 518f72b4f9ee1eaa6b1c479a761473e6589f1de0e6b286d64cafbb31927add025350831894f99201408fbb551617678d67f2caf201ca407852862a2a5c411020 +i = 77c07601ea263cd0ddf5e2519ff2c395 +PT = 95e871fc8b10372fc9ea3cbf01ed93ab3233bec51180701a9e674322afda1d6d919b33d871d445c202a79ba916b87a36 +CT = e1f2ada5fd010949b1de7536a8ea9480f3872146ce1528644a54a6d7f303ad95d8f0318213cff9b245dd904d4eea3a75 + + +COUNT = 426 +DataUnitLen = 384 +Key = 373932733e0e0e62a76999cfacbad13307ace06d8d3e2b422ff14d59d2c6aee14dc39313c962bbe0b36c1001fa11a8c5bb6ba0b2b4a8b50b8e1f91220a0e831b +i = 156ceed43aee9c7d237b398919132e10 +PT = e6b1d6c0d7f07314da08ff33e66a8241b93cf6a821c6cdf43cfde86af94f0317a693ee8e6da24009351a19e4cff3b29d +CT = b725256a672918cb4ca62f9c7b308eb31e8901f8c678e345941ed924ac58d4775e0634923639d40edefe83a7b2a7af50 + + +COUNT = 427 +DataUnitLen = 384 +Key = 965174b5d01d7e799f6a6256d03d24ae4fc67dc544bad32d9262745c79b8ce4720ada383e07003a93eb907b154c9246623ed08ba7fc9e1537be8ea9f41cd7cfe +i = 30f6923942b85df99a8dc77ea2183a8c +PT = 9bbe69dcf8a0cb16e36a6509d3f602b565a43a4af0847e3784ad0d8186c980cef7e4ace111c8a0a5a9069b9aa957af0f +CT = 3af755faf78c2e545f2fac29a70f681166f88d104fd687bc63e4c741e8097bf94f3ccf515d5b1d03c9018ab13ed7392c + + +COUNT = 428 +DataUnitLen = 384 +Key = 4c135d3037c1b5515dec182d7d59292206dd5bdd2d554d6a738b16b95e27fd9fb357517d6de25ca6adf2ac5ae6216bd21e39095f954bc6aae9503aede621bd75 +i = 12c69f333247ae211beb5b52b137099c +PT = fbcf863977d06d60d843dc0ac8f969f05a665e04735897932fd24bd339adf44387b6b8f33df4539bb8da363a6aef644f +CT = 810bf3e4fb0654c076d255be6ab60f9241c4a5a340ba55d2ce6282643797b21abb0af124f8d9b912330754b7b15d181b + + +COUNT = 429 +DataUnitLen = 384 +Key = 8912e1559da5efd048a2b727bbbf5600604231b353b6548d011bed90ac7cd6d1edcfc73e4dc6c2eb81c164936f4795837af02446ba0cd108c93976f16291d2db +i = 24464822cf1d76cf3d0a732eb37e04e6 +PT = 2a520e2007155ab5d4252dc0fdbc4b7020fe78306f9514aabb5340943cc78a81cc499db0551e729e702948c65cc84f39 +CT = bd9dd3caec54dc2881e53eb3a81d1349f5ac933f8b61c31950696bfad721c33e029de3b5590d971610631cb31cc09c1f + + +COUNT = 430 +DataUnitLen = 384 +Key = 800071eaf8f823922bbd0b2a51e9b35e3bc3f13bb4da01ec92ed5dcc9e1c038197101c94227132fe7280d7d7e04dcf17028dc2af1cec04fee5ad5ff1c0942584 +i = 9c90b8dccac883b4703ad293ad33b300 +PT = 08ad0d71cd03f12e33c2b8980fcdb4aae76c88f8d548a681c412b5e823d8ade22bbcdbc057f52c9b2eadb1ee503398db +CT = 53fc6d33ac578ff9e1620e3505572f90b259c278c50490d790fdfc348f3b4d5ffde2a88664c860c55f28b86c0bd02b39 + + +COUNT = 431 +DataUnitLen = 384 +Key = 4d5cc26c3be36c57c1dbcf9ae7be1d64b1fdfa93266e04b0cd3a8db169a8509d1704184d0bf44bb03ae5dc3aeaa6526bbf1c190bc17a069ec5dd5836dd6942a8 +i = 35e19c474dcfaace164dfcfe0dacecce +PT = 2c569493d405ecd77eb1911d6a8e160c1bc54ccaa023428a669ddcb1329a92a9fbf33feb225aef9f16cf7c9b824f19e0 +CT = 6b721b1ff3bb2fc4beacb3398757f2f1a97e74a2380ef0324b3013a79bf952b48ff6ac093819749ebb354a65793850d5 + + +COUNT = 432 +DataUnitLen = 384 +Key = 184fb3132237433adc47fb2a3ea5bb9f22ae5a03a52da793ababd773cda0cd5a281fede3a9b161aac709d80c53da681290a94018beb1da60d3b7fdd764f4ef86 +i = d8709b421e6e7da75e226bf17c0a7bdd +PT = cc296b587e519a1f59040442426c3496519cdc8704422f77134aa0d1c5bfb551907441132c99e26cb77d78221cca5cb9 +CT = bfaa158f31515bc17193c054a09aa7ce066a8f1963b292a7cdc89af63804292cd3b141294dd12c37ca186106a63a2646 + + +COUNT = 433 +DataUnitLen = 384 +Key = e47075156af0a1a768975efe44ba405333649be33547bd477c0f0dfd6ad294d2bb625d477cc9eafb098df87e2277a35ea4c560b329604d200875080a3e51f1d3 +i = 5b910bf36c7d057b27203333174e3a08 +PT = 227b504d86ebe6d43d127d1dc9247f87ed8810505a41d43357fd04d5446ab5501c40583031bcdb8ce96603906e4011c4 +CT = c028a1b32d53c4de051bbe46ee7ee398846e54198b85635926ac281fbb19b6fb43a09a4a9e248ada8dc7798a7ed15575 + + +COUNT = 434 +DataUnitLen = 384 +Key = 3f6edc1f2c91a839f111cd4842a0eef76bf78ec71a76d3bba8b29c0348d8568776d6adefd44ee5016d28703bc74ad4d0261721420cca6c9139e9a1bc80d8a7b1 +i = 65b54398ad4582db06b79d4a3366d5c9 +PT = 9d329be9874ee0eaa755e0094ccf9f0e6c897b8ef7beb78bbe4f7030de0c949220bcf6f92af0976bc5258428145e839c +CT = 582ecefe2850afd18867267ddff93681fd2049db5a354d6b11c985eca449570788282d4d9a36aad8818e34878bfcca4e + + +COUNT = 435 +DataUnitLen = 384 +Key = 00244b082f858988323307c43dafeddf5efbf89dbde9cb61c9ec377d9a3c5e7740a790391b965cf0ca60d7bcd6bb8e894f4eefb48651c192bafe49eb16ef028d +i = 6ede8ecf620263817f8a5828faf524f3 +PT = 12b3d9d5a2b78482947c24781b738e29ada9b203d2b8a88909408ec40458f0d8ccccbd585a0ee268f63139f4c568eed7 +CT = 401af685cd0b6481b4da4ae7deacc999b4cbc6d3b235aa782f09d7f49e769f5091288ca832bd24c2ba698d3e40385181 + + +COUNT = 436 +DataUnitLen = 384 +Key = 4de47c16cdd416f0a38a4f06ae05b46f739ef9726c3a3cc70fc8402d31ddf38bf9adcec3e38a0d4206123aed7d9b41461cbae757e9beb048d1938223971e224e +i = 0da47ab72d1ffa5801069ae842d7692b +PT = 252e868a6b186848903831b50bd306500dbbe7318c1e5e88d185ad24536aa8985c780b3187b90aa47588da3921798d92 +CT = df991967ff6cf081832ea29b23b1daa122c91fcba56d89a0ae0aaa634322c96530c11c0aa11c94531e159008c94a5bac + + +COUNT = 437 +DataUnitLen = 384 +Key = 73ab8193a73706485c5278c422a21035a46bad252a25b8ed2915c6716ef25c08262979eb61663eb52ce3878d17223e5e01d4b809163c421538aff01b465bf86c +i = fa1e662fc3ce3bde4987cdd09df7a7a0 +PT = 79ae2464e02f635eaa2bd52eab4f4c38bca5087672f8f100110890efd62c0be4cf5ddb991b73a3186477eae0a0c1aec7 +CT = 0eb58b4184b4785820d0970ab796dcd7cc062fc8333fad1894739e13b04acbfd0452826732c151e6e01ad947e050f844 + + +COUNT = 438 +DataUnitLen = 384 +Key = d8f8a4d3861cb94a22ceb520839858fa85c5f24a6846a71de6a16d615ab91384ad4821b62398481afd4838b9f43c61e0ba9c51154c658f0cddbffd45d7e135e7 +i = 19ddb587dd877bfe42aef3135085b7fd +PT = a8721be1ccf73df0e0ae71b80c6cef9e0b432f48b3230d24855f0a568ee31e543af55a3234ab3276cb4683ba86219726 +CT = 6750f4c86b03c20538db00b7bca155e6d2354cf74c8e7bd3589e48cb978b57e4b00134a61475d65c7b3c0738ba8f4f6e + + +COUNT = 439 +DataUnitLen = 384 +Key = f2d66c8c7ef1b37256300ff61c675bef4906fdf74971b7983c91bc9459ed1f420b54e039d813c175cc56e4696f0fad55abf67e1e5a7613826b1de744cb5e827d +i = 3728b18f071c60189ebd40c131e76fbe +PT = 706320a888fd9d4b0651693f5292433e8fb2c845d3e9741cb81dcc83b9fbaa538b6971c30080fc97756dea35fd62119f +CT = 34435ecc7261fd13da15b039bb1d6d1065f43b93f273841663301ae0abc556dcbc0be8c459f507e40621c9c67f883832 + + +COUNT = 440 +DataUnitLen = 384 +Key = 37b0faadaaa998d95113705f5a7672516e6b8ebdd51bf88673fa15a9e8405ed77eb9bde59460b5e74829d965f7f040e5704047553457b50841bb4396569830fb +i = b2215567118b0da3dc5c056712fdde8b +PT = cc5adb91ecac6b56dac35d087fa2f4060ee38ddc20697baac0e97e9047b389550777a9c041dae55cb729fa55cbfbe557 +CT = fc0bd619c8d6ad0a4c119fbe2dd2869479629a617ea91ce1a7eb5742d149b2ab7c94ccb3c7c0cd6519ae714bea2dd7e4 + + +COUNT = 441 +DataUnitLen = 384 +Key = d1b2082a9058b62b20f1b38ccc23db8dd9300372c658c8c7afda574849f52c306ea585cd3762ff12b62d2554adb6c2837fb637f3c54783ed1934a5a3bdf16329 +i = 19c0c9d90665cda36a75239ee36640a7 +PT = 8388b93400607bbf01679eefd6ec03b8c696908c9a676d2b88300adaa25acb314e745c00ac6d699445cc56eed2ddc5e4 +CT = 06606458310edae8af17b99dfcc8a5c55276237e9cafdd9a6a4528e879f0c81cbec86d32c8a0794fbf77b7348222bb3a + + +COUNT = 442 +DataUnitLen = 384 +Key = e3ad7e6595bfc614575407659282487af07292ae3aca2456d79091ecb3fcf2d23a2d111414e7601ffff63cfad7730c1510ec127b85e71897c9da8fe178219514 +i = eba6ce201ce8b72d224a4819882df5bc +PT = 4bc16d06e2bce2a0bfd22fc22bd8aa0d19d90a12919371f9d7e2c85b995ebcbd4e6e474f7a99fb439d2f6feb70d4f6cc +CT = 1a6cd9729e677fcb07b5ef28f104839e3d1d25bf0565b3b454fa2f8a76a92f1a86929688a8b7293c9e507fdb172c0424 + + +COUNT = 443 +DataUnitLen = 384 +Key = f466fa4445a1af7c61825c750ea3d63db2025c4b087fa05e3203bff90cfcff84b53a873e117dbbae7106f68b13c13ce1b7dfa53af5445127dc3aebba05ddeac5 +i = ba47c834ee9d9ec6f0a8d33c16d6e8ee +PT = 2356fd0447e4541f4424a042ff10077333222a06ef6c2643a8f981929ce01f085c762a4718d811979c81a71357f872d1 +CT = 8508fc10a2cf71825d78158ecc060ff19fdd26499581ab3c3e486d5208ebff73de777ee44691e37fe8f4216aedf19030 + + +COUNT = 444 +DataUnitLen = 384 +Key = bc582099de504e3f75b78ec7096f19077a8323f9fe1e6f0d85c3203b25ff119e4f96578bb79d8ffdc7c1e4622f9445b80b8f478b355faa78bab1bbb4292e3f70 +i = fbfbf29cb67f7bdf223e12020cd7ff24 +PT = 3e1d9bff9f52b93962e90b5c8dc704c399e0b07440293c06af10794aabaf1aae2e65cbd0f97caf6f8abd4e32f2109e68 +CT = 895d5eb837e46ba570f39a2f1091c474c81ba2a5df67146f50b7c4fae42b6994b8ecdfb1d4512bbc3c76c6fc8d89c0b8 + + +COUNT = 445 +DataUnitLen = 384 +Key = 0e73205d525f760a9f31b243ef908d8c7d6380e9258cbac457789c325bbd49c0b4264b206c850e7590a4ddcd136565bbaa67797485b2760aee7a9e16abb5fa3a +i = bcb889d6407589333f461ea647662ce0 +PT = c9aa5c342d3b72780567c319c21cbc4e96a8ac9352fca1a46ef426c1d57ac624e121e25c31c286d811858a71f426a0a4 +CT = 9545db1d64266428cf348eb22e1eb54b14de587056bee8d89f43c749547d4b4b68f8f840357a6b632bf0c7eb2c8269ff + + +COUNT = 446 +DataUnitLen = 384 +Key = 3cc5514014f6d31571ecd8c37d3bc3b9631b860b6dc85b85bf642941c3de1ea16df23ee3e09bbc96644562e9a913b782987c6b44b629d4e89c13b619bdb05c32 +i = a9d417da79f8a6831d743bfbc286b7b4 +PT = 9be6f2c1e0902df5203179cd33c46810d666b1b9cf2a3522669f4388607dd19849183db003cdb039ac66a9ef559db9a2 +CT = ebed0ccffb568b491c7d4b8f605afcba24969ddba398723a9726e3a49c6aac8afa63016bd1df9924dd8cc77b2ca9b963 + + +COUNT = 447 +DataUnitLen = 384 +Key = a131ac276002444650b1b8970add73b5bc25b60bdd90d1b664512c0ccf4fff882da00fc38b3db578ee96c41ce0a38c04d6f653fb1a8f51a271d17c4c1aeebfb4 +i = 82945ec7af88ad122c71707f74946137 +PT = 0aa5ffdf2e1023ed88627247749b3a3d49610d0289b5ba6bf815234cba8fabf75683852eb7dd5e96aeac17b0d2e6292d +CT = aef8fe7bd9b1bd64fca4a1086bde03ebf4503137cc531a134ac716892c0926ff93ea7b79c1483835ec05199cabae3097 + + +COUNT = 448 +DataUnitLen = 384 +Key = 8dff968176aa0ead9ee87c8ae039adbb0fce8be62d4851fa1613c6e7a63000236b05fc9a9bef72fb5c06f4cb55805031caaadcceaf09d9c59c49e255cfceff4c +i = 6c032965a6447400c1f59ec2923d3110 +PT = 31b1a375fd16bb6ca1cfdcd07c7edf9d972ebbcd05eb0ccad353e9b543a9d25668a5e1d9a5d2b883184c37a4bb5d49c0 +CT = fc43b291c62fe04c2f3cb2ccf5e262359807feb2437aa7ee6dd95f54ca6ab022745a8551e0e40605b85d59046e9283d9 + + +COUNT = 449 +DataUnitLen = 384 +Key = 0752ab81ba758906dadbb904c3a04f475f865f550d57012c489c36972e2fca27d5a60f1783bb01513c26421a473f9a2170455283676ab8cb189dfea207883847 +i = 79ce2e25ccffc13822e9550513833e01 +PT = 8c9f52a42c7e3aefd257e6f025b7a9940866022a309a86a06406f3608a9261877d37ef30c1365e192d6e7309de5ef8c2 +CT = 6a52f9e2db3968d98c823258c104b9b5c91701be9a0f52705de346975a8ecec3498309f0cd1d68481ce15d6caadeea80 + + +COUNT = 450 +DataUnitLen = 384 +Key = 55530a5443027e5929f596f38891f13ba9d50cbd6a4e435abfc119a5b69e0a9f064871da5efd099f73a41ba2e188039d5269207eebf8a8be79538519de467f4b +i = fd0f9db3c0410092972ece3718a7515a +PT = 00917d5f735e2051c1ad1a5be010d94fd0ce217917af0cf6defa17890252737987acb62ce7f6ce95b55da73d5db729da +CT = 4960e889d4900f33ed1dd69649828664dbbb2e119cc1147fea63799dba3262a54fe9c3af0f3ae69d4cc863b0a8d7ae8d + + +COUNT = 451 +DataUnitLen = 384 +Key = 94567a4abf8616ad67bee70cc9a4efabf81a7ded305db095a08d401176a4b218a31ec1e922ff386a80266e1d369e785d8c1378addb65116581d01119e41ec144 +i = 0f7d9ca5d875bdeddc368c3308a44170 +PT = e1c2c4283348f591ad59dd9514b3b51bade71135785d79927dba1630fafdbbba61f384a362ebaa7ac530acf3cf12ea15 +CT = c3f4026b886f91a2ef908ce80bc0642493c5fc71ffb426be688ad9cdc0e7ad83a0da7503a464b0fa8baf41ee61143fff + + +COUNT = 452 +DataUnitLen = 384 +Key = c763c2af34fad42b7f8469b92f1aeae060ebba5c875c458ee18d1850b741a78a4200c59277faca3825ede9fc87db25ac536f8fe7a5c69778593d9289a0f5ae74 +i = 71be24041818789de0e2140b74db131a +PT = 1f6161ba7e67d581b09f30a619c3c1ed47188a4f9ba6004832b1c444022d901f7a8f9ff8657482c764ac173decafa18b +CT = 326faf30b7bcf070663fca637f570fc5853d84f048c2767cc8db0fd34c076f86bd03cdc2c1356e177c0de04762c6ad11 + + +COUNT = 453 +DataUnitLen = 384 +Key = de97b53a19bcc487bd196a39a6d69b4e9f66a5f6a3f08caaac702d33e3c7eea821f32bb5b4e826bd1a774d5a7d0297dae05d31a42efd3cf7bdcb04f92e1002f6 +i = 99a4960fbecfb25400eae94752f9f433 +PT = 01fb207a7dd8aa73331074730b8af1bd5668d1a6d95eb93ca691177d1639d09ab254a692304fc28ff9901708e73dea67 +CT = 0b67720f6a2c78f8cbad3f2c89b9a660059d08646d41ec1c04e4d2ad69ec48b72b8c511e9930b4b2ec8c500bd06e78ce + + +COUNT = 454 +DataUnitLen = 384 +Key = b8de923a9388a4fcfd8fcb68de538bc25043d73bce5498753c28c2dee0048fd4a3779977a29a5333d8c91d044300d7fe9d7c3b3b4917f8b6996332b94486df10 +i = 232b8b688d493516928341fb9ee6791e +PT = bc3c13650e65c3c90ea282bf2f8edf37ad8848392cb4373ba210ed4bd7e50d786ec2dd269e501d3639927ab8e34aa905 +CT = 3051adee4dc52719cdf93c2a37a2a26481485266366a6897d12c644d234483327483dec1e26fb1c3940aebe17b749baf + + +COUNT = 455 +DataUnitLen = 384 +Key = fbb5a0dcb1f4dda2315b36c3a28696332eae9e9210b602fcd4071f5d5a125658b251d6ed215a213ef0ab03664579804e2952fbaed7ca2fdea1c6ddfc4285fbb3 +i = f56a7f20721d38ea2ad86223f059a724 +PT = be4b75635884dea9aee6c9ca2fcf3375ebf8c5b3b1618da4a83d228d72c99fe79411637a0766b3393a106802ac440f16 +CT = bd4481cfb4f9bf92b45056324fcd99a79c1bc9a6fa2de7558a4414f8899c72a5f422e88c11572b8c080826903b682ebb + + +COUNT = 456 +DataUnitLen = 384 +Key = 86c8d2a32a783e07c5fe94e3cc84914376c1d9563c86760402fc3e675873911e2e16a25fcb9a1630c93f8abfb1bfedb51ad3468b754367a150d865ba41447569 +i = 16ed6603c0a65b7528ff0098e217f651 +PT = 81cdd1eec3a60572733018fa3c44eb958c9b2d9c00e72e66512613698006730d1657950c1da3ab5577a142868613ff5a +CT = bf01f13075ba3a1ce59baeac0df9b9c9fc5667fbac35c11d3c706d9604b48d2ac13091c965e1bf17b365094b3a83bff3 + + +COUNT = 457 +DataUnitLen = 384 +Key = 64dce56219b0117a53cea0e76e13e95e1d0bae319ea1bca918fdbaaee021051e256ad0642f64fff7b10dd3c61b55c79a32abdabd4ee5598866485a3ac1279f5e +i = 31cbe5713e0b7a17f3cd12171eb045e8 +PT = 209ad309d38d74fb7cfc93784fbfc359a4a1ddd70a11d25f40053af2e054d6d98fe907f45b0a311793da27215c0bd573 +CT = 4efccbffa63c27a956bd7d616d2bd7ebe4b685aaa554aeea9cdef8db49b7e4e6bc006afa19abe33b81777e90e8823686 + + +COUNT = 458 +DataUnitLen = 384 +Key = 22e468c21660ebc624fe47953cea5fa6a05858373290a0425a3dc300ceb4959ef1a026aeb9292bc2269f2d05205797df7867dae5de788c3823c9b80943d669ed +i = 89174e04332c36411189e6389a585794 +PT = 81ee8b8cfe1a66d5482c212dd65255005008634d33976125eb664656d075f856e257e4a50406e7033b5cc9f713ad753f +CT = 2206cd84ff0cec8bb52cb1230cf581cda543a31d6437784689c69d932156460be91d8d837632e2baeeeea1441a2894d1 + + +COUNT = 459 +DataUnitLen = 384 +Key = a6eae85ee996fae10371db24034bfea4c3775011f10445d0f2df399ad1fa91d3f48489a0b2b60c6332f5d092b987732ac746d917a7c8a533304896552499a9e5 +i = 95ea8913950b859265866f9b97e2f1c4 +PT = 2352a2dcca3f5862c038e1ce67cc156bb7aa6873d84ab381b5cfde88a2287a512260b38f8f7f6cf47e9b3ca4d7cc5c41 +CT = 4791269aa13d48049b3e66f0e0d6337e73d0812775a4b8b99aa8c6b25cd679111c38090d6bfa0a7a6fedee6d75360d85 + + +COUNT = 460 +DataUnitLen = 384 +Key = 1a635fe84fb37659bc48e82ce5f9391b9740a3111072ff9cdf47568a74031a40ec0369773ae8d9058dbe9a261874887aa82ca12d53a39f20b7780f42fa3d3e79 +i = 15ca77f1d9d72fe1d5fa8d622acd060d +PT = 352670040ebf26b73b4d335707e62a9f48517ef21b706c568ccd8414f2299cb586ec72b0d28e925d903ab633f579077d +CT = cc2a69bf3169076f207975d312aca04822740be8c34c663fc942cdc1939006360e0f16f302f95ea8fcdb423ddd738b77 + + +COUNT = 461 +DataUnitLen = 384 +Key = d1c5a5d2529f37e2148b97d6a8503df8376f32465e9caccf62b6a820be94bef0d9765bd59332e940367d8a1ea9f31cd4c3473675f38dc8b764e68411136b2845 +i = f25d22a0371d3a8ed89ee52ab03aed56 +PT = d33fccf40a839fb89d828b8b5d14c9f2ebf25928b54554d19677d22a3d316d4debea0a3431dcb696fe9044340ac3d252 +CT = bba184170322598167d318409f194c44d63131144d4e512d49957235c63d95c2987f1c7cbf078db83eff78f4c56b47a5 + + +COUNT = 462 +DataUnitLen = 384 +Key = 5c3b0535357dd13458b968ecf074fb0e10358f61d759af1c163a625a99076d37fec4dea877ddcfa19ed42cac9f70837241e4364bad8823fff441d712f2cdcb68 +i = 36df975b80397ef9fdacbc4fd53eacf8 +PT = 513d198fafcf7e1715ac95cb028aac21cba7d43cbb5c8c604687bbd000dd90161a4294ff5436d85c26806e9d54e6a43f +CT = 5a7c1d0c6c540c7774ab9da6698b0305d00fa5fd9d8a4e44d8622406ec6e44609aa412f100cff620b9a12cb9dbdb326d + + +COUNT = 463 +DataUnitLen = 384 +Key = 58afd7a4c6f5de499d27ea3a3cdcb12e839a2943c943298b039e683adae4e4d82bf3c8c89de47df3ffe429750279cdfd2832f321bbe56f933a2181cd1e6968ee +i = 81b8407f4b3a5b13b2242d6f7d5f56a2 +PT = 8760161dbd2675f16c0f9f247fe7326f3ba0eb53d6b31f926d72b72e44a0a69f6aafa6cb42df20c3b491625737af319f +CT = b24652cd7ac6d8a5d9f54aa326ac4a05eef7414fef6769efb083d81ae387b4e7602794c0710a199122dac6385a70bed8 + + +COUNT = 464 +DataUnitLen = 384 +Key = 4d9a20a9c1abd4f12e0b09983c38ca37de42a60c7cea75d1e64fab9d71a821aa94ecb62d133f8facf268707acfd4ac0d81de88de1267aa6762ac8cf1d2c43f24 +i = 3a0f801397f7156988ff2fc5f9fbc56d +PT = 59cb7e9e21e7f6f23974c6519cc9f934584f5d5ec73074e70f935759be2a8fd1286b33fe53407d611a9b4ad5c5f0a830 +CT = 965bf283c5e3d1c1c20a827bdf94d5b24a91099d8dfede4e1ca39e048a7fe1bb9d0f0f029e3774272327805b1006a93e + + +COUNT = 465 +DataUnitLen = 384 +Key = be9d95f1bf3195797e538762dca29f1a21bb911daf520ecb82364ed58aa56f5b73d3f2eeab514c2b7591b5a37af7836e71b601d1a567318ad20536eb49f883bc +i = a3edb09b82164dfd3b4d352667a11302 +PT = af004ad963c21d1b31b0a541470ecfc4db38c494cc7738ebdad5ae692d2fd1bca957448b2c0c4e3975ebc3d4d9bbefb1 +CT = 9f0bdda15c80781e65b8a31e63930422ae5fc9d5a6e7ba462e9c01687cd8c1b2b7fc6c7c97322950e02316dac3e66f13 + + +COUNT = 466 +DataUnitLen = 384 +Key = c25ac007331f92690d7435f9568919709bfaaf25ab2bc418cbd5972f33601f4cf5349a4b90774a8ddf18ce47365c623c8c464a5d674358635f88ff5efd8498c0 +i = 8369e1317fe676b17281a19e7f64ea27 +PT = bcb6c06fc8100ef18f712f24e26e033b63812631a6e13f1f23788f910359d919ff60d08b9ec53390566cd8f91ef3b730 +CT = caac67a8204b34b14a0e4dbf82b8f9fb5fc04ac229f671151a6cdcb6769f173e1f547a695cb1731f377ca754f5d07c79 + + +COUNT = 467 +DataUnitLen = 384 +Key = e266c1622bfda720e54f69070f23bd1e2acb51033d49ded7a31bfbc73e90665bb6fc3beb57f858ab83d1169136689b4a125fc534bb7bfebf50d93b320a7db03b +i = b0e42e7e64abeac7462f65790b290380 +PT = be10128460a0842e9c60b067069d052e05ce71fc878592a9c3982d51702871d42b7f6da40034ebff764fa60a22acc0b9 +CT = 89e805751b838259c2cf0d76b99592cc759188f7cc3f21c39a5369e5a8a75470b2fcb4f6a9e2ef701d5ee50b177773de + + +COUNT = 468 +DataUnitLen = 384 +Key = 525cf97de904abc4e50f5650fcf05dedd48f5018951981308e00ee8be9433e953ac2cf9c5f4e2b9aec05b5d78b319535ae8b283a147498a844bdf0128d35f441 +i = 1d546b762189af6c48256fa56fd0a4bb +PT = 41ece877088ed3ab96fa404ab436213ad9c89c5b9262c863f7f2fe093fba5253bae9c36e5453942c3dfca91e582f90f4 +CT = fba5cc2ffe3b49dc5b00152b9ced9823f1c1802398586ea912716a8bfd8ad8733512cc24eb921eca884c3dc9b08ec42c + + +COUNT = 469 +DataUnitLen = 384 +Key = 99bef6647cbb1258b030ae77110bec0229d39d276fc21e3bda4b63ea1f730a9bab602425dea7bcbc717e9b15249211f2ba629af9092170b481bfb245f3748f5d +i = c606b65525e08be6635feb5ee24794a1 +PT = c8ca4dde72241ff3d985e6043be6c27031000898f960d3d7517abe9a6961d19b853b14737b276e5c03fc1fd615c06af2 +CT = 8f336c49f2fc1906f92a78b7bcffb94bb11ff019ff5ebf97a0ed8d47359cae6a3a318cf13b3bc3429a903b4973552058 + + +COUNT = 470 +DataUnitLen = 384 +Key = 4c10ba42c5171947d5be36e941148f2f3b5d7813069d38270a81f2fe5f27196a0eb89f15201b28e09b5b8d279a13e88e63b8db9b41695501d34b130750687016 +i = 4db380db639aaa8d2879ed85ae1e4afc +PT = 42b20c75852571c2fe29dcbbbcd5f869ec8f392464870937f326257d222e5db64d9d0e596a5b40ff6141eabed904a7a9 +CT = 1df7cdc016dfb1723bc5de4a6cbf908de2b623319ee37aab18e5770b7cd5d184e79531692702fc08f595aef13212aee2 + + +COUNT = 471 +DataUnitLen = 384 +Key = 76769673505d54cc393bbd65d78054ba65e624fe5f493fbd69ee74d285a526583cb15acb6ec8027da55bbea687e9edf576f7f12cecaa258d1ff4ae21cf1ae362 +i = bfabb3aa671419c8e1045d55ae3eec68 +PT = ae481ec2954cabe199a9fbb2c8c1152f4cc2fdb0ada760ed69bf42af40979f8170ff4dca924c086b52383842fc296616 +CT = 5698a8f7edc14957718ba1be88336118e51ade14f094411deb78d7d43c510b4ce36bf1e4e3a50b6d2216ff3c077359a1 + + +COUNT = 472 +DataUnitLen = 384 +Key = a33e067d0c044e57d9cf00ee269a708b29e58c3a7d7159114444fb782fe7c73fdf4f20d0053bdb02f6eeeb2ec63029dd0f86c08cc663a7d7b944e14d30e84640 +i = a23e735c786e3cd74b8e6237252ded83 +PT = 6eaf2e2d04219d2ef7d5349019d81f659a1db9e761ab231ed3bf56a612d930d1542c0a7e3d3f76b4d8dedf2143b3e4dd +CT = b61f227cc34800b107d3468b75bcbbb944048e885433b8343b1a471fe20544084249962374007769a89dbd32196f0fd3 + + +COUNT = 473 +DataUnitLen = 384 +Key = a0f3aa51fa0af57e6342951152f7c00400d9becb62733bfec925a43cd5ceb87ea7a1e89194ea4e362b33651c330daf4f0d27bfc2b09f4074d0aa84ec45ded592 +i = 34443bcaca3838ffc27763ef34a9950b +PT = 2e3808071f9eeafff6508256752cbfca74c2a98333c98598e5f39eef640aa3d45628c82fbccc549bc8689354f590b10b +CT = 54eb2e17d9a02e956cf7a15fbc544a734b3733323dd9631e32043a8bff8332537cac04a9b974bb361043190a22a4f923 + + +COUNT = 474 +DataUnitLen = 384 +Key = 21c133a3cd8e7ac8252618222ff619415bcf67d2bf4fb80050f7c8eec3910bb8d1032d83f6a414d07eed218b305d36a227204c549ba0f0eef02a951f625fa58b +i = ae4c4e4f040112d1de235b243cc31f88 +PT = 2b7eb21ffe88441ca1c1f9055274fc2c9db04ecd9b862ee7b77d3cc63e9d09d8cae911b379ac0dbf8020dcd22f45eb7d +CT = 7bf76866480bbdd86f43286eaf1d1f51486d4504cb77ae58b824c38c7e741b00096a1944a879233c6b17cb390ccca88c + + +COUNT = 475 +DataUnitLen = 384 +Key = 825770c71e2468a3a646f860a2e8766ef9a5a5204ad53a4ca7278b1658d3f9eeeff819aaadd2c4577b84051c58d914751eca1d353389439dbb06dbd6669016a6 +i = 734720de3930566fefb8ea6bba358eed +PT = 8ed9ac29e341f7c34e72f4b50ebb402e443a7f07837b119b4620c8bdececcffdabe8f258e5eacc74fb40a2eb60aef5fd +CT = 2f9ba195027adb0c209a11efb412ed9bb1aec1e5b22010646901655af1427ba2755284c2f4312c2376e50bba119bcf06 + + +COUNT = 476 +DataUnitLen = 384 +Key = b74af58a37ef27e4522ac44919a7a22c09bf33e9cf2d2a1d2888a733ba0d650a8f003f4dbec9c699f495cd77994b09b9269028979f86a12e55eab31cac3585d1 +i = 2224229ff88bcf39bc2537fe62681e84 +PT = 65f06b230608213e925a6b665affd182aa7480eaf535a7feafdc7e7d6ccf61e914b82b41a2859e29c34dc8e9c2b96bca +CT = cc9bed251539e83209a1e80da9deef6ea29a223d8cdffa5d69db3676fcefe5218ec72006ff174a4cdb89741a2bd8402b + + +COUNT = 477 +DataUnitLen = 384 +Key = 0e62e26087aad3f3a1bedcfd4e594fed590bc2d083e7f9d6f8189b3a948e8315d51fd03ae6b6912fb63204b61bb27cb5436fb8e1408b03128700c58cfcbb80a0 +i = c6265b83f0d90eae17815e173d867ae4 +PT = 72afab7e865c77ac9d9902f063b3e1376a9425131b18014b9aa5e47ebb66eecfddf0bcf72c8975f91d3a83e223b92785 +CT = e983a0e5dcee030dbfad8ac2ed19a72b4e61682dc924768e050b3b729d89217de39d7bdcfdee9c7cc9d7e4b581bbf0fa + + +COUNT = 478 +DataUnitLen = 384 +Key = 3ae2940d74e57f9ace37b0f65ddd3bb129e074aac894fb4c03b1c6b449f3367ea477aecf907089ef322d0be1228ae5fca3ce30bcee3563c91ca6d49ba67c272b +i = 0ae4826a4ce82af5dd9bc5cf7e743a6d +PT = f4480d6c7cc4950c539f14f211e3065a0844eadb2abb68c116a015f56dedd4ff9c6559cb4f9e09b9415b6f9edccd95e2 +CT = 265f49ee193cfd77afbe2bd9d63104ae3bbb0f668124655add65041b3a2293ee86cdc2f137a48bcaaae70c3cd776a2bf + + +COUNT = 479 +DataUnitLen = 384 +Key = 678301c9cb96a2bd1bb1a8353dbbf9d6ad0f13d2299d2e5baec7faf5fc1a434752fca1d8c524ba00689b3c966771dcc2cdbb7c230f3e1818ca5dad0901127baf +i = 96e0d833ee5a2a54ff046eed7ce50707 +PT = a9159a541e9a80085183966c2c9e92ba38b6da42d0bc26335f6fbebb01ea3fd48f6e05c52d0d4bc3378dc345d8f959a4 +CT = e01ee76321ea067c4cc9aee5d61b3f39da92fb849ca0468376f43482b5ce24948ce3c436871f4f0615de9b23c3dfb142 + + +COUNT = 480 +DataUnitLen = 384 +Key = 1724994838543581df05ecff923090110de5bd67113f2077a2ca253bc94b800aada34726ec1fe80105fc42537705bf133e743d74569077b3444f6af0e6271ace +i = 60e395231d95eb313b8f26a5abad4573 +PT = c090563de2d4c0378e45eee013f6284df4395c0489376c214f62c5429bc75a689e9c559e1a168a7d693c62a57c0f80e8 +CT = d222fef359235d966a187e4fe11f6babdd4e5cb87ab5895592b63c68319fd2cbb5bcb28e26b32b17c67270bad199478e + + +COUNT = 481 +DataUnitLen = 384 +Key = 4debfd26c4d9aec8963d3d8874d410b77637e99cc316176998db4cd80f5df28e9224929811a8633fc3714b3702f27d177ec47c171f1bf66536a26a1dff72be60 +i = c89a693500c72732ae0f43b2576d8630 +PT = 699036872e32a1ea51d9129c367275fb5ad210f97580bfab26a6868078dfd04e4f507eddbc8c1744c5958de9fa5f5981 +CT = e3351b19f8f21318dbf92e2d73e50a0a9c50dd41ea5ba292606f09bb31fe35affb5d7728b9eb1b81f4645d81524088a6 + + +COUNT = 482 +DataUnitLen = 384 +Key = 35abe18855fa1cd2da0db8685861a1df48fd134b93de59c042967db8d2d52570c7a702ba8237d9f8dc41d8999119ac0af533083bbede660e82276a0cd7a74e67 +i = c799cbe0d318ee036c89f8599488034d +PT = a858265bd5ad1bf007f014e2e797bcef02eb15290302d138e266094625e5e0026c64cf36812582ebd87d5ef1abb27e1b +CT = 3fbe905c39bbd6776c1d77104ddf51d73b5ed7df6e03a346f89f0d76380847478e16d1d7e986d079f988561a88101870 + + +COUNT = 483 +DataUnitLen = 384 +Key = 932ed6949a7e627c79c3d443ee7cfad4d5533a944a09ff12d2979b1389c206b3598d35de74bf6e66eb796ff2eaa55b22b9b55f315abb1d0a34988c2ae1fde451 +i = ba7bc93f93114597b281fddcf10b3e3d +PT = 8c761b459dcc090dcb49c30a4ddce0a629062a18ccbe3a289c7dcca977239a2579ce1909d5e236251d6f15579350620b +CT = 5bc9fa9de58cd7f1ad73e9d48a49ccc8856be75dc7f18ae49403af91bae754382c98efe6f8283e34aa38df1021764c6a + + +COUNT = 484 +DataUnitLen = 384 +Key = 6b9cbe0befdf8d1f748fb74a0505997766a0f657f62b509b6a1645f31033e5d982dd710c61037705a2a75f3f73c8809c906159a7568837778c8c8256219b0d81 +i = 691ebf74d2d87d205435e607b272e27c +PT = 021dc2f407368c6a29941b726a9afb8579e152e16503f6bea67f917509759a1f585ce43731d35b67d7adf2a79314f6c4 +CT = ec71432cfb6e3dd7bf48f151b7c1abfce4e1f48c02189a468495026eb691fbef5222a90d6e9333b733725e34718c0788 + + +COUNT = 485 +DataUnitLen = 384 +Key = 5c65ad92651e424161758248583fe02528af6475a8d9a1830d7cc7b1ce4648a15613cf20c7b68d9635d8e08cc6d7272df04bd3654464390255fa69c42e38217d +i = 3ab3f59b007892e12864b3c801dd35e5 +PT = 247c8c5c2ca3de257bedb9fbd732c813435499fe4814bf5138cf489278263ee29f19c47b52407a0d26263830e5c640f3 +CT = 347c30b64303458d2facbd564b52b76a51ec393c88dec584dc0b34fa6f65c7d71215f206be2fdb600cd28c81744311fa + + +COUNT = 486 +DataUnitLen = 384 +Key = 6c461541fff0d5703511d1167de08d15998027ec3b747ebc720020606862ba6a91b198b5fed88df3ff0ac21ba211a5cfd1a24637e24a5d3523583a095c6639e9 +i = 926159e4e5f2ed25ff1085a0e84ad85f +PT = 77e6946473e4e07ff462f752111a6646dc5b04265e022fcbd9a9381873a671c1f2ba76ecf91f4867aa545d71d51fe1f9 +CT = 35e53e3894f98ff07634d37b0f568d16bc498ebcaf3b529806811cdde6b6888fb3df9de9ecd00e6ef152f8e487153e7d + + +COUNT = 487 +DataUnitLen = 384 +Key = 97c3258ef5b78f4b9ec0804bdf4f6a0725f557fc5fbac571a8df39e94eafae6b2ff8c412318fd4febf37f87d5cbe663d1086e3e85475adedbaf023f191eafc9f +i = 81ddb5f22d7af9f55a0b217641fc3aef +PT = abc73f814b3ef921b5f8382e16cd85cd23c2f60e6c8a48c12c0f478c47163c82f6b13d0ab27f32fba2190112e054ac21 +CT = 45abb1a5f7721ba6ecc67ef6acafb8dd67e824cfe74da76a95c1baaf5e50eb11e90c6e53f599ae1a682ddf2121203faa + + +COUNT = 488 +DataUnitLen = 384 +Key = 7b6ae796c4ade282c1062f0b8e0ca82c3d9c3fe326a983aedb430545fad1357979b4d3ec3d17a9736c78f108798f187afe62f1f71100fdf8fa307e0a0aac6144 +i = 7402d34b92fcdaa51f42522b97cbaa95 +PT = 80791a7600c23cb7ec612d35df354f1c2878189c6a34037824a01945f7a4bd3ccce4e61bc9fa9a94648b17beb43602f3 +CT = d956c3451076bc5a1b3834a7f61120a202566f4c5ca18b6b1f0b0fdec163cc18adfb0a979559d2ad1810976a4d9b03af + + +COUNT = 489 +DataUnitLen = 384 +Key = c6760611fe089715fa0e2206b82c94fad00348aba732a3eeadb40af4f67326ac3fed5fe9e4ced821bcb4d055c0879fc39c063ad8c5806e8200a3c80c8f0be63c +i = 8fbace89f9feccda03195839fadbecd8 +PT = bd3ff4c8407e006128b90a8f115baddcf7881abac332ed522be73a42d64712022bfdef3e9cb63b4ff3ef234d87b89ec7 +CT = d421aa7999cbc494cffe2bf739b9d4a5220e47b823cdfe20a5bf54fc039d2f6da608e0a6c9bdea4feeade90acfc6efb4 + + +COUNT = 490 +DataUnitLen = 384 +Key = 1d10611943a801b991f4fa344f7effff2cb8117f43e3fc4a5ce96e327f531a00346e88ac970c27be55b10ab7e2e79b944210e44d32c5709a377716e83de43ba4 +i = a4b09fe5cab5a90f7d72b25d5b5a237c +PT = ea8b9cc1eb236566e347716ce093cd77154708da85b8c40098e4882ba725fc2b6566868bcf584122ad8ecf482ed8c9db +CT = 7684e096b15a4f1b3f1169c14bd7f194400db13b12090761020d59280b4ecfcbacd497fdcf2021f8194ce25107759ab8 + + +COUNT = 491 +DataUnitLen = 384 +Key = 555f3e74d863eb05465e5c188a3a6b58fc37b695c74d4049744810138efea5438e6aaccb1d68e233e1e0e24866ef5da99c761b91d8db1641402f039b37cab9cf +i = 8c98bf3127e08adbe9d97921f05d9b5f +PT = 01727c534ed81fdf58596ea98dff4ac2b87b2066847661c6b6a90da7ba603025b7cbf60b2a5444fb94b8a526885718ab +CT = 6da62ad3d67ea55566ee645de9613c512a7accf044d441625d3dbe6aa685656837b844c1633bc1d8e36829aa3446b7f5 + + +COUNT = 492 +DataUnitLen = 384 +Key = 04a8d393c82fbcf247d26449d4c09052fa012952b88139ac015d7a0c5a3180b8ddac81fef8628c4794db9f8b1f7878ba763893a9685c803c882ac3e6f5ff522a +i = 64d975ac0be61dcc80459dbc7ee7638c +PT = 5fc0a002b527dee2c7056ca837a3a2f58e945a702c8f0358fff8a0b1d85aee6a94ae5da5acecfe11fbc9094c95302d88 +CT = d7489c5b8c441e645e827685488f865082ce2f9de71cd67085c70697a2bd7bfc1e4887512ecdcc55c0911c5ff08c7e7c + + +COUNT = 493 +DataUnitLen = 384 +Key = 89cbab9c7f28f38a97e2e809e56789f1ae6ff81a7fb47de0437411eb2a17e2ea687a31177e5ba25797ffb939aa2e4e5c8bb8b1747acab163e93d4c74789d3f6e +i = 54146f264efa6a0662ed4524e18ca60b +PT = db09ea8f56d6952054d89c153163055fd892bdeb03b5b264eb9d271c30406f4e71a7fca3ff7f1c25432e809a2ca36146 +CT = aecb6dd7c4aedf2345b4b9b3b82a417383397bc3d8b71a88e518b138dc12581f9b32af7827b92ad8a72b9416b1efc799 + + +COUNT = 494 +DataUnitLen = 384 +Key = b9559c33bbb70b2f7406d4a37e204ee7fc815ed30d8972f98c2c1314d7cddf88d576b790bd3ff1b802e5dbeaae1dc21371252721b4d8a29469c3240302c91452 +i = dd34f1d2d538248a341417d0a4f429bc +PT = d1481207ba38c1d5eb3cab54bcb9246edac12cefee87df7ccc50d043b0a6295075c67187e676026c853e52d4e6ad51bc +CT = dd80b56415ec7739775cf379989d25138b921ae7bf4ea42ec4ce289be41e7c6a5e75134b027a59be665f0bcfd0b12294 + + +COUNT = 495 +DataUnitLen = 384 +Key = aaf865d76ae52fcc29345c806e516e8b0391b23b1d8199afc7e844b2cee7e64cb70eea79f10a7c3fcc9bacdc9e93223d36e5d9cbd491c5b05aa71eeb93317e81 +i = c66070e12f45047bac1b0478615ba4fd +PT = a53bfea427733adc2efce66e66c74bfa5550f92be2e239d884e225d4409e679cb4e1c0fadf8866df27f0fe9f853ed091 +CT = 369bb26e25cfeb0084fdbc45fc2e5b20251536d04372ac9f547d435275a289cc8ee78fd4170716ebbb63f2d182a783f5 + + +COUNT = 496 +DataUnitLen = 384 +Key = 4ace01499baf18194edc7f4ca0f57737cc451ce36261def6a162d1d265096bc3e3bb5aed2e28e5c79304f21261a8d159b5c1c84b2eb9ef6df8ee5b96f0158bc0 +i = 22e9ea287889c5cc85d8cc864183bba8 +PT = 7568a318405df4b402d27f86a46bf21474fbfb399db0cadb55a2d42cfb814797dad8a7023343a917e437e82b8e70f11b +CT = d611506c6ff98e17893e2bded01de16e8d313a37c56caeb7a85396c913da3f9d2f7e3fe53a591c6fe98fde0579eb9b79 + + +COUNT = 497 +DataUnitLen = 384 +Key = 0bca0a8fee0214922630de10a5d9aea3b81681d358731945375aaa1bb2abd1b961bdb83e7c2f05d8e2eecd509c6c09065751e5d01a915fd04ef90f3bdd6d5aa8 +i = 96c043a031ec50f023fa00a4d29d77b9 +PT = c4f63004dd082fdd13873366ca48d1aed43fe31beffa72df95bfc163f3387722cbf7aed09897423f74c3b4f80f073337 +CT = 679aca84b9b77facb5e17f0be8d8cd46f9f3c6ca1e6cdbf53058f02e6544f5ffb59e7af8297520b99b70f974648e6b8b + + +COUNT = 498 +DataUnitLen = 384 +Key = 687c01013d1feee7af6aeb62ac2fb7daa3dd206b7945907c1d8b1601062b189bde738a2c64b949b5295313d90313e1123a756571269a8638b999bfed2d8d582f +i = 4f95b733c211363c19bdc8f91f287208 +PT = 8f93f8a09cd9b1dd5c99a4d979cbb279619f20f1a7515bddd82762107477313135535bd22fa8b081fba291a47f5dbadb +CT = e6debc72c2d8b05063bb8bf812801300208e2daa398e9f3e5d824feaeaf9614bc7b2d6bc6421c5500a85e4ae99f4cb05 + + +COUNT = 499 +DataUnitLen = 384 +Key = 4277e9990843d29661e7e02f1cf715eb31f04e7cd024e6247f5b59ed57cca23ae12c913197a98a755e29f4e76c889cbbbabecb0e4f347253d281c1f71edfeec9 +i = 8bdcf94203914cac8c267b7a47c8a446 +PT = c4266ba90b5ba727102bb88c48f3e790e3e4c671c8bbf9101f2310f77f19f60ec6291789f60a47fd735e205dedfaf1be +CT = 0d97925dcfb071cb2443e7e3af8d6b6a173a8c4dca8ccfad2364fba3bf47860494603c27d7192f28c820c1d0a22ad3b3 + + +COUNT = 500 +DataUnitLen = 384 +Key = 7fb0922fce09eddd3665a11f5235d51ef77206a7de454775b69dcc5459acdb24ccf05c415af5ab8a06623d198d5b918595a9dcaaf5392ee717c1047f2f08f62b +i = 8ea3638b9d4062f169196ff4555ad0af +PT = bbb234db01be79d3dc7dcf49bc53b8efc62fe7179439061d73a6b20edb9b7da0450b19f020820209afe08112ae4afdd3 +CT = cbf68848c42049efb146e2d1e4115f62e4faa4efff198f1a0aa0c98ba02cc44da376d762d6151f234587bf128b6a7ffa + + + +[DECRYPT] + +COUNT = 1 +DataUnitLen = 256 +Key = d6c4cf73c639e025654dd3232fe3aa7138f21bc8922271b4a6c0af999100b6b5e380ec7ec8da88e6816cd7f4f26e7ac0f86e4caac3be55234ebcd4347cda2fa5 +i = 041f41fa30b78898040b5e0ecba27d2b +CT = d083f37a6160ac25c3229800ae0721d94bf6a9ff2f73a418544e6c787cbcd34a +PT = b8f33dd38c138daca227728e19b62c4ad5ad516ee2c3af3431097ff281956d7d + + +COUNT = 2 +DataUnitLen = 256 +Key = cec5a8b7461bd2726d731a33993338f42ce0d25f7f507c65626b52528bb9e3b283270566f99d0b8a803fd4b59b96867af0afee35b7748134b93ca689662e7271 +i = cedcade41522aad2f1f9b64ef0bb6244 +CT = 8fdba53d625a581ba797ae46eca318ee340365d6ae2f7180a8b95a3371c0f01b +PT = 02304f2975fb7e8db98b6a6bafffcd5c7e7a0141b8fa7623ca3440ca95449549 + + +COUNT = 3 +DataUnitLen = 256 +Key = 5f60f076a6a1a2f8f82fd6b607625804de0466fcc9a6e565fad741b2371f9c105d7debfb43f384e75dcb53f4b95b2a7069bc53f9497f31f0f99a02735fc5c4a7 +i = e92ae47a1b83cd75f4d08a5c69ac16b3 +CT = 7cceb38454084e158c75b2b0b952b5e8d3693056ddd80bf0eb3876224015b2bc +PT = 8e280d5b18da80b1b60ed982fe999e6bad64a22d956f08eac8730fa5bd90254c + + +COUNT = 4 +DataUnitLen = 256 +Key = 17175ed8775d8972d9aa4182ce5358603315da0f9e3416ca12acb3bf8049c9717cd0ca522f28ca1b874f96754aefda28561d1946b9fb7bcebbe39fa417a9893a +i = a7fbbc8d99abe760a0624b6149a9358e +CT = 468b386686beec763110f1942baf603c43ab65582eacc8b517d6314621224510 +PT = 7eaaea6cad6615e97e7adcae96bff28bc1be379cce8eab087ac08503f8ecdfd9 + + +COUNT = 5 +DataUnitLen = 256 +Key = 584a8558bad66cce5280550f17419259f4d13cda0afe085555bb6ac08ece0cdeba090d37b0c879c684ff9d28169443d454a45059b90dc413fc15f8cf9141baec +i = a8f1d8232a0afe586cdae0f172e67425 +CT = 9c52f8c56b9dbe8928e2e146e434492a1731ac895f588e175ae5fac04bd5e519 +PT = 9fc8b6aed1789b81d35e830c42cfafa89ce4a29687ef394646491508f5c4fdc3 + + +COUNT = 6 +DataUnitLen = 256 +Key = f614b8c11bcf172848e4c77c4fc355594d08bb3f5a9b62cad6fc6004fb112ee74e78ff39e07106ade5925e6681dcac1640d49701e65b5b364158ba579e66ed8d +i = cddc6107aacc85808a53edd581a2df4d +CT = 9bf2b66442ab6c53848eff8524e281731927a60916ef3c84e04b2d5ba430665d +PT = d8df70400e7d324152b9badddf1eaa031dacdeaf8b6397bac4c410a2c561170d + + +COUNT = 7 +DataUnitLen = 256 +Key = 82e186a902a4026bd76e106062e7bb8f7b647726a752170284561fa13946fa2ef071f244d1c0dc616d2ed0384cf35ac8056388ab2ee1eb4af93e629e596db57d +i = 3db892a45f3e5bfc15783ce6635db387 +CT = 28a643e71d6811ff46788c9ebce0bfc4e85deddc1ebea69581c3a2a602f2f59a +PT = e8fb493e637cc0fd54f62e2726848fc1148f9508ca38e4b6eda3ddd1b6fac234 + + +COUNT = 8 +DataUnitLen = 256 +Key = 5d41f68a21ea43b9f7fa80bf272802fed4b73ad551ac9e7ead13ec87c59453e1d0fb97533f66a3a7fb6ea3cbd316b23a599dd89729cb6593f07ad30d3736bf4d +i = 7c29aa570c00177044c2534ecc1a754d +CT = 7ee9549a9a360292a699d18e57b9a34d63f6972e235583990a0cd9fdf0034a78 +PT = 0199c46503c399eb0a56eab6ad34de00e714d7f629848721408199a7f07b765a + + +COUNT = 9 +DataUnitLen = 256 +Key = f5c81f050285d4aca3afdd87581a233be9b53e2c5ab18a573dceb8cc6ebb91bb6c0281048140e5b83cc6000d4dcedafaa1386b00248a39fa11d202c5b688df32 +i = cb148cc2d8f7f879040182f728e44f78 +CT = 93657988a75c67554e1e872770670f1ad18d274c410989e3d5acffc915689b11 +PT = 513c3295984d13306cb3b150a4995a9fe87adc8b39e6e7bd0d7884cf4a823ea3 + + +COUNT = 10 +DataUnitLen = 256 +Key = 9fd68b29688c7a2daf3fccb0e2de4c8ce8e5b17fb3d829a768ba415ff33e3960b7b47196ef1d81e6a56c9fcd948ab8dc7e35c202e2b0a6998adc434ecd5d5bf7 +i = 20844a2129a137831595fedacdc0b087 +CT = 977e2298c68aa6ed32d295a64800d4ad34bfffb065e5dc2d2d54f94136d62ccc +PT = bf60159a4e172c15f54b4f9ab24b2196541ad5cdd677abac34e58c21b2c5907b + + +COUNT = 11 +DataUnitLen = 256 +Key = 3d331b39f4f6bd2a2f1ad638af6b3bfffd62d2ef597198795324b40def92942e68fe58a5ec5328a38f2a0254986d42ff03db8c6c90ae0f9f9a6f323761518ffb +i = 31ed8f0b28de817c71c62b5b768c8890 +CT = 7367d9cdc8b1156d1fad4c300447767632c22e765550ffc15011e69fa46ac17a +PT = aa6429f07da572bd9f3a97b6c8c05a1ab3e5ab964ed6d79cd3100196c90454aa + + +COUNT = 12 +DataUnitLen = 256 +Key = 4dccfa92af6344c53d878bf0bc8a213f9f90378b061d4477ab8938790987f4afdbec6459aca6071ab8cd25fb9bb828de140c82ae31d06faff22d75b5bf616a53 +i = 09c3d47545737f24c586da62335d36e5 +CT = 89c709ed1bee40dd25d6ce24b4d5a3cd017a8a15a06901edd2a7ac093782923e +PT = eb59ed896fe0e15aac1b0568d335661be2d87ff81392ecbf1f795c842a3acf55 + + +COUNT = 13 +DataUnitLen = 256 +Key = 6ae7f0450a5b85ab696a7ee5f88d686327277136fe818fa42e4d2e05ca78468f9fff714409fd7a32ed64a538ab09820a26a4dc4c095e5921baa7d25ac6a2fba8 +i = ac364d95b382eebe02569933aafd61e0 +CT = 6a206b31f32fac49dd3839e5aa5ca98481d27bc349ab588cfd73fe44d7daabb5 +PT = ca24b172b0ca4ec2a6b5eb94d3becece7591e6e17d9144e9c0b7abf04843a429 + + +COUNT = 14 +DataUnitLen = 256 +Key = f3b65600634704f241327bd6ccf77df867eb410910c65d2787c596ad7fb3541c2574f12297a3a23092c4520b065f638288bbe159d2b83af2283fece097cbe353 +i = d6eecb7e8e71ec5f3c52f232d398c9a6 +CT = 0f2d357c63605b4363585992e79cc6f62a07e06c2f8ce464e17c85eb93cbaa50 +PT = 1c5adb819f5b998b8adf9e17257fff0883b773d945f64b6bfea87544630e6549 + + +COUNT = 15 +DataUnitLen = 256 +Key = bc53907a9e4892ba6aa16c50a28c45ef8ae659bef84634351f92f0cc23fabf423d28dff27eeccafa70efc5c0e87435de12dc864f17fc746acc8729cffbc9b354 +i = 67fc28da4fc507ffdf1cb5e7f7cf2518 +CT = 0ec08386b95ababaca4b8f760a5908d46869a7ce70857e0a63b5b0b016dc5fd9 +PT = 28534fffab6f923ff31fab12a76dbb753ae7e2440a015f8a58d0a9518524d0f7 + + +COUNT = 16 +DataUnitLen = 256 +Key = 8f695011ea9bead9a7ea8b0f45443e2c4db7bacb904c1d6a35c3ea7a6dc976ec393d0a4a4e98f751f21af79b1e064e13c525495728e8db384b979a7c7d3a6e73 +i = b53610e6339d25450564640bf390f16e +CT = 16764c5b04afd030690d6797102c8d1f14d1194596201ffaf2578ff593173038 +PT = 3d3a1c597a4371c70c2f6637a47607f5a4cbae9f28aa663d517c1d356161d0b5 + + +COUNT = 17 +DataUnitLen = 256 +Key = 1bc1a27e5e486673bf75cbbf0646d58b21f9dd01c632f9bc89a69544baf1165ded763c4c9b9a40a598436493f1e07ff463fa358740425f26d4477224d32a368b +i = 4f505f87b3b733847ff0797db87e4e4d +CT = ff1235ee5fdda59573b080ac43c2c2b0d49b122ab4a8cac6d27d74a1e3f5ade0 +PT = efd25b83c7f7aa28775142b8341f14bb8b6db6afc63235bec710fa17e89af79f + + +COUNT = 18 +DataUnitLen = 256 +Key = ba5439f3020868a4dfe13515711904909534f19be12aa49b6053a914a3ac8058e841d8526cd2d2e9ec9b9bf5ec0ebf37a4de8ec3c34e71105f0bfa3ea827e498 +i = e9048751b3e59a65e8e4abdaa463440b +CT = 478e111e57d858616bfabc13654666846160b44d25545eb0b69bc8c9dd414f20 +PT = 933a2625b867bceacfe0bcd4e1c3d9840ddbd4f2db6de0c86c251705d17f1806 + + +COUNT = 19 +DataUnitLen = 256 +Key = 227e268488be32b9b37280d3661255909f1dc089dae4f0e739f833ff361fd0a5a542a690e459b92c39b5581d6d37d7ab9edb3f37886cc02454630e148efa6f0a +i = 42a37fc06ada0a5efbb8a55d62a218cd +CT = 6889f64de477693e7b72fa86a590d365716e89189c68baae2cc30e7fc3910a6a +PT = 85ac115bea965ffcf7f2cae9d2301f6fe46b68d8181d4b7e464fdfe96c379d02 + + +COUNT = 20 +DataUnitLen = 256 +Key = a27888522083c272ce4566fd9da9fd806fef48bae8f87740a131d33d88e4677d9d418a5d733e48882949bfdfca87bf6362731b0e5fcd6f5ed52f131e4a1fc52b +i = 0a115fcaf0918e326eca1e178b6ae50d +CT = ba0efe83bd81c147475fcbb5510886c87bf4fe78e158f29820ba43c76b79fb38 +PT = 93c009cba7c4424e50e88ef27e78b532805781945fdba4635935c91728c8ef65 + + +COUNT = 21 +DataUnitLen = 256 +Key = 5b6726f9c0e1cdde92e87420b712282e80a423483b9146bec0287ebf768410bbce06ddf2f9df4082ac4f38fc61cfefce246e1b99561960c730633304498c4c7f +i = 10478a37d567ae3557098bd44ff03674 +CT = 33a8c0b87e4a6cc784072fb834546d53e26b7b265b0217eaabe2ea294cac4d0f +PT = d550583ff0c77230084a1cc2f6d4db3b992f3a912116750e476f2281c2ca2cca + + +COUNT = 22 +DataUnitLen = 256 +Key = c34e4afd6a13fd1b07ffd05234dd62e291b1ad423a51ed4008bdf90cc2fe56d2f478e92c1993e5b7bc604a64492f1179a6aac5450cfc31ec40283ef39e0ea95f +i = e0b8bdbf45e05053130bc2cf457f3e14 +CT = a6a3c0c5f72e507cab0f777ad12bfa6ab1586b9c7c16d01583192f2e58a0e3d3 +PT = 593a49d19de6175705926764f26c84c0195eced8cd897555dd520ab0b12be81d + + +COUNT = 23 +DataUnitLen = 256 +Key = ed1143299c2f244deb0d74cf1f69221a918edcc50223575ce8ee922d2436012eb9e908ab14722763290e5a83631e20bfb6121b8f730628d2685cbf07cb89062b +i = c6b9ff0535b2ae9b846e3dc3e84ae22b +CT = 96326ce5c5f8092c476c629ff9c4e5124e2c42fc3cb6780f58f22291339803ca +PT = 51c13c72d992441c8b31de1432605ccfdbaa7d540c2be208ac7eb9603b23b423 + + +COUNT = 24 +DataUnitLen = 256 +Key = 64394309abbb9f361b10fb099183bc53f98c84c880055a4ef7a0366a5c6db77cf6ac89d84c6f638e093fcc4734806a8f53e98230f5dfc9e80ff7513e40da1bf6 +i = 7e7b7340fbab68082c0a6cbb5bf3c348 +CT = eb854f092c7fe67ebb110fbc447ef0e557c04599ff63d81f1406604d0ab7cca7 +PT = 5d962b7f3a32b8208bda5b04003a38545cf20ed276322c919f5017461cf88a5e + + +COUNT = 25 +DataUnitLen = 256 +Key = c789279af70874ab8421ed79d1dbf2654210d727a29ff9f88fea12900831e5e9ed34a1effb5f91f6b4c2a2dcb2ae7023a0b95b457f90838d60150594590c02d9 +i = ac1148341acdd6dbd749539036e1bac0 +CT = 0021274a83b0edf648a4209bfdce60e47dbbb8599a1e9e528c8f462c2d2b8e3f +PT = 9e87776461c215027d65fd116c4076f3a743050c0fd9b4605ec5869c1f6366d1 + + +COUNT = 26 +DataUnitLen = 256 +Key = efbad382653912be08ffb5f478ef4b8efb699ec4e1cbf50f557c143816f1644fc85d3a68a0857d495bf0bb360c324900b451da0145cb928ee430e6cb8adcb92c +i = 2248fb680856a37e923a3dadcc169f7e +CT = 107492ca4f17fad537de5f9da8ddbac13f2a818aebd8258fcd158f3298abce3c +PT = f72d487e04d0ee6b309705534194dc87a284f4243091b21acf895a94b349ee69 + + +COUNT = 27 +DataUnitLen = 256 +Key = b907abb9ef92e8dcd2f715327c75560ac9a457f1ed899c5ed60e50d56c82d27ffe64ec990deaefc8fd7085a15b3b66fb28a8d355f7557aedce88fe1869ff3aad +i = 71a84c54550cf7709b86dcfad12f7b39 +CT = 2ac31f2a43166ef924b0c4b9de382ebdfab762d0636d419d5b2f1752112efa58 +PT = 7ec213478b5ba0b61be8a936608e4de13b3e2d79064bc416ed3e46457e9cd076 + + +COUNT = 28 +DataUnitLen = 256 +Key = 4babbb348b285e4eb6743fdce3bdbb2245c488a1af48a9f2adc43ea6f65bbb12ab08eeb78c27056f0324dadceb3262236a998ed04c632e0b27a855523946d024 +i = c5fe67a855da9f6732c9bcba51b06d80 +CT = 6c169090442b653a47599e8b8eb1474bce5ae92ccf0f273b060cd735985d4236 +PT = 51d75318ae3202d7e6dc20aa1404d639e5cd124878c84c71feba1d99b62deb0f + + +COUNT = 29 +DataUnitLen = 256 +Key = 7ed825d10321835a5097c5c700c81f11356a656ca0ff74cd34e315356057f59a64a2e3aaeabe1e4da059da11e4b2af86cf1c9797449f323d31afb73399802239 +i = 702a03103a3f864fd137850616a726d0 +CT = addcaa45e3442c9542487b956d1e7d18c690913b29dd14c12ca32f7199a99251 +PT = efe329f4092f980676a6cb89ec42f565d0d61467e7430e7ff9f9aba2978c161f + + +COUNT = 30 +DataUnitLen = 256 +Key = db3f00b5eb10becaf8317745b6a27b22858ef623895247419bc7508ec436cfac4ef695e7b738a3b082964f0c1dd4fb2bdd27e92239b449428749eb5f23680e80 +i = 771c9380b10718995bed167d6a775a32 +CT = d7e9408307a37a302de85f75efe3bf2c261d3a6771d139cd6a4ae925a50f09db +PT = 981c93f922a7961f5b0e2e1c863453d59694e28a790bea2663d8650f74b8a30b + + +COUNT = 31 +DataUnitLen = 256 +Key = 1e7d9e0a3082a1f09721e3d3d8bc5c406694c638e3a3a42ccadc78b0aab1ff349347d59d2d3d73b25c95f3a9ccc2e558edc61d52cb3faf2f0353387a3d55a922 +i = f542d05d34e2f0e9b8d76836705c1ca0 +CT = e7c5c3bc528b30e1bad1efdc2a311af00f03eec53448d7f6f55d31cafc9664b5 +PT = aa2ed151691c757492e2b1ed5f532cbd26358e1d5e5680758f76a45fda7acd63 + + +COUNT = 32 +DataUnitLen = 256 +Key = 8162b8823a64c10500ed53eb3d33abc047c17878c2039478436c6623873414906161584b40b9ba5c377e50a641a4e406d34c70eb3f839f68321918ffe1cb47b5 +i = 29b5d1891055bfa03caa661f702aae11 +CT = 12ca696b902a1208a1701d0d8747b2bac871951483f98f0c1e5911cec2f06a5e +PT = 904cd3a9fe9e68da61f09d6087e32e50cdb2776fd304e5014893697dd1a400eb + + +COUNT = 33 +DataUnitLen = 256 +Key = 21a81a103c9f0218426d4731c0f801c831be846fa20527b8f427cf544d5d0b5c95ef0dd2c1ec7f3b6eb3d073e5a5a910a3079abcb0d5b01fb3ced0b3f6cc1e3e +i = 31fb7fb5687ee84074bc33de7810a5bc +CT = 74598e1f2d2c15ab388648aef453c141b5b2f68ad694f33bf7b6fbccc06109c7 +PT = 56be65d6f34621251197efd0909aa5637e98627d2d295652a8366315a5ea0c33 + + +COUNT = 34 +DataUnitLen = 256 +Key = ad23b74fd4d2a5a71153a6f363ba6916f8d672fc3783cb89d1808e29abcd4220c6d9cd6afb335e5ade6f6c6aa5ff74635d987436645aa5c15dfd212ab12fec7d +i = ccc1b7f0de76c048449a15d4413d0150 +CT = 97c1109ac2b8187d94941f90d3b93b4e0d136b54950680b402e3e291df27f2d4 +PT = 412979201dc4f3b9f2b1dbe2a1ce5d8a4fdbbf71f2c00757d6565f1082e1e40e + + +COUNT = 35 +DataUnitLen = 256 +Key = 68d3c1f8c11ec07a777d043f7499f6a6b101e84808fc7cfd19dd0d1ba30e64fea780ffe05731242e99617cbe582d4f990fb5c8be295d2476e31f41954f6f9263 +i = fdb74c8dfee52e9544c157d0aba581a1 +CT = 18fddb86f2f46706d41646642e4fe9a7315f40e995e9c3e7aa168131e68bb940 +PT = 85c48b91427e5d4110f74d6f9fe9c222f6bdbbc4ab1ba6268a4fad8e3f82fce0 + + +COUNT = 36 +DataUnitLen = 256 +Key = ddfde3b53c5adf72554858c243eb1ac144d9330c1ce9329aeb57f9e7ba3c29c755931eace6899b385906532022e2bf4c7d55e354d2ea2ead689cc686891ea66a +i = ddc64f1b711e9c05299957934002a04f +CT = 7da16a03eeee3a78a3288abfa6d666192deff33e4696a69b39529bde0ee56481 +PT = 546b9ef545fb3edbdc4137c964ee3f94885f5b72d42b0db006ede1e825b6a8dc + + +COUNT = 37 +DataUnitLen = 256 +Key = 956e2c3cd0c7236df8f1a6ca59d1f7786e04baf6126321d24ebf3ecc0d60bbf078a5b15c3553e3f7b0725429763b20fa898c0c7d72cdc333674866cf6598b3dd +i = 2e5a497b0e881cba90115c24e92bd4f0 +CT = 21aeabada0c38ea53bb83d1278014fac63e742f79bc4982aa86aa2e123ad101f +PT = 98d8d36f3b72757d9992c69f480d9929b155d4a924cca22d853b5feb4e6147d6 + + +COUNT = 38 +DataUnitLen = 256 +Key = 520f1a6eef4ae250bd7e82cdb905dc9011121776d152e555d210ba8baf2d4da4d2d3dcd544216fa7bcb6eaad8929c6949720fe0ccd41ea3a2e761c19d686c1f4 +i = 24dad492025323cc65e3b50895d706fb +CT = ce56d96ac36939b8d9bd9032ceaae8be3b6138aeb5658ce732f9754627fac388 +PT = 425ae89a979d1b26dd142b8ca8b017c9e7015c6643e751fbd521b7965de5dd99 + + +COUNT = 39 +DataUnitLen = 256 +Key = 1aea0a4acbed0ee2489cea391caea7636b933e52a46011159b7000175e5c039a86a66b649cd9be4ed8da282e07ef8422fb9d695cd71e2cc4396091bf19ccad77 +i = 98f752f8f68d635ecb42ad0adf32fcb7 +CT = e47270aaa7200f5d253c27b01eb1443d966e78f05dc60a320cb3e70c3eaf5ee1 +PT = 12d8d09eb6f0ee2e8e893b1b6177c9df979869135e5babc02469923eb9b7e779 + + +COUNT = 40 +DataUnitLen = 256 +Key = acd9d7c1784edfb835cd881261e0cf3d0a885fc1f46f7c2d46e5c3b803221dd3a6cb15694df333e9751ec03d5a64e7cf681f1869af938e5d0a991164439b4e4b +i = a1cfa739fce97d65dad127d4447663e3 +CT = cd604d709bba54cbee6621e302f8465e0d47157099ebf0d49fa106324a23a0ac +PT = 0c34d46d57d0728ea9330376f484aa549dac4875b4385f369272edb759c2269d + + +COUNT = 41 +DataUnitLen = 256 +Key = 2678d93f9ff9523531e8aa858a4909c7fa11c2bbb4ad65a1384d643cb3b11c215b97c673cc09d0a71a10a539b39efa49114696fa4b711bece4e6378dcfb76feb +i = c4c988940af831fb9625a277cf5a3e19 +CT = febc78f845ca3549ba3fea990460f4240d73fb3bf57e4d497da8f1a3a47ca486 +PT = c14aeba90bdc8a2e8e0016e607a4499046f50de731012ce5ee241dd65dd4fc14 + + +COUNT = 42 +DataUnitLen = 256 +Key = 3164a9707b14c57323b658c3745359c15936638edae8cf349c12c41f077d5e454fdb24c40084ebcf1da8be8d191c26140ab2d353f2fa2aae246a74a87b58dbf2 +i = 33e18aea617748a49231a101d0429292 +CT = aa5cc91c3454caf70c70bc3766dc40fdba707c994c0645c4ec9ff84ffa722b73 +PT = ffcd2e8bccf9597cb146e8781c3827dfcea696e807b226c4d2e78240db1fd647 + + +COUNT = 43 +DataUnitLen = 256 +Key = d4e62dab75dd2d08e575a9fccc5f76c8884e48a3adde2b6e84f2ff7cebe6f102efa3bef298f77de8689a2c7f3e621ec1aa64efb20fc43a95e7fc0285836a26a8 +i = 1b5309f4ffc0bb8411ae4ca06261dffb +CT = 2847b818a492e2b02e6256dae33e1fe7977ed97eb9fc9e58b2502bae42ef5d1a +PT = 5f1290ce4183dca27f4bddcfc3a6a47f61eef7c2956d601395ba4e200f7dc4b3 + + +COUNT = 44 +DataUnitLen = 256 +Key = ee8175539855c54f9f3cb61a582f5ba6520b3af8d20963a98117c60337a1eefa809e7352bfff617ecf3ed70ae81afc6c951c20b5d2d6c54934ebec3e8fca2541 +i = a6f4bdb1c44f2cb0272ddcb4b6c415fa +CT = def8570fc94f43b7d39d6349ed2cb8cdc84e0e4a38bdac40763f992db67bfb3d +PT = f9a8d9cfe67c49300ac5f54b1f1699f604d8874d7940003a6cadf6ac64ff0a86 + + +COUNT = 45 +DataUnitLen = 256 +Key = b0974a79ebc3457a9f03dbfab918baeb3e9eb97156026f823bb00242d465e4cf9894107b07e8e966faa2fd6924555dd379e729ed971d314c351a27acd819e729 +i = c6c227a84bb450cac2db484f3801922d +CT = 9a569438a0ab93592bee3300b4c8330a000a1fffcba0af9893c2c150a81a4784 +PT = 00196ea20d39aef5189f8ad7f6c9d493aaca798e881a8c2ddab5a2d3243d0834 + + +COUNT = 46 +DataUnitLen = 256 +Key = 6d8d74483ebc16c1f440dba204f066c71041eea8c9d5b30cd50dfa2b3071b728ec5ac62fbc4e52904acb838084dc99487c4f741b702b9fc1a8df943f0fe7c98e +i = 2840438e3d9915bea84ce9c3aea78276 +CT = 92b790bf3d1cef4ae5badf2266e74b57f35b73084fbb6542ab2643ea625e7abb +PT = 2e42abebc4cadf87dbb55ac4601b4c7138fff26e2dbcce3e5a685e142fefd05f + + +COUNT = 47 +DataUnitLen = 256 +Key = f076f0d9e9d37b085a97dfa170f1cb74f1fe6f57ba0309d3aef705c32b847b691f6221b237efa189ab89750b551b0a6e952e34bd2152484ef096177cd6b711a5 +i = ef3164926723e42a993a9202b8a3bc10 +CT = 58cd66b79f28ca7c1ee3a3f966537ca3fcb360a2cf7b05bcce5d4469085edb78 +PT = 69db55cf97b4cc8686b319936d52141546ef12e76e1f666e56d230b2e1e94aad + + +COUNT = 48 +DataUnitLen = 256 +Key = 7e140ca0a62d6f04c836f75ecaf6954106552b912d403d782db76aa28bb8752a990c1363fccd74ea43cf449dbdf6b93e2ce13617f276abaabff4b975aa7b8bc5 +i = 2e7c55cc94eb401525bc598b3c2fbf92 +CT = dc2fbd358ae020b99a3223ad4d31dc622fd8fd9177bd59af0ec5eb3d1ea7f6bb +PT = 528e4b95d4ceb23d778d0e3ee08e318275a41278119d81aa1023b1524f592cac + + +COUNT = 49 +DataUnitLen = 256 +Key = 1ca9e3087e8f0ef94ee10afe05976514c0d9723d9fdcf93170641c50becad1ab67f16454cd296f2b8e325fcbcf4c2c5df2577537c341aa0361601c7b271dc116 +i = 65b244234c25e5f354a7c6dcfb375529 +CT = 4d7a4bc695898ec62eeb5b6e0aed1a508dd504ecd976a785f925eaaf00e66de8 +PT = bc38b4919b808dee6c03227fb259068f9c1441df3c7ee1a808e8a37e5ad34f0e + + +COUNT = 50 +DataUnitLen = 256 +Key = 86c601a90e431ddfe7a038c45523fa368e8311c2bc711f731e8c75389ae012343bb7a3576797c0f187206f8b22b76583000e7c44f2e11bd3ee23f015c67225ca +i = e5bece3b0572737ead70b5e288eb5593 +CT = d08a2c1fda5eb7156f71619ef7ee2d8558ee28365464fdb896c803f72f091370 +PT = f885fa71549334a42494f0b942ed5e16f2906101b74486da4ee490e39b45c427 + + +COUNT = 51 +DataUnitLen = 256 +Key = a71ecf02e6279d19b896984116ebe8160428fd4ff483a7ade16b170dbeac7e71c78f080dd5eae666ac9ebd7d61712911fb9961b5ff69dacaeb42ea3a6281510f +i = 442e796f49b1ca939ebe73e259ef0dc6 +CT = c2a27d22a58fa41160d64dbb38ab6bf96836624885b305b999946546623ae0aa +PT = 83367a097962b7da5ddbc1b46751f486995bbfde01fb1adcea960ad7042d8fe0 + + +COUNT = 52 +DataUnitLen = 256 +Key = 1033a417ec7fd040d9d674991b03f427a674f52c40cd53027c233e19821d677e0c37fb1ffc8564d38167668fabaeeb4dc6225fc90fe66b74c215272840e9f953 +i = e7639f7a7e50dc9899599de9523d7f1b +CT = 9bb33a9489ffd123ed2bea8830eca78b4db615488585f0a03ccb4f3465088d15 +PT = a02ff7552fc56b978446f0f8c6a49b306abedb252f828acdf55e22c740a11a49 + + +COUNT = 53 +DataUnitLen = 256 +Key = 8a40a21bdde506e73aaaa5ef3a091a31128ef0e687579baaa9ab5cd8b36748d64d6fa971efa93270c8b38cdd8fde694300b63852cbfa7f0a7bb8efeacd07c120 +i = 81ec4f35aa1fb106e507d78c60ddb8c6 +CT = 0383f8931f8bea11cbab29dc82f16e81f333f2b89a124f697bd09b26d1cc455e +PT = 763abe8f59bcfd1aa03a6be7a300004dc2cb7de08dd1e0d98dba0f61e41d215d + + +COUNT = 54 +DataUnitLen = 256 +Key = bddac920a38eaef68a2abf85a35ba3362d080a83ddf2813b83c4508842f5a43351d64587b9a7a33d40f911f81b4d86d22fb7d6c2bd5a9e07c7cce8c651c95141 +i = a9a29727ed6abe6e66cc63f8e1c9c92d +CT = 851ebd1b462ba25fbff6dfcfd9999bf4880d55592d234d64ace1f872815d1a59 +PT = 2e648f700eaaf5d240ab584cceea5b89bb0604e7abb5b4ba87db4de14bea0d4e + + +COUNT = 55 +DataUnitLen = 256 +Key = 66988bb604262bc14e03c397abf0df6071e14b7bbd231a66659e2667fb525e6d92fd5e126fcf32fb792eaa52469c5e19ca8f73869d1cfc6e0c7db95817637e4c +i = df9a982444a9325bd850c939ac8e2157 +CT = 2930ed7fd664582683c4e75f7d2bc7534daf7ea07896f043411cb6c2a432faaa +PT = 2420271e7bbc2d6633f13fc5aa7beaddcb596ca829239245331da9c9069f54d9 + + +COUNT = 56 +DataUnitLen = 256 +Key = 1d8063a813a3a7622695481513bddc2bb193799f7b04a3cfbec2ad7aa20a8aaa30e46ab7c0a70f41dd4b989d4a2ccc0ed17164798fc5a194197e85776ec9bd8f +i = 58eca9e299fa2298832f3681ac38a14e +CT = 8f041232f4abd5ed23eff7c8bf9f2e6231636b8bb14c6c05ff55c55ea9d2686d +PT = 87897863f5145432a13401aa7d97cc97a95c1ebfe66d2074a9f5b0c1df85712d + + +COUNT = 57 +DataUnitLen = 256 +Key = c5541b82dd41e660fd59df745e89cc3fd7b3d70d892bf8b5655fea85351fb4b660e06712c302130430ebe94d25260035d0433e43e576bbee3dbb58ec45fb719b +i = 38538213e86784472c458fa95c8dceae +CT = ae975d765695926d72d4dd1b41f1ae9e2fe1000b512bbfac55f721b629e48c0b +PT = c1e136398461d475847f2c043b3723115d225ed51a21d9149c87bfbdeb201851 + + +COUNT = 58 +DataUnitLen = 256 +Key = 1a468623ae89dfdc0047334d9488908bb3b9b628197252036b9cc42ef25542d9d6b50bc9e7975be660d8bb9c9e30a9584abb0ebc48528c9c13012fe6f424164f +i = 3f021863a5684e305dc5908e1b5245d1 +CT = cd0ec55a2b1236c04b038a60a98b94f5831912a548e93467aed21644a6b90854 +PT = 085fefc14885adfe9b52f301b751a1cab74ab3663ed94ec8a4e3d4b10bbf0aa6 + + +COUNT = 59 +DataUnitLen = 256 +Key = 845eeb0c65feff4427841b3f29025430135ca0b576b0b2878b178ad70034b3476b843190ed38bf91e118b06a310bd78c544aaa9c49b6032a223b90878b644573 +i = 58d25c15b25f4e1b3612bf270f97c6bc +CT = ffaf58fc042718e087f9df84ab31f17161b87404003735cf1e39a49458d0034b +PT = ead4947c3241845cfbd0c0f9f140eaf816dbbfb597d2b5916cceb632c8224dd7 + + +COUNT = 60 +DataUnitLen = 256 +Key = 1b243cd23442f86c34819ad3434b71e4ada7367fa6156b146ab05c86c481dfa259ca63c6eed3b23efcd0e76533b48f92534d1581256b6a23d518f6485c1be63d +i = 0209956882317900ac93f66c3a48ce60 +CT = e5fdd31a474e5d3394593e65b9cc4df51ea465dfe61a56b65d1cb5ee794cfccf +PT = ca51fa9df852111efb865f8e49004518e71ebb6e041e30b4fab04112dd775dae + + +COUNT = 61 +DataUnitLen = 256 +Key = 81c37c6a44054389ec1f56faeecb28f7c1fd00e1ebcb6bea329d80a5a31c158ddb5f06679cfdf7ec7ff35e6fbc925bf56119cc91acb7eb4704fae1e27ef8e62c +i = 8105b3502093d7661fd19eb62bf669da +CT = 805a27fce84f84901e579903e85834b510a5cb2ea217fe68a6c5d3fe6996df5d +PT = f6a8dd7ebd89223261d09ad03f55a8bad410d66936b16ff8b80ba7c344f79a5e + + +COUNT = 62 +DataUnitLen = 256 +Key = fd6a73fafdc0cb895b6bff8a3751f8ebe84b10b4a17275a8d36b9e9872278812f03844f264e9fd72d331a018fedb1a3d63f1d586a1161b08b03efd7d020f798a +i = ff325821e3ff3f23e5637e0cb626fef5 +CT = 49a60e4f1c87dfe213337c7bb95421ad99ca8e8432a914844a9a8a78eb32a6c1 +PT = 7c4a1c0b25a54f0215ab92878b9af8713f7ac846412b32f329fe983540fd200f + + +COUNT = 63 +DataUnitLen = 256 +Key = 09420a8be61e1b13b17085e9cc1c899706724db03ba591fd8df9d321116bd4ec4faa4cbd3a2a4e22b091524e47001998167f81d5de32723f361eb6b9b7edce65 +i = b779776114dc07c71c42bf787bb847be +CT = 8b2a2a44ecc72480947e45ce49ee0cdeefb53e6d6ea36e59b22fdcac51664c2e +PT = 7993cb22694d09c4d2f3d036663e5ff3337efa701402a75327371d4b19f300b9 + + +COUNT = 64 +DataUnitLen = 256 +Key = 155157353bf4872811614f3dde54263e181861a691df74f89d1c8ec0f0f2f4dc343a5055f24a9e142d6045b956ac1388a30b2f19beb8718292dc07055d970d44 +i = bafd5c342d05b2d4a6bbf9461df85afb +CT = d00b755c6b9eb0f15c4b4d41f887581942308ec22749abee21a642e209a6a4d2 +PT = 7ee212fa36384a7477cea6be8c44a57742ae19c4beff1ae103fb37a83711cc0b + + +COUNT = 65 +DataUnitLen = 256 +Key = 9ffa9b5c5fd2071286a3e248de08ad57ec628fc19a088919ffa96912031e0ca6f13278840e6dd4f8cb492d8b09f905b1be57455ae51fc681dc33a74e7c98d9c7 +i = c0b296fce542d2e855e62595451a4c7e +CT = 3653a7f0a75182579d6529e9d02d95e0a22dee4d2aea6f7bf4bc25ffff5f019f +PT = 20f19fa1d3dcd8d68607c87d128d9faeebcf1e74315a9cb5028d67818b3fef53 + + +COUNT = 66 +DataUnitLen = 256 +Key = a6e4eb0c37aaf83c70c510a2c2067c8003e6aae93dd197d4fee4aa210bc09a11b0429394af6eb5e54758e91751d1d8fa9d763bcfa5fadda22197410ffbe41a12 +i = 306aeb042d6893cb69f22469602732be +CT = a0982aaecb75d804ea371265e9b3ee262e52fb7d5a30ff2d46e8ed3b4a86baa0 +PT = f511d0f27f0fed0115cae7d78c9e3eb84304c8db15d3f829ff97050012790e96 + + +COUNT = 67 +DataUnitLen = 256 +Key = 36461691dc3f78bbe018986743245089bd3332976357301a75203d63efa27a283102c04715fd75feae1c4493e2b39d0b56102bbcdb1ba710d4094856fafeebdf +i = 8d42d4ae7a717bd5868c0e013d4768ad +CT = 193b66b884b9566871aed988d127f766b8c3285b2aaf208a5980abdc71d4945f +PT = 74d87361a677da5d20af1f867d59dbb0c3f8d643d133231ec4401207c101d0a0 + + +COUNT = 68 +DataUnitLen = 256 +Key = 492b013cf9058250596a5c529f8a9e45185f2fee981b91131e5b21219670e71feb01daae8cf927022bf155bdebcfcc539897924d3a1ee4213588b9a9a0bb34b8 +i = 5e3a921851e18bd893f83da3a50c7510 +CT = 4f6f56c889fe46a6ab53824756b18492e847e2686b2a89fcfb842587423663a7 +PT = 25c4bd0d6459d2f40f577df22bb8aef2e4d1283019ed408ffba61590cfa0d67a + + +COUNT = 69 +DataUnitLen = 256 +Key = a60231c46d27df8eb66d3b587d5d5db35e09766157fb339ffb4232c120e20873af320e5e4e2a932d326b626043bfbb3e6a312eb44d875bbb20312aa47dc6d766 +i = 306b2b55110c493b8edece1e15a429a9 +CT = 5e73370e521eb049c226488142de70b9b389bf90b7affd1e285915a8e863c28a +PT = b71e7441b2eaaeb862489e23eb3a0730ab33f96f9b72083717fb7bced8f2bbcb + + +COUNT = 70 +DataUnitLen = 256 +Key = 9a0129a101f425ce60bd57b9266cd93ab44106666ae9f9e9eb6fb2844d86409b607401e535e203b3dfa430945b0035466efc27a2e68726dbe943a62530a09e0b +i = c0e1872ae297148b50a94bddd73503a3 +CT = c58251f94a2a6cbfa597ce77c09640e894e34d82a425dc23f030e6c9d52fea81 +PT = 01a2325ba2a647a70475b2d258bf856ad572893006489e79b52b6773c36f2653 + + +COUNT = 71 +DataUnitLen = 256 +Key = fbbcd70efd29a5441e7d43b900263d45c81226fe10532805e6e900f7cf562e50f4ec190f0df9cd7cf0b19c25cabb04da3f77c742b7f0456d34ec27492bc3fa5f +i = abfbd1e6c38f4265a80d090490b852c2 +CT = 7b95aacf125ac3fcbf9b0801ac98ee4e93a212df67f82216e99e304ea0b8a8e4 +PT = 937290bb4e13046d481f4538513ac013d1aab88d2a2939505d860b3d315f18c6 + + +COUNT = 72 +DataUnitLen = 256 +Key = c00f3a4d76deebb6720a452f454aae8c22eebc8bbc9b0c598f950aeebad786325bfbd52692da232d7a1b5378365f56c093399cc1e376970b9f9a5d277a0f5061 +i = 349741d145157f7e5f6315a059cb6d8f +CT = 25104566f33ed9bd293d69ed9a565dad696daab629c4526dc49f81ee0595ed9e +PT = a0783f1867843ef9f6e25cdc63bc3075bbab86c359508e1f6982432727b70507 + + +COUNT = 73 +DataUnitLen = 256 +Key = 4019e9c5da64d3d1a3f79cda9d01166ea02595f955b82cfac7e594ae3172c3be9c658a902983eca73c73edd2b912a6deb4782677f29491b4ceed56acc3fa47e9 +i = 790ec3a70a7ca2a48c3de24dfe8cdc5c +CT = 7922bc4a8911ed7e03f05315253d2aa4445e988dc1c9e66eb9ca994df41da00a +PT = 4cf03b3387f76ab00b3b185c1abee3a88bb8bf175148ed3bbfaafa5b338783a5 + + +COUNT = 74 +DataUnitLen = 256 +Key = 506972f890d7ed0787c0383f9925813ec38770ac0b1a2fc64e3804a8023b9723e9d654afcbc473eb9567e2a17bac5c1a76820db5a11c2c68b06db303dc6a5039 +i = 58dc4ed85b1ec5dd368aeaa888256378 +CT = 6fc90fde95a6609f2b631e918932abb2f1da85fbf1ea0582bcff24ff5603ef6f +PT = 07d53cf1f3cbd2285dda24431a53ac4c96f664fa2d22ac4cd1453c5be7ef61f2 + + +COUNT = 75 +DataUnitLen = 256 +Key = 8e7f4415b8d217e7c1eaa411148ed7db1b15e1679dcd21b31461fa7a5e7a55534c7b948e2c91826100187858f1712fdd66ef6e0fd30cb2cdd242b9c12ab52426 +i = 94ec426ab7629c4ee022f3971063a2dc +CT = 2fd582ef3b3e70f74fa2f7186770198e3810b3c452b886249c24c404ac0f699e +PT = 0dfa782d31aae7c3919c2e224e97f682fa811e63050a92ba23cbfeeba9dc5240 + + +COUNT = 76 +DataUnitLen = 256 +Key = ed1ff8b1e0909d7d33524270533ebd7f315cfcfcc17a006f013f558400b458cded464ef02830764a526ad33dc314c455f8a27006b7358b7dda3ad5b418d11372 +i = 7aaf9e2e8d7f1608b9326aa061079495 +CT = 49346c8d75d6729d03f609a498a3a513f59875a686f1769a7f5a02992f04f775 +PT = 0d6005eb5f91a4ae288bd355ff680ca964b784d80973a99c4a4d0ec09cf49485 + + +COUNT = 77 +DataUnitLen = 256 +Key = 10b96a3fd64d9637d1c95c33734726e693baabf01fda6116a07edecfafbb2c6cf11d7dca5099c5c74a62417bdcf29baa031e089207c4d4ca58db705af976046a +i = ad1383cbac7950532d277f44595d8ecf +CT = 021a014cff455418845d90a7b76c266e8703d04bf188d3119f6628aa65397bc6 +PT = 104c4240453ef8efaeb55eadec52dd51631a7f1ce01c43ff262f10016fc69e09 + + +COUNT = 78 +DataUnitLen = 256 +Key = d5293fc21b537aeedd93df32daa2d45a371c6063f968d5457599adbfbe3177f206e7e7bbf4dbf7aedcf45cf6de4cb50792ca4a998011d127ef43dc08cbdb06d2 +i = adfa0b852ee61084106717377ff8736c +CT = be9321ed7130c8f800e80397c62550c2858446bdc4133cc9e0f3e9317bc58773 +PT = 5fef92ba7942f49ebe1af80935ed7304e4e1fe60cef2128c98572f481dd4a92b + + +COUNT = 79 +DataUnitLen = 256 +Key = 3c8acc3bad92315bb4948b7d05ffc225985acd06507885cd7246d81958236687a3c8317feee044b2afd41730ccd41e07aff1259f3d1cc982a824dfcf31aa1ad0 +i = 3b78b8df71027269f9d80b9a80632374 +CT = 8e00a4cf4bd4bd9e157a66165bb044e1ba093f1f86aa808a17066bb7eb94be55 +PT = 3dc6536e58b1e8104d51a4d58d9086d68cb94a53b4fc747a88d7026cf32be80d + + +COUNT = 80 +DataUnitLen = 256 +Key = 2f5dbe86bdc519dbe8f1ea33385c58451c700e3bd95b311741a9ee19eeb2c399b689a699a823275a2bcee8b4daa43fc03bf91c26790580d2a808be7174dd5789 +i = c36c9638b2d549542a69e4ea69a905de +CT = cad51c8647315fa57c80b304c07bc7a31d8d3979be22296d1815201b6d246893 +PT = 13fc4f00953c5fb7624ae4315fce70f4dcac3b075f4702c83a78095a8a44ca81 + + +COUNT = 81 +DataUnitLen = 256 +Key = f9be3b24d0819f38b63d13948c6bd9aa1f941e4b865b9c6f88e3c4d1bb14fc2e4739eba36644d8954788342d051d8040b85927b420739efe33be9064aa884cbc +i = 4546f9f6b23fa4988a551cd54014fbd7 +CT = 349ba948f7ee3b6913fc27eeee1297b98e879716ff19b2569e846b4d656d64d3 +PT = 593ccc2cacdca892b7fdbd4ea11f05ed697fea827f408be55a2ff0afdf343172 + + +COUNT = 82 +DataUnitLen = 256 +Key = bf221936e3e2a48987a5338265a6e8e2d8bcb52e5d6d77d58832aab9d404bd91814c13c2263fdd2051822e5f635d29d7c18a6a25888d5e517b5e1bd275669ac0 +i = c024fb9f26ed411331639feb0ccf9cf2 +CT = 87513213e37589ad26589518fcb34e625002d6ead46a720faab4e0cc9babc114 +PT = e7892fbfc0a5975210c277893ef54f1af6a35336658b71a024b7f037e3e8ffe1 + + +COUNT = 83 +DataUnitLen = 256 +Key = 1826c0cb61ced1ee831b9efe0485fb446127cb221f288045e644748d90314cbbb787d085d54ac18d3110820026df22c868e1958ebce406bcbc44276540edc5e3 +i = cdaaa0bbb166a45f01dc9760951c7c2c +CT = 728787c549b4a4c36a7bf5060b7fdf128c32381844ea7245a4e9d37daa573950 +PT = 788cfa48cd506939be8e7a02832a3714ea74062ff3686d0857e1a6036ab5f4d7 + + +COUNT = 84 +DataUnitLen = 256 +Key = 75a664acd6e60173120c1a5e84283859e30751f97fa2057ca767bc72d9e4518ef4c15bb3fa752341c0b155a111c46de7fde5b5e941c354aad6d644edc68e817a +i = b78c4a3aaef54515ca30236f999ebc88 +CT = fd56648bcb0ca7541273dea9fa8aa23f2ba2865fe4d509618d617a0f415e1dff +PT = a5d95baae47fbd987e619c7d243128c021c0b8a6eb280369e6232a8e95c9edc1 + + +COUNT = 85 +DataUnitLen = 256 +Key = 238ba90e8e93c53d3a9fc91a2d7043f4b5ec492d8e0793741bf91a83ee8dbe30e45a6127ca37608790d44821cee79f55067537b6b8b059843db98f1b09cd63fd +i = 70fcdbc2346417979dde1f1493bfc3f3 +CT = 491490a2eb646c069ae4fe8ba8ef375b77b0c57957fe03fe490661f179c34083 +PT = db6d2d65641e61cd0d47aa4021a655b283a39e57df5a4c189b3ea720ca80c3a2 + + +COUNT = 86 +DataUnitLen = 256 +Key = 9b670a9c5933c91580d0796f46cb11056cb1c65e018615664ed8732bfc7aeebc8f21debcfb7ffc4d9c85a05c21d6b90fc55bbfc44a8f6476dd3fec0f91bade7d +i = df4b67bc5e70ef407a8319fe9c4e721b +CT = 8d31609e09f96302b4bc099731f3f9d37ac5bead52df8e595a4c3694a6313233 +PT = c31c284bd36acbe715734f7c166709eb6672dbfbaaf4c5ee3529dcb287bd2aaa + + +COUNT = 87 +DataUnitLen = 256 +Key = 4eea6d7e5e92b756c635cd4b9942da425e1fcaa0f43ef200732936ee9680c2559281c23d51c21564941f801468385f0a7c24e0df98b2041126f6791e3a992ad7 +i = 150f86fc5e732d055e5b567fc79e6dd3 +CT = fad3006978657f76a2d1a112189b79afa2d7241596e336f4d6bd4efa77f065b9 +PT = 12779fc72f7ad1f25a50e3bac3733e977171692ed9e8379d91ac2dfa75f52e9e + + +COUNT = 88 +DataUnitLen = 256 +Key = ef9141d43b311a9268b99861a5022760900487c3e4ab1b69de5224b10f015a02861699ce9ab66576e97cf89f8f7c58084aeaf4305e7a2869a200df98e0b59675 +i = e08d82d1049c842e8fc9437644590ed4 +CT = 325eb5d53d9eefc69ed5c0e39aaef5a470097fa6518f4954054278b07501de8a +PT = 5b395b5d1d85d8855a181a6f327eb772f18b2587603961a9a26936df56223b36 + + +COUNT = 89 +DataUnitLen = 256 +Key = 15e9aa9d4510cca523e1e4cd8d93840b240d1ab02db8f333e041e75edab74f7fa3deae500054c877da0d15cd840b3ad2731b4c853acb398f1ee642db62e9ff99 +i = 97ce585ff452d525425e0c2372bab3e8 +CT = 6901f61ef6edad9c2bd07876c6d332cc6a67ae7cb09c443ce7c96d4c2dd76275 +PT = 2f183f4cd110f30ff9b4bc5982ea3205a9ff8ff660416f8d240a789bd2ad52ae + + +COUNT = 90 +DataUnitLen = 256 +Key = 226e2126ecc3435279eff7bd4e5f3daa331f9f29f4c5f1eb5a0f3801f951dfe11956ff9cd2d6caecb685cb7ee959b82b247b4f529e96f7d204ac61f4de568834 +i = 8baa458212142e89fd1e6cda3a1457a3 +CT = a791c53edf5c8166816751a336f3d03402f3dae071f3a60564a0f2af735a885a +PT = 8fbedc977267109b6849aaab669ad5cdfd15dcc4b350dd42eb3664851703e474 + + +COUNT = 91 +DataUnitLen = 256 +Key = adaa629d31744b21801f26d00deea6da1a165c07b89fbbdf7bece621d3a7d1984327895ad8bbdbba3b9a80df4dbb0258229199c5b4203422b4a59a22f1bd6507 +i = 6bc9341acd743b5c94bc2f2cedd8840f +CT = 389a057a61ffa0b6681b2bcb5b7c976e768f1ba81cc9d0ef5e3a5d4fa1ca19bd +PT = 6d7d5e9d0b7c40a169d0ae575880ac977b6aa8bcfc15d8549a9f93d8626588b0 + + +COUNT = 92 +DataUnitLen = 256 +Key = 41d8edb523c71df885d397e82aec8fa5cb83f92e000116a802da85696d35a9f905f360eadc6f10b571dccb26ebf52a5d55b7fb1485fd8e42ff3c0158d84ae00b +i = be6d32185d469d8b512f85acbca7f7a9 +CT = ad80eb53b26a1f0e97194efed09c68c09883ff576fd9edbbb5a50765dc7b3e85 +PT = 874962217c5377573962c7f10a885b27807aea67a798b665d523750fcbeae97a + + +COUNT = 93 +DataUnitLen = 256 +Key = 875b5b2e86421b7e4c1af98ab8638f50f683ee49a7fe2e66415eebac771e19b636310f68ae40addbb385643c63ad098fc63432f89127d39b66b26fecd91ead7b +i = 1e5e5df19b5da830826cbc2ff6f69c39 +CT = 7662f54ea0c01d6a987360b40e9f6f1cb82f6a6d5c4246f62cb24f240939c43a +PT = 9a435043db8040b0a57686a42c00f1402a1c77bb18f1fb549deeec6db752d50c + + +COUNT = 94 +DataUnitLen = 256 +Key = 361de49dc18480a4da2545615035d724a9ecf959198b12ac33297d86606c1b35baf2eea743c9c0c4a8bcf2df10ed49196243af4676ba7536248cd641b1ea304d +i = 8362ce6123da1977447a5f3e048ef8d0 +CT = c0c9aec4ad9c1c0c0d6c4d24fdc3307ae3a650c60372ad42171ed12b5ca2a382 +PT = 58c11aeafc90ec78fb984d429f989f45825da951c4804f458ebebd6f346b5855 + + +COUNT = 95 +DataUnitLen = 256 +Key = a9f39b16e17131df50640544f3b38248c98975435de8ff80d0b7f37aa751a4aec4de7caf2f9f5688940f03a76307437d47fbdf3cdc6a6c44471a534a0d0e7807 +i = ec0656ec1168c040ec36d0353825b1b4 +CT = 6dda79b7ada7abce6726365a7b316afa6abb4be396c6bc3b7453f2fac75fae45 +PT = b1acb1c513fe7f0e8cebeacc34489244bbcfa46cc0db526ba875bd75358bb9f5 + + +COUNT = 96 +DataUnitLen = 256 +Key = de69e2a2e7ca0a0bbbc3e379d389b84f627bc62ab277cc7b0c04d5959842525a5d36109287fb066cea844a4487e86388cbe11e39fcde7c15b2f4b2951bdedc1a +i = 773d903f1ea98b7ce5900ffd9ef866eb +CT = 8d28f585e0a8803b4183abe7c3b82fc3ac66a1e8fcbf0211301786ed456b3e0a +PT = 584a98ebe2b9c24686f400b477d804c3dc1deaf4ada69f4dbc40b454f1b8d5a0 + + +COUNT = 97 +DataUnitLen = 256 +Key = adbf1dde5469fcca77f480a5b24f99923e07780a0516ef15c32b0cf37f62413a963dc60e3ffb3bd1f31d393bf62c9f3f2846616093c5f5eec5052a740fda90a8 +i = b8ae76c5ddd4d9a9fce253f8169c10de +CT = a754d66b13ae0312f60f7beb4b73b29cacff5a7050d85a9753c4b7af0ee074d1 +PT = d7b2d44076f049c30d5611d7566659dfe1dae35f2f161085da88b4eb7758c8d3 + + +COUNT = 98 +DataUnitLen = 256 +Key = 8f7381a14188011385d09aa340dc8886116ec746296cd83daf457516b4f9fe8ad4e85b019f6724acef2ccce354904e21faa53f01575c6dec4edd0d432b718261 +i = 37a3915a08616eb1772fc0cbc3c6ecaa +CT = 8b6e4dcf7f9bdb106405c0aa5f655aa27f4b224b320e6ba5e6fc35d9975699dc +PT = ff2cfca857ee1f45f6440bb3b51c71bec1098002fabdcbcf25017383413c572b + + +COUNT = 99 +DataUnitLen = 256 +Key = 9366b4a9943e1f66cae901f954acd8465fd99ad6e39fc59eb9f91a4fb831ad5e7cec704bc43e2d5c005f8044bb0fd63b8dc3a33a75b4551a7f722a13761c5e00 +i = d6f125b91a63da779c97af18bb9e2a7b +CT = af3d1a1e04f0764e1e0c9cbf8dfcfbfb00508f6bc1ec1b3a9cdca4f7aa018a3b +PT = f5cb7868ac612b0054bb8bcdf8340155f52aaa87dece381c94416cf42143638f + + +COUNT = 100 +DataUnitLen = 256 +Key = fef5726fbff891a0be1071d43ad3088589cd7cb2fffcd5712f43a7be62b7552a3c7712d390b3a19164ea6365032644406746f6f0d954065dcbb82de7eac64944 +i = 2741e6af5f88a4fd02cb9fbc9cb84a07 +CT = 7cd54efa60b0a6bc92acd144935ac11bfec1f0a69a3c53d435ca0d1cc5ca15db +PT = 0ae751bc884670ca9300f91061343d1f478440c36ed8b9fd4dcdccd3a12e61b4 + + +COUNT = 101 +DataUnitLen = 384 +Key = 8371c7c207b3734b90e038f6c82d8f42abdfdcc1839875d659757e6b9b788b365617d5c3c8957f2bd1ff5658c624d82ef8a0502d100955acc2bc4ea9528a6219 +i = a580895c59c23be2cd39b431187806d6 +CT = bf1cc5da2215a23fe2f31baaf8c0f11b5cbb94fe0416909f7dcb7479a3faaf2bec53888f5ddfac5017551aab02cc1bd9 +PT = b89c6508b1f89028c4a522839c7c3a40998da9743061448d58014a379aba7b3784da77bd355c6b96fe3b6685bc0519b1 + + +COUNT = 102 +DataUnitLen = 384 +Key = 9b7c04be9b3766e13b06b77b19d7d552fd8a89c37860fb52135aeafe2ff3206324c0bf48f17e08e83f547a3bb1753e04270ccc14c9d3a5c1fc05e8fa54584fe8 +i = 9e53bfba0953c66cc4d4d6163ae88d9e +CT = 322a7aac97f8fc5884cb6b0048aefbdb0db9817252591514784066723523bdf319d04363bd8ddd69b928f156100e1edc +PT = 4d556a5d583419de7fac2310fdd953845faa40ea3f0bd9a7bd5ca4297eddcb10651f0feddbe91f8a6c91fae88ee56cf9 + + +COUNT = 103 +DataUnitLen = 384 +Key = 6f2a3165db6d662e95df91fd9a909fef443ffb676b7519ddec38f86dfcd6438ff48a60087f101f8d26274a7a64b4c287ab1edee347398fbe3df901a84dafe5fb +i = 01c499678e107051f5d6dbff3586c15a +CT = d2f4014b5ae09f0a9437c853b45c579e171466e72c9da05e881b59e4b30659d76660d77c1d23f0161e356ebd828f366e +PT = 4a9e4939f8398d39830c88142a34040d88822356801bf82cb3e25120cc7da69bbe1847d502f7ccae3c7dfa116a8ee3b5 + + +COUNT = 104 +DataUnitLen = 384 +Key = e0606a865a993d5d1c49068ec9b8cfd3df4eb976d73475b4a43363c403e1999d9ef33ffbd909abeacec057e700d94ac0ea0d897f5043e5a78f3606d5a3e17a82 +i = 71271383438e0d3ee71fb86d3e97df8f +CT = bebb3dfe63bf23cc55b2b5d7cea3915a686fe2b91729ea696989b56b1a5ecb0552c4921f0ddd5786503484be334c89c0 +PT = 715476936600a12650054dc99c6e3477fa83ef1a2d86d33da89a34d447c8d0124bcce49c790f929ac2838d34de3140d7 + + +COUNT = 105 +DataUnitLen = 384 +Key = a262543e9b7cd00a32ae0dd4c9067e5344c004a9d234636b9c2f13e2785cc33f16d4088947418aaba0c49343526cd0ff70e5ab27fdae27ff4f48894ea86f3aa3 +i = 9670dd28c24f210f6971b69b86e9d413 +CT = b65f955cda658d8ed074fcf562d697ad771e89e0a9a94cf4d8041c2e92f47322d07bcddee361ef584ce30f53814109d1 +PT = 418ae4a9d28cdfbefe6cdf70b75457f018ea628631a45a6cc362d10a045d834f652997a9e6bd7bb8cdc60904e4f2eb32 + + +COUNT = 106 +DataUnitLen = 384 +Key = 13bdb0257c78355bab88fab43ecb5dce211df2fa5836acf9196a548b084eb8629cb6fe31a956d8fe1234031a36a980bb8a70260a90b0157fd4974aa2f44ed900 +i = 4fcafd6e1a022e9ee7e3940f68cef99b +CT = ee2d97438cba39b3c2527b48037e7756cf6cd771412de0fd557af82554a7a95c255c38c9a2eadd186526330119b5ba92 +PT = 99a1a07f9f8934350df099c7847b759a6afc42b5f6f8bf6031cdf8781049462e6eafc0cf30f8d4f6a8cd20a253d4c693 + + +COUNT = 107 +DataUnitLen = 384 +Key = 5ef338dd6e8bd772e6f3520d3c060a4466d2f9d5ec0ba9d9c1ddcb3a077ee0d3ebdfd9c4b243753a6e136224a9324a29fe3087c7a0fd9fff4676c70327e8c86c +i = 421f909438c0072a2db9ac5c9917a112 +CT = 010662e281d7385aa1b0cc002563970c64cbe9149b910c14ba23eb8ace8e829c6af003c4e29a8e2e8b10493bf26ddba1 +PT = 7c4ae7bf812deacca841dc86e13fadbaaafe7b711a210530f453c172c5973fb408df3f474dfe8f6a898cf75d2dfb0d68 + + +COUNT = 108 +DataUnitLen = 384 +Key = 614112e6ae13730e6f4925bf6628a374ce959be494f13574ef86e544ee49a742257f88778fb894316cba489440bff66cce4addfe98e9b88955a86cf6909f4687 +i = c4f14279906ce44ba6e975e66db505ed +CT = ba10f58683feec8b166d4800ae60755db22d59b952b47199de408e0ae17e98fc06b80c0be89754159ec3ad378a318e6f +PT = 280f229fb75b6a4d8786aa9681b83e6ac8ee8304bbdf971844a3ac3aa0c6fb16cc19f9d8ae2674d3076fca3b6ec512f6 + + +COUNT = 109 +DataUnitLen = 384 +Key = 850613538d3c8f7cc18636dc1b5be686befec54c60af6a52bb10ef2ac567b13123d38906b7598450ff08129e7e08bb8fe27e04bf2e4b3579f444e0b9ef34fef1 +i = 2cac49606363f2131e9aecab160bdd5b +CT = ade4ec9a0cde24d8033ae31ef8589dc75388941f902e3b0602f291ec9a6c62bfd5018d848124cb7f5643f8c94c335d5a +PT = 36f282f440c12d74d3b5db24b72cbf780c6b928cd6d3b70718e37ada1bc5f3c15e50c4b561ae4fc0e4f2cfc923585d08 + + +COUNT = 110 +DataUnitLen = 384 +Key = 9d1bdddf822f7a0a38e9c8bbb6c0bb956ece1fcf30264012d967b18ec0187a31434d81731600dc67c25bdbf3ec12dfbdb6cfe47bfaa33e02d9f257b0813b07b6 +i = bfd261a9e11b7f3a4a5eb61dc7757448 +CT = 63465b29394df670faf46dd24cc10f10284bb2d946e6d861cb65875dd58a00ebab2bdf5f85f199558d2178ae16a5ce29 +PT = 805068251a01ada16a44df9ce0c6be78ef52e23fdfe5638be74cf8d1242fe21c82bfed83e8f6ac103d4fd44b0e1ef4d5 + + +COUNT = 111 +DataUnitLen = 384 +Key = 7cdfa34c0fa73f6906e74075125555090edb25c509c03c0b65c8af384700a20fa1fec243015ec7434e89860fd61e1a249234492af411bf95143775a20ad25b51 +i = 1c810a27ea019a3b1a95df167f028733 +CT = da30bbab8e0559d276d5aa3befb1cb5de42697607e5c2acc4d214fc4df6212fddbae5aa11132c89d20a890826fffc6fb +PT = 105e1e7e44388f5447b9c82afe7383cb0fda0eaf8a3a48459568c9308e6d6620bf3461bcfcfedbe9120f7554415a27fa + + +COUNT = 112 +DataUnitLen = 384 +Key = e7d07688fe68d5908b38f6e69159fba04b4397163eae3e9145c18d46b2fb69a6c639c9cd8963688a67b6de38e893508ab98e2b090d605d4bbcbe032df895ea2e +i = 5c036cd8a5571d265426737408c19871 +CT = f58da78e17efc12ef0b7329238fecffeb0c1bf6f7c17f96ea34a507d5ba2a3d242aa40ee51c1ead23a25367de05dbca2 +PT = d428411defb8af2724abc0cd42a5b984eecd8cdacc9a977e818ea38097b3fc75f5a174bc8e6e59650ad87a8a6693597a + + +COUNT = 113 +DataUnitLen = 384 +Key = 7143fa27a3dea9f9a030ec1845efc8a6cd5f4cbe9e4b7ce217020739f997677b9a72110890224c3a3a338ee97978d747a107457f291ffcc34dba3ab496fde608 +i = 0d889df4593d4c34abedb64d35549dab +CT = 2a083017985f3155bd6a0c9a80d06c7a38ec4b292605b3af9fe7e3dabda5d9ace3854730146ddcc08d5fed02d3fedebc +PT = b1dca9e099a09f3f12c9764896126d3cbc3ce6026af1b0b4cef0f0c471c536d244a2882c9f17b068df1a2eeb87ea135f + + +COUNT = 114 +DataUnitLen = 384 +Key = cdb89ff9360f4a1f2746b57365b10ea180c754800b8bcb60c941bd9d340fcf3a66ea74aab2151af0c1ce3b125edfd084e62f87b23c4606c3ec130c84e67483c1 +i = d8a9b563694d44f2142bd22973c3b00e +CT = bff44f5022747827fe5b6d28dd7fe1d5442313e35dae24af3fffc30dcaf7165b44261466f7d48a045ee8b9f9c9d029f4 +PT = 77cbc985e919236d25455008fc8b544bc9ebd8ad291665a483c1d7df9edab7dd91a180feaa78622ff01639cfefee20db + + +COUNT = 115 +DataUnitLen = 384 +Key = bbd683501012cf644ab7f5327956fa57afd1be73b6505ba030dbf270020c0a28046224e43a7fcc6f9ec6f8fff72e18b94813b40382dc8fca0a64c8c291276540 +i = 2a01f2901398de0492c6e7cd009ff3f0 +CT = 1ea57eb39a8b149918d8e20428566bd339ecacfc1104a6374cc888140da81beb1245dff489d0ec3e37cd6706df3bfa3d +PT = 642e0df41ef787d9ccadf195d84399e50bd2818ce7394be106c746a0ec7e08d7da4bb67f19e258937304093683738322 + + +COUNT = 116 +DataUnitLen = 384 +Key = d3c690661b6adb9e945142088361262f89ade02f9cda157d0b41a314301be17c9329dddc5517da68824bfa151dd9d805c79e1eb5953603e573d38c7ac8b2c9ab +i = dcb4819597e151e6caf04f515d83251b +CT = 579b9f730f83d1a2f398aa82122445557120c5621a5166eb8a927f548ad251c0bb28a5273d60fa904aecc8ad4f219f54 +PT = 191128cc613e022caa469223556e72906c83d68f748febdfceb42aedc86f2f860cbfce7707be95a44ca7686684e2b212 + + +COUNT = 117 +DataUnitLen = 384 +Key = 8872a3e63fe1848aea13f059d141a5d24edb2b0c4f02df0ee8c6448be2116cbd653f9a4fb6a9ec7a82413a7f2d2ad53b3257a97c167c764affd987dc10553576 +i = 99f633346f32e4c8615e4e6a8deff5ef +CT = d9241b25b1aec01cc3931e9357e570b610e82fabebf589b182b20a63966bf56a10aab56a9e2b8f611ad06693e9275dde +PT = 74c5604860b555470201c836a49d9c7eb568b86e6acb481f4afced7e4a41f47ac5c1acc0e09fdccaea95a60478842a85 + + +COUNT = 118 +DataUnitLen = 384 +Key = 3f9a6833bff7d2b0161492821a60ee44cd2c1650c6bae26a47d5731b1549c17c966e31081099c4ea9508ee4a36ed5cf9f1193d28bcdf71f764ffabcb0ed543b2 +i = 555a1536b43773be196673a462a48681 +CT = 02495f7b7c7bae8f7554f96fe2df2c084642469d0d8b076eb285a352abe5181dd5b55c0c69cf00f46d524bdd0e467787 +PT = 2e3a4c6f7829bd818cf1d38dfb3a7ef3186f5d3a61ae55a504b244b0b0418db5cd09d293739809d298cf2e57ee738d03 + + +COUNT = 119 +DataUnitLen = 384 +Key = 9f17e600c9aefabd8b67cf06d9145af549710a4fa8ff7f195cc27ba7c419033847ce0f430d9c95a7435bf45c4d844d2dfc7b0ec6c74453b4cb1270ba903dd3a0 +i = e8c634d79958061297d75cf4245d2090 +CT = ed42fc5741ea648238a9e568cb0cc247f3569cde35d7e67e7bf8cf8ea8ae844547878aeed8845631ece6831ee04fae57 +PT = 35fe31158ce1f940269d00ac9ed25667d6b08b3e3f9089d28583546d4945bf0f6ae0cb729207ee4214b57b14ba72daff + + +COUNT = 120 +DataUnitLen = 384 +Key = b820d9bdbfe403b9234940e0ea680fe4099d90f6568199365e14f2813fd9a2ed9e459f75fbc17f375de468ff639993177dee8ecb9a0f10b9a9a433dea2fd6143 +i = 22882c52621aa7d25167155eb6cca4b4 +CT = a56c1844a9c9709089b4879ed506b85c687aae3c32d1307131b9f911d2721d9c8f282b8916759df3b0ef8559c729f343 +PT = 4e5d7e060c738dabcb7fe4c2d66cb5843d3567a97ffc25af6761045511235935b566c96150be6d9a8efab0e552394b21 + + +COUNT = 121 +DataUnitLen = 384 +Key = f7eb8766372b3f6165a98dab452ab0363cef9abbfbad1ddf74d58c72eae48861e8e264abe0b279f790acc725cde3bcef2a4aba6516a9573e4bbe7a879ba0fff4 +i = 7d5eb3da3afeec9141ff67f5fafa915f +CT = 139bc02b84338f905b9b5da4efc36b3d6537780cefbc1260566e95756ddf728d132e1d28df879bc1f35f03b3e5957f05 +PT = 9391490371595a509e4dcc95f003b10729ba3c14a4f39720721fb2f14f8fd8eb0e74c605d8a1f9de43bbae4f14664297 + + +COUNT = 122 +DataUnitLen = 384 +Key = fc2996f070f330a5569b34a30efb96f147b9e6ac8c2f86e6d351c997d8f1ffa2234797f30426bb970758ff3af9973a2fa3ad338c8591bf7e581d7247ec546841 +i = 900fcef72211bf8174f115095d7d1875 +CT = fdc1e7e1b98a3ebb8397b609804d1b841e2b237a4469c9b67014efdc1e2b7cf36f58db603d754938cf6e3c733d6ea21c +PT = c1a9a13078e8ad999773c4f372791b6ec7d73eaef07fd8a47281bd2d0fd11b5893b20a5fdfafb91cb5a8516a5556aa02 + + +COUNT = 123 +DataUnitLen = 384 +Key = 191bcaa937061a76c8e1e1c4f06d9f603825e4b7da400e189dd75dd3d8e1b4e7c34a202e45a29974134b7168fb580aa8c9e45e13ca43e1eb6b48c97a17f7f72d +i = 00ae1f3b6bd69c515bdc6d1bb7aba232 +CT = 252fdef80f61469f3e40ed5d2a7850df46161ef10d49ef240a8897599a3e6cd069df9da7f3b05d0e4c7a902279093e15 +PT = 562907df93b5a671c33af2e804f811c76541b4466662fa9c6db7e37b761870ad34e45a19e2d26d1ce5b3707082ad731e + + +COUNT = 124 +DataUnitLen = 384 +Key = e13f5c63409239ee586a925cdbacd0523f562dd3e6e05efae358720a4bfb85831d7957eadc83642fcca5b87e3e941bae9f3e459913454e8d876f14affe89f521 +i = 9364f455737b739aee1c6eef22dc5ce5 +CT = def91516e9f8538bb9ce8b6ab2c4ba93676000e49aa3e16941b7c0006fa4019a4392d2e37970480610d9f0ee652dd463 +PT = 122fd7a58985af34cd037a0fd298c377d9d1930b3fa5c59c6b21e3716c805b7f80fe047ec5f9787dd33cdcb7f276fc0b + + +COUNT = 125 +DataUnitLen = 384 +Key = 993ee4505a366f3b08d3f37c52a6da09f3a33deaddf67352329b011b3a6d5d5fce35c91bdaad8f46c22704fcfe0d57a9bfd5ecaef78336a9473f8655f5027f24 +i = 8b8842419670681db59fb10884916283 +CT = a3aca29c2d1ed252c105a8203a4c2f5b79c4dd46abf88b60b88fb10ce57e83f64063e2f2c0c55b9314012eeac2a5f95a +PT = 453f4273d50364d5cc1a47a27d7c17356566b7e4954fbe45c72c1ff8614c7109ebc53b80bfd1cbd23d30a4396d5b01a0 + + +COUNT = 126 +DataUnitLen = 384 +Key = 69bcdb7f599c27cdb084f9ef4642daa19b0be3b12003f76b4c5c46f1f9887b865134d8fb52e6d571959b803b03e4ca90aa23e3c6e8db955a32ed3136313afac4 +i = f7788580d83bbcbe9b946d0ed2d01625 +CT = 41b40373e9928b57debd1e9334955aaa0151ca96e42924d7d77f93f793a35e54403e902b79977316de30c65874fc7cbb +PT = 209660456885dbbbe8c126d3bac6076aa38fad9235ecd50cfde15c98176cf11b0cc206cc28b9538edc7fb8fd7035e3a0 + + +COUNT = 127 +DataUnitLen = 384 +Key = d93a3ee9ce2fe45e6f34668b6283c91ead818c87aee6581c5cc1435a96cb8020fafd0dc62dd569643eb60c5f4f07f2cf9eb1670fdaaac018a94c5dc41a29c58f +i = ae6ee7aedabc36178bccca76ce1baa1e +CT = d0f310edc65d6c14914a047820dd8b6fe15a9b4743684cbc8e4bb4cbc55d2c0d9348f8216d8d20c4d58789fbabdce7bf +PT = 50d72e758f5a07de37888b0c6e342119ee1ede3492532b51fa6579e5a717ac5de31236bab7155d69dd799baf66a14126 + + +COUNT = 128 +DataUnitLen = 384 +Key = a494bc9b28e8dcfa342c6e4b71e0f395c2d404925c5ac68ed1a2fd10e73feed634cf90542c6e75ad78b9f140e47475cacf7363362e1995f5fa2bccac0a0c29b1 +i = 66bbfb617c0e1662c037fa1ba23db862 +CT = 29304c57bb1d37eb8e16a0ed03677e11cef1e3f23252f5d82fbfdec28f32292b7c151bfe4feb7bceed9ac6dd6bc25547 +PT = af1d834bcccf8df8c47f9b042141ad73cba39e20ac7042f974cc0235c97fb02270691d58e26d0d668fe8d0b374359057 + + +COUNT = 129 +DataUnitLen = 384 +Key = 708e67b7274dfcb76eb979b61bbe66ec0d41c88a4e770dc300b45d9ad7ee0c0403d24eea57a6e9539ccecc8abdaeb4235aa38fcd72a152ff0a8180f77a4a761f +i = 304190956afa20a30b0ae65a15acd907 +CT = efee9676be92a9fa0f545eaa2dfe9289e5fa93a9214f1d80c38d20c993eeac5a6978339afdd2444e1d0a1998921a789b +PT = f411ee2b6f406da72329f6c044c6414ffb82fcbc15392e16dbaacc76a6b0f3dd7565e52e3478a2c87efa5f8ba75eee2e + + +COUNT = 130 +DataUnitLen = 384 +Key = f14e9b014ea36de4d5003caaeb4a05ca1b75b66e627d89c60052db9c760a520bdd5054ba926c5ba9e3b30f786d53754f9e2816154b64e031e36cf22257381df7 +i = cba170b97a13857e60517e181fb4a7c9 +CT = 1ddd33e690c13170919995a0b908fc218226f7804236f070fec64b8d8340eb5954c7a7ebf0d888da69a7cc7aed28a403 +PT = 8ed72bfb87a8c11c150c03c683910912e440bd0e98e16ae36f6a70f735d2267a4bd72e52a2a78780149e37287f3063c9 + + +COUNT = 131 +DataUnitLen = 384 +Key = b6bc97e4b3d849e487b730bf0c305e81dbdb33c2676e6035f0d8099d1a12394f709090614040f9d19879a0fb6d82a1a6f6c5447006f0670bbb20b7546169b355 +i = a90ba7cfed562ec7894067a2a09f3ccf +CT = 23335d164b6f43e3fcc18217bdd6c4b2c9f450acc4ab108343cc393d32535e75902697187ab5d721994a317ed8e4abb6 +PT = bed8d1fc8b3b49e7509cd63a4f2581d954cbb3ebe221bb5243626a0b7edc21d9c69dabdd151254175bd2a840509e4be2 + + +COUNT = 132 +DataUnitLen = 384 +Key = 0923dca85c289eb759e16d97a58e3a02b7b0d7c7e3e689ba561b574d0cf1fdbb74f93cb9d33ebfe40df343c426292eb55adf46d5244489f89211c43ca86474e1 +i = 20b5cd360161da8cfbe4b039181678ee +CT = 12713b1228e62fc6ee17155106a01a81788e1d12e4067c7fcaedca1523dacfc743b48ce55d96e7c85232d46ecd3077a0 +PT = f9b483508e5312968280a2a2463751eafa1f2da152143ffe5a295fdf6f312dcca1e78b946c27ad7abf34400b480644b7 + + +COUNT = 133 +DataUnitLen = 384 +Key = dd58956bf5e197741dafc0d576e0f17855714721c39168643b5c72def9ede0fcc55c0bc6204e03cbfcb32e4e0a39787036af2a80b89ebaf39caa67421d100d11 +i = a4146393706912c5d417be483761358e +CT = 7927fb2927d833429fb0f828eeb34d0f75957cd57c7a0ca15931f8512826102b554b22fbecd928f8ffb0006fb5e96f7d +PT = f5d35df963a293dc7e1d2d71274f4f510a192b72a1523ffdf1abd2d58e1c54248c73898be3f510b6078d2ada857145a0 + + +COUNT = 134 +DataUnitLen = 384 +Key = 3b651bf3b3b505ff0e5da0b07946ede49795b8d8bcc29cca5c14d9bb2169c2034acd7b6bba79d8f9b86fc23b480e86f1bedf028dd40fd619b9e34e08e2cab393 +i = 6507a38b44a92791251e041119ecac43 +CT = 996bb8c4a24536f74efae148d78f5908bee9f492c12ace5c8d8ad971a66e3c834905de21223865958145a202dd3f6e2b +PT = 50aa489250b6027bafb0681336104d826b021eadbbc564973dad2e51a374311a3c29d30321ece0b5462ed23d9d539077 + + +COUNT = 135 +DataUnitLen = 384 +Key = f43ff13801b37f695a8c889486fc6d3b4eb624031b16ac303db7d27f2763867e09e22dfe28fe7541ee030ae651605814e453a9996cb63e3dcbc076183bd7775d +i = d92262e0b310ceb8aa0a2d45c8978459 +CT = cbc7cabecc8755c586349c88359c8835609b65889766f07bfa3a9fccdda024095e562aa445de9703f6e55ff2b206b613 +PT = d61c269407cbbc11af61b35c8899388f1aea3a1780a499a8e8b88eda131cff116ded717f4dd93f9680dc5260f722c55e + + +COUNT = 136 +DataUnitLen = 384 +Key = 44ddb47fc70cce74bbff362dc15483428d58cf22079e0e84b6cd5b8cabc4da4b4e7599f2a3dc36282b2a252c5f049fd37a558f72d7a5110b57004f03dbfdd7f2 +i = 78558f4ca4e0cd65b8e71d041a2c2847 +CT = 3f008d6bee2e065ec88cc396b4c1865308adcb960a3c3f6449f9e19db293a38368bc70e605a1b7e012bd68692cef6b41 +PT = 337e9ab35726db0465fff4e7510ddd1b9ab0847b88cb9dcaddb9acb18cffbda49160b7423103955945d42cb4e0bc5e2c + + +COUNT = 137 +DataUnitLen = 384 +Key = 4010a119bd131de644e929d9c288d343f6a3de3a5984412000bc58b4bac9589821a2e6a97a4892bb664c3871c47b9605821aee50a3d1f2c36653e5f53cac7f2a +i = 27b8039a94f9762cfb1e4b17f0370a45 +CT = 0588b51b0aa3be47a4b6fd86a6a59c47ef409626b2068e6f23d7836f12ff17229a9a995459a64e2dc73ae16e62e3d54c +PT = 3a27cabced5a1c373e16be300a37e016f9d1c7444ac456b40d02daa7e330547fdb4c214cd36d117ba9e3a17f85f47a37 + + +COUNT = 138 +DataUnitLen = 384 +Key = d51db62a89f09725e8aa7a16f870e2a47e3d20131c43315108e7103610ecca6768165ecab57339a81cc2ccf127590a27c720d62eacf81281ec4123cceb4d9599 +i = 8fcfe1fe4b04a2e1383f808675b27022 +CT = fbe7191d1f5353467b7af25c463f5852487a5708dab98f29266318e3ba3832acf58e42e045426e6ade51a03639eaaacc +PT = dac7572287e557aa920fb8769140257fc1f461d3811f562ba15c462362a71a5e7424a316fcaa846ab4d3240fc42c49bd + + +COUNT = 139 +DataUnitLen = 384 +Key = ad5ea6899a2c91e535dcc943998910bc41437e3d9a436ca37620511c2525e69e7624494de929dd370743d28a479edbb6e8cf8f23d3ed2db92378e236aa3b0c7b +i = 383b46df253c5977c04cec7978ec1aa2 +CT = cfb5758fa4041799d56e290defa7fefa74a76892c3a42f26f1e3e6bad3309b14693915145795188c97727af462293457 +PT = b6d402c7a601e7ae0cd4e5a869248eba956ade0025db7beff6888f4182b7b6e4d993e751f8deb635c0c192cb5b0a1920 + + +COUNT = 140 +DataUnitLen = 384 +Key = d052b0a2c447778b5ce92fc789b113bba2b4440ce67d268b53c7d6454e52d968820af187e9b25508180bb6c69ee8595707ae54bccbf188b65d1c34f6c35babe4 +i = bdbbeeba26f3eebd2e201542336b1080 +CT = 3f96f3603353b6cb6522f037f74a64a20d264b9b78963bb11195cff1d08a8c6d80da495e69ec83d7513bfd3a0db887fc +PT = 66faa5d1dad7abb1bfc43e40e4ab0810b01b9991a3c0756bb34db935c2fd1b2f14a32814945db8223fc1ba8fad1843c6 + + +COUNT = 141 +DataUnitLen = 384 +Key = ec3b71289005e2293056f922989fcbf7c3c3d33668780ebc4a93c1f06abc1d73eb50a100b8ba066ed4e139e5b0a6ab19d0e7df886a5d7efde1eba1de3131ce9b +i = 8912527f1b288a4ce4b98620fe46d8be +CT = de53f84d00a413122af1c0e0dd603db8d5dee5f8241bfe61532ce283e9ac8d1b155a0b6fc0b89b81427bb88125cad3c5 +PT = 0dfd8d2103c2fd0751b8b01c758f045c290fc07dd51bba7b0a0f735c42bcd05e4704d4970295ad7f1664bd024e21b7dd + + +COUNT = 142 +DataUnitLen = 384 +Key = 4720b307b2baced16a4de1944a2c92cc6cdc06709521baf2ea03312cc6a7091b688398469b10f52f7a057d8537ffa51616d2cc5b582cf67069a81f2f4fca2302 +i = 1570d6a8fc0cb36810df998ac5131adc +CT = de8955dd9436ea192969f55daaad721b517f593c3a78aedbfa8f4a07d422ca6930d8ae9ffe8bd3f1a830370317e4586b +PT = 1b568e8945f27bc8ec8360fafe7d241017b0b5ebbc99842068b11015aff7a7669295244129ea96a19fc68de80d342138 + + +COUNT = 143 +DataUnitLen = 384 +Key = e4d7e2d73de2e9712f5b1f57bf366f10617101976cbef3321b5cd3a0c4996d5407772a6fcb9e0f27af6ea1454f97d92acd1b4442328bd0f03500c18040b7fba8 +i = a0aa71464610a637bad36def3cbd5a35 +CT = 79d110298ea26c0f0de4cbd4b961b5441750fa9c952a853465ee22f1382d93245860984a68b73490e6972572d858b97e +PT = 9a32e8c0d030b0f792b92fba9ccdfa4c5940c828e5e825d7e850b9796bf43052a14e8e58b486ccd5f7d5e209467962c7 + + +COUNT = 144 +DataUnitLen = 384 +Key = 660b53ed6be27bd57eb33c07c54195aa23dc3f4e414f43975eb7f7862491a403849c9ae22fc88d4e3706a421a29830a6b1eee7f1f53f4bcac7766ae7e565949d +i = 21c5a12287b434086e26936e0b68c2fc +CT = e6657ccf827166bc60525fee617d4dca61b698fedb41f83342fffd624e6343c419bc0693ecd1b033448bd3d6081143f8 +PT = 93a65d993315966177f78ebcb415fecd0338f118f2f754763e046d3caf3bccd382afaf4bb751670a6c07b6af2f60c1b2 + + +COUNT = 145 +DataUnitLen = 384 +Key = 66d895f0346ca6ad9acc99f7184659685116d467bb58997f5df1e156f2bd78e57d648d8795bbefe48b00e7db6c2c1c6fce47a64d6fc50a00a13ef5a4f99870bb +i = 3b515ed4cbaeeeb77f171f2bac183720 +CT = 1a7866844428751e1086efe18a7feecd9a54e336736e7cf08c10a7f538ada88af053939f070286c9d7b825dedd66e4e5 +PT = 730aa74f0bb09e561579444b1dfdac63ed7a5fca11a789df9528c9c8a97f4144f8247627e7d5e9818a2675d66a98afe9 + + +COUNT = 146 +DataUnitLen = 384 +Key = dd611e07f8b0bd32ddbe3f800bc0bdf905b005caa85ba6552e86666525924a5843e37218be2759beece17308c704b94c3f5b17c77736f0667d1bc8adaaedb8c6 +i = 78cdfcaa5e415a49f037eb171ce8d55a +CT = d9470f18ff1101c9669a106a1b71290ceb29cc024d2d943675ef4321ce81b6dfdd3203ca96c10a73e5511823fd2212d8 +PT = dfd09c36c1b127411c09e413f5f128b2626c3f00d90e2209845005f7671b5293fb34bbb7efe235f0937d40bb2ef6dbc0 + + +COUNT = 147 +DataUnitLen = 384 +Key = 408c99436d734148ff3df8545fc1aecb32dffa384e1f933b0131ed012130d71c2ab8b65342a456e7eb0189c1dbed2c9953245d2f1e521d6e74e13bcdf91f2520 +i = 22b74daa4e4660ebac59dad21a5b262f +CT = e9058ba25a3521957915cb62f2f2ba72701e18a215d728f3a763536e982c05b34182034da1a7a8e694e7e83afddaf43c +PT = 3704d534bb861b482341f6f76e3353562e8e4c554481f0db6d6dd74afc4b5e6db529835134094ddbab298db28e0e1015 + + +COUNT = 148 +DataUnitLen = 384 +Key = 03c965f675e388713ba6c4f0ce31f574a2f381fec1ed3b8bd515553db8d3529d7929e1b00262385cef17878490767ddc990f9fd0ed5b76993798912a913a15ee +i = dd2b8149e972c1808cecd04c22547685 +CT = 06350c4535506b1bc49474416ab080b67e20568c3ef29d5354924a4d5cd564060a3ff043f6a741b0448ded1d4daf35ca +PT = dfa3bb12234540388c6075dfb454d3112f8e1bdc1fc85208b09d7aae8b57f42559be00d787aab07ffe2e47b26fef983a + + +COUNT = 149 +DataUnitLen = 384 +Key = 67ec5a8808eb5894c9d332839a5f2947ddb4f8c136afc9045451738c231f3b8f2aa124c899767a349b8f265f0d1675e9ee64f93ad8fc29bbbef7950be425d4ac +i = 0af76bc29e76cb20fc81dedb67547d29 +CT = 778972f5f7e5b578d09378a614b3b5572f6dee3ac522b55b988469cbbcc2aedbceef71b0a02d74c42f5366d96638c231 +PT = 2ee44c17e8cf28aec9b3a85dadb900a4f79bbeab3eb1ee407a9be1412658f5cd67c439cdf1d23a4d75360c476f7a900c + + +COUNT = 150 +DataUnitLen = 384 +Key = 6ed12fa916cc773a20c78407638206143c036739aa4bf7f811fe904812aef1cb7e10ccbd8edc57ff2f32d4103eaac3e1792ea948c9e7ea5930fabdec7888e599 +i = ec92d320b6d9340c26d0945e0c0060a6 +CT = 68681dd0ad463ced8d3c482dedf7dc0edfbb5361cb1b36d8117b66e2594a08defee53ec41e155274b2b94068a5968c64 +PT = 338b837589f110af497f707a1a408e598d3b47fa981eaf15fd5af9b05bfe08de385d229344ae77e44868f634ece6d97a + + +COUNT = 151 +DataUnitLen = 384 +Key = 4e86668f91b8524dbf2a2073a411d3e5a4142bfc86046fc49275327ef5196cdd5068712cc3065c4ff66abeb71904de8a08e0cd57f303dfb5c646774b85a32558 +i = 1cd496c8da3025885f5c3a6e59579a81 +CT = bcaeba570f656f1a316f8300875e63faf3c80dc76d0e0f75d0ac00c44cde489bde95623fcd046466d1ce3af545045efe +PT = 103c12893f74903ced629b3e5769446439cc7c627b2f899c67017af0096c791f1567707a9c875067e7818a6b783a4310 + + +COUNT = 152 +DataUnitLen = 384 +Key = 800546b1c98fb58675033b024a24689cdbbe71043d12042aceddb631dc401dc4ec3f918725861a7d6c12431686125f863edfc8e9cb98ef91908b47ce6add7016 +i = 6ab9f3f874be4bae5b05e326b6e4f965 +CT = e276835e5fffbead85705dc67a4ca8da8c8339e508ef94b343329293c446ae07c4af0eae7bf22010cf595e55b34252c7 +PT = 6dc7629e6b627f2771114262468c9e0aa442dc346264bf5118de29b1e44423f266539ec96d2638781ccd965b03c8556b + + +COUNT = 153 +DataUnitLen = 384 +Key = d02a11c8daf92c94c3b5ef818cb5756fd0f80407d7c0e4f39fd847120ff186e25218829e7d22e3c30bd2a94fd5ec366d5f5629b9d5bd74d4f6a0ee510be6b311 +i = 2fffe45661a05348d92e39169c84c4ed +CT = 34cd561f80501a13abacd32fdad7970559b58a34745ab8f29c2ecfbb6eed14690dbed90b30cbe8a0e96910edaae14240 +PT = 36513ffc9aeb9eb70443ebb5e34c0d3c0610c74054b7918eac06fa7ef1f757c53c2756caedae9d1823545f49f2714857 + + +COUNT = 154 +DataUnitLen = 384 +Key = 58af5dd743388346c6bfe8cac31bfcdb033be2949cc7ef1a8cf35016befde41b9d7de6cf544d63af0fc557b2c0178b73d2ca0f5998c28d0eba3ab99397fef293 +i = b3b4613a4c32f2e330a18fe2bde7444e +CT = ca6108d60d07573f8508faa2b6cd55b898ed7db4a4379050ff1631afed0935ebacf5eb9bc271b15f646917a78db9350f +PT = b7d066022eaa42fb273b7177e4f5c11a7157cec8c4bcdbdb6a4c1fa9d9e4f429dc5289af9d40240c35650ba4fbf6a13f + + +COUNT = 155 +DataUnitLen = 384 +Key = 780ece76f0cc31f3871fcd42b4662a501524265edddf2856e74232df69573ec4587e7faa3adc31c23952babbe83fbef6ea21708f1c8849992e47bf9f92ed04b7 +i = 041782dc65438ce5ae0358d744b98eb9 +CT = 4c67770ecd362b68fbf1ae467ed576c12027f66ccbd4bbc95b2459e78e408a8e972030d58066ed44661b44c0987254d2 +PT = 5336c21c238afc0f4f4c518081a83e6b8e022143fb5e7bcaca0017aa3077aed1a10c2bd5cde9024c5a13012149aa7097 + + +COUNT = 156 +DataUnitLen = 384 +Key = f1e95056d5607017ef98128dbb85b2a3d45696dd7d89d8d3048022ac9704641f9b3256208fb40ca69a55476832e748cfddf2d7052d3e60d1d15fe96f5a480ed3 +i = 5d542d63dedca7e8243d66b849fa56d5 +CT = 94f66feab7177cc888a1676338cfd5b706bde54c2ea06b6c09c4c030a39302d6e03c9fb5c4d948b547eb9cf04bc685ed +PT = 901a072469aa261dc7d51909c981520d67ee9476e4e3ccf3643779c1cbda2a875f623a1d0a6dde6f21422b63d31973f9 + + +COUNT = 157 +DataUnitLen = 384 +Key = 3f6076849804d15504f801156fa805ae9264c1e05e9c858ca0d10e66737963f0cf4e0085272eef0075ea2d00c32db2cd7ae202e8d0de157e0484003998ca5c54 +i = 2fbde4b241e6a900e5d31f720c3b9fd5 +CT = a3802b7895eb74d4cd7d996d74fd432b0466be472624d13f3b2ccf6f1dee09564f5a4ed0ff3f659c72bb86d66e50c9df +PT = 51599aa5cba823e65eec65943a95dccae0ce8686733193190885550c3f2d4f16f6ffe59a6e582c2e579b98d6a6f5657c + + +COUNT = 158 +DataUnitLen = 384 +Key = 169aaa488f6e797eae39b1ef3140cf3e1a4b558de58bcee19a6d48bdd24a6ac7641e685dedfab5fafbe0a895aff38eeaa6e6845ae8610a1914e0021162c79642 +i = d6d9d5aed4bacab8a640f92deb21b126 +CT = a82bebe5c813fe6ccc4648ddb7522585d3bcd9e79e1ec8f3c6caab06ec0e5290f563fb5b9fd0d8db2e37ba379c7a350d +PT = 1085f3813cab91ea13b1d41304a67e1fcc21090c9c52f070a8cc656642ec43cbdaa6c6acf575dcb833a4688f2cf5de59 + + +COUNT = 159 +DataUnitLen = 384 +Key = b7635e5fb2014822d2dd8f8a3c419e91879bfffe2a6eba07b1038917935814930fd8d9598525023930a3acd118a08257042e58af61e3be05cd6dad9588c7f4bc +i = 3e950771d8e4069a45df472f1c2d3cac +CT = 0d8cd76672bf3f755cf9d77260690034a80a1888252dff5844fb081cbc79ee4d5b5a30d040773b520541135145537272 +PT = dc9dce2c50a12185c0a88f44fb4bc095303a9436b779de767baaf293738021abe8765668b89eba693cb6facd113ad669 + + +COUNT = 160 +DataUnitLen = 384 +Key = ec0b7b7aced4616b1af2192e5f8114c5d7783eb40f2e01fb1921cef739a578f9712bf88e75fcc191d95f77051f0060cd2061e5fbbe7875374167ae1a64298e08 +i = 637c97a03a61d728420859934a5ce246 +CT = f96282484ebc8ada8834ec42109c4eb0699c27f2008e76ba49253e59b0d775c4b2d6a3974590801e19dbbeb694704803 +PT = fd9ca6d640fbcc3a1fcbb82314eea81f3918bd2fe8cb7877ca4ab7b9068dc5e3838bdcc577dbce033f3922e685a1d594 + + +COUNT = 161 +DataUnitLen = 384 +Key = 552db183e5a32887f784f64e3eac3dd75fc86778aeb9bc9a0fc270e100a29fcf7cc0e7dbe0903ef9de62ffff0d35d3cd7ad1a4e1776c1acede69e55eacce7138 +i = 46bf85c0d133d01812c5321cad771692 +CT = 248b7109e9299e214c834e30092712bacdae2e5912b87238dc11adfa7f2ae5ae1d0b4bd67eeed9cb6bb6c082eb1e3ead +PT = 736d26a11e98aa18e42e7e0cca2e43a2ec6c01b708f152c462937bfc9ac3f0271352e38644b9ed227f5f171365eed300 + + +COUNT = 162 +DataUnitLen = 384 +Key = 82f95b57d4461e7fd0ebb3f99cf500b8c94c1e6fd103e0046cc1e6c7924d766f7daccd03aa70f55d9edd33041538f8c9b501980f924cac179bd15004dc5b9319 +i = ad4071bb881e2c4f182977a17254343f +CT = 0df1dd8e5d827bd1218028ec32fc1f27d24d2b8a1c36af713df6fd3a1c76bbcb8bfeef615237bda0614cf3d7407c0a4c +PT = 357cf8228ffb3a4a031b8fc2c763078d86328ce3bf08a5ff1c589be57d155581551883b12a55ed0a7d41ea904e6f00db + + +COUNT = 163 +DataUnitLen = 384 +Key = 386d50592bd280838faac82284c6c78a75cdcf4e69fbaf63a91ad3d14f6781713c5fded119d6b3c712ac6f4e4801c80397d1ae10a2b7e3d017cd9c7c61ade3b2 +i = 0e7462f4e756be3d247b042c6baeafe6 +CT = 6a90faa07b0a260acb11c9a3ecc5117518ea4d9bc0e60aeb3b270c308f3d16e0e8607d81b03e21d79ad3ca55ebbb736f +PT = ce75a5b69274d490ed954727baa8c13d39f3c801eac950960a28efb2f33bf345572f7397c3a016da314b41f20a9ce6db + + +COUNT = 164 +DataUnitLen = 384 +Key = d3c02e7642de947cf0d1c4e613d896945931a53d2210bed5d8ad67d24c00f3ae9bf3a2135e685fa216e65cf1747d9f2a67da985d98dd16de679c47ae8a79bc0b +i = f6e062a717d406f8cc7f7b7a251e4b22 +CT = b09a27ab0a776934683482d810f72dbf7c6c56a9b52bb663d7aad4ec7d34eee47fc4069e2315d66e90c30b533a409c51 +PT = 938e9752d8afc3a0d692ea265e7f659df141cf08774ad9b8a35c83b9558233acc61ea5a97d62902c64bf33fbcea86c85 + + +COUNT = 165 +DataUnitLen = 384 +Key = 101422a38e091cd87c2761193075eff72a6c6716a47221a2dbe9ddb2401752442b3734a971847ee70a2a7406dbd7708ee3798c57a0d44cb50e805d43119250b2 +i = 0a21b1b891be067645550a688e4aa7ab +CT = 1576b9a9684dda9bc0f87e450408eb9fbac96620dd74f99508028e8f1225709d430fefcf7b69a2713bb9b5fb68d1de4f +PT = c31b970bc63a22dc3ea4a14bcab2758731c3769a4ed38a707431950231ee89d53a0ba9e24e97a8aba81db36491eb263e + + +COUNT = 166 +DataUnitLen = 384 +Key = 2e3ee38c6de01e23a54ef591695f2ab5c9ab9d2300f95e75ddecdc12b6d0b7db4307793f5bf2c18be6706f70e0fea015f7f45925c2874b095c99369e81d9f8e4 +i = 9a87af87f26e179d2ab0c94269df28fa +CT = 31576b62daa94bf520517899b1898841c38df8384acdedbeb58066e50f5d1483bff622f1d23618be1cd40736afad3155 +PT = 35735815407be3a64b32cdaf7e678216908c2bed32b9ad2d09c929c7180e8c742ccc42e933c86a5c1177133ba2773492 + + +COUNT = 167 +DataUnitLen = 384 +Key = c9c73f74b5c0f336b4ae886567b450053127f8984084dd7ada79037ac3eb4fd3efd964e886871bfff28d419c5ded2029a13bada7c1c7ac41c46f259b72e7cd08 +i = 894a341f7b8dd7eaf87f698457c3950f +CT = 4e0691e8955c7aeb0eea2dfc0112ea9556ae989ee1b55c006c53039c39a33c51c16e590d8341642ee0c5cab1085ad7c9 +PT = 4a6512ca85123c0a655a8fdeffb735a2666de7e4b582b7379efa747bb976a5bd9c232f9210af1da5918544e1957e71b4 + + +COUNT = 168 +DataUnitLen = 384 +Key = 0835df8ac518a59afbe2fd7543f09346a5df19b6a40f01779e8ec6706a20505f3225cdf730d5c797e1994981f43013f06607d6313be98cf5a6c54059d42d04be +i = 1e12b495516a42cf9a3eded66328f1be +CT = fe12e857eca8339929963f6a09b2cc884f622059fe70ed45bebfd2bcf4f564ed3e7c03f494e48c01b00f2d7fbeb5709b +PT = 4540c0f6f263e839d58105b0747e964915081f6f317c11c2603f83c6756bdb5e5ca53a9f0eb93c70596e11da38e0c20d + + +COUNT = 169 +DataUnitLen = 384 +Key = 304cd6ff095840d2d9c88fadab0fd8d14f02d7d0d2899b87b9f32cf0117e9046a6dcef37d41112cb5a73a53b81132a80b275455a57b0e91db32e45b70849b1d5 +i = 3c215cf48458b48c19e0e105470d08ba +CT = b9b25a915161afd9563f803cb48f59a15483d6adef439790f2acd337c9fbf3c4da82ea551691c0a3b16aef88b84be21b +PT = df1dc3fccbaa46c5cefbb0360186c09315a22826f6e00dc2daa2646f13bedfed383a1604724cf61c9e42720c89114a11 + + +COUNT = 170 +DataUnitLen = 384 +Key = ba6f72b43ca69da39e661fd9ac1fcf3b18e3365e438a121ee9befd1f6e9923b26eccdaab97a2d81988914fd77946575878b698340c511724dfe168d231ef21ce +i = b8778f3d61aff8be0f5ab5abf32c1c2a +CT = 9bb82f60fbe6cc21acc87fcd88c231f4b586476d5291afa2e928a538b45861aa0bee574c3bec82acf9ccd7d61ce5bd99 +PT = 47b521eabd7265823167208e0a0dd142e3d19a1c80ad2c2d1d00f344da6d9deef7d44268b4df19fbf3b1070272da6c03 + + +COUNT = 171 +DataUnitLen = 384 +Key = dbbcd0e0a103aef3cd5ba32c47de8949c155e3a7c96c2ef173c8096ef5e932c4a25f3b0b1bd2732fe7e8064535f4c92a4229a9b70d0caa6bd5fbacea960dce43 +i = 26c25b0494d12a803b36cfcc38102c83 +CT = 2ecbfaf2a266c68ed49478009a4e543e0cf21dbebc4cd8c74a0158058c4329db064f04c5f0f9bc969b084827a01f8a35 +PT = 1da16e58b11590d02866599575fd9e80403d634db36f7771657af4e18b61ade6d195d81bbaa31b9bc685f8030bda8278 + + +COUNT = 172 +DataUnitLen = 384 +Key = 5172127f21bed69baab48e93ca97a272e9d99d6af0ab1036b53eec05cd07cb13392a402ad931a0486d12499e58dfb9f716aec6f4558cb18cb52bf04265149043 +i = 8240d65e02caada893fd2a0355fb3218 +CT = 66b2514b7364967f839955a05d282f3ea1ee28bb2207377f15ab4957e2f38c81c65f6cfac4d0a81a551de20c150bc70b +PT = e3d43d65f63c807f085e2fe5dc74d3d27b61bc5edc8948d8661662b7f64c49f2593f074b78992dc2bc22a7a6d513c621 + + +COUNT = 173 +DataUnitLen = 384 +Key = 0612e9db6fc7be770c1278a4c421e6f1b85bfcafe6d9b80fb8d56b0d512c7ce82cec64c562f97c55f14b85024b5808f7d63de0c33f6002e52e33de21bd1359b4 +i = e78a20373a714e2edebf8de639789ab8 +CT = d51748d5c37ee3824ccd5a17300437b88c19a87ea4d94500d4332d35ae3b019106a591211343e48c279abaeaaa3d6127 +PT = baa9a653bfda7d3be119745584f0641ec335405e8b8ed80306baf6647db7d8615795dceedc30fff94d96e8ca96f7b58f + + +COUNT = 174 +DataUnitLen = 384 +Key = 47a0dc2a998d9bbb52acc0e5034709c0a3b9fecf7cf7507130a827ade1faee67917cb8046c3701555661ca648e40bad3ce072126f56258db1f8a7344aacc4df4 +i = 58cff3419d346277ae01d76950f96674 +CT = c6a454d7530518c5c5e6ac0fddb638d01f1b303c700acb81cf57969fcd49f6368976cfe7d194f72cad018f5f3853dc91 +PT = 8cd1913be0877e71a48fc3dea3b444fc46f9a8b056bd76d05089540ad443425e461015657a8b2c0aaa728d30f354ddf8 + + +COUNT = 175 +DataUnitLen = 384 +Key = 9aec5cf29267c5ba85e185bb215f3f1bbc59f52861eaa2825962f91412a3bb63bf2e564324bf14ce253f8760962a23f3058633ffb33576b7654b7730dc8967b0 +i = 8a1ad0631eaff7f0b3e1208ab5a4a8ac +CT = 75a56783b75249a1b2fe87a72231cd2d6347ef65c052f5d101ce2a59ecc309c46340ffab02829942b9d03af0b458db56 +PT = 1561c887719d719cfb16fd8d66e527235f5b9cb38feeeb7cc559de19c6d180c78d4aafae3ef90a7b386fc202b2d6a3a9 + + +COUNT = 176 +DataUnitLen = 384 +Key = 91711dcb4092d7f2cd18de96fbabe783905e9a49cb081e5fe534436bf7ae2d888cba809063722b66f9d4b086c1dd3164f361d5bcdbfe7d40892976fe75108264 +i = e6e863112f6398567d17f2e292c248ec +CT = f8e38e33e426e8b668f975555b4630956ee1a924bb0aa9433103f5c83ae6abd97d89f53adef86e1fa696d40585de9b30 +PT = c0c30dc778f6211c6e03d2a256c7c64c58980149831314b065b87a1d4ab753b0c2d6dd6101cdad34ce03e89850965c2a + + +COUNT = 177 +DataUnitLen = 384 +Key = 90faf67535c54aa9b092c699da51630e71231cc60d1a9f3abe602d44440d732c44483b3b1a410331078919bb783e9fe8b4146ee883c9f939242f9bfe5e51276a +i = cfb8352f6bc66ffb3fec9952df15b134 +CT = d1d7669c4f35de02e653db56b860ea24fc73ec8e6142a537016f5c55f3b78d0e9ef5489e6e5312d2d0ce9d636e3de157 +PT = 45dc6e6796c0dff29e8e948ca238abff40682044ab0db21e4bd9f09796b7a4ee378c5ffc126b7f619454e098f2967aa0 + + +COUNT = 178 +DataUnitLen = 384 +Key = fd4f4546932e47e8380985e1ff9bbb398350239b38a90597b5c33de220540d92d1bfd9ce0ec5b19727db23badadff6bcb769cf1c97d2a5510b070a7d8e97b464 +i = 7f51983a86b39a300659ca97983cae4c +CT = 4a85def031242ff962252bc4915d49d9a869e97b4d78308ebe02843eb286a1389835139946d7658a01c73096a13120ac +PT = 1676f44b3281b73e3e9ea06cc2deeb5993344662c19de325730a812834edc3fd76b5aefa7b9cecfe7632a4e1af9b1a0c + + +COUNT = 179 +DataUnitLen = 384 +Key = ed9f15edce4eaaab4370868e2c6244a0f52f552931bb1e234954ae4dd91f0c6af912a92de70e927990f16fd913419339e938479a1871f56e0d0f0887bf67ca52 +i = 7116a13bca593eecc8505d1363f34a0d +CT = 140d7573496ae68481a5ff528a570a769e92f134e64aa99f3efc3b946591e94287fa6b0e478692e4d793949161165676 +PT = 46b976ac0829a56b9919ad5c9209b749f4aa42ca546f414b8fc8feeba392618b404e7e57c643f30d684bb01423897d5d + + +COUNT = 180 +DataUnitLen = 384 +Key = 779df82007dfb895d24e4ddcc0727dc23ab87f9b5ebf25ffdf065d231ecece4cebc0f67c818ba66c73b76bf036251aa4f25abc978842dbc22f2a70f57c4875d9 +i = 98c09a6db8a3f380ff84d98cdcc058b5 +CT = 5dffe2a3a34b68e45724a58fb3e91592c2847f15367d65639ef7dcdada9423bcf2dbaa839c4454ea13411045ec49c258 +PT = fa814b60557e66da628b5d5e9bbb37113f36c6e3217b7107cf4064efe5c81c848cc2b82513359b2c4af19fd63b03bdbb + + +COUNT = 181 +DataUnitLen = 384 +Key = d14b43d695988b5a81c097d98b17e0d70dd73320b7ba07539644f597e5e8c7a3424d2ae5d811b034f3ccaa12547e8fca915130ad62eb9f93d47e41ea2a6d48bf +i = 5f1767d9f502084f0dfb37ced86df8bd +CT = 96757ab32a1ba3355b22353492bb57abe00c032a806437b905972a52d790c86f0d309732cf8c9664b002a4a6c1a5d5d5 +PT = 589051684b887fe62495ca2e3d5ad01b7f8f2510caa2b1b93a9aa4f3e166975cad47046a4d5e299e6da218f7fc59dda6 + + +COUNT = 182 +DataUnitLen = 384 +Key = b7196769c67efd987e40f5b3c7c799e86c2a7e77f620dd40c0250c00bc9e430ef679e243c33062ab61947ec22448a7a6f6c0a7aa3c38386cdc0f18b8b01aab24 +i = 9ab5261ba0fc48cca3b91bbccb05969c +CT = e0bc1ecbcd07b481ded9add0f35c91466f85e3cbb5b07aa0c28651ee979813f497a0068970891e1e87d124454b14fbf7 +PT = c558635ccbfcbfa607d29d902372bc0953ade51625bdc11aa5c7d9b88cd4435efbeb514f94cab1848d624fac2763bf32 + + +COUNT = 183 +DataUnitLen = 384 +Key = ccda026bd3ce1c4c5e9d22af1df2be01a6087d891df40250b80df59a25c77085be9d90ea80881490ab488317496fb3976f8b3c1ec914dbdae55d17f4a3d88e6b +i = 402c8c03ecdf2f483c99be74f87f38ea +CT = 51a290982a3dcc70ca3003df2549bc14fe7dac2950dc0d519dca9307ed66dec8e218b851b6f3e1ebcd6737bb44b8cc57 +PT = 9f57edde7d6950342deb10960576175019e4592c28a5210e8d8265cba4ff289988b6ab695526017b7d63e43f38017f82 + + +COUNT = 184 +DataUnitLen = 384 +Key = 493db88063f7276a4e736a73f596fcb0a426d6b29fc2ad359759f625fe410e6225ee37afc00d6306958ff2899962308278c62bd27c1c55a2986b1b04b41be014 +i = 71c7a3b6f2fc1e800ff1eb7012d629f2 +CT = 2840dfcb6e3c67eeb1eadd83e2d87821cc67f4c5d9b0d0d66cf7a5f8ee4a99a3761ed72dbdfcd24b1bd5aea57e13a0db +PT = c579ed16337a871f5928903c8e91cfdee1480ed44aa7e0d0dbb7bc260dac31123a24e1ef80a5635f5894255762fbdd75 + + +COUNT = 185 +DataUnitLen = 384 +Key = 7f7e14aa451b99c7a2d9586b97a010b8e474087920c4c11f96d860fc2e8f581e88da3dc922d2d7ecacc193dd56f5d0f44903371cf5277f418b857532cc35fda4 +i = c18b1962d46d1020fa9c308f350e03f7 +CT = 59813185ff2de6cd04fc43ebdfc47ec68d2e2aeae3265f6641859a2dba5628039b322f6a83fc9b44a0e84b9e67c82ee9 +PT = c7b6473b4c2b3c649a1d4c478313791385c48988733ba8d3496c45021f6a40a0500b69d25d54563286b18cda989894fb + + +COUNT = 186 +DataUnitLen = 384 +Key = c9df7ac32db29be7e616e234026b281a1263107a20acd22c7015080b24b6b047764f2541a9782f0a7b0b06794c2525acac534806486a2ca888bdf0e49545dd34 +i = 0c4aec5afd8b3db0b93c76097b3169e1 +CT = a00e78774f7970b9a89e2c794b1a7c1f5cbcd364d6c0fbbf1d30ff0dd9933174d8b87db6c21702900d85c1c03080b04a +PT = 1fabf55b998e1262fac5984083457ee5ba9988172fdfd9da56cc4988452e05c14d37888359837cf767b34661d5b0bf1e + + +COUNT = 187 +DataUnitLen = 384 +Key = 697d8446063ad8949d64e3fea2581b1edd9fe243d66e92ba95527d0530352592c092f2ccdd0777f4da86b910b6418c826b12c30eef8db023701a0b8c38f9f57f +i = 14da514a38bbb7c474294fd4c5383cea +CT = c6c0b6787b8a78821890b08158e6504f0c759810fc60eed795d0e9e93aa8cc9c91cde53b5188099d9ff4f70ca5dbba89 +PT = 499214ca97c7e22a42c191eaf72b42c8b6703ba130e0c3dd8303f1de37f2a0e2066284232e8c28b924f53443527d4049 + + +COUNT = 188 +DataUnitLen = 384 +Key = cc407063858e32cd661ccc928ebab2c6b31b039b2d7bb335461d1574a29fbbd1c1fad98545491e366d4c8a131bed457a409e09dbd468806ef23b0ebb6a987d78 +i = f461894ad0c361728860cc1d0ea9c0ef +CT = e843731b17691db14a54dcc3ec5d592831fb389cf7bd8b33a680b7daf746488c443ecfe75d5c5cd14e70387be62cb7ff +PT = 34d177b88a5567276852d17ac8ae90a95a0c184193edcfd35408190c5264e5579dee39f0f6a5d2a9e2480534f90b7cfb + + +COUNT = 189 +DataUnitLen = 384 +Key = e16c6d5106b1610a943ad4376b0039c0debdadd83f6b84284a7bd2cd6a4cc782161961ca7f26b2552c99b0156955ba8c15930f0a22008e25541bae8a82e8d1a2 +i = 22f07075d0b429136cd9d9143fd9d907 +CT = 20690e92b07c8b3d4f802bd54aad3932f1737dbf1a0fb79ac3fe87a83bc22057e5d609163eaa4e4ebcdad372d04b08e7 +PT = 8efda22a1bfd21baea0ac7dca63c28e7cde8ea231e449e284e9fcb239386141ec0c1c88c124b8fbe471b7522fd2bdda0 + + +COUNT = 190 +DataUnitLen = 384 +Key = 9e9f933d622afb6894c3254ea8652eb87a3678d29541a0fc0b563cfd14d5e3f1ee322053ad550f4c840779083de121bbd32dce352febc813c7235df11d8caec2 +i = 68bded8e826ea02ceffd6ac0fbd3a694 +CT = 4ff5dcfe6479b19679dbdd213c58a555c23f109936060c300794ec94ff3b352d6f6e8777ca01378f5293704119316160 +PT = 1333176eefd0fe676b01a80139e5f22bede9d1032db0eb250d71144e1842e09bbdabf3c5843fe5a879000153d8f10bf0 + + +COUNT = 191 +DataUnitLen = 384 +Key = eb49e02bbd5e360548e3e062c2897974dec3b58842db2328a7b0483362ff57012db7473d5c264b30fdbad47fe3fd7ed90b193791fe22b1361cb8e41de371b995 +i = 9a1ca83631aaccdd918bb6b087a997ed +CT = bf663c544bd79fa352dcecfd4a90da685ddd1a094edd84fd784cc957e2582feadca852832097b8900390a906c98dd3fc +PT = bf6caf9a97e591a5fd3edafbf3020f9cf501cc614a1d73099ff4daf0a9dd8a2b7e59839311067acc08fc801200ad6224 + + +COUNT = 192 +DataUnitLen = 384 +Key = 188f56aad31f8c5ccab4c82525ff3f939ebb78d827313ad5775b0a977e98a5e36ec362d3c2b5f50aca4ffb9e678eea70f8bcbc558dad12587f52de2c83da7270 +i = 8382ee2a64309e2e2f4932d2eb798001 +CT = f632039e7806783b59d5fc966dbdfbf6b1f5b29b0042ef5c51110e90d06f9d0c28107217bb54f6a088e14b144c453e7a +PT = 1d17ee7259f9cecc4f74e300f8ae99b19e169390d9712fdd5e1e3fa0ddbba9c14a6f17b4c31615fe54c12ad190877eb0 + + +COUNT = 193 +DataUnitLen = 384 +Key = 16ddb28ab8d16f883abd43b20b8144746b92f769d5438b380b595a880b50a3d258675031c488d2bb48f7257292a938b75bfac4aeb12aa469d4689bff2caaca6e +i = c138833c52f9688a125b310bba0a5b01 +CT = 090c1f5003e07bd46ea8d1d5cf688ea93d0222d31732e5c27419b3efa370ed1a1d742274cd6f4b16d48782bafb6be676 +PT = 7d811522417c3b57bf4fa95a23052e9271a93492c518b7c0713cc0b4155223892230be2c7f01f9faff7e4c71d89c663c + + +COUNT = 194 +DataUnitLen = 384 +Key = 91bd3cfd8f5a8430a8d016b0bf0ce07d9c84f192f799cb38cc3aa13bffe8b1d65c8fbad5595944f26cfe391286f9239e1a1c1a7da3b4b62899fcd273afef54a7 +i = 999e9d2a6dbd91cd419660c77450ad28 +CT = aa87ae470bd0a2acfd0ac34fb3e9247974c173cc415eb764cd7ef8d25a5a0f7ecbecebb8aa7c8c99777660e624b0da77 +PT = e125ae4646a1a7c574bb100eddd652ef6a7e7fd213b4894f6f04c7cf519700188138d8eae90ae2f1a6e9d31161f8155e + + +COUNT = 195 +DataUnitLen = 384 +Key = 98021fcce0bf38c3879cd16d75bce0d23e2058133650d2cc79e60b1097808ab4f4c6a0a761fce5bd293005aa96c5740326deec4383fb7599eb02cb06f990cd78 +i = 743bdc0223a7af54bbce45567db9eddb +CT = c78e0aefa0db66b235ff061c0b6f1d60c0bcbfdd1ab4dcb34ebe03b755aaf38a2ce10dd162c343f189aa02a8183229eb +PT = 27453cec704d87e71e3cbc3c058ae16f9f194dc532462f2afadc482573b81d6ded137a7cd655ddd987dc0a95598811d1 + + +COUNT = 196 +DataUnitLen = 384 +Key = d35a7d05e0e4a68350fb0d4a818f491e97c20a8640fe7bb773d520f6a6ac9bf6b4874271b048c8144c72fb73bdeb03c95ed110d3e0e9be908962fabc7ab17782 +i = e27a6b340ef8eaf7f4bc3553c13e54e8 +CT = 7b10045ddba27818a4fea4f081cd419d0c61545632c289ed386caeaf7f55d9cd2ef879d42093ab844a6a05b39b95a1dd +PT = 560aaea6918572337dcec07bece7d84da34461990405e97a4eabfeeb18e43d4089d960b9ec548f2ccb6493836535991d + + +COUNT = 197 +DataUnitLen = 384 +Key = 9506c89f7574aa6209934b8c26adbe530cf8521ba09ab064dc10607b93917724221a49fa18189d1c5cdcbc7f5f8ec59dc318216f46bc4a7f5be7760c19b5dcd5 +i = e0fd43b69b7c170b1eaf8131f7fde0b9 +CT = 38f6956c446b8d6ea9538bdfd0e63945f461ecb41363612e37b880f1be06bacee15b180fd41e9e0d9c31f48e189143b7 +PT = 9193b21bc494fcfcf19ae444136b419c8ce2acd931fd1a65f01cf14de7c4897b5a9871759f9f3c1df36935b2f8e0ac13 + + +COUNT = 198 +DataUnitLen = 384 +Key = e6fd2af4e12095c10a369e917aa63e68c655160822196a46729d66ff1b81ae5f80345d4a4fb3be102182b1c940c189804a3c1501c485a32de21cadd7dd0fb68f +i = 25cc90fac9b6bb4cfef3fb2ac8be16e7 +CT = 674b79b3803465bf6d57b399408e589ee4e94cdbf6200de73b023a949219157969c25125fbb2eea164447a8d88794273 +PT = 77f0393f03d1a1884bba30a7cb9d07183b50b5a7982c05366961527902fdc4b6ea85fb6ad4041e929dffffe40032a09c + + +COUNT = 199 +DataUnitLen = 384 +Key = 318d38a0ce159fbbbe74ef9c9b2d88bd3e30d967ed2b92890ac795e78489a39d49691ad5c97a52e29cc822d39c81ffdb3fe101cfb1014c4040f3ccb23862d92a +i = 92d9497074c4f725350fccd4b650b18f +CT = 122c3978bd788a1ecaca9a03924ec8d07623d45e58939968c6116cf6f1594fc59d8d7f08915cb0b20a998afeb1b9957e +PT = fb78e2f35248e463022a0e46dda6751fa155c5870cbe0aae523bb5d8bee041923b3730e80059170b957ee9a906b08b89 + + +COUNT = 200 +DataUnitLen = 384 +Key = 8773be19e0758f76e27fa8d266c1c1fcf6db4687a80d348b847263132c3c6d283e404ff0ae5691c86a591c299846efecb22e55ab3f89af3a1b5f122e82ec6686 +i = 8669ffbe5e7a354ef69c11c2b9201d3c +CT = 79e4d92f98236a55213b8543f637c31221613164f8e690bcf59ff2a2b584edb4b54403ad714b4d8e92e4c6949bcb2f2b +PT = 5de80c83cbcada872a4c87ead84b5df215ab4379549b7dbd5910cd8b37a62937b64c76579a6e6d68933b683244416212 + + +COUNT = 201 +DataUnitLen = 140 +Key = 80998c981d7d8ca58beb81116a2a98030e48c3328a7c0945616b2de4f08023f81c6f3096c1c8943605cf26ffc891fea21ef90ec79af195a82870179850b57cc7 +i = f416a40ea6e7b35caa6cd9c06bca5c67 +CT = 96eae1e91e8f92367697f1eb74c468082e50 +PT = 5d75979dba91dba6619220644af72a173360 + + +COUNT = 202 +DataUnitLen = 140 +Key = 643bd45b3854c98d252001437dab715d33ed363313144d5e4b53e59300fece2fb359ca68d0fd8a5ed4a39b13d0e50f4b9faf29397c407b9267d0d25c77dc58fe +i = 12f7803155f2d1865f3812598b099e6a +CT = 85e6720282445647c453e42d147419d12d70 +PT = 7e0fdf9a4afe53b6b0776cfc4ed2276db730 + + +COUNT = 203 +DataUnitLen = 140 +Key = 26b7e83cc995c847e4e2c76424705bb298c65ff42dae1f2209aef1f95a09c0c7c0136a43673fd4201252345eeef71163fc5af978a91f31d6a8a37b43e55f39ca +i = 736032e33c1795d29745fbcc5cd2334b +CT = 6669304dbce07ac88131168ea207a322a9a0 +PT = 2885d269b334b6a3cacd0d019695c1c02230 + + +COUNT = 204 +DataUnitLen = 140 +Key = e8bb82527b5cb692dbc8108791ebbff93653158f213a5221544030c53eca395659ae50850537fff4a1cb61aeb3f0a40643f025f3a8363556a1893b93e083665b +i = 54a4cd91e720b6bf09636e228f16c265 +CT = 09242aad1f7bacc4816090c6c6948f974ce0 +PT = 5409efc76fd3d95f46dc6f0858674d3fb1d0 + + +COUNT = 205 +DataUnitLen = 140 +Key = fd820d4e45677ebcb242ed409303772fe124ee712108ad714e18aa798fc03ccc1d6daec11d8baa5fa92c3f622a018dbaccc486ad1323172c894d6412f3168c0e +i = 81f672dcc1b997f71bd6397485536f1e +CT = 498b740d46cb81c282bc7e8746c072ff9480 +PT = ca6090acfb0a63b0e23d681ef71734af08e0 + + +COUNT = 206 +DataUnitLen = 140 +Key = 65106a3e87c593457edfc9ffe90e2a4fc7c78be97e0fe67ef93cc64ea1142e0a2cf9b04100178a117d0053a9f58b5b95e616201470373a04cde0e35acf6532fb +i = 2c39c123c9bb307f1b21e52297622f3d +CT = 4efae4b08cd931bdb6b9e0265b514c3abe60 +PT = 8d31d4c3a56e18d89219e18fb82c327fd890 + + +COUNT = 207 +DataUnitLen = 140 +Key = 09799fa15a88f34cbd928159e35ee2ca6279e6d1f94319f3068fe6690a141faa7350a2b042915779db6a5c0045a878894a261637c19427b6e47375e7cbc435e3 +i = 68e4b2ebf93b95634e9f0cd7e729825e +CT = 1a6f327cfaa84b171e741a0f546bf56da7b0 +PT = ba70460605f66f390d6b564f2e7413cb65a0 + + +COUNT = 208 +DataUnitLen = 140 +Key = ed3f7b615fe30687bef5fc28e0289d80a47aa440979ae1b9b5101ff0983ccb21c1ea7615a4bbf6631ceeb55a467a8ab41861637954639a6b1928e94e6bcc02ac +i = 50f86cb7104242baf97cc443bf4d083f +CT = fa7616133c0a21f55ab7b924bf76b95d1550 +PT = ba09909146e62cc40c531c66f07ba128f4e0 + + +COUNT = 209 +DataUnitLen = 140 +Key = d80280c0f48a1e68992c9b5a2fc883ca6a6fe058cee61cd74d0b83e3522cad095ab8cb0c94c8ce87904b9a0f55caf178e7b7a8306f7d648709641994cfde4dea +i = e869004bb9b9f56e49f68e7b2aa3ebb4 +CT = 8f5a901823365c004599e4b8400f365a4930 +PT = 1dfc1d0efd5c24db8d6967a5181baac78050 + + +COUNT = 210 +DataUnitLen = 140 +Key = 7daf2724f35819c3679b3c49693e16577c0b2d054f42bb21d731ac048d961d73069544fb560674eaeeaa5942880451f3656cb02d80a86afabc0ea8c61f2ad492 +i = c4416b3e26b1ceb00d8c2ef60f6922bc +CT = 4d04fe94fbbd81f14500792c2a19d96ea030 +PT = ee80b8fc58221f71aeb61ada1c034bb1d6e0 + + +COUNT = 211 +DataUnitLen = 140 +Key = cfa0c5cfc5732b0fc1d21ceed356caf5d424e09443638a44ed8f8ab48d32c88e5fa5f7fc91664a3bf54517995d2b1988fe32005ea683ecab09aa8add446a1605 +i = d8747830a88159f86d559d9bbc8a8abc +CT = b6c67321204e84955e3aef433e44b8849bf0 +PT = 14597675246a3b4f61e2f7497ad4b567db20 + + +COUNT = 212 +DataUnitLen = 140 +Key = 3b83d16e2808292500141ef3483904112927a90f9bb9b3ff7793362b9a9c1d8ab5aad19d92379b8525bb5620bb033aff7402e73dd3caadc40030a6ac35980098 +i = 8a7e1756bb18dd8715e91f9edf29a0d0 +CT = a32d8ea867b1c4ea2348d23e1c4ed60cbac0 +PT = bc11999bc0687ab21006294011ba2ff77690 + + +COUNT = 213 +DataUnitLen = 140 +Key = d5f450d659e72042c1f3f94d81f177f5d69da38339eacef46eba44d507c22458119d85e95d9ce02bfc4ebc633f3d22c164f4bf462377e6b85be8e9ed3eb546e6 +i = 53caf913548e6bc255159c697ac05c86 +CT = 1d509b452d918116195f6e443f7593de57c0 +PT = 8e25b6e52c440ea986c83c7bb4bf896a51e0 + + +COUNT = 214 +DataUnitLen = 140 +Key = 4df11bb2ef4def12d5681903683499fdc0f83e0d696b186c362b41882e561b09f3d780321e87a20db1d379d039e8a65f9170e4cec6c313d3d62f338c1b862f46 +i = 664034eb3197cd838cdd51e080b86576 +CT = 8f6f1831f37a97b14f2a2a36743208099ac0 +PT = 704c625239cfab7185a1b62581f0bff696b0 + + +COUNT = 215 +DataUnitLen = 140 +Key = ede4ee3eafb305bb9fd7ac76bb8e797f8cd91790589937fc5ed89b089cfb98ea7b4dc0f173ff0fb2a3087318f754739389afd7bcd8ecad153ab1de22f012db3d +i = c93e3a28b01679de7d9f5b3452809f9f +CT = e29ffdf85bff696e7723853a7e6e327fbe50 +PT = 8e7da4c5d9fc276d907bf498fa4fbc6c0d20 + + +COUNT = 216 +DataUnitLen = 140 +Key = 1b66c859e9bb9172cc43b139da18f8b6ac49d5f32f2a45a0545b58e5ba8e96fff5ac91baeb3a541c6deddf189725f644e0a21d66abb3370abe39aa65702961c1 +i = 26b76af03b6b307096c312cffc3e9a86 +CT = 63ec4aa4ac1528c8a6c765e5d18bdcece980 +PT = 564661c04f5ab4883c0460cfddc0a82c4980 + + +COUNT = 217 +DataUnitLen = 140 +Key = e4dd733cd665ba9412cc87dea5b06cca053f2787bf54bc079fd4d23c11a0d29ee19d8e818398e76eb90f70a56a9ea9c8578d4014bea4320fb323602e9ee00b3e +i = 554771f7cc7a2e5d2745d63d05fdc510 +CT = 1adf946ea33c535c041204bfaacc5a0b5610 +PT = 44dffdbcf55dafca9bc20a2dcaca83d8e650 + + +COUNT = 218 +DataUnitLen = 140 +Key = 9323d0b1626dafb591530843e918f05e112c64b399cc50a2bfd8ddeb96996a82a46b248629d246fa4e60b276db26e9737cf4c6008a6800732e8c7f07ff57fd0b +i = c53b4b957730f6be54e8a7658e05e38f +CT = 2c988d80fa9d7e49087e68c758befe499110 +PT = ed44096de5aa60cf3d27017c69d581d25660 + + +COUNT = 219 +DataUnitLen = 140 +Key = 19ae6a527183be8d94e132102d932ecf2db563f339ada39dbb767aaa9f5714e6626693c71d5d3cba6048a477d7e7387b4b5f6fc2ea4fc26ed5ad590e0ff8692a +i = 5c82727a893ba2e9a1c6cbbd08fdca45 +CT = bddf9c815f570668939991cc9e479edd8040 +PT = ae29c849790ceec44f2191be9383dcd00550 + + +COUNT = 220 +DataUnitLen = 140 +Key = 557745dde0fa567dc90e1ea3f54f961674f09ad14c4fef4ef6634dc286155c0e11f3b066bf7b6c13aa036e2dfd01accad7c1d83f5daf09e74152a5575eb48c03 +i = 46e4af10800321f946148380dde79059 +CT = 492f0dd6dfbffee6dbf832371c1efdee49f0 +PT = b5ea7a506e7519cad8e687161d3fb2ee1cf0 + + +COUNT = 221 +DataUnitLen = 140 +Key = eaeb5130ae2e3e2f1b2fe4b81dbc7882e3262ab50ab01ef1fee0056fc6c79812682bbf98a6a28c7c2a43eb53d0e4705b23e076a0ea68e46b7f0f869567aea3a9 +i = 5f250efba26d403ef15b3afd5ccc2e73 +CT = c91623d34600e07fa5cbd68173d1ceba7660 +PT = e2f8b1d5aa6c06f2d055f81c3a0e48d79b40 + + +COUNT = 222 +DataUnitLen = 140 +Key = 689cea8c79245e2c793897c7308502c01b4ff469e7d0e1332fce07f0531b92c9883e96162bbd19fc1f164d52b33dc5696ebd4339d0cc3a34030665ec74d2fd96 +i = 9c5f6a80346fe856142361c94f264765 +CT = 7d2b4338fb8071d91c2098376eb5e0d10700 +PT = da1c9979d565c65f51d01f13384b44c96390 + + +COUNT = 223 +DataUnitLen = 140 +Key = 106e4d356cb19001cc05f9d8513afd288c8decb1f18e91b2b8548c7232a23411e7db78fba2584c81a1a8fc2d69069426e07fe7c3a50d790d98a42ee8168e2d3d +i = 150c6d3e7115bfce2d955cb1cce163b5 +CT = da7d72ef8ca14eba308e3bfb8db426165e90 +PT = 7020669d3813b434cc44ebfaccef9f8ee2a0 + + +COUNT = 224 +DataUnitLen = 140 +Key = fe6571db62de67388e0debb60a15c5a685c25a8a1e2d8d6669e71261636e3963c3b3fe44b86f9f3ece6bfdd02b5ccb2b9fd4aeb798bd63f389d3bf578dadb008 +i = 705a7f72b63d7632ad7db1d5c926f2b9 +CT = 2f3b20bbb4ec941099cb1de7a3dd1c79ae90 +PT = 3738fc977d3646b935ccb6e526f7e474f1d0 + + +COUNT = 225 +DataUnitLen = 140 +Key = 67e98680c4871aba675b10f74e939d54802c95dbb512956a4ed7d004febcca4d210c5fcd5aef1562c98d80fefca908705327344346fad1f4bc46dc6d95254872 +i = 12f946c127f013f484471fbca77fdf8b +CT = 4b6daf59bd5392df74e38e8d09da1b8b6070 +PT = 1f0a3b2638065549878bf778eb07a9392540 + + +COUNT = 226 +DataUnitLen = 140 +Key = 344793886d457b550533acaeee6571a0be78849b0b244655b17e3721a506b6f6e011935047825b596bcd5dd984930b777a6759f173c4d43712ff64e4bb0cfeda +i = 5540dd3323b9e5885f51ba22d031ab90 +CT = b471f69b4bbc111fa735ccdee607e99bcab0 +PT = 13088dbe8cdc14b322358b91ec5b59ce2d00 + + +COUNT = 227 +DataUnitLen = 140 +Key = 387efabd5642f118e78fd5da80e5f2edf321d652bd2a58b6dcefc165934a6f57b58156b369c92cf183b5773447abfe996854779f91ee04c02456bc1079f66757 +i = 89cc609ad515f77f5f9f5fe2046f4238 +CT = 24e9983c86060ce941feec837f607c7d2bf0 +PT = 0c4ea13c471f0c2c5d002b3db142b73a4e20 + + +COUNT = 228 +DataUnitLen = 140 +Key = 4797dd5defa37646e440c6c684ae13e85b217a89b79aeaf35eed4b116cc7e60b21d5bfcb95dca64d12e02d2bcceba385af8e0cafd04d73ba84e5d0f14c190668 +i = ee5acdeda14cc1d17b713c4817aae4c7 +CT = 80bd0925ed0cb3bbd3be09e632bb902d2b90 +PT = 1b864ed3afdf20c24195a6a085e4391e53f0 + + +COUNT = 229 +DataUnitLen = 140 +Key = bfd5465b78ec54c54358fe87898bca317d3b4fad06e3cf13775470cd0a963ce9045367aaaa80edccee19a44d198a275ab8f513ed4b955942b7e619bdacc5bfb4 +i = dbd6bdb57ed174d50968a09cf0ccaa25 +CT = a12be82dd43304338bee8c320660871ec1a0 +PT = 9a020628062e7bd9fd057b6d2ff55363b2e0 + + +COUNT = 230 +DataUnitLen = 140 +Key = 295d82015e40ce90647af33214cdddafe73b5b07be3ef4140d503595e16d8260fcad4876622c5906f6bc3d609808c0f66ff18cc1955540d31d84399cc712cce3 +i = 2a966fd7fbaf566d6da94431a14ba7a3 +CT = 0a379f06f7e89dc24ba3e6d8562bbc47f1a0 +PT = 160e4021e00d7ac1bc27f01689873c85a3a0 + + +COUNT = 231 +DataUnitLen = 140 +Key = da9ca783ed8b72e4b7746592c5fe926e0288a642a55b565b4b04a2cfc0ad7d7b8f79233a5a2ab1d65a3d197261424583b440ba5024fcca1ae17a94aac0051ff4 +i = a9ce292cd700d2bb44aef0fb6de8a7d7 +CT = 015bc08ca5f9090c8d8956f73692219ec100 +PT = 6aac0c77840f10953606aa6262b607056480 + + +COUNT = 232 +DataUnitLen = 140 +Key = d86a3d504a8f33b2109a1f1c0bb5dbdf16525be2e9d07f4dfca7e0d104f09f1076b5bcafa3b19c0124bdd7740758ac0e0c192a51cc738ee77ac83ba33be00e30 +i = 505abc9a46510ca8ca273d7bce71e03a +CT = f33790af129d974903607f8a8b670fa8feb0 +PT = 933a7015889ddaf5680761884fa434346cb0 + + +COUNT = 233 +DataUnitLen = 140 +Key = 6b87ca3767370bd022dfd71f580be7a670c8ab40fd21705c669d95f1de47a8c0c646f4ccea8f015b9350620c612177736537ecf80e3648b0fc4df4456cd66c96 +i = aeb503be4576f0bdcf283e9564ab878f +CT = b87f87f83adb6586bbd1ca1c4ccd18c59c00 +PT = d2de38d868a825971387e1b683067562d3e0 + + +COUNT = 234 +DataUnitLen = 140 +Key = ca60b19934a5f9f04fcd0e5441f0ddd0c4a270c6f0e19486f10cf826a7074d523a7ea447003d417155961537636154af825e173ff54dd87af12bb7c0a17c2e99 +i = 72390d75b67d32a07e55f582e9a1bb49 +CT = 19ba25f173255ebfb6b7c502ea392bca5ac0 +PT = d6bd1632bb50049120fca3109e66c4dee6f0 + + +COUNT = 235 +DataUnitLen = 140 +Key = f501b72e3095b85c7268cb06bb0af47b0289255a595634ad518fa80ae38c2fa1db74e828905754659fa04f27073c06b531df18bd19ccc6bd97f247c87675a1be +i = ab72929bfd0edcff8678c9c32d480c38 +CT = a2b19e3d78615a4d3df65591e8ceea72d1f0 +PT = 5cf6acd576336e4e39d84bd0cbbc0eaa9a00 + + +COUNT = 236 +DataUnitLen = 140 +Key = e7eefd1c1273940840d4bcbd6776cadeba818e29d228a7a61af0b33c5960b395d1bb3a5dee2bdf7c0c64968fa801ee5f947f868e43e652379024413795ae94c4 +i = 267caa30f700352c47889e7d83b438eb +CT = c294a36d5b36697789c0a16eb91ea397ad30 +PT = a7c15779024d010a76ed7d12d58ae632ad30 + + +COUNT = 237 +DataUnitLen = 140 +Key = ef373d59005e315e7b1af7c691a207e70cd8fbdbd171f68a1a7278bac007bbc8cb64509af905714c367ba988b9f6ac69db00e7d738314d7d48c6d1df5d463c1e +i = d2acdff6f8f853490d27c23c11544f10 +CT = 8eefdfe87df3e36da4a71126d6a84305d990 +PT = 32d60973e8ac8cfb6dd9892c88bea8ef9e40 + + +COUNT = 238 +DataUnitLen = 140 +Key = 640b9efdd041828c7a8e040030481719cdd06c06cff9dbf2d23d6b86265416a10d2f1a54dd6a8739026452c75a2de43ce8b261f7430141055697fad6dd06473e +i = 06b2131b5841e52f6af63d5bccdf8faf +CT = 0eb253a40ad6fa2ccca25cc65faabf2e3280 +PT = 8cddae37d64039f4b981e0b0a168ff34b380 + + +COUNT = 239 +DataUnitLen = 140 +Key = 2a128311a309ab8e294daad77a90d02462c6bca8d7b429ab40af0418b8a63ff8752a02b1392662d22bcaee93f009c022bbab9ac7f42748016f680a9a123b9fab +i = 2b2049cf2b3bfcaa93767e64c53a7013 +CT = 1287ed7f86aacf67f090ebc499b40ebd4a30 +PT = b5976bdfdabf7adaf304743e60baa32f0810 + + +COUNT = 240 +DataUnitLen = 140 +Key = 049f00db6ac9f4d48c34ff691898d428950e377b570d58a59214f27822a59ef72d220cfb0fba8700aa7bf1744291341b03726a2704bafe941846f9b70ca3b947 +i = 9b077a87906acdb0578a85593b0575ac +CT = 98afe3f57dc9e844bef36ea937470f68cfc0 +PT = 994251306165b5765be3c7a4f4b5261b5d60 + + +COUNT = 241 +DataUnitLen = 140 +Key = 6cba8363b8ce9fafb895013222b3b9e92940e2f09f18dccc25b9f00adba138bd352f82655208b17f10896af1fda28f612f330cae03a6235d9e3a970ae0270b5c +i = 7c4e41a1d10f60238829a169e0d656f9 +CT = d7b82bbf61bee669509673aeee483863a840 +PT = bb244a7130dad5815a5664dfdbc6a7e5cfd0 + + +COUNT = 242 +DataUnitLen = 140 +Key = fd06966f8aa30eb6b03e65ef8683b5cee97bd2845e60ab524e2d7ac47b65bce3ae8008623bd50a1a08ade50b8315e920cfd9cdaa91b06f55fd1d3976dd6688b3 +i = 058bf78c6807a04a8c3b3a4c9ae4e1d9 +CT = 0a1cb87cde8516a991cdbde771ed38a21400 +PT = c70579030bc82fd3e41526fa393c3c7bd860 + + +COUNT = 243 +DataUnitLen = 140 +Key = 9055a6a12287c6a06a22dbff3bd46470f03a2849ccda8c4c5e111617981eb64a8bf68028d4d27bd186ad9e0e598ef3141780fb08060dc595b238342f393febbc +i = ef0caec5e41a88b6ed0cd38c68de43ad +CT = 279d614daadfe01fd9491658788e56becb70 +PT = cb36f79a8e54301bcd27bfbb6e150f8d62f0 + + +COUNT = 244 +DataUnitLen = 140 +Key = 24d1831843c62f80731c2f35340d7fb4bf2af410d36217c940bd792151f4d9183a2f75b3303f72defe572eca74af99586009c9c6a2c0dcca54a47070ac121180 +i = e1cd50966aa28792f4c072af234510a3 +CT = f19add3e6a227283fbc51184305fe52dd680 +PT = 4b657ffd904f3aeea28dbca12e9e3bd93950 + + +COUNT = 245 +DataUnitLen = 140 +Key = 600ee7afbaa181c6704dc4ab06292eb41257451b6add1681bb70dd672db457fd1dd5ed62167dd5aadbd26099337d3f64a58c42868030a6adba6f3b6c30c0481a +i = 542bfe8abf989a60442afb5e289304a3 +CT = 306630c6eab2f959d37d477399c349ecfe40 +PT = 2e577bfebc58e9b494bc47a23405e1951430 + + +COUNT = 246 +DataUnitLen = 140 +Key = 07be3eee40955ed36eb4d48db95841b66d246cdd5a2ccf644ecdf24b3b44c5821eab42865da595d3b09a012ee635c7a3a93085791bc323e200efef99dffcbf52 +i = d10b8a7a7dcb887fc9fed048030157a3 +CT = d9c014da24ae7a020fe6e7f9f7690fe11900 +PT = 4dbb5f6c1ba99c5cba3242c89889e3ac05c0 + + +COUNT = 247 +DataUnitLen = 140 +Key = 2b9b7851711e1dab79eb85cb1d33db8deeb9423659dcddcaefe0947dddf11df7d8cbf68cce3109fac3805102fea5f01ae19b9645e786714ec6eae9a600e85bda +i = d7ed9aec18a0ed818ae486d1bfbf61e8 +CT = 7409ff0a61788415d02a13a52cdb310c9cc0 +PT = 545a101535f7672769cbcd3a6f84b7236c60 + + +COUNT = 248 +DataUnitLen = 140 +Key = e4dd2ea8396275319269aa175808e1bf5d6b2a914fe3132e2054d4485d0ea02ed93b40bd3b53611be8d40253e46ac5096cb2b6f4176c03df425c24dbecebef85 +i = 7844a2abd014cf3b2025a0d234db1138 +CT = 6fd557001675957d006e1f5c560af725f770 +PT = b79764118e1cf37ee552a33f6f7f3d6d5950 + + +COUNT = 249 +DataUnitLen = 140 +Key = 7447a8d8cf9017879a7eab02d49e16b4e210cd6a497e1f611f35c7273d2f7b3bbcda8a4ec8fab48cbdaddb85d5dc1eefa36f8f5ac5900879b486805c4c074c2c +i = c23a6f4948ce2fe528879eb87ac4d845 +CT = 1a1e22451165dfc5444666996ace883919d0 +PT = a2fbf961c4fcc6133f8eba5f45ce5e2e58c0 + + +COUNT = 250 +DataUnitLen = 140 +Key = 9d1466c2677d636ce2a2ec57aba57576d35a8679cc99ae75a33eaa4244e9935ef41de9d6c307952c65f82e6dafb0839d3324e7134dec31ae5991cd801ca52f16 +i = 71280290428cc8add792791ced61f9c8 +CT = 51ed6fa1335d27cd72452eb8b59abe48ee50 +PT = b88d3003f0dc7c6191e2a7f896d47b0e8330 + + +COUNT = 251 +DataUnitLen = 140 +Key = f330d522cfeecebe6c24ac08e8dbb47387957436a5727af4c76c065ddd31d433c98c782804d90918672d6971e12dcf5c5eee0da8a571678d636486d5c5292b4c +i = f1de066a1e82522b10534eddba893c91 +CT = fd20f01df0348ce1b040432f321440a40840 +PT = fbae4249a965d592c5f33ceaa9e69cf24cc0 + + +COUNT = 252 +DataUnitLen = 140 +Key = 73ed51a9345c6b57d4e6ffc48f4783650b9d9576fde3cf2cac886be31c6d2ea977b22717af36d63713d2df27535d0ea14eb6f2aed733a233cb1859f5f11c96f0 +i = b6108dd2d3143b3b1fba94ded52f7802 +CT = 6edaf3f8a7bfb9b7530ed05115f9e8694180 +PT = 3f54284ba5f0d2302faa219728d244885180 + + +COUNT = 253 +DataUnitLen = 140 +Key = 8c1824dd6fbb44434ccf18d98d8e34ba83e27a6405db07bf81cf11abbfa05a16d4bd4eeffd62e896ae3ee5e3011a76d9850e1a95aa1ef0631fb9477cc55aa4a0 +i = 86c4acdb26375d0d016b7dce96da25bb +CT = 7be77fc6578bdd3bbd74f2de54348d5bc8c0 +PT = 0e3e970fec546ae4f9af384b48f10aff7e80 + + +COUNT = 254 +DataUnitLen = 140 +Key = 1487936cda47bd88a461020a46ef25cecc98b9c2af767ffe69eb84f6e820242c0b47aad7e90cc157e5140a84958d7abf11fbce0b56d9d9588bd53b544fb8740d +i = 72ec3c45edbd498809880f4ab90b8bf0 +CT = 6f85258f94d0364a1419e5f8e5b54b2641f0 +PT = 26659c397f2272774f83e1b9a952e955d210 + + +COUNT = 255 +DataUnitLen = 140 +Key = 3b6e0ccb631df72c761011cf07f004294b4427dd65b9a343723c0b3f1d20e0b586e470fcd7d44948c1ad1a1d830c0d6b607bfa79263cc56f04e9de03b27297ef +i = b33868b2c1dfb7b93feb3cc5c4104dd0 +CT = 443c14000a3bfc32c8580515b9c1160ea910 +PT = 96f6f04adb2bbecb8bfa6048f78a6266a4c0 + + +COUNT = 256 +DataUnitLen = 140 +Key = fbf9f93ea2da877fafecc98935a1b86a8e73cb66bb7ff93cf8ff8cc7d6738fd8471fcfb07f1dab4ad78267a2db866934851ff51f043b7b082d85ad9c18153c90 +i = 22e5cd5d18e0af696ead8381b36a0199 +CT = f7227ad56eb07885821e63fd9ae5cc775ea0 +PT = 0ed5542be6233f6b4a2e282dac60c1008fe0 + + +COUNT = 257 +DataUnitLen = 140 +Key = 35b63488db90986266bd888acc54c622f977b1bd4e60553e5f8fd562f33a1ff54fb4afd79fdd0ababb2c05fd395ce30dcc43b6ca3dfe3d89396b7ea0aed5021f +i = 624f6f8cf9ac47bf210c5c8a1a561ef2 +CT = ffdb9d11e5adabadf7e16afc20bb1cd2e990 +PT = b1e8e1ffbcfbb491551d0d04906ec0898cd0 + + +COUNT = 258 +DataUnitLen = 140 +Key = 6ec40de27c4cbacdcaf94bdf00c7b64c0b8db2a3a9ce171ef8e474eba931765c480403bbc81a155599193158b8a2f7de27b8b1d8da7645ddfa020ec270cb1034 +i = 6d9b8b4c28f8b711d19999632ab5ac1d +CT = 46fc1776944cbbc0f0062310c7453e232a10 +PT = fa964d0500cfbf2fe68e275b6e8b212b63c0 + + +COUNT = 259 +DataUnitLen = 140 +Key = 843a3535bbe47c3e9bb825adf882c26c3caf075061743566a991dcae31499e34ea05a73bb85f792cc9527f7008c98cefa8caa99eedc7545b918db41846066998 +i = 63f54f2491d15b2cbd8a49ed748eabaa +CT = 4c6dbeb154fd5ffde0786c2fbffafab16fc0 +PT = 8ae20d98508b87628e24eebd6d61665b2860 + + +COUNT = 260 +DataUnitLen = 140 +Key = 149449f83ab011e1369527b7289fffeac50ee0154b82cc88dea49f15dc1a2521285b282cf0510eda5832f2605e1520e277d3f9df9813ea78b9d8d43e44060a34 +i = 1e2aa937b8c2c8a83ae5e6b69f540a14 +CT = b37e4dbed5c8f389492d1eac71990fa92d40 +PT = fc037b86bebc72f1759f0143b85dbb0e00d0 + + +COUNT = 261 +DataUnitLen = 140 +Key = 3c5e0068774a61899603455a8d16e926e997281d4a97871f65f92ec32426b88c4862c1df67ec95fc3e2aefb7197a72f920bc5fc3f643748aed570dc52346950b +i = 03f531e8a343e5aee26c115c33cf07e0 +CT = 5efae7dd9ea5fecec6007b318aa6bc3bd040 +PT = aec38b67bd53b5d14a717bb8ef81b2730650 + + +COUNT = 262 +DataUnitLen = 140 +Key = 395817e903f960f344d644986ce1959fd86082deac238bbb3795b50695037be029f95ff7ccc196fe417ffa58a49c41c7fa2262b768c507d0218a2e54e36d2b0d +i = 30932eabe39c535109f52be798b0c16b +CT = 08fa91a62b1aea84cf3444ece2fe419c9150 +PT = a036c1e42c5944ae7aed85fe9d98998cc6f0 + + +COUNT = 263 +DataUnitLen = 140 +Key = f881fe967c8518e6b903bfb52265a30379ee0407017bc67e0f3488311f870193dc729e84167bd2125d0b6a9de015b378c2fda49e61b202848d293abd2f3a8b51 +i = 39ed8f525e646152ac80327665decda0 +CT = c9374aa55aa8e3d0855f6730e53d944736b0 +PT = a0f1f6aa314b0f2ea4ed071eb5000a8f32b0 + + +COUNT = 264 +DataUnitLen = 140 +Key = 1b84aef898c3354adaea5cd08eac0b96f97bdb6648d136d7ab8950d95e7039bce41f6bee6d6fe1a6bfd6172d1a46a77169998f792cd0e8636b6a3bec335c4a3b +i = ca1805d9d01fe8dbf759098d7fc7ca13 +CT = d0a14a31f229d27a315c7e1af65120930430 +PT = 2b637c00dc873fabf704c6d3d1a7f3e2e3e0 + + +COUNT = 265 +DataUnitLen = 140 +Key = e6e2e5abc6e9fcbbd4718a0a60bdf9d896d03655a838d42aeaaf640f35b33077a647280a75e7f36c4624c9e039d5108fadc411052ed6f0dd4a9299fdd7c3426c +i = e11b2d3e13a449d4ac779927e097e34d +CT = 3495fba09f6423657a7aabd2a959c46b3b90 +PT = 5aa9e9a088399277f8202785b4c8cd8e47f0 + + +COUNT = 266 +DataUnitLen = 140 +Key = f58a361adb5980a008c5225c953923daebf0fc30e330bbef1a748acd96c2e38fe591ca72624780fe1b5c27b7aa66c65adb1d0685ca172130ee5a7b4a874641ad +i = bfbd3c910d5b586b15a95165b57e4993 +CT = cce8e3735ceeb3db8a499c5d20e978341930 +PT = fd194cd48ab497516ac68168a03dabfcba70 + + +COUNT = 267 +DataUnitLen = 140 +Key = 1e12f7abf0dcad0bdb291ecba0b4688e00338cfb20391d52bc726462b47588afa8a25846dbc4dd77769337d540cf119fc60cbae9185d2ad44c27e25a3efb8a31 +i = a664ae40e9362fb792048a9851a03754 +CT = 84cdd314f8ec535541686f337a16b481a170 +PT = 8bedd00bce7a3b023d9957bbc6f7b72df320 + + +COUNT = 268 +DataUnitLen = 140 +Key = aa935bd3f9a633ef19c5a8eafafd420f643aaa015240602293ae826be55269e72ae5576bb4982bec3bf3ad347f6aaa4c2f21dba1aa4bf6a731f97911ba790bc9 +i = 72c16ad137d13de67c8b7e8a59899398 +CT = cdb613883fc82f436c94a15f3984315f9de0 +PT = f9575a4eb04fa460db20bd53589115beb510 + + +COUNT = 269 +DataUnitLen = 140 +Key = 388acab3382f9f9bd05208602e9fd87fc41773adbcc134c858bf92766f40d38aa59d384899302b66ad357c2e8cb5204ca7acaf2e94ebdc1b1f8f95e45ba5a85f +i = 7d4911d338c66acd445b5e8c3cd29210 +CT = e0f74661d9a58e03fd0cc18eb986b56e63d0 +PT = aefebea542fe2747436883861242d637ffe0 + + +COUNT = 270 +DataUnitLen = 140 +Key = 56cdf0cc6bac9b9dffa91581316a5c5007f2b5febc16fa0775d27be8f2c1cd1542bd5c24b6631ee42a06422a0c2658611c7cdbdac39e435480fa6d81f2613c83 +i = 201184ecbaba0541a049a35e74d152f0 +CT = 6dc4292c26b5942d1b6145e56228f12e8f50 +PT = 069ac6815682d96c75036834ce8926e5b3c0 + + +COUNT = 271 +DataUnitLen = 140 +Key = 985ccd63e0e2be5a928bc7e7ce622038b3c6aacf5fc7a50bbf8c5174997feaa39e4ac9a2f8caf46763588ce19f3921bd086586b1d1d74a9ea67f1b018605c399 +i = 3bc42cad193f6ce7c7b1fb10e146a580 +CT = 42a731293b9f2979d081e2b66724bb9a4df0 +PT = dcfae0f00b63677beaf7e80619e2372839a0 + + +COUNT = 272 +DataUnitLen = 140 +Key = 946c9d094ea6ead45d6920d3b6401981cb357fb85c88df0f503815e4ef844ff4944b2e5447b4e5fd0105809f33ef4f8ce3cd3930aa782d74c8b507795689b258 +i = 4cc5e23a876342ac09fb01beaecd4a75 +CT = 1655ac07fc8b0bc77a8b7a7ba0ce1631a320 +PT = 1f43a811096306ad6b1f1ecf00a429207670 + + +COUNT = 273 +DataUnitLen = 140 +Key = 9e1c0f3f7b97bc9f130a628277dd1497a1d47e974b056baf7766975da40faa78b75600d021acc6b874d666f2801a7a50db82984c4fe5b638b2354dcac384c3d5 +i = 0999777d7d22cadc5b4c0adb7999e8a8 +CT = 63dad8ae3a16105fef2bec4811b9323d1d90 +PT = c549dab550297efbecd654c8e1cff2ca4eb0 + + +COUNT = 274 +DataUnitLen = 140 +Key = 54b65e287e9d5238dd900165278a39fdaef377363d4543017694fb7364dafa0a23050c15501fea7e5f12f2251b108681bec5319b185f0d118979f0185bb5a7fd +i = 40185f1394a108052ec6c36d5e9e1649 +CT = 415ab3f5e1fc7a6c379c124d78d9c12c7740 +PT = c7629936fdb14bdeeb581cc2bf6f872f9180 + + +COUNT = 275 +DataUnitLen = 140 +Key = ad542b1ff98bcbcc7b1921bbe404ae72608ae142276f94fa4064c33f82e4d33b05b1a413b6cd3e236cf0bb2f931f8d971f719b35a2f9f614b828611ff3de5150 +i = 832b7d7e16cc003a33e9442d4c95918b +CT = d4d27710c098e7d1bb5d9e5ec130b8cfb090 +PT = 0cfd39784e688fd5af33e4fc6bcba2666ce0 + + +COUNT = 276 +DataUnitLen = 140 +Key = e6d861ca5c62e78addf92f8e88f2d74f020047f375f4743b193fc6e43344134fc1b2e6f650f639b90ef462324d227167b206520a58588f0fee7891c827fa0b3c +i = dd0e248ba34c644c176dc48f34983ac1 +CT = 4b486ada29d2ec46628364cc1000480ae330 +PT = e1f3a7857b4f842d9b2d89e9a081df9cb650 + + +COUNT = 277 +DataUnitLen = 140 +Key = 0516b9aec85c00d5978d84c407a0804be5d4a1f90850ca00160d67cab415d476e93f366bbc71073709de53d613163d8ba7e2cdc56627a1972c048ab87fab2359 +i = c7fad38e8919f4a55c0f7f99407f60b1 +CT = 4b46f8257673dd2779ceacca4326c9e662e0 +PT = 8044552f8359ea2d6460e9924e1c7e2c2710 + + +COUNT = 278 +DataUnitLen = 140 +Key = 03e752420ed77a17b4acb2da62d4a599511567d1a20726c08aea49f17a8b934e73fa0a9c3210540efac279e16c723f1aa0ce2ba956b8c3c071fdad59edc0bd51 +i = 7820a7dcea8e2d005fb5cdb46f4c24fe +CT = f2e7caf4b4951186db374eab830c0d012670 +PT = d250a8f6ded424e8f45e7838ec4d6bf73070 + + +COUNT = 279 +DataUnitLen = 140 +Key = cbeb99a594774bc042e908fac9eb90b155fb9ec8a8e0b3a50446cfcf689a4d4550f6398aeed76cc18ffa652cebec42ac9fe6da58fb5b0037caa4cb39e804ee47 +i = ada3920b7605c88043e6fe7d81ab6f7f +CT = f63ef9bb9bf3a1e3dde6952c645b9428c380 +PT = ca20f3ad0534e0e43fc6598a856849919e80 + + +COUNT = 280 +DataUnitLen = 140 +Key = 1f628f14e2ee130708eba32255967decf8ae5bbbd97f73a14999bf0d987429bcd5f683f3e1ab79db06d22d376b17e5532c9fb6c4decf2fc4ca642e59feb3d138 +i = 67d7a771da6403681a54014b0fc99b7f +CT = 6e03045938b6feca6ce5053e33f3009096f0 +PT = 4f7b34a0c4b128f3fc8fad1af122e4a4f8a0 + + +COUNT = 281 +DataUnitLen = 140 +Key = 42d2da5f16af75573edb92abf33264c1a74673f45a60fcb297c94e9d67b796e7037df2fc0e4be8dd8935ea62fa1a7c54c612238f37808a887f051da7603ac3f9 +i = 79cfdc68f3f486f0fe50778f08970b9d +CT = 060c2868ce3d1bdfe06e83503635ba0574f0 +PT = 0d00324c087a1d49e738299c5d5591eae5f0 + + +COUNT = 282 +DataUnitLen = 140 +Key = dab16a1749dd13256a6bb293f95d74084039e3990b0ef20fbc2ae761da83a6d0c555e099ede23e87a410b6fe8db06d230f42089e6ec061ff32b5a4ed44e7671e +i = b101a9661ea4696144d7efef58e1258a +CT = 0ac54e2209f97c0a55ebfc5addd4f2fadc60 +PT = bb8e420d465d6476855b504ae2097c7a05b0 + + +COUNT = 283 +DataUnitLen = 140 +Key = ab08db27ba835338a5bb6170aac13c7f07d2707b615851cd7d8452a60776fd6d43e556f3b6f77e10b1670cbbf8bb0847748221a36865c25548a3b43de0ac02ea +i = ed777c6472e6637f02d67a8e5aa01684 +CT = 4dda68ed20d559cdcc12dbafc0eb07ac5230 +PT = 62a855eeae4344393519ed56cbd145953050 + + +COUNT = 284 +DataUnitLen = 140 +Key = fe63c0043c759489589cf39d938d33d4c695da7a6985aac44d0c049acc1db88376fe54b6e614891481a90e4f46c3b72842d45611c76b23d8e0d4333e6ec2b7c8 +i = 77752d4e139951aae075fdabe0f3c586 +CT = 5b7f12dd14ced600403a90f0cefd08fb3b60 +PT = d195d91db6573cc3719a2355fd3b45a8b660 + + +COUNT = 285 +DataUnitLen = 140 +Key = 38fe07fb3542d057d65647175a3f40260a5b1f0dbfca8c4a14453e69953376bf05761c61a4ac1b859ff1761615e14af5054113ecc20086c9fa7be2befb29f896 +i = a67e87998952c6cd2cb5672d30fd7f75 +CT = a44cad280269febaaf31b3e82d6d8f6ce550 +PT = fff07b4e643d7cd5fa5d34b9868b64098f90 + + +COUNT = 286 +DataUnitLen = 140 +Key = 82cc5565c5883e1b0d052291460e232d5b3e43cee4a80059838049426fdc88e68fae5b13080cd808c650e3ad5bc221fbf7d5bff37dec18f71d21c004a970c144 +i = be7a2f3fc9b763e54ec1177413092b76 +CT = 9d0bd7ccf6c4d76fa48c4e8ef8bfcb769ae0 +PT = 41a5ac2d32a4c18ec7d9ba71007cf4602260 + + +COUNT = 287 +DataUnitLen = 140 +Key = 7b0dcca916634324e5406cedcab566bc94c5329fc689195b61812fbb74c48a63b082d1b16bed3ca3bc610994784b628b45510649a054e9b94d986cd82bf9d22f +i = e6cae94e085f3cecfe9ad4d2de3a1db4 +CT = fc0a62a1a013242adbe300713500d2fe2ef0 +PT = 3d5e27b0d12f395df01eb9518983601299d0 + + +COUNT = 288 +DataUnitLen = 140 +Key = b94e56152e458a23862c566d0ff9617ee986c556a86f29f1898796ff1d0ef8e4333089fcaeeffd968ad1960b65c30f30087d84cc6c5f40a0317a0e3e49d00e55 +i = 21f1f5b26c6b79e9d718a1fb6729d91f +CT = 7eed73a683099609e2387cefc9b471325ea0 +PT = 5c7b3aac016951a7caedec98894e13426160 + + +COUNT = 289 +DataUnitLen = 140 +Key = 67abc04ac62eaf4f7c39daf3a463b24f5cfde773a8fa3bc776f8663f7712c361805c222e05e836137a1dbf7d4a82074e58af59340a0cf5dfe22ac7cf744fb8fc +i = 2f4481dda02e3ad9c5d06e298229c629 +CT = 11752de8feac5fd5294c61201c430e43fba0 +PT = 01708651bb3307d230f3a41fcf293ca563e0 + + +COUNT = 290 +DataUnitLen = 140 +Key = 327b2291a8108062cddbb58335eac8a746d32b6d2a63296209f54ba4a3e99f6e8737e0803eb6c846d49407e8683c3dcc2f9093ff572f15af11524dd63f09e6da +i = a269ad3a24aade0c9a0f9334ad7d3bdf +CT = 4d37ebc3aea76bb13816eacd4fdf9a6474e0 +PT = a50549aa8def3f09a42a0c23bca28a3118c0 + + +COUNT = 291 +DataUnitLen = 140 +Key = 3bde5ebde95b0fbdb37517b4713c6efb1410c76c719a29b311455318a0a1f244c75e03b99ac78a6c6f2fc63a6d797ed1ec86dfaba10e6dc41d44d630e4c60cbc +i = 9929c16291c878b69645491fafccd737 +CT = 787f26217611746ca2b026b064f1b7eedcb0 +PT = c92c3afe432e5975d5e1aa7adfffdb77e760 + + +COUNT = 292 +DataUnitLen = 140 +Key = 2151d935f5f4e0dd0f69a6bc026bb5f08a9db713d55a9f8e5dec111f9fa8244d55d3fee06103faae1b904fcf7f0534aac1f0b7ad446ae2441e7a083e092c71f8 +i = ad2483fbb9ac09d56334a3904b055bd1 +CT = dbbc1a1bedb222d3959344d2573274df0ee0 +PT = d2bf07ac034a40bb8c882cc1ec79823ee460 + + +COUNT = 293 +DataUnitLen = 140 +Key = 8059ea0211938c670e42aa5fe13411aa2af9875e74a74e8b268c23f85c6dfe11b6c0f1b22c9d67fb63741b580aeaa354bc8a5bd5803f08809f54e92b0a2914e9 +i = 9bb675804cba7ab627da8110981ee69e +CT = 206a21c9176e992ba21c0cedc9b3f662c240 +PT = 3168daa395800021ca0619be88134b909230 + + +COUNT = 294 +DataUnitLen = 140 +Key = 38871f99cba4029290aac3c49a0dd70d0edf936ce517107baa9b715a45e29f6724c1defb42de1b4f5c8ba967298396f7618165a85411df46a68219ebad4bb60e +i = 85bb78ae5b6b3fc03235d6e1e044669b +CT = 7cd4056c556ba103abdf72ac21db8ae74b50 +PT = ff6423d14d3c78cda2a2208924845f4ac4f0 + + +COUNT = 295 +DataUnitLen = 140 +Key = 34ac715b7e931b86a662b58992d67ae8f9f9d266e32b6e820e8e5501ce2ecd93f6b06aff527daa2cf7ad1aed3420b2d9048beff23d00fa39b8c5b98906216adc +i = 363d5ac3162a850e024b1e31fb8c4113 +CT = 3eae1eed8096a290c0cef6b561d1db7cae60 +PT = 15507f10fa3a577a56858b8722caea24ce40 + + +COUNT = 296 +DataUnitLen = 140 +Key = ada60455bffd989580bc39801c58ec7204872c32f1027e0d887da8334bc7174f3774100791d36922ba37d7925afd3628254f502a79b310328adbf84a021b757b +i = bb1bd14bab1d5701b5f1753836f7d805 +CT = ed790acddecfb875476064da9f7770153c20 +PT = 5d4482b1d7c37f7a7e6acf2f139e48741fb0 + + +COUNT = 297 +DataUnitLen = 140 +Key = 04a6ad192983996b7d19e80b80c70a29cdb1594c25e86f7a61c0991f704d540e5532810c7fef780e246b0134d662df4102a21a4e6361cb1761b2e8d4666981b9 +i = a0c9439611427086aacb4e9e2fedd688 +CT = a07ab9c4a569a4b4fab03d3e044b9ef242f0 +PT = 8b650d5f03fdbbd83d5d3b961fc2db0c1080 + + +COUNT = 298 +DataUnitLen = 140 +Key = a6e44763e1a498c63e04dcce60cce8b3894e0315118050c7cfd0e8a747574be203e338247dd4f81689026593647f76ac5b78586c032b17a9c33804a853fd02e2 +i = 9cdf213439e0641091875029e13a0784 +CT = acb5abf9874b616ed7f5b53ae2871f68f110 +PT = 15f38951bc567f30f2957379e036b223e9a0 + + +COUNT = 299 +DataUnitLen = 140 +Key = 118eaf72adf825521fa4cb2b965f0f08388b25cfd16b9da23494e15ce9840e9cfe5671fe23c25f123db2dc081094042d5eccdd48ab3ef4ac234301f9ea6f3a75 +i = f1f538ca2a68fb309797680260dc4898 +CT = 81b092b215e18f08727e8a39340446bf88a0 +PT = 39cfcedf3bef56c1af717ad6285b47af0720 + + +COUNT = 300 +DataUnitLen = 140 +Key = 8d8403f3de9fc4f769f70c64386b888a91ed1743236f2e982afaee5e827382099bc8529c72fca21ae33066cfbad215999f92dd4f5302581ce7ba80c1ef0ec7d4 +i = ba40e8e07248fc9497c4c36ac3bc8bdd +CT = ed3584a333cafde70b8874b298415cd911a0 +PT = a4cb96038539df33e29d24dd12f33a8b91f0 + + +COUNT = 301 +DataUnitLen = 250 +Key = 31c8152b5eddc3b8c3a005a3bbc4c005bb57058ae4a6454c166a620389eaecaea0515433574b0dd6a89496acd475ef78dcf012a47a48c319f89e931404018e15 +i = 6957d297dc9c9b30f6d016b016d913c5 +CT = ae13222810bc66997bf8b57737990e481e16b5a44274f8791508cf3dec971a80 +PT = 31761b6dece3e962030c01f481c5ca681386176d2ef8034c5db5aa04b613ec00 + + +COUNT = 302 +DataUnitLen = 250 +Key = 40ee314b8bcd3bb0e9372f1d038a54d78c92ba1671004d18d055885e3f1c4cbfa9b62ec92ee6423195158dbfc67103ed66e5ea4f333202737de0e68dd7fc10a2 +i = 377d2da7dfe5bf267937efd880b26cdc +CT = 3ae2fe80b5c3948b9021084e580193c9ca93d3d75f326d439de585b720c6e140 +PT = 67e75d93825ead1cef50ea9309fc490d9197f31b7f242c66975d7b62a3bc48c0 + + +COUNT = 303 +DataUnitLen = 250 +Key = 56e9540eecec28fe482c059d8dfd418e03a857c6f66146095034a9d2717d70644d1862d16a320dfdc6acea07f372174e5ea43a4e6b1c33decf5e556820227d16 +i = 25e559ea3ed41f6e10dfe2c58366850a +CT = ee41e42ca25193c4f199df7a42b6cc26450621cce356976b1c7f293e7e0880c0 +PT = 5cf4be1a69007e7dd713edc56fe19daafc3625dbcfcc966e669db0211c6fd6c0 + + +COUNT = 304 +DataUnitLen = 250 +Key = 50dc21edd6498f30c7e2b349c19bd9e48d7415de428cdcf276a35e1f129f9c28102da39ee4a33b00b427384824daa943cd0e18934ced75ce23dde34c5a2d43d7 +i = 47441e2b7bc0398bad2fa43b924f683e +CT = d5d1b1fc5a58f9a7acf0e85bad3fe9fd0b59400083e3026f25b1e6d658730400 +PT = d15ca21c63b1458111209afdc3a943c7908f4119bcab24716baea80e601ad440 + + +COUNT = 305 +DataUnitLen = 250 +Key = 250cafab20c057c8450794c01034d49450322922c70948504ba194bbebf9f39ecfe658e01de36f0c4c912f9f6f7b60e2e5fa875c0e3a25e2d0682db177d2e6e8 +i = 9d3de57e08636929af01c313c42014d0 +CT = a52696adea688c0dd9d0d78a0c05121955ac083350c1eb8a0ed8d2207b0d47c0 +PT = bb9200defd6e89c9cb69724a9797d4b805858fba945a86c0497d5f4e9c04d0c0 + + +COUNT = 306 +DataUnitLen = 250 +Key = 4ce9d16fd18dd9756316568abc0a19071141e193cd263c96f0912f792df49ae3acf3e77e1a68b7196338b73136a057cf89b26ccbf48968218c83c6ada01f540f +i = 93e82e91a6727fcf8535941be49a8dc0 +CT = 1ab07ee342c8622d4bb76ff136ec516085e4d7f39d8d64c3e833025b703fe000 +PT = 974b9e56ffcfe622356dcfca54067031eb0f0f2fa77a75ff2f9e33394acd6f40 + + +COUNT = 307 +DataUnitLen = 250 +Key = 8a4a3cf09c49d76034de37ae588ae7009a4e5c591375bfa892bfe8a887986d98fd49c3a7226c5555ee1a68868990f9631313aa45e4c07a4a3896ae77872b15d2 +i = f215db315c482fe3410950eab9ba5533 +CT = a5f098ae1de5937a1216db558502009d1ad2955367d810f480d787a3e34c2e00 +PT = 162aa78289d3e0a27f3dcd2692ce9f7ea4ca00e16509ccecc6ba30d47721ab40 + + +COUNT = 308 +DataUnitLen = 250 +Key = 4b05d9847a5dec7d065de570c7433e6d9fb6135d277c42dde120004b545bc11e012f269257587654f3aa8f909194e83a4e6a1fc313a1e6523ed7b670b3f67890 +i = cd0f2e7b4f335f0d93d470c87c6275d3 +CT = 886fb6bd5acc1098e8e4dbba1dcaf9cc44dca086933b04426a187bf7f30ef3c0 +PT = ce15b48da2a4f7bf7c18f948735b8713b8f683595d514ea414bf561361dfdd00 + + +COUNT = 309 +DataUnitLen = 250 +Key = ea0eea3261345d229e5154bc42287d3c443db6cbe2a0c3995c00ead50ed199f34ed363a45a9ff9888442e4f1682884f908dd03161f6e6e59270e72d969559900 +i = 6444a613f6a8ed9b264784f43b462af5 +CT = 3414047df4326edcb7281053dfecc41913a7369d10913cf1dd9b179c7111c900 +PT = 88a5e230fd712fe232d9ca4ba7e069ce9926104639caf177926e835eaa509a00 + + +COUNT = 310 +DataUnitLen = 250 +Key = 30f54c53d49cd4aa49e439ed674447aa70ec9a19713ffc2d7525b6c09b78ee414f717c7798c3f72c548d2ed98f6f71dd96b5f22f502c69663d0a640f6ef90bea +i = 4fd44f83d28fb4a7d535ec0247a5f058 +CT = 4354e6e2508229a56d75faea7c72aa158edf5f2ee67e031b0328a2ce2ae31cc0 +PT = 308be8ba225fef05c7e8ba8dd9de60a4740d3701a9a16181a2eca5935e161e40 + + +COUNT = 311 +DataUnitLen = 250 +Key = 14af95144931afbc27d714af8fd3439ef0900aefa201a35796685587c7dcf4c73613c5e84cd0f73bd8c3e4be5b74c542e6139389092f739333e38dfce246ff40 +i = af8fab7b4ed33ba04e918c3b7ee665fc +CT = 47ecd46e69b71e08c29bdd5f10859715af26fcc7b084105d92c5639de23dc100 +PT = 2b7232b989863402fdbea6ab60d9819a22a49e098881477d4707f4d70739d980 + + +COUNT = 312 +DataUnitLen = 250 +Key = dfc01cb23cd01adefec0ce71b12c6d29ce4486a48aa4dc68571392842728e784a7edf1d9d2dc9cdec6a50e358046d86351b0ca48e8d55945dcb11dc0f58da0c8 +i = 76940568c4914ab1c5daf849d90d3188 +CT = a1dfa7ce23e88fa881bb1f7cc9b6523cc1e45f9214628a56ed3026b61248f200 +PT = 5ff9307316185e3bdc453b7ce7c461194873006f2767bcd0e557dc2aab405ec0 + + +COUNT = 313 +DataUnitLen = 250 +Key = d16d154557483476cd41983bc8f56600f1ae93dd6abb4bbdd1f14289190ead6494dca4d4428311658bdd5e0081f92782c588ca3cdaba00f0c4de667ed8801a1c +i = baa59253c59d540e266c6f59b41b216e +CT = d5cbdac76ca47c307e82c7c5d40791b308f39c42ab1c05393681dbec71a31d40 +PT = 0863590fbfaf2362e794eaea26ec1c9850f61385f3ad3c0a7d748ec97d505240 + + +COUNT = 314 +DataUnitLen = 250 +Key = d1249d1500eabfc3f5b3b199d94c250fc6ee266cdae5a39efbebe3278d592749a564dfd648ab626da8449697e6bf5d13324bf7b3be75db81a259fc2d8f618cef +i = 100edae4b57b98ec3973bfde8206bcf5 +CT = 9f0c90af5b57cc52c2819dde74bf1a2af4138f4ab85beec8e7ec18af0c923cc0 +PT = b37d365418bfad841d2b101e3452bf2359aa9cf55b644b462c55d18cc69f1880 + + +COUNT = 315 +DataUnitLen = 250 +Key = 25a226a6a972876fca70bceeaebbe7025fb008a3aa89d9dc50b7fbfac41b53a5007cb6beac8c296f85e779b0349b967e461d2aa485a242de6438ae55912374f8 +i = 27a46d67b2febe9851f895a5a3140c1b +CT = 2400e31f341cf96b858c13a893922f1c8a75e37b2b777d560ea9d2ac48a86040 +PT = 75a3caa43f5f6ccf6e33455eaa6346ea39a04b383a251c6a6d78759732a70d00 + + +COUNT = 316 +DataUnitLen = 250 +Key = 86260562cf066aec4c61898136ce2087c158cfce13a1c077dae2390025ac1a75e364274324d4c96ada69ab82014833f347ae55debee38c1e8d5fe0b933cbdfee +i = c4d4514918abcba71a800d2c8a7da3d3 +CT = 3458b0614d68c6da9c3555732c7af1a62094622af237c76be9232c1701c1c880 +PT = 4ba4ff86c4c7309a838d35d628411f3f8580e02da2cc953761113555392d4f40 + + +COUNT = 317 +DataUnitLen = 250 +Key = f73cab41f189afd4e2327d03b97c81f1964b0edccd510e83c282cd908278605c2bda602c28fc4e2c6ef05cef73c13b838556aaefe6db404c2c11d8f35727eb30 +i = f3f8a593707f1b718a6ada4cc42cdee3 +CT = d6c2ffb7574fc9a2b297a1395e8cbe6cc17dabd330d1c811b60491d2b2c69240 +PT = f4efd70a36744dfbdd3e733c54cbba5813abb89a2c6f53a6af2e57ddcb271400 + + +COUNT = 318 +DataUnitLen = 250 +Key = 09846ea610ccaed90424783be4dc503cb991436e8c69edbb3cd17f91351d41ab43e2800cc68e3be1d87badfcd2ffd9493ef886f5042c14cc64a38558d353f836 +i = d9d5d2b29be44a405c5465b2567cabaa +CT = 6c05653f842f9cc8dddc333b9ab569000c9d2f258a8141d0d3af82135f5745c0 +PT = e3c106c3630f5b3952c7ad6a9b80f2da108f6fe6803a7ea5eddee870c8d968c0 + + +COUNT = 319 +DataUnitLen = 250 +Key = ae0708d68ba1125e87e797f5392a1b0979efd8ca7de98fc1871e521c04d9e5d109f16781c6746aeef8513f2ebc15dbb1a7ae5cc00ee9d21bce094069b34bfc81 +i = f29d245500a2771b9bd780c14baa3e38 +CT = 09c5b87a3547af2925983c82b156f177bb0b2d0289875f1f3fbf4d6648050f00 +PT = 7142ae665f82082e13e16700d428cc1638d394b6b2279dfb242351d139321ac0 + + +COUNT = 320 +DataUnitLen = 250 +Key = 95b8d525cf7a07b2e6a0694348889a960b469965172d3a68d96fa4cd30bbf0c2763b3cd31e2d6a8c0cb4fc594ee4a4636147e0b3d3b10a45bf346e16bdb46849 +i = 613c11c311a82ee4bca6dee7a27264b3 +CT = 95287ed9f5cf160e31f6b0f457fd1c4754e262f0443ae36689dde924418cce80 +PT = cb5e45ee596a27badc6b48023b992a5022d388c08cf5e18402e470dc0db0a740 + + +COUNT = 321 +DataUnitLen = 250 +Key = 2ef8ac5ffcaa1ede366170ac3a3f08eb0536afeed906cdccd52cbc03bdfbee20d4d777e9762f16e79796bb853b08aab6a292e8bc52195079544b72fdc27495c5 +i = 25d1f22643a546ca757eb4470c6b3252 +CT = fdc6bc8c559a0ae3bb7b23a38f468deda0aca379591b8fa3626c003204b94ec0 +PT = 0b9a790d94ccea09c4cab190c6c84a9d0b82e4f1cabe8a312c5356781ec73b00 + + +COUNT = 322 +DataUnitLen = 250 +Key = 26b9b4d3058b41b2a9e3cffb72ddf4acebcf762940ad64923faab0fd1929222816c5f19ac7ae5eeab37ef2534277bb0a99bb672d9d5fccc50609660a013c840e +i = a921ac8128d5be8c6bbee95457ca93f1 +CT = 258a9ab52aadf9f38cf08f62bd3723c64a9ca93351f053fae3375b32413155c0 +PT = 2654f90edae6ee1cf888fdb0a24e1cf01b0ff625b8ba3e49690234bd54275000 + + +COUNT = 323 +DataUnitLen = 250 +Key = 17adea2d19647508c00182b0836056d87d472253879770f413165e69e36d5c40614ac2b21edafbe4a53625747be08d79b0532a9b49154f9aa70f466469fba83a +i = 1865833e4a4e98640b7b9e3d04e87df7 +CT = f3316a799246f3fa3da0226f727f3d6f6de360a2fc4ad6937eea9c25c8ab8680 +PT = 145bf14dc6789fc275c03b62a5e91bfcedde51222f25c584c8528a29037618c0 + + +COUNT = 324 +DataUnitLen = 250 +Key = dafd9c2fdf29cd51b872154a6b7910d57026feaabb31b809a9a351c8eca29b52d8a562fdef718bd1c2cd55a4aa972cf41dd3272c2c1de1e2a36a7be9b4cdbc12 +i = 76fba60fa0760414bd1700090d9e9067 +CT = a1d03bbdf631a5fdddc6525cca03c25eb7e039a97fd9feea38aa45cc6092df40 +PT = 070381f8087c11a36e5f8a0e74afa7e0813da645dd594a7e96e6e417256b2880 + + +COUNT = 325 +DataUnitLen = 250 +Key = 9e4d54c13e5c2edb19b1ee0d8cf8eec6c6129aea9c8510a96f34a6af0fdfc93f42490d36d08476328f95973e1cb9db91201f2f207bd23f4e64690e2a55a5369c +i = 7ff423360348e93161d1fc46bf8a5d7c +CT = 12b7c12e2b5c9a1950866afd3c4f0f61532c5fc2f0c659776bf1707a3c47c240 +PT = cc425ccf5c6c6a9c104e10751facadafff47c7d58b659bc8f3eb1c4481a27380 + + +COUNT = 326 +DataUnitLen = 250 +Key = 7303c167db0c0a0cd7e841600ac9bed4c4ae959e14c526a3b7b2ba3c77da7579e63be69e19cefa63a675eb6797568c5cfcfae61d010e64f7d85d9330f15bd81c +i = 53da89efe6185db8567b8b9359c87006 +CT = be98c4860c5ba4e8f6786bc092fe6c0ea22d51f5bde7011a10640b6c36fcc500 +PT = 368a4b93b682532776848b586f8602f7b53dae201a9ccd3e462411fbcb089840 + + +COUNT = 327 +DataUnitLen = 250 +Key = d76c9097dbbf54fec57560e8411d3a089200b4a65fd5a4552fdcc7ec48ed5f1d5abb97a14e6ca206c549621b1131b165eda6ed7bc36618e42ae534008b8f4e6e +i = 2307da11e224c13212b3584d1b7b5d4a +CT = c9ee1ad2d201148ab156b20da4a940c6e5f6be71c5871791f09e5327806c1300 +PT = 8b6635c03ad2cc1a5ef22b041a83812e36235935c1612e0a284e710c0b27afc0 + + +COUNT = 328 +DataUnitLen = 250 +Key = 0da146e495ebfb6153d5e756c939ddb9c40f8d1ee2a9972b42cd13db12c9eff5a79c04390e369f007fc195b120fa204f5bbc647cda73dfcca0e355cc6d44c04d +i = c0c2427ab97c24a02386eccb62c9f49c +CT = 14dae27957518562e695e058d02a0efd58b9d60b51fd704241c2673845e65740 +PT = 7d1bf6d65c6e3719cd285b6e620b1b424fa9bc0e2730b92cb3b7c9e418ddd700 + + +COUNT = 329 +DataUnitLen = 250 +Key = c2a5bd9eabe46481d60716459779e75a150ba404d11d68040d292965dfe29ab0a7690d22251602c744bd46d90e28b45c64f74461a91c0e1df70cfc381fabcc8e +i = ce1843296bac0ee128cf04308fbe231b +CT = ab44242cb9a20f3b99f9e6745d5b460c17bf1127303f5abd2dbce9d8c10e22c0 +PT = 82a07b39e230a993d2191d40db609614d54fed5bc6e5444a8f3d8b8574fc9380 + + +COUNT = 330 +DataUnitLen = 250 +Key = 89f979e7f2579cd8f5b219951b57b3b820a028a757faacd5afc10d27fe86bc064f83db4e78b03804de69d8982f56f36c6fd360866512c983e9828f90add9585d +i = e6d8a6ecf8274e48a6eb025260ba9dfe +CT = 6093007ee16cbdb99313b051e5103bf75a3b146d5aae8d43ada0af006c753e00 +PT = a9836236b6cb42122cd94fc8927b5dcfb2e066ea34432d0a1c876c8485437500 + + +COUNT = 331 +DataUnitLen = 250 +Key = a18ea622d11b964bd431586d5c85d0b6ecee6aac626eb3f5a0d7d5b2f05e067e7bc462ceb37b87f8e8e87eff72f14c868738efd9a66856c9341208a119a9f804 +i = 3c20eeabf9fca034171c6d9a4ee784c4 +CT = 1409a0e135516071fc189fe69873adb7d6c0dc15cdf8ce1975f28fec2cd204c0 +PT = 6cb32fbb020634c00e6b33eeb019625c11c2471ca2eb9505675b46b1cc8f7cc0 + + +COUNT = 332 +DataUnitLen = 250 +Key = 5fa422c64167f6fa68d2b5beb4f32ce8d1101c447d991a02a388c85a25ece0ff544546a16c4db8fd1c67bf54e63370b84b8f7b3226424f8df9c77e3cf303c054 +i = 6e854d3de98f062f6cb891cc18bc4f4b +CT = be994a80949fb48a2759e7ef3ccef1f90840389796017370f6caaea4b278a4c0 +PT = 0b1a863b29242d50534d43b39cac18c32486c839626ceb5107ad8de11ed41840 + + +COUNT = 333 +DataUnitLen = 250 +Key = 136480c09bc2a2228da84fe78d207c10885c574582b401f5d4d325f1eab8e92ed7d48e00f8789535197aa86ba314ccb46062596074c577c83fb7240513c25637 +i = 286987f85a5520f4254079577f4e1554 +CT = 2c57faef85032601809a56619cebdbf84c22e0e1afcacca0674cd14294644c40 +PT = 8595c78da0f625bbc8d847d5ac6d50f343b0600f551f28b1a291f19cd1934480 + + +COUNT = 334 +DataUnitLen = 250 +Key = db8d5a9da43b74f41d84ec239979d1a7a3b237f100106b584d25c8bedc2e137b3310e4d26d5e85489f965a193aac49b22d7e5f8ad1a946f2c9b472978e82615e +i = ca04d3f3bca32e9284706551a35af9bf +CT = d0a5f5403c2dc82d77e610fa4e90e700f3e85776d4abe225025307f621851c80 +PT = 782c59febe4b70362c436fd412ffb742313ac640f5f0c48fa3b8d05b2d5e0c00 + + +COUNT = 335 +DataUnitLen = 250 +Key = 4420780affa33719fcf7bd3dcf89eb9637e5a5feb0b98b0dd3130f9309fe20a0bdabda7797dee417817e65eb27108e3a6991405f4614459c990a136d81867f16 +i = 920b6f9addb1072c200eb7816a48a9a6 +CT = 540533efcc0bcdee7d785fa18146b6741e05febddadcd2061003b590bf0f9340 +PT = 37c5ae1b6a08d4f6b5131cabd69e9cacca9dc1d3d2c3abd4ddfa97f2c61ccb40 + + +COUNT = 336 +DataUnitLen = 250 +Key = db5332ae57c9842757036310e7e2e956f6b56c04651c9dd2e55bf0ad2e6216073de4db274d85d114303217c9a638ef77cc39f9b4ceaa279bf009b3c89727ffe5 +i = ef750188da839008c0cc67b4ea7ebeec +CT = 206fea3c71f845e642cd955119a61b694fb79caceed329e5703a34f780ebd7c0 +PT = d9a090c9d248e2eafdd2c47f3a17074513d59c058a7ce90298d7c77e646d94c0 + + +COUNT = 337 +DataUnitLen = 250 +Key = 202ab795817a6ce086eed7f3635de8fb7bfe71ca3cc4d54b307748ddf766142feb93a9ca73ed7f10a408205dd325f8b36034a0203e84677185d23471f1aab547 +i = 5faf7bce70f084860900159d6bbcda05 +CT = ec1a314d9175e4841b653c7fa103cac4f0a616392eb9b464693b58807dc11880 +PT = 48c13185dee19c29c7418507ea69827a907d7543c9b64aeb5d4c6b76421dab00 + + +COUNT = 338 +DataUnitLen = 250 +Key = f45c3a5ec2dea59c3a32dcc64dd6b65e6c1712e8bf28e595a0a840447a926f0d95ed629776c92c3ae130a261c92b11ade6dc123950c5c43f6e0ea2739937c14d +i = 98ba47305731de4fcf0723c72b420b9a +CT = 131b3e9ccaa38c3448a6972c66e8d878eeac914cb346a15fdcfddaaabd186000 +PT = cab65f7741972031a04f5d82df0224ceed404d0aee6ef81ad42d8f3d8ba48c40 + + +COUNT = 339 +DataUnitLen = 250 +Key = f2ea7e8168d6cca10d95858161ffa1cf1b61cbb099e31d4c3e54c35cf482624cbc9e8e8919994bff30793e47f8f0c0d846b58867f3b6bedef83af4ac3bcca2d7 +i = d594b30915c74e65cebde89da1074c75 +CT = e23a451a2c527d48d8379b58cfb1c05c3dfe1048b5393bd231e0f4d6a40dc980 +PT = ac3842ca67ddbac35da953496794d852bc68b75282428be23ea05414e80d12c0 + + +COUNT = 340 +DataUnitLen = 250 +Key = 2fe0196de382a64bb15c0bdc06b4169e3a15d12452e91aeb54d4867b180df51b60e9f67ad26e235e1216804f2694fff55ad5676a9db432b16e2fe4fba5c132e9 +i = c02a783ddbce1eb9950efc2b516f2bef +CT = 319e83b7f73d6fb76be1b3fbb9adcf70e7bcc418b921a31e7d3f90346757cb80 +PT = 966c930128b17874a222374ca5d450bdae97c40f75876e7e12e6a7423dd9bb00 + + +COUNT = 341 +DataUnitLen = 250 +Key = 07bd71c08bb32d2035cc7f001432d14489966046d6e96eb5d1be72e8737a9ca94e2039ed25e50ec043b058514de4b2252143e7b62004df376375a4fdff420444 +i = 63d769c38c59e0fcdf2217a1e923f3d3 +CT = 1b7eaf149f6104d51ad86bf15927faf99c323f9bd44ee48322b64d635b86b6c0 +PT = 003d28bdf4d2b8e122100e65e4599a99bef023a63a47b58296f9129ce4ec5940 + + +COUNT = 342 +DataUnitLen = 250 +Key = b2905f9d41cd94108277331357f2eecc2e757e5c4a4ed5f8d11c75a3eae28511687d4954790c79f0135dedcd9c4bb0c6eb4fa0abd39676f018780f19a9514472 +i = 3dc126defab344884b4d331c7b836c48 +CT = 2d594d511dce979c255c5117030784379284a8a6b42dc68e7a30007fec3b97c0 +PT = ae6c5eef253b4baffb4b78d030a396b0739595b64a40a195ea69ceda4ad18480 + + +COUNT = 343 +DataUnitLen = 250 +Key = 2f63aec9f62e18eefdce0453570b768afa5f8c4e53dfb2fc270df138fe55dc9360f4fe0ddbb806b00aad95181054b9a96f54b227a88b658b1aa58ebeb5dba62c +i = 9b40462bb94bef34a0baf9f9ef293861 +CT = 1a0444451ae434370405b059499e823cdd581c4fd4e68bf1f634d73327912680 +PT = 382cdeff4c24b56fc8b847ed3f919e97037e48f8579a1f169df2caa69c2a4940 + + +COUNT = 344 +DataUnitLen = 250 +Key = 011de015680c406f0716e6c1efe89fefff3de68f05a11ab156a99d7a2eef496167a6802d62976233e1edd8df19c4f522e779c329220c1907e00645d50e2b4b54 +i = 1401df09975d92c1b5706b3808ea3469 +CT = 63c90fa9092195d1e1291eb6e1f73cb96141ef422d59d6c4a0aec060eecd4080 +PT = 1a823ca64307795fc9e4e23dd4c686225cd720e3ff772d8043f6fc5d9d5f8a00 + + +COUNT = 345 +DataUnitLen = 250 +Key = c306562ca3b64696beffc320c4f2d012f853d02bd15ed3e0ff3c3f1693377b80459c22e2d19fea2dbe732b3d171f43734000f02b5bf3a266d264b0c84cfb80c5 +i = 7a037aa43d9a848a09655ee6a4fc5d13 +CT = 7a1be5969e7d6d4d6d3653906d1d8d53cad0bba91e6304d8c8f0700035c20c40 +PT = 9c2552a10a82c7d49a10300518cdc331a4e462a9fd873bdc7ab96c6339b37940 + + +COUNT = 346 +DataUnitLen = 250 +Key = 2610ddeb74ebec6e8997e03788791092cbfdddc03604dd9dae046a8d6f9fe6cda0dde993e7ed1985d1d25e9c31ced0bd0737df42aa850f246db1231e46d9957a +i = 797a40252a91750d25a24b18715e95b5 +CT = a762de5cdf9b3fc6ab42c18c2b53ef7c3489abdbfea232adb7a82b1edc1026c0 +PT = 92cb89ae7af764c30ff66c69993d6d0813c325dc8980477d1001553c5c9cd640 + + +COUNT = 347 +DataUnitLen = 250 +Key = 1c78b689ef16bb98494223931dbb140abc34fd2a474137c29944eb7a72ac6872c6bb223be19a13aebe63ec2d7748bf764af9920c2a43c34b1c30b700ca8785f3 +i = b26c09291e55114a5753f1c7c122a476 +CT = 6f6051f4e9954eb989d02e884bf561eceabcf08648702485d745e9a5eede2240 +PT = 061c23f33847779cefe2ebd42d56f6ce3d073e4674febd24d5fa78a505a63940 + + +COUNT = 348 +DataUnitLen = 250 +Key = 6ae840294f0cc64ff187a36adef41ec06caa2696837efdbdfe1d9afc75c22d0bf929010a734fd5a5a81e2c681071feb3ef7cf7abc0269c12054fab0eecd18b92 +i = bedd35829fd899fd68841977df0c7136 +CT = 5a9b8607228e865fb1ae1052328c5094f3d9de368371d23356131f571d0e0100 +PT = 68423764bbdca335613d6195fd812d51bd4075f8d7b9a4d0adf5f206fd34c780 + + +COUNT = 349 +DataUnitLen = 250 +Key = 3f76da67829a3980b1727d689457b542e8358bddfa0bb07fa8523d6e4fddb05ee81b0f625c49a1483c06fec6f99b9c896160cb5eb5a8ccb165517d66be0ad892 +i = 6d0aae6544b982cf36608cd6608234b1 +CT = c4d9b5dd0e4dc7975ba432657b40a8fc25fa61388715aabba65c38534659a780 +PT = 5633770c7f145173e4834a88545b979f24970ff2289a58c64cf25e9d65f72b40 + + +COUNT = 350 +DataUnitLen = 250 +Key = 3aad25c72cbbb404eadf8d0dd392f4d81aed9c17a907f3edb25cea49f7a8b6d7aecc7143b1640736aa07ecb746214bf2fee8f4ece48e1cc559848a7434c131af +i = c498fb7b250ce4d48c97d3177a8b73aa +CT = 1cefa52813e4342a52904e472a8528a31c1321e6e9e147aca3161cd36ee0eec0 +PT = 2fe5da5dd5221f063f4cedb134914db1a91aa702661ee50f82a202f831516480 + + +COUNT = 351 +DataUnitLen = 250 +Key = d6fd98ce1c792f299a422c2186704471b1046b1ed5cbb06ee318963a4010a1e8373d22aca0fc0496446b558a25bcb1c8c476853ba2fdc67be9630cf06fe7cea5 +i = 343786237c4c66bcf4bebeca1eeda860 +CT = 5c262cdce9da0dda2d2cb8430c1d190ab3917380be50d0332a9beeff9716e100 +PT = 1cfde7c2eed7821fa6c9772c9fd73cf16c8e112bf3a63ec84a90689fab0b0100 + + +COUNT = 352 +DataUnitLen = 250 +Key = d67257692c7cdb05e096c7663516b9e869cffbf33d4127c9690700f925079cf15b8d42980966b0dbb9740ef0f068bd4eb5c2c5f93af10030a13c1746720115ac +i = 2e029fbdc42ed5762aa4419744033f91 +CT = 1703b602c7b82fcbe2d697822a8f44aac0976f41741e34862dfe4a4cf08fe0c0 +PT = 411dac6e8ee6100ae2675a193c582c7978f430aa28966687840789d055e5de40 + + +COUNT = 353 +DataUnitLen = 250 +Key = 72e34fe3102b82b4869b56c2bcc9347ebe2a54ef6a016e178e0aeca473e4e8900fb5b8d1bb2ef40d46fbf29e53546dcea9885e83acc46f31cf3a4d18800b376f +i = 877b90e48576247d87ce926afb996fd2 +CT = 206d5668541823247e07a3e89afbcd604d600df889ca6f74936311563525df40 +PT = 4e37734dc3c5ba688be7a7f349f370fbc30f15ea48c16bf9e03805c5a66a8ec0 + + +COUNT = 354 +DataUnitLen = 250 +Key = 26fcf0f7a473ff87a70a126437adf805e2250a2bdccc2be09e416a39c188ac76dbd91c9235f4e7c92a97c3c13432bc68ff5bdaefe0684ee5a35f97869f74b449 +i = 416765adf7eae7813f1f5301355ee677 +CT = 32d34fde7cfd5c92e8db1be73d95e2c196e57f4a5eb6a0170ac1eb0804c38e80 +PT = f2ba5cb2ead820a2eb35cc20e423a523988e001130b605f65c6cdcb5ff829dc0 + + +COUNT = 355 +DataUnitLen = 250 +Key = 472bd075e10727dd0f430ac3685105730b0983238c229461639e2d31e4ccd103dd28cfb1c5beecf040776150f83fc409edb7d8d77c46c60614d84b24aebc8eac +i = 4682aee2b49bad832316088d8a5d67fb +CT = 055241bb4f3ad8e00081cfc3ee83aef0569087acc9cee579067dcdec92aadf80 +PT = 65706918f36ad25872bfd12542f339d41b519e7e4fe2b452a92823856840bc00 + + +COUNT = 356 +DataUnitLen = 250 +Key = 055e1915d39da8fb4a20752f0b2788bf266d84c281bece0f6ddcd76c97f0a02a8ec0972e67be46218ca29f824997f0eb6b70b6f8b8fd539ad5f4dbaf9c74ae40 +i = b1ac44303e00a679b5ff8a9efca1fb1f +CT = 3cca3d831aab419377ed3b1e4e2ca5f116c2e3035c2989380c64f83af0cc9180 +PT = 242c31b7b657aba6357e5fab0c3cc0f2360ee9c0576c02b894c67939cf9a6440 + + +COUNT = 357 +DataUnitLen = 250 +Key = 5ed5a00ea42ee850d5069b5c2d8ea8741c59e37f09e7573ce66c307e7df839dc61b8dceda0a5bb3c1153f34365aad6123be48b50228c0f454e0c2ada8dd73e16 +i = 6e365ccb2ed63545171b1eea825de3e6 +CT = e6e0be1016ddb0fa80ed50c14a66e9e31ba597bb8cc6115d603ce220ac9fffc0 +PT = 7751db59f441d3a04590d704c51c82c79d67378cd96df1f9e429a8ae8cd5c0c0 + + +COUNT = 358 +DataUnitLen = 250 +Key = d28c63352df0af8755f3b456b5caea6a2994104d5b304e110e557fa12c605483e08909f7a38483896a0f188f7d624719905cfd1e057e0dbb0a478bd64d8898f1 +i = 71cf6d252864de382f8fc55d7214c09d +CT = dd5861cba41f9ef806245cef875de08fc72ef0cf2254d365fe18121bf740c900 +PT = eda8fea03fbf50317c74641d13fa169c92241ce4f4bbc4ac2c2b15ee027a75c0 + + +COUNT = 359 +DataUnitLen = 250 +Key = 0585bdee8c4e14f9e6fbdc06ff0358b70c9d851826d0ce7dceceb2046f73d53f90660234086867dba3774f977fc06c58f265881503707b9285bbbec0e95fbec5 +i = aac06d0eec8c448a41540d6a3fc34850 +CT = 2acb63ad1cfe4305c8a4fa75403392b138df0d0a93cc8a56fba099053c0f7880 +PT = 60d5d03504110c3571467d357d41a17dbf6456ad0177250cda4c0fd639c55700 + + +COUNT = 360 +DataUnitLen = 250 +Key = 87965b0a8091041d7f29ab9399287a43f6432a3cf64363ddc5579c147bb22c94eb4939e4793f257f69f0ee17bbcd0753c5af846adbdefe8e105966deab2b4644 +i = f689d722ac57e3db2ba981c1dcb8c828 +CT = df4d9dbfedd3c6ac8df2c4f0a28263cdc4e3655236a0105741d048761a318840 +PT = f8079031b15193f8bf77d7a7e471a5ee3059229134191e884c54e1128a58ddc0 + + +COUNT = 361 +DataUnitLen = 250 +Key = 920f4a5d3b2a8aae0a3cf0ea3a431bcf0a6721e1767f0cc78598f2ef812a7f1ea0a459dff1c2ad17f5eab5894834c58c31728650afb316bb98bd17d94816b26e +i = 3404e09f8b2271896a7acb3ab6a8d148 +CT = 5a5e353f6ddf5a3da999a3bdb1865f6f54fa970b17b6edd6009f8b3d6e745cc0 +PT = d2ee90b0ca349de230a5dd0b55ba1f7713b2d53f8c59e23f81f24c6aa840e780 + + +COUNT = 362 +DataUnitLen = 250 +Key = 2c20ae1d56281ef03df422377a4fa87408dae9632d986c23db0d797a22d779d330b50f16cc65ec90e22a0c8c15412de8327309fa4b28891b7baa23afda765b53 +i = af12009fb7d246fcdc62bb4d300e14a3 +CT = 459e3dc398b7515a14c2370148ddda0644a1e435c39c1798375126123eeffd00 +PT = 6d20ec9ebd116754acbc6db71dece458d66a6b9b9839b9cf899bfa06d790b700 + + +COUNT = 363 +DataUnitLen = 250 +Key = ac3f9ac56e552efbcb1326aaa50cc694e23c35eff3076d3bc1385867394cdb6ae2cf906f3630d7cfa0f3c2d489ee081d9827d212da64b6faa6be95e6a0986336 +i = cd11b5b8971cf0c4540013326183531d +CT = 138e72f348364d1e0f709ffb43b69aea2f984d318b7bf93a67c472d6f8242d80 +PT = ec7f7694147acc2c8abeb6c998ba5498c11b3e2c913dd27346e69e599c49d580 + + +COUNT = 364 +DataUnitLen = 250 +Key = dbde84e64e80ad0de7f0184ffd07cef7dbce08354d051d5a05475f775a6b40798b4148104e2c84f541ff5b4ca72cda9957f371d93ff702d619697005ea932362 +i = a8eeae09b7a8c7051c79158aee3d6574 +CT = aeb9eb11a59eaa893fd175a3bdbf42b8e0b78d4c2ea873f7eaec7ddf73e3d8c0 +PT = 076e110ce46143477726e7815366574f8996802865ee3816ff4fa480fcff9800 + + +COUNT = 365 +DataUnitLen = 250 +Key = 989f54bf0f995964a0973ea840032d3d8df34c60d2028c65988306a5644486888339e3bcbd0b6e6681d7396902490171efba5178c865e6eafd461b241e088355 +i = b8e2fe02aa62f80c4b45483cbb61cdbf +CT = 368acbd902fb2bef0dec3c24ef2b25432e62ac80bf1d7560fcb411a3f560c740 +PT = e351781414e9a52e88e8211e296a0643f021867c1a8a64c12a186c381aab6480 + + +COUNT = 366 +DataUnitLen = 250 +Key = 723bb3a64c0076835b0d0bae29f0887c19001cf8c46be2e05ca5f6b372a54c42d43cff3ceccdb369209543bcc8987e68ebc45acde2dc864c58fedd510b48be4e +i = dae485f6a44e036a5f08dc7c4b9f6481 +CT = 7243e206ac1982b5641dcf303b3dbbe201b04a3f60141c556edeaa0672769ec0 +PT = 97f23e37dc4e9fde7696873be27213304a2df03692553000cddb2fed0b9e8ec0 + + +COUNT = 367 +DataUnitLen = 250 +Key = 6ff33a435d0b8c541b9fcfaa923856e5bf792c751e6663503c0725163a6ce19a5b9be2694256f5b3b876d5b22e1298bd9bc9bb795d9adc8611e0f860fb9cfc08 +i = 78aad82f6a869ff77c94f7bc1c8f8dde +CT = 8287c936ba25cd2f4cd7a9178f59d8b21e133252ab4c4fe40f9f7d01d68108c0 +PT = 36c7f33d6cb1529b6246e2decd3b0391f67306bfd57f9bc0f908bc5c2f29c200 + + +COUNT = 368 +DataUnitLen = 250 +Key = 487bf3f4ae1cc039a2f5810aca95bb59dd3be8b995386a83c31ee5dab436b3a7348ed16e4ecf4faf9d557f8f0d27657505c677b99aa2d9ab8007a59cd0505462 +i = 5aa9a36376658d92a3c45278df4dfeba +CT = 16f30c211c3b6ecaf91d8cbc4620d39d34421444dd50194c06734462c04633c0 +PT = 1c7a4087f7502b7216b46c327bbe395f878b006b81e34bf1c1f0e3a5859e7440 + + +COUNT = 369 +DataUnitLen = 250 +Key = a99ad79d1a26e95919757ec2d8e50e3eee744fd0c64922dcd0ff56999d2ca047d00133302b46f7bf1aff26f0ff708c6bde14f6e8b4da468835ad458d74ef4852 +i = d45812784728f7ea668b8e7538a8e2c2 +CT = 0b75e7834183258273682f683684fe80a1c01e986a7f3241c468d02ac638c780 +PT = c641ebd4b6444dc13eac7fd8d2ebb49c68b89c68975097cce4cf59f44a387e80 + + +COUNT = 370 +DataUnitLen = 250 +Key = b44cf6d6d1c294c79c82b5a8690edccd0e189d7e039108c53c0bd3224240926e73f7c08226aff833e298caf205b99bb5e1513c858ea437acd19f5bab638e0b43 +i = 593130747e2e5b84515a30c391965fb9 +CT = 911ff42c7843d7c2341d8e0f3b14950d0d67f2efa62abc79af96342f91135f00 +PT = 825bf2ef40b60db4e134dd484ce0412f2c163effb24d81df689fb8ceb5d69880 + + +COUNT = 371 +DataUnitLen = 250 +Key = e36b25389d6077326da134aa434dc3df229ca32cfdc1aad56b4041c753c074ae05f622ae0adbe34c6b33e8056a58139fa3d3c744945d092598bcde55987a7d95 +i = baf64bc20803cc5b09e59e5d560f7687 +CT = 524f2e8032c938e3e6339e6ee1370f0a3c32e507f206638943b19f87c8915540 +PT = 831587bd34602389155f872a401ee5486b5647c3a080d3c056bd9e1e9c5a5f80 + + +COUNT = 372 +DataUnitLen = 250 +Key = 4117d09d5260d4f325120bc52af804df277690d6d32ee6bdd1313863a0f50b361f4e69f2747c7b8c915c822a11a51e1c2668d9273660a42a65af01fcee443ce0 +i = 5bd1c4ee2b6b30d2012269489b1daf28 +CT = afe2ae22f32a604dd6934fdcd4b534e3a4921d3a75c358a5bbd698609d21f800 +PT = 24c21e69f2f685e9da268d0b28dc79d2743a160060f76952aa9bb0039bbe44c0 + + +COUNT = 373 +DataUnitLen = 250 +Key = c350851805ca6e370bc53846f81cfdefe4a39b96134a7d50b1485d39651c52484a8ee9210b0f73afb3b68c93ce309d30daf57570b3d801150eef270c92a8bcaa +i = fec5a59e09117aa45e569d6c286e2832 +CT = 8dfce04516703dcfba15442927d6c96a14913e369a128bbcd7ae4bcc82a22340 +PT = c2eb1ff8cee820a344ef498d377c12fc432d1f513b9228a0c57fdb0a480cb500 + + +COUNT = 374 +DataUnitLen = 250 +Key = 81034fee5f633f5af3a29e7ec34912f0eacacc2ca704f7a79aab32641241816f28959ed8a5d38c4a58e91318b93baa0cf5938b9eb78808533cd977305c7d05b9 +i = d3573712541359f9eeec566dcaee052d +CT = 662681cb169d6c914c6cd435c03d7ebdf8507dcfe5a878023926b0e228357ac0 +PT = 575a9be0442d652a97e51f804cba1e16b4639bed681a9d5c2390a44a80682700 + + +COUNT = 375 +DataUnitLen = 250 +Key = 8c8fd8a4c7138160527ab2498930e5c4ccda1271f0303f6ffebcab3f2c32f7438c0da7cc9faa91c4e982307522b8ebd27c003bcf8e9335aad994f133cab9f08d +i = 13e895359705e227ff3c7ca16e1b0bc7 +CT = fd72ee7c26ac0d165e823cd119f27a2367e67d1ea491747528d80e35dc0e9d40 +PT = 53a680ec4b830e2d80a90ec398c5c1d101a4e4c1777ffb20c79a50a2902c5c80 + + +COUNT = 376 +DataUnitLen = 250 +Key = 9c2f7c878a89f1aa622e37ab8c85c58af6382ac47cfcfad480b874899205a3f1b47f3672d3710449cb92201aa2ef16cbcc7322b5e76dc150c188a0a5509c6b56 +i = 1b07d03b0b447e105612a38d360c864c +CT = 96860dbcb95d1b1b3b8e211a126af738375ecc67bd8a0304565e1f1269425640 +PT = aded913836419f7bfa1f235fb7758d648d07d0365ec0478f69543b28ac660480 + + +COUNT = 377 +DataUnitLen = 250 +Key = db54b5451e53d4d011cfe23380fb5f80e225b84684bf2772b7172b1ea730b2c795f4bc524ce9c644e061babe2bd68f413ffe1a1252bbc5f5a2de580eef7a8306 +i = 87da3bb200c6e7206e71e5994e5355c2 +CT = dd2e9eccc3e1f3e2c8c7273fc073b1442e8e056fb7e2ecd81b7d9b6a331d69c0 +PT = a04a94e2f32c140e8f9b15bfc705000b13f0b0590a4af4c2fb697546cdcd0a40 + + +COUNT = 378 +DataUnitLen = 250 +Key = 7999831c20746cf93511c485ab5abfaf22a5759f081b008035678de2f14f84d1d8d2f213f946b103bcfd477f18edab29dcf98beac4200a516e9f1697095e5ac0 +i = dcb4d53ba895f44b3307fe0b0303e9fd +CT = 4439954b48be8af46b50c72b6344eb77b68cd604d452b7e3290c90e5ef01bd80 +PT = 1a51e57d9d4af743f1d262fc2c5e357d16b17d475d1f17efa4419a43f8f4fc40 + + +COUNT = 379 +DataUnitLen = 250 +Key = c886f6a6876edcb8622946c54e48f7724cd1ffb36ff61d7b74277f23597394fdc6ba22aa171831c43a6c5a562994b4b3e0f9146a42b8d057afdfb6f8571a011e +i = 5e3c2bd3b744140602c89bd330ee41f6 +CT = a6fb789f331266be7fb61fb193e811636bcd47ef4ece37ff9dde720970290f80 +PT = 38df35c811bef37225c2c38212d1e11504e8b62779c5b7ddfbe030d70153f040 + + +COUNT = 380 +DataUnitLen = 250 +Key = 1a762609b35bf5659d60ae1cd135a5cf9bb9636e2dd33f73d82e4892b8545b73373651a8896dda732fcf49f1a5b8df07ac99710a373f473c24db61a66a97c425 +i = a607795c9b13d4bcce14137bd23e1758 +CT = 03512d20096f4fa7f8662bbd920401522c67fffe54dca0f863822f2e97f1e5c0 +PT = c39a4a31435d5193e7418844fcb751736c168ca033dac9e0fbedc6a177f88380 + + +COUNT = 381 +DataUnitLen = 250 +Key = 1c3b20bb209c7682ab0ea7456798339b280d1f4ce64d618033fbab208f022b18dd10039d9497c79726c47869464bdd4298478d520e085d06e056b5a16a7378a3 +i = ab4af599532a2646a757fef7407be2b8 +CT = aaaf3435b730a4c929a0182a4709ec8a38af08eb346ea18cb2292b203f083f80 +PT = f906d74a7be8556fb1ad4b5150a1df7784d1ae04a67758a419ca65dbf39cb7c0 + + +COUNT = 382 +DataUnitLen = 250 +Key = 4286c24432a1e273e770c9619bfa61cbe3255fcf0fbd934e03c91c6c5d1c1c27078868589a909ae925dcb3eac3500c6abaec79a647eb08cea50a1b92327cc88a +i = 0b7d8c2f953b8eac65307c1e4c60f341 +CT = b0a3d2f9a3659a46ef4839c7d5676efd2505d831dc6e0ade263b97d2e01695c0 +PT = 9099fdf3de5c2921ef02a6d6a14811e30530e17b349bc5d518fe67b0a8386fc0 + + +COUNT = 383 +DataUnitLen = 250 +Key = 1c858d925601c9f1089436eb96bd305271237a093cbb63ca243d0a04343619c115d788240b91f8c5c422cb38bb92ad0cde2f024a3a59aa0e8bcfca365cd73abb +i = fec29be5dbb80f6c936144a4c4850725 +CT = 427244f274f7bfd5b04c7cf627b6dc8054aac04586035e01b1bfe3be3d9f0a80 +PT = 60b9a0dd10bbf5a1fc2427cabcca0d47338ecd43bc7afc7f7ce0fc6323426080 + + +COUNT = 384 +DataUnitLen = 250 +Key = fd3dd501b81d317cd98c14e2a842d09863d2a7edb5758008c18aef30dd157080e25d5602d433388f34496baf28dd9594b30fe88119e721b72027796a8e29b0e7 +i = 0334e68353186d0109d4ee8fae20645e +CT = 4cbfd61cf655271a669583d2330f7ef42d84297bd2f641a66a0e62dd7f05f2c0 +PT = b890b6468c2769d0c0dd8b059f520e5855ea5e892c6acde067e48c9346ad2e40 + + +COUNT = 385 +DataUnitLen = 250 +Key = 808f86104f67dda26efbdbd783c4420f9842db2f7ff0b771d59683a25cbe8edd2bd574dedc4b4ec4debc46cdddd503e59e19b294f9d6087ff706c6a4d8296f1a +i = cc6e23fc391d060c0e71aa4cb5cdb2a8 +CT = 169ff350fc6c93338025a70ca9c2a84b0afc97f91ce88461fb6a4d8f43827940 +PT = fcc615489daa1df9b2fb71cb863922a3a9cd538bdd3b2776c450bd224ccdf5c0 + + +COUNT = 386 +DataUnitLen = 250 +Key = a0cbe8d529fcee2d2ff4d7741909eac0443d6085b26a929b89c005a11143c9533c56450dd6800633d252510eb7163db2dd385fa9abf1d2ffaab899968e112dda +i = e44e86d0a728a72a123bf2b8e8803b6f +CT = aa4f8504abc651b4689d9db2d1bd525d24496186664d2ad013e13b3ebd6cba00 +PT = 5ea6daa225e0cdce76dbf1c4e82b5b80fc4516b92f434bf975d0d2fb9c2b1180 + + +COUNT = 387 +DataUnitLen = 250 +Key = 557cf73b59595fecc468f202f3358a452c0c2f88764699808abda7709fef0659d19bee06e2411c637b6cc5904a16b81d79173bbe78c81dff1d6b192fe79ba371 +i = 485fe72a29ff3cb5997c35c805f8f87c +CT = ba1bb80e13af77c89f41a061706b95d99959c314b1b30cb1fce20d2e0d7a6a40 +PT = 3556e4d56acd366da49469c92904c72c315c04b6a0fd5e67baf21cc0c5eb6940 + + +COUNT = 388 +DataUnitLen = 250 +Key = 029fbd8d7ac1515d7e1c86c44921da53324abf6387453da6bb52174602ada69096274733500a5aa2d5fe5c585215e746da9ca9e50e83f3d593bd4ee580e8df27 +i = 9743178e12ef81c418e15ca0cd86639d +CT = e753f43f8e53cc3c8b4de8c802fff3b835edd4a46a7ab4424602f55d1c332300 +PT = d683cde835360d5d7b5ef678d2c003047aad5a5fa842a3db39f996466f828980 + + +COUNT = 389 +DataUnitLen = 250 +Key = e87a5902281b7a6ede40a2d82caabc3054da979efcf3b08af7054616b73b8f53366f80dab79ee1a376f8b018494de401f91b3af6a2f1bae1e41aacfaa668470d +i = e46711b55c74465bee4f8a7de9ba7cc9 +CT = d845fcca8742ea3dbda089941cc797ee7aeca70ada69b27149324889fb0dbec0 +PT = 91ad1d915acbc09268cb98ff0ebc544b933c2f6b84bfbcc20644779d2a687bc0 + + +COUNT = 390 +DataUnitLen = 250 +Key = 3a4518ac24ed68243229d0007dab48b7da0299ebb9bb6fb5490ba8ab6fe315a1af659e62d7d51cd43b6a9308850dfeeb48f71adc077e444f78c583b2b9ba1648 +i = eecde3593f05f3e0de1991982b69ecec +CT = dfd8991f5808fce511e4d3120222c2afc018eb7f7f2f7501bdbc422bae01c000 +PT = 590766bab44073dff63d8913622d33a62bf392fbee481190f3eb4fe78804bdc0 + + +COUNT = 391 +DataUnitLen = 250 +Key = 93b9c6141a86a948bddaf7a71d578ba643becab1fed808035b6536bae7a007c18906fcf3e5ceaa9746e6d585b183a4369a535e027a7adbd8928a0e01cb4bf37e +i = 3007359f5b48e384621ee945c066d1d6 +CT = 01948a9d1ddc07567afa23c233e810ad3784f94accc198343a4647809637f640 +PT = 575d7967f7a8f51bc4b1d2b75e2f5c062c01a211e35991443ea3ad6e9b633840 + + +COUNT = 392 +DataUnitLen = 250 +Key = f6a734df672378fec0a59fd41e05c380b4107685a2e6764343c48d97d93c898f9cb4e3bdac2efa1a09185a3c80e10a605bf0663ede4f1ed58370769cb3548e61 +i = 86018ac936556dfebdbd6ebebd463305 +CT = fc6868b242075e814c008d8a2c0e377e764cd95bf5a212078356cdf4e5fbd900 +PT = e44900b98b358d5610ddad28185c64ea8410f2729d2340b047cb3051824d0700 + + +COUNT = 393 +DataUnitLen = 250 +Key = ab4f9f9ba2a7ecb436992708039a18d6053e24a14b33a2ab5f6d8b1aa19102ce09650f684e1cb63e7198991b12c4d117fe43a78c449d00465613be70a372497b +i = cf0d5fd379fe1de7e65aee190575e600 +CT = 649679b9af1e97f33998e803f12cbaff30ef3b322e654ea8938642112940de00 +PT = a02328eb19c483f8f1d799b79660cff23ad6d3a8e7833275079902e402370700 + + +COUNT = 394 +DataUnitLen = 250 +Key = 1b4c5d682d92c8794937ee0b59bed75a6d31f05c702189d2de90af39f0dbf8bde700398974e70a9498c72eae75624b2a5acc0ceb33d9c5c4e0895bc4b38fc8de +i = 2ea996f7cb861ea97506aab28d59ef68 +CT = d97f64e35cf54275bedeb6bb8d3a18431a9d275e91665d091cda81a9e2c22980 +PT = 22dc64c7d6babc5c85ac64c888ba12d96ed1604e394f9a8ccf09d4d78a924600 + + +COUNT = 395 +DataUnitLen = 250 +Key = be3db49a3600bbc5f955a56c24903714fb37e56b9c49743a4a5f1317b51eb087e75496d70097dbb01fd1f2aa43e6db80dc819f54b39694706757113ff981d928 +i = def76e9e613ae8a9ae73dc1df3ea47b6 +CT = 7ff503d55239e582a540feb8da0e68f107d62702dfc5290b6a9c82b77efb7400 +PT = f592d3ccf24db4e4dabca6ecc50b4e22e23ac0d9d67ce7e92a8e2e321e592700 + + +COUNT = 396 +DataUnitLen = 250 +Key = 80f3562d40cf0f0055a3158a0afffa2006659ebea7a4f7f567aaa4cef0c456fec41692d22f668d174d0411f08129bde870ca9beac58e0341fa68b5edacc98692 +i = 995aaf062e007b964a5acfbeb3d25d32 +CT = 5d80d46d2eb7e4d88d06837fd8e9ac06a32697a4302cb9d372d44fd471574540 +PT = 7d3bbbcc7ac065613f623a096c48236a6c4182820d32f50c6b7d48d0f0f0ddc0 + + +COUNT = 397 +DataUnitLen = 250 +Key = 521577181ae87ee6fe171f6b195b4c358a20b3cfa632ece398bd0e79cbeb400d19d222f24d7fa11fc9f886010e3f455febf969d392ae22c311541f06bcf351b5 +i = f5b54b1e793d59b0dbb8852eb08c8559 +CT = d56c450d024b7dbf6a55712c1efe3363f7661e69debd2b83da6387b825868840 +PT = d45d32b087e32729527d29147afdd6902347abc3e6e9c6009efdc528a2985e40 + + +COUNT = 398 +DataUnitLen = 250 +Key = 18e7782082685bb382dc15a90ddb7541018dc722e3b2e87f38b352f71d3ace6577ea8caa4b071eaf27c6dd7b790b1960884ad9461d67c6eaf39a9febf616619e +i = 1216fb2bd36af449117b80ad85089ca2 +CT = 5b53b2016706b06ca4dcd806891a56a3c2d0c5bd2852aa2c52a090a0b755d6c0 +PT = aa7a5278c354fa3ee3bbaec35b7858582582a6c186d2df9c7ea4d99537dac740 + + +COUNT = 399 +DataUnitLen = 250 +Key = 213bca7d159d9ff79b05f00b8d4450ddf6ee9c0951c13f58bc045f1c3d472004979ea229918f740af9f94bb43bb57b32ebd7be59a6ce2438cf4d80ab8507caa1 +i = a17bf0b9cf64a93a699a2346d18fff55 +CT = c0ae1acea3ddf419abe4750d1c6b77b681468c52dae2b1311f12b50e25d63c40 +PT = f45724af9c41403f07133fade632a4d4fdb45d0d659ab2eb45cbd0faf0661280 + + +COUNT = 400 +DataUnitLen = 250 +Key = 89d109977b8aa86ae9105e68a9ca7e1f597ab327fdc2877a5f6979a966beca0c12e53a5ef27daaef85b6aee7f7fa3d1e8efccb419cb6dbf17bee3c65d46ac149 +i = a9bdb4513936d11817e80c6719bc9a84 +CT = d58619e863372587579ffd1e35b560fdc43f796ca6566753a9dea747a115f1c0 +PT = c3fb20d68d02d47806f84d6d081cae22e319636bf6596de1035c7505a4233680 + + +COUNT = 401 +DataUnitLen = 384 +Key = f180a697333f644e15b4b4520df8f4722215a17acc6d1ada059f456c87649f96561cdc3c7055355e23d224c48829a15664caa06ff7c59481fb74665880b87d51 +i = 71356854a37dda04a4b454a0bebc4889 +CT = bc6b173e89c643b10720873e3ff8f9dc9e278e03f8e08e347af3199e06e37ec5c45bdd8b2f9a31d9b4c3729ddc400f8f +PT = efdf6cf49119338d3b1431de94842002c538bccfba194225c1f98ee62c5fc09731aabce41525184a1f9b6d7838b18389 + + +COUNT = 402 +DataUnitLen = 384 +Key = a52fefd95ee0d8d3f3d94fd5e58b6439ad71374ec7120072d99c0e870551eca2136f9aed4981b70a8ad830a2089a287363006672cab5c26239a44d57f94e5962 +i = d8e57c279fb6c13d997a6bad868392ea +CT = e16b4789f71b8504aad6ffffb91a7f4bc2f98184ba6f7dfc8a01f823358b8bfa1f552611d541722e2e0e5bfe88fd8b5a +PT = 9218809970ab05a4a2ff4c2934796d5badbd8d6e30d92974d6a839aee6008d1a1a5b0449b40624cbb85867be95b6c820 + + +COUNT = 403 +DataUnitLen = 384 +Key = b167fa386efc0156bae5235ebd4fc29d60a5d648c016c3705717eb717c159a551002e53f58584d9d74855cc4d7e4d7ecba073408f39f1a4193fa7545708d5bd8 +i = c6420542bd711b221bfde653bcec65bf +CT = dbb8392a2717936af8a637a3b135e4eb6aea84a3f4ec64ce7e69892c55df594b74f89710cc42f5f8dfd83fd5e466e005 +PT = c1f684bc486386f066ecfe43712aaedcc0912a5ac6eab77dc4b7643de99ec0eb934be0279775a1f103ae1d3f883e0b5c + + +COUNT = 404 +DataUnitLen = 384 +Key = ef1604cdcc91094a3533a5910bc2ace84905944e5e00105d3398dd9aba68fd0165ccf44ef9b95e22612689178a52ff238861e1f0ba3bdae74726d917ea15993c +i = 988fe1dd335709b78ecd26fb950ff45e +CT = 7b1255d19879015916f2df8a31f164ae6fd119bf55c6edd372cd7f5bb216ef3ddddcbb63d3fb37334f192c0392444c80 +PT = 128896d35f7a5586303e06032d2a654e33dcbc90408ed02957da3e2bbab2ec892908803aca20368d9f10447ae2ecdd61 + + +COUNT = 405 +DataUnitLen = 384 +Key = 47ad47c004da79ebf8746a42367b3bb0bcabbf791ab9e388a69692787233f568af82acb58137f2f236dfd917ad6cd2e8fdd0a122706d73e238f4720bbbb17028 +i = 44d44c1230173e694dd57b13d7011f3d +CT = 06cc5f87cfdc5d2dd29231595b2cc26017fa57bae64f7a0c71c6b0c7d51fb2cb4fd72727caecd9813478b6c725a4e909 +PT = 3fd99169b740663367ddd0c27f2e53caa7a9f9e0db5b33dd4a0aa5c348a99295b7d5a6a94f7d844e1725589541eb18de + + +COUNT = 406 +DataUnitLen = 384 +Key = 0e6e1140a30e59820cf2675aeb6a0e390d6ced29a792e978d8944a4138af8a1273000de0220fa70a2004b3a32f2cbff55e59362b34bee0e16c4abcc8e70e6fd1 +i = 466a2ff957bd2a4da8ba3a1e5e7b2347 +CT = fb00c6423222072ab182a86ee4191cc0ae9b06d3fb27af26ec7819d9e9bd1e52bceed11d7eb32fc252e83a2653e4ee95 +PT = 6fd795187f580c10ab3221d1719ca3c149addfb30fbbd660ef8c82358afdcf99f26909d72701701c6462d47648fd2b06 + + +COUNT = 407 +DataUnitLen = 384 +Key = f4b3aaff7a1e4018ba857121c64713b3cc4d41342240d3a06de098c48430e60edb1907418c510fa7e06bd982b2fd8fcef212126dbcb8e5442df86350e267c9c2 +i = cbe4d4d9eeb9d4f1bf76937c9dce877e +CT = 0ef23748a456af71f8cbd2294d0410e8e8e662f28e4c0bd9d1bd3d099e22006c20f729f62fccbea32c387798266dc996 +PT = a3394315937f3c590046f36cb0e5a1c18021212ddcfbda58d4e33396ae4afcbb1178c6b2343101aa1b4691f0f871f1f4 + + +COUNT = 408 +DataUnitLen = 384 +Key = b9a60410b0e210e80665edc2b0b631dd7d1bbda52d8024b613d5a1f3eb88a5e2eb365b5853a9d0e40520a68a0b2e4fea8f24ea78fdf3cc41f1533824c7d6a78d +i = 92077bd96ce9cbd81d20055570304c1a +CT = 8bf43b702e6099c0e460de394f34a673b77791c79454096acce80d3a8d28b5c90ae08abe472e93fd04abf4c813e8ee4a +PT = 195c7731f3371e77db78fec9bf47185b8c370ba5341ae0f35625abf5843f382a70ab681618406d4eaec598a2e5383e3e + + +COUNT = 409 +DataUnitLen = 384 +Key = 08b7af82538c09845754921ed46679047fc8b3fbc6ed4582cbcd61b11b9ba27cc0b6011cdcdda2d47d7cf32b698cd28075fd050559a920ce86cc634b178f3237 +i = c96ce1f2ca62b363859c679306b2b71c +CT = e91b78a0762b747d47bed387a1f35dd8b21a639d36e0124686602b26d27ab0b1528dc6366b71e89a774d5ac16280ce8b +PT = b4a6679196232c95a858c3ac6af5b6c7a0cbdfe5bd2bc46bda61a7528306a9538b3a4f0e8410c0e53377f1adb3d253a7 + + +COUNT = 410 +DataUnitLen = 384 +Key = fc2cca44e3880fa9ee94769352301fe03dccb69ce549bec529a64011d9903df4f7bab738e275716e0bb3d99c375ca63512936354490d7a9dba6fcdf6ce3c1a40 +i = c20432590236888d874343aad10b1f0d +CT = 63a8f79aa239be64116ef2675ddfd0b623672f8643caab17e5b231117f916f5c7e0c25decb42a32b3c5c04ed7bc2dfcb +PT = c6181d321b5ac40f3a9c80dbc7ee9344e63edd1270afba1ad9efde3d4f52ec22d8b19d2864496c6f932e6c26fa136d22 + + +COUNT = 411 +DataUnitLen = 384 +Key = 2d299dc9d8fa21205cb65b3ea50496b80b94f3449fba043202b05f8a80e92b1ded290c4aed5a8cdb9b1e184a9c2b1f5b615dfe44af48899f6826a0a27c61fcc2 +i = 0b835c78808626842d6dcecdc74c8d20 +CT = d3396bfb6ae731389861a70f6289b19bef74eeceaaf6c5b027c8139ecfb85c6783c6dcbe0fd5e1c29071af91d53e9c47 +PT = c8c112187f0316a41a9eb604842e31efc87790bb0c21aeae309be6c303abc326ea29d606d12b0f2f1b024d8a8258a753 + + +COUNT = 412 +DataUnitLen = 384 +Key = 2fc44e521419559242bf1b388905cd8b966008f73ec583c5969dc09180872fdc400b86d5666e5f69e3991df11c74e2ea63e4bed607b1c83c16175a4bda858e09 +i = 40323901f3713c41cfc06c058d312ae4 +CT = e34fe86c5e49d05aba13af50cedbdc2db626414e3fc19ce5550d8fbf590232ca29b4b0d89a80d74a2b5ad03177379440 +PT = aff7d31757d021745164bf784607da7f3946688ecf0e8c0846dd87604638043b508ebaf8c379c24049db90723bdbafa1 + + +COUNT = 413 +DataUnitLen = 384 +Key = 8bdcd06c43d516abdc7fbae34195cca691c6bc6c430c5a1c7b7e3597988d955ae8de8b2bbed42804e48f6ecb662e5c22327dcd26b0babec16c577c99f0941ea0 +i = c944d9f17b117c8cbf3444182c5e382b +CT = e3b4b910372e0f24cef8b2ce8e539b549c075b63eedb497ba5fc97674a41a847001c297220062362e7c1f10df2a8b211 +PT = beb93d338df05321644b94a24174ce239d42c59554208f76ca174e182aeabf37d3666e4bc2ce9cd400124d300a4a7a96 + + +COUNT = 414 +DataUnitLen = 384 +Key = 02f9f0b37b239ed37a9bb27e491247b225cd72a5014e24d99d43c775692f1f0f0aa3829d1f85e15504bba0b71520e57d18ed9c82be72f8776734d838c6e3e051 +i = 2fa6e33fa6c4062aaf86f009eb9c696d +CT = 86f3cef0df4d8c7549309671206c69856b163f15e59005ec81c2e3b5a03972d659c8abe6c6a2737114bca7371fb0846f +PT = 3a8be888cf239bfdcaff8dfbb47bf3e3340bffdc1220bada21e41d3c0f1bbe9880a1f263e617124b44eb57e63707f652 + + +COUNT = 415 +DataUnitLen = 384 +Key = 5e16fc63b6cdddc3b606fa6c6e610dc5498069f90b9f02632a8c6e875e59b55bfd241b4c51d88ac3f21910abb7034321142d125ae6d003a3540038656c9d78e0 +i = eda818cfa680edded36a6dba2f22f897 +CT = 7a7b0b2c530eb080987b1ba1a7df542c1bb0ed26b386f6ee44c38936d31a3ff709f95d4ec68d82d8eda9f74744b40d79 +PT = c06b883d42c3c27fca667b68456e70aa47b138339e0080b18bf4b96d7728ddac181409efd0b1df9e85ca6cb3c175e158 + + +COUNT = 416 +DataUnitLen = 384 +Key = ff525cc15e1ff34be84f618002cf36d2091d69f5e06ffa7d686a16b7be04598ac7cc6d13bb91b5caf9e6cf73a87f5de6495cd67780aad6833b9e11df32017d64 +i = 294498796ff59ed83fd9162f9e97bae9 +CT = e91418650650db42e908d023c170fa84fa18d56a472dcd91f5554c97cf69c57b14a5eeded083b0b4e77b12e739c32b74 +PT = efd85817b3b83ae02d6935240e8faccb5a1ccb65712e61304b92524f83461b84c1c2a5be7db62bf1ff2152ffe657a1e6 + + +COUNT = 417 +DataUnitLen = 384 +Key = 72cf527ed6acb33cb38a2662521cc775a1e1aee9a6b96fda15e7e7b138030e803e23d47654f1557e3f4b465872b239671f749821b46ccbdb4b9b5b2841a6dc31 +i = 5e1fa2c566ce867538d194035be1ad23 +CT = a6bacd48f7d98613f5dc08d98ff6c6073746e41e88817036877bdd742e672b82c5622cc8ee503aa67f8b94956ba533bc +PT = 2b85ea5e48a19a47d35fcc9591a61c5c85bca40fb4c633a58fd4de7c2148c4b4423681805807c6d7b8ae8a8d12b02683 + + +COUNT = 418 +DataUnitLen = 384 +Key = 8f0bec77b4648bfcf2011f84ede3875bf2d63afe7172b7a416ec8fd09c600aa1213dbe32687a863d06e649bf649ed2cd37b072b36aed2b151d168cf13d9920a0 +i = c9a77b6c764ec3e3ff30769ac8ae37c5 +CT = b4519105021b4070065aff267671022f69be9a93edff37abc005bc875ada5e22cecf2dda4b9ae5285f6479a31594535c +PT = a95785146f573c8ccc02ef9279fcf27d7da9971f492f8c8e8e121e39781d6e0206627ff80c58e758202112afdeab3098 + + +COUNT = 419 +DataUnitLen = 384 +Key = d502505257be4806fc22aaf17250b2066e6898460969038206a13867aa3a1a42c7d3998ac4f831c7cf028a8902ce59514d877f52300fa149fb45c5d058ba250e +i = 519fa724ddf75f98477d8e85edc5a037 +CT = 9ab8a521879ef4547467fa7e51c00c7af3fda6441b46200c54b36dcb9092c735fcd1868baaa625345fa2239a999f6ed9 +PT = f8ad02ad0dfc6e23a93890feabc3b4a2101a8a93148f62aa4197a12810f46bce149ed5a922b26d1a68988bdc087b5df1 + + +COUNT = 420 +DataUnitLen = 384 +Key = 28ec974865433690bb459d0a7736825571e628faa4634d3b2bda54f8cadda4572bd4a5734233206e44cc15b329f1485dd416356054564a76df40f5527a279894 +i = c6a9c7a5c73327bd0b7aeab0ff5b99e9 +CT = c457aa22a192739936b73691a2a15b64727f708817b88074bd9a09f68a2f61805a105d0180fdd2e13347f0c5a3358829 +PT = 46b12f1f19f3c6a3a7a0d419415325d2757efc886f003402eea094c1e620c828eb5dc6eb324e730647d5856f152e2646 + + +COUNT = 421 +DataUnitLen = 384 +Key = 447ca1a296a451e88c03e2845e8d0c41aca408de68d4ff866d872e9daa9fe6e977d5b91eea9d419c75a523378a4ae5ab9ff21728d50e626f51ab24539c0c0dd1 +i = 4348e0f0d73a3533f59b41d386b7542e +CT = 1ce333b441b91ea29724355a9768fc0098faf89f602dcb1c4487babe66e1100cc1c5a0c4198bab4efb696dc22e74effe +PT = 2910c532919dfd7506d591bed10f2a9d2a0c3709f045eb36b791e78a72e980acbd5538ced6a183ed4e4534f92fe8cbe6 + + +COUNT = 422 +DataUnitLen = 384 +Key = 4365f98aca9eba18185dff94d7326916b855ddd1d2b3495b8d3634f8618aa88a449233fdf400bd811c0b665036d14ac81484a70e92e989db3634fcdf15c8e602 +i = d58a77ef251c479f2b2f7b84a6196ee5 +CT = 5183b008e8e597829d660bf7fb6059b1baac1f2b4429249cc6e5db4b1c080b827a3dfc848908bafe7169c27140f36492 +PT = 07bf2e175aafacbcbbf0e0adba257579fd8e2b93e7622950193c1d9cb9ba555e425d0f3015bcd4d05ed209216eef2add + + +COUNT = 423 +DataUnitLen = 384 +Key = 4b96e62987d5de96e0c8dac25b30ce98dc5733be1a9428ae0eb24319b09848a264a46cfa0aae9b66beb62300b0e224805c6d4b1052542a187dd8146a53613d67 +i = bef744e3342dadb8888c8919cc9b0de6 +CT = 03ba73c095accb31cd770d402c3786a9a8828fa32cce8ec3fdafc6a59e74c57eedf19797c3c0e56694df432a8d6f7e89 +PT = 9b505eff5d8278c39cfab42d9e6d3a3ff1806d3d8fd2156b60375a43019d30bfbc7214a4fdeaca9beadb32ef743d2051 + + +COUNT = 424 +DataUnitLen = 384 +Key = ab3f7a274b3a81aefc3c11e3d6bb3cd9fdba6d396648673ed33a88239bd3b3c3eb9fe516532962dfc8d8a7b6f49e92116003f6432f1679620201cfd8638075af +i = 590f9802bc1233bd1235cf2393fad88c +CT = 59fcb32a08a232753bf56e2ab70921cd02e5f4cc98680a7e02fba3ef3ff5ff1bd502c91f15358990a2f58af9cd6c2a65 +PT = 645c5dc63e626e647a8f5550ccb432443ada0b716adcd9c23b6ff3025590af418ac42b48cc74c09b08d56525c940b4e6 + + +COUNT = 425 +DataUnitLen = 384 +Key = 8356e90f2b7340eaf6bd309565554402c774edefb7d881cec5b8b7011b0588383c04a621dfd0b30f2e892ce550b1627b3cc3736eece937268b8dbc6d29841462 +i = 7350eeb13cfd9211bc6ad86f89001a49 +CT = 40327153ca5f58d90e888afa4a62a74af757195bab95a3220b9e25cd0798e577298e87c8c7fc8a93fbd9ac041f3a997f +PT = 0b59ff0dd8e78d89ad39de40229f8433ae00c25e29d409e8c17246574239b2f10ed20775972312dde19c73dbb2baab45 + + +COUNT = 426 +DataUnitLen = 384 +Key = f7b0865e8413b08b325f14e230d746a697b3fe0f3b1c2bfdcc49f1b539e69ef9d003fbde4c57c7d6cff03000bdbb4c163da906e33009c7cce5935a09bf4490f2 +i = 2d75a34f623648281538493280b02eb1 +CT = ca2b035ea4eeab11819c2221ce54e2268612999eb7ef8e22829c9089cb92573fb29e3b605651a56a2c38408e1d4cb557 +PT = beb7b2f3c1588bc167ec1676c362bc4d059dcd1a367741e0cacab9577579adf11fb36d03db045abec06d76ba0600e7fd + + +COUNT = 427 +DataUnitLen = 384 +Key = 4a6f0f961fe466092c28f46983ea0ef2aec88410df42e3b7ceb99c47f7e4c3af3ecebe97561c784e5e5a45954794cf08a872caa678f32576d9c5e263ef256778 +i = 2fb6767482ff60f37ed9d67c4bfeeb8b +CT = 9ee45688df2239600c1a97dee5c0cbe983ce838d7f3f7b9c23053af8bbab11d45aec5fc2028deae5e27f6f2e30687d4b +PT = 1505e8ca43be97fe94bbf8a76228a3e4205b5917df64e8a818f2747d86797980d01e8f3538959a4c9334f444cb7ced0a + + +COUNT = 428 +DataUnitLen = 384 +Key = cf3ddd216300e728b45d7643d71bcbaa3fa7c7ab475593bd548e3ccd1aabbb54eb09f95421b29d895dcb17f644d39633d06b4dd84f93501e4aba693b9a149865 +i = aa08f7cde22815fd0602adeba6a0673b +CT = 3916e58714918f6440d3d3e79bc903f24ee8895dd51b46ae36e4b9aa08dbda567a8e31c32a86a9407071273569ea177a +PT = c06d3cc43965292eccce807211558daa967631043a64ed94ff95bcf7d63e47d12aabd86c7eb1ceba6f7a2d14e9b66c03 + + +COUNT = 429 +DataUnitLen = 384 +Key = 177d84aae540351f66818d18e971a09bed636f7851fbed08376df7360f2d640184a6472e241f6471616967b67ce2739790c303733268c064a7f8bc5e2fd1a24e +i = 9d078dab3c6fd707c8476c023f426ce2 +CT = 205b5eb8af070a902b5dc65ed6487f25a5b08b35cbd8aa3eee28271a67f18222f170b7140d8f4991157f69030c9a13e8 +PT = 008365d57214c7faa362467a53f96e7ddd19d4cba834a00c7627235aea73ebe0d5551a91aa91f564104a1df3419bfff4 + + +COUNT = 430 +DataUnitLen = 384 +Key = f38c80dae5c48782f49a02b958932263246404ff6dfb7a30a9253d1ac2647faa7d6676f375cb02532941904ef7e68adb136718974377d07ab8203f0ff5bd23ab +i = f3e7db2d5ebe321abdc18f0fd257b134 +CT = e18714f8fc476f4e81a2df2e2c24c2ae594059db0cfd3991f086319e0ca68000f9c29f9cf717cfc153ea4a6b6404e644 +PT = 2d132e6211a37216b99e7a3ecfa59803f9c07ae21f028641e0834450e01df0f7732767e1e83683b29ed2c1148f8d780e + + +COUNT = 431 +DataUnitLen = 384 +Key = 54d574328c4ae8a36bfdb12c2484e4d166542effa9a55856496dcd48e41a8ae10b6716ef0356075241495edfff66070a749744040dada29832d0a4ad28d912ee +i = 336bf049278da506f6980d54338e0352 +CT = 7715d415939f446aff6279a7a54f9f345616bff913c5b7de2526050c89f32470c93790f7d40c4b33d6d2185630a189ed +PT = 48ed975b45f57aece7d5030fd349ea45f11202c4613ff8a93172835a75c537425977b2386a77c42663e8be75975c5c20 + + +COUNT = 432 +DataUnitLen = 384 +Key = a0fbbac3919e90f36ce70c7ff9b947a4bdaf8b1464f14c7fe438ca2b1b6f1b0ff100a96536bbeed609f4023efa5b6fb901bd8763a075dae3644379d03c6c1c84 +i = cfba211b1f99531c00f9ea8b1ac59532 +CT = 487db980bd0cf7beefee4d7b2aca60d42c2fc59094952cbb45a5bde7c8f012ebb6fa5519ba64b351fee87941df6b91ec +PT = f4664561fd62c7625f43b67c80853109f7e214ad6197cc0202e10dfe2e1dccc52e33ad38656ef0cabdcbad6d0dc51a8c + + +COUNT = 433 +DataUnitLen = 384 +Key = 444e2659c5b610de4c42db40bd962ce8520138d4e049fcd6611810f3bf70dc42ddeb64c47bedb537b14ee77d5a019a90297bef364c58a90982002ed6640fb31c +i = 145ea8621178b9c59e14de3e8c75ae13 +CT = f64770b3f39271d50dccb4dfdd3000d4a2cefc922639965772e3859e7d33d9b54992932666a7a934e85712a8ef13cbea +PT = 586bca94504ff2edc9893070b5f30f8d4f86de07cf0958baa07bbb0b145672833f9eae3e1fb2db09b6cef82c250a95fb + + +COUNT = 434 +DataUnitLen = 384 +Key = c8a7591c0a0bddc9306da2be23b84e9eab8ca744f0ee38c072aa6b99f7a032405111672187a8d6bb1c261afc268b18989b4d8be8de2ea164a8bcf6f6d97f346d +i = a50faba186844b137545f1ca3daf4314 +CT = 0878a29d2f9cff3655c487a3a805abc306aea6d37e218402ad47e5d99efa3c888cab767eff058847874b172c89822ec3 +PT = 5b11a8981096828b06f42ef13e13e788138d89d083e9b50fbdd48b021f7b772d6ff45a5f4473985245537d959b70ee21 + + +COUNT = 435 +DataUnitLen = 384 +Key = 916c7018743955fec768db2a893382339b2e828fc9b18d29dc3466146bd89d7e914d5c5deaf7747e1730cd06c9e6faeeff3107e8e29130446ecec7e4bed73067 +i = 2984ea914545ab090ba8ef6f0cc25858 +CT = 57fcc00c7ec04be688b7dbe9cf0f7acf7e986dc14b946ae6ef70bca70777d13de1c038e6ee21266f85e3dea0d84dbc77 +PT = 08bb0c0f93d1cdbb5a135783390be691b5464d8496b1b549a0a639de0a5206d234161b86ef36dff10cc57076cb155b85 + + +COUNT = 436 +DataUnitLen = 384 +Key = fee78577ac335fc29b9da6ddfa9dde896c719dccedfcd8e440123fd99f7837c1a4a595f7ef083f995dfc1466f060823b3897f5ba5de39933d948a9d331572d7f +i = 65af99729b7ae9a254eb38e1cceef571 +CT = 6b924c15a9d118f20aefe1a23c6ead7a09761cf613046bea72dad8d650e104daf89709f0468871d8ca36596151c930f7 +PT = a3beb2187c58a39cad57ba1d55ebebebefcafaa93309a6658e489c172a3b50ca8faf4a4abbc1ccc0793162f56ca77fc4 + + +COUNT = 437 +DataUnitLen = 384 +Key = d4d22619ed97e265b18ce73c41b21dc1d7a3f4072a7344099edc174e3db5878ef7a226ee7066fd77f9ad3a75460ecfc023962e65629e5de3269708b0f7e0738a +i = 0b72ac5ffbd4a24463e1754be32b9c65 +CT = e43671e481a62ae73ef1099e7dbf0af7fd72a3aec3782820777324f09fe71957c29b168f46017b08a83e7ae5f31924aa +PT = aa6c186fc4e8a6d2154e50ba03c94d1989d484acb3f5410054850772baa8c307d16565a4b1a758e39f6b42f681882a69 + + +COUNT = 438 +DataUnitLen = 384 +Key = 9cd3a558e7932524fa7dbdcf022985526d807d14278c645eed8995af93c858092454560e8c5bfd9124bebe3abf245850ae61d14761b9aa74b4bce265e59e642c +i = b3564ac76fc41685f06c4d40d1bdf22b +CT = d2e3481c42965c16f030c5bcb7d1d9a2334fca7a374869b64e0e522dc2151cd2209c6c01d850ad141b2ac0cf58d74a81 +PT = 9ec4f6db65ffe6dec42aea9eda3ddb1babc0fa8cf5aef87324938ea3bef0d06c8f97cb70f431d2f70a34909969510baf + + +COUNT = 439 +DataUnitLen = 384 +Key = 3e63567d5ca65fb9a93d1f12461d40480cb3cc8f57d11c2a3710811ecbac749f6b4e3ba2aade8566e3f9ee185d0eedb05317fbf56c52309f8e6a26c4a4450de6 +i = c86df36d4e87d8c4e6e2f0eaecd0a386 +CT = ed84c8bcc815f1c1352acf7b182764eb974b6ac2de20fe693912f1b9cc180901ba5374417fc77dff041508b5040687c4 +PT = 1b45adc6c28cb1028b4d1b6be37cf96f573c7c5aa14e3a243e72287f732e7beccb2aa22f501154b3e977cd433748b292 + + +COUNT = 440 +DataUnitLen = 384 +Key = cf1313bef63543e63c29aa7f45e249345c7b404d87f73c72e0df2faf60a927ccfd7fb90ebac45f6a55f450e877fc55dab720e484751ac33d1e5bcbaa2f28d7f3 +i = 0bb38e535964aaa4f24402c6f3e5729c +CT = 41aeba30d4fe6ad18c879d1bbab5d1c905278095c47210581ef5cf4f9e25acec653c310a105ade797af148683e6d9dd9 +PT = e5f53381255dce879a19c04a91f66ded9828bf3635661ad630ce7611e9a07d2ef42c6a09c96e1125ae1ccb205a17937c + + +COUNT = 441 +DataUnitLen = 384 +Key = 66c5e85bc946463cad566b9453f6af12c2f94d4f9b0b090674306c03e4b404295ca27cf9ae1ad225dddcfee3f28fc5841c1bb56b312949f7c7568e3152b52aa0 +i = 74d8306f8ffe1221eaa3df8c969ac32d +CT = d0739fe477e043653bd684613db0c95e1693bf84071dbd6dcd951123bbb9e799bb066b199a22cfb763370d4425eebd81 +PT = 8ad597587affb574b8a0743065ca9fd84db8d0384628f791802f285d6dbaf6151a2efe4279c2dc60cac6247ff0a519d3 + + +COUNT = 442 +DataUnitLen = 384 +Key = 5b416949be1355a8f7f5fd86696376b624e0d6eddb5656e281e39f0955f3b8c4bdd42ff2b0d1e8ef71fe90fad28e22f7a0a0f888f3885797f52aad58e7534042 +i = 3f0ebd8c24ca607c54d3ad9a330da303 +CT = 431c80c417bc96a3ef4b3ed0d2937c177bfb838e2c6f52992f0d8852bc4a02bbe2e8a80f4055422f047fef7b63211194 +PT = b8e4e984efe890f175331f7b820d8ce62cce8104bfec907869f0c3b698b5a412f89b55577f9b0a471d7743ffb3fb9d43 + + +COUNT = 443 +DataUnitLen = 384 +Key = 788d65994e0fa9ce810d539309d14e82b0996aab45ac25c0124765116e18d3483b531473ccf2531e5c9bcfd6176c6e4dfa571cfe166823d2de8c0b9c7b030005 +i = ef453dc6b1c6e060b47c128ec663b396 +CT = 294ff99ed454ea558ffbadcec7074099de5dc4e12cdbe14bbe3c6b18c2b2f219a2a8411a314c7b450018c3e5c9214ffe +PT = 85f1bf2e90d3f22958404ffbf98db7b6fc749f30c9d129d0c6cc263dd7ff3330d660f1b004b93984b7ca5f341917de68 + + +COUNT = 444 +DataUnitLen = 384 +Key = 60cceda8bb03daa1936ad5d9e9ef6c1bad9200742988bc39cb4e32c6ec732f135c9a04e91f73a14524d9a3a4cbf2f2feeade0aaad65cb316325e31e10f4c0655 +i = 2844e7bc2008b44de2ceafbdd6da4874 +CT = 97c06f038f2e255f069f156c9bfad356f13b23dae7c5e370896d1917f568bb830ba69176ce2712130bb23e08f48cecfb +PT = 80f52422b15f7c9f2ed268de687ad25e7fae47866a39b98fd39abbace8e8641f881db1cbc165d013ade010d2f922efb0 + + +COUNT = 445 +DataUnitLen = 384 +Key = 70fa1524b0c4997ebc6c236a5ba76cb0e5d113ad3be612d71f7b9094b98940ad64aa8d437902d0dfa528b5a68f52c550728c8243a8e9552983efc9676c4d63cb +i = 16c57ab23f16fd9e27fd222289608ff6 +CT = d825d9c3cd47590372ff74093f6c45526ed4f4aab637172123f909ff6b09f3dad0053d2777744ebbbce564ef65f5d7ab +PT = c8ee51eccc3d9f27a954e24ce8e3e2c7646f3b5c56ae2eb20fb6039c65b1c87d397501a1e0e0f28c77c35fc62091ec93 + + +COUNT = 446 +DataUnitLen = 384 +Key = b84da0b93e5cbbe83d0afbef045b613d8f429b39a51e73848a23e052f1086e311392237b87847d65d20470151a835fd8ed8affbba92fde31f59370bcff524db4 +i = 9e4d4acd11dd99ef72e845dcbe0da30b +CT = f9543e5edbd0dd4f85a7c68cc7523f4467e89d65072a59ebb634a5c87f9baacdf76dd96b14a72810ccd4436bba040fe1 +PT = 20a8fa05344a41154dc3068ab451feeff5a7290f682e6d750f82867c217f60194896264025e1eee8f398d39786af1d39 + + +COUNT = 447 +DataUnitLen = 384 +Key = ca31bd1b5566d110cf08830e23618bc971eb5923ba15ac57c4b451829299a216367c6c26493508f87c60a0644a682820194902547d8095ac12a9bec669c806c6 +i = cae829363af17cda31441fe27c221a51 +CT = db4ba7cf0cc0d8b77782cd1857fd49311ce8be6bb9a961fd2d6b740895a12004c007c12562ada281ca56a662ad93397c +PT = b31a62f068ad9107e413d47055df2feeb8139190320a8ef190381857073b08c57de003d5dbcfc61fa4e5d2ef73afe50a + + +COUNT = 448 +DataUnitLen = 384 +Key = f63b73792fdded445434733c808b9e22afd927ec828bbc5c31e085052e6c9e2bae55a2b0ba24b14cd0d5997c7fa1dcafbda5664c3d9c52d1592d809626c364c6 +i = 70dbb202b17c52d054488b513dee5c5f +CT = 1be8e0c1a6c757b1cdb510fb25ec0b84d17c13ef14fe1c314e03df208667a5907ad51677d058e1103ec35b64c004f099 +PT = 40ab8f0039e58ff95ec3a51645eadf1fbce5731fd8d9a9f91fb1bd0daff4db3019b6dd280c327157e589d5aa2d2606b5 + + +COUNT = 449 +DataUnitLen = 384 +Key = 65f4e5433a0b76e53002c766394550d49a3bb82188e48de1d26c1b7fd9dc47f1b1c78d93c86f50f00df4f60e530c032ad382a5159300ddb0ce5edaa875ff002b +i = ea0aaa66bf1a100bbd517fed782d37dc +CT = 347cde4bd66851ac9689aa3e45e60d7e7d29082a2e7eb29f4526656773f71a563d55e253da1173624179095d6c9bc939 +PT = a723a9efe5e608b1b3d5906b8c9958635a7c8e8267a8a98c8857de51f55fdca01f99ee2c2c188d32496c5258f7629b4f + + +COUNT = 450 +DataUnitLen = 384 +Key = 228605421d8474b297649e2be3ef34685f780f8602ede63a42cb08ad9de1b0bf4aab97b46acd80cf0f7875a01bc586acb03f9de55280d832fc0f0e36c3b1c271 +i = ada053d9bd64caa95941070f4b3b1085 +CT = eb3a42930193f3164d93d7e1ba645c8a8305b1d72b25feb9fe9f49e63c97d5d53601c68c7695d7ebbfb67128a5a1cb71 +PT = a7decc47dcf7a39e7006595b51b064cff81661143cf1595d161b29b924d2611c55dea5f041a69837f3933ccba47b8434 + + +COUNT = 451 +DataUnitLen = 384 +Key = 9111edf90342b66007b95b3703baa40367a304b874e326273bbf77c1be2f941084a8f12bde73e890a87b72b27109381e5d7f50b4f71079d6778c8b6fe5104b0d +i = 2b4b47afa3b4268d2063ab126ce5adc1 +CT = 71a9dfba8fe5074180e884dd721f7c6a889b7650f038889e40b3ba893925a32dfbbea178ace0d6d03dc81c52faad6c4b +PT = 1cec25a66654144d0d080e90a3d9f6c367ae9d4d44489d5956855753896d49fa40538e23f7ab4128974ff9628a897cf7 + + +COUNT = 452 +DataUnitLen = 384 +Key = a89c96e055997ff9379b8211ab4c92da492d6e26280f8a3bcbaaa002f502faa9a0e5dbf38f10ba3edb30f272f0f5b82aedb601c290bfce03d8ca6f40c6c8b883 +i = a9be52eb70c79e372bcec2df1e0188ef +CT = 55d3dff798fda6a4eecceca4b6946e5634e7a6e179e53c0b34244672e492023e7654c6a520fde2b3d48f100bc70111ea +PT = dddd97f63aa0e6f23c0ae0e8bdb2e02ff55b988828e55ab93c6f77d4746d1c5e0d9e8490ab940b8a2b9f7bfa05d593b8 + + +COUNT = 453 +DataUnitLen = 384 +Key = 2bd96fc30471184ade916ee3e09280eba1e5247d338793a242efc5c0de985b43030cae0e20315c9f9f318b4d0d8843cd95ec74eed88675bfa44d4903f0480aaf +i = 2ba414d77abe6897c42c445c15fe40d0 +CT = 5022a21f5aeb55d8b039faa3ebe219ddc0e2049b4c03ccb0284c6e77ead77f9794816271058ee418f173f25d1f266755 +PT = cb746613b2cd6a6ba8a3941582e66019519e25839b5318c3942080499b9669493f3f93cbc1b26d00fa8af65d94aa82ad + + +COUNT = 454 +DataUnitLen = 384 +Key = 7e5c5440c0640d241f270b914bae3a66291b0090d4e63509ac7b48b59d52cb136468cfd6a73a6260367064b72a32ef07e679c27adea446f8d926a92dcbf09311 +i = 77992ce4ad2204b09304803db684ee3a +CT = 69d1fa60f62f03eb1481bf3760e69c73cdfcf7630ccb34fa11ac9fb8b5a2526920faee1b2445d262a49049e93183a222 +PT = 060cf67aaed93669d2069c7e2be3380cccf0024c681ce941b045057b085bcdaefcfb4aa2ffe1252356a0bd1ac5f96317 + + +COUNT = 455 +DataUnitLen = 384 +Key = 6b913219fc884ed655107c679c39724c754582a728fe8927ef88efc2f2df6c5fbd949b2c5e34bd0fc7b9d914fe91b2c6c86ef3e7251a1b4d6cb3550240ef4427 +i = ea03bdd5d817abedbdd737c037c48ef7 +CT = f1941323c4023bab79a66e8495a9234a693c784a80e34031a81c8a9a0646f9a94ed7eaec212f4eb80c2f7c95a9e8c88b +PT = cabeb3c2d6016d5dfc1b1e611f6746020cf6b029a3d0bc3c5aaa6392c1d9e43e8c541f05121d69410bc05d3aeace5e25 + + +COUNT = 456 +DataUnitLen = 384 +Key = bb21751de1bc38ab7ca856682ff22d82ab9fc12306d9348524e68b6503d0d57d4ad5410bd0c35faa39b1fec90b99abbf9e040d2da60103f73faf80ad82c5186e +i = 0a5abee76502936403ec59df5fed2d1d +CT = 4bb36fd8c6320bbb6fa670d3b3eca75d3ff1c1880eb1fc9b3c06a1a8357b06b3b2551f6ce89d0673a1426c04a5830d27 +PT = cd40698eee26f95457eb089b7b344525312d9e458dfbdf69b34f1cbd5141a4aecb074eaa3549922b3ec32bcd8715802a + + +COUNT = 457 +DataUnitLen = 384 +Key = 3a21ef6b1dff0dde7147ad5d63af604afd1d95a4e59d78906381df629b07f48870fc38379fa0ee8c2d1f6001a7ba885147562f649f9b193c19d57a5ae0bca277 +i = dd8b714c27ca2f932d753cc35abce78e +CT = 36472c0c0b239884a97fc8c1d738bea4f60d7cb4348626d71543d095e3a9aed54fbacbb9cbd9594337ffe7a9d963efc3 +PT = b8ffe21771ebf2ed99280950a677909e68eb3eed1058bbb6fab3015ae09f36f11b0e30beb3b2e71ffd6ac5360903a3cd + + +COUNT = 458 +DataUnitLen = 384 +Key = 87b4e3e31ff5074931d38fca3b405c057666e68988fa54367a136bceb93a51a78f10871f0c97b60f32d0c3cf163a32c5e51a67d683d4a713387637ff56f50307 +i = f0d6ca3a1e8fbd8db939f849ddea7836 +CT = 8215f22e13398f38f09c077d195c64d600fd00baec340d239efef411c85b62521b67050d0463659a220dabc7356654b5 +PT = b65eaa8adf598c3a1c62011ddace18b70324278843ce3fd4e9fdae51cf1ebea600db260dcd5ea9652c8f9f0ec31ff975 + + +COUNT = 459 +DataUnitLen = 384 +Key = 237c7f74befaa495051347def47b10fc31c1a7f5ebd1747fb4b15afb0221035359063346a55ce6d80cc71f58686c4278167c365989034a75c2a525e40ca73190 +i = 84d4fae61f666165c222c37e97e2b5f1 +CT = 8eb2e25b1e1684bdf0a79c4b56e424a5fe88b93a16841ccbfb72701ecfc3c95229162ad194eacbbbfcdca0ba3dd06610 +PT = 91ce844ba2688f55f294cc67c8c49fc2ed48ee2b937bae7839ddf1b9bdcedc9007b6f576b8658af1fcd98ef2c8670853 + + +COUNT = 460 +DataUnitLen = 384 +Key = 4ed7698c12c8b42e620bbc087ebf6ee88cb69508595b3378d2f5cbc9e7bf612261dd69b7055117babb319f2324b3b88f129ede76bdd6d0043e39facbf7ffcc45 +i = 54a2448526f9e9a67fdb3c998044ae14 +CT = a64211f3b4a16ad74200a569cc4a05ceca97de5be1c10c5552d2de801a5c9102d79ba872df4b94ba503bcfbbca4f550b +PT = 5840794c0c4349680a033fb95d4a2ddd8163d69a7f31407c6f01729d03c094e16cd75070e9ba43a5f9207fb053d31025 + + +COUNT = 461 +DataUnitLen = 384 +Key = 985fdec8e6ae77ad871d8000a12420251ce4898a1f69265268bb9a4bbb2148f6c94244a04f48089fe07315b13aa56ebde62af8f018f61b1e3366262e3d48b169 +i = 24498f7118468e86f259841c283dbd88 +CT = 947a979f228700e540a0c484d046acf1f3d06d081e6f0e4223e92b12ae68590fe4c86e67dddf6f8344351d38d2770403 +PT = 08838541b90d2d30172b24ae2cf5c5e770e4d7fdd8f5d6f09feacc02430627259fcebe3fb9e1c2968f3fcf6c08baa674 + + +COUNT = 462 +DataUnitLen = 384 +Key = d02b633028f62f66edf6ba2290b46ec9fd5e9ab6a462feb71f09b4375daf7b873e7057039883fed404b3cf21f81c1bfe2f488d0c41317591e01448cd0bfb85ae +i = 1b7f424fb65501d33f79e1efe4460a51 +CT = f5ebcb1312afa66598b49ae62020ac5c6b9e629bed753727d0e514678c86268393331c6c153c53868025ababa5c3f289 +PT = 7a44e091548ad2bda9b26c36cac7d4dfdbde3935a4e0d642ea3a3c09d773094b6341785a196b2cf95da084760bb173bf + + +COUNT = 463 +DataUnitLen = 384 +Key = 4c0d1dfe34298acd24a983718231f8265302ab07e90ad801b199acb296bc75c41e6e2277a466b77c65a93b6d9e984f0a9da857977425d18c2edf26b7ea408b44 +i = 6b0975387cea61281bbc4a619b94ab45 +CT = 1d72a8f596e7a0635ab475b1733444df3ab230727a0991c0493c3adefeefc4de17031ea834026659edf1728b3d50c89b +PT = 5aa9f0d27530ff99dfd6b30716a4831af1811e70edf9793f51d54474692d37ab58ab3f6f7024d496caca13dec3d0e2ae + + +COUNT = 464 +DataUnitLen = 384 +Key = ad3ab9e9e6483175b6c5c3a1eea5690206ec1e6354a7bd2754d1b3870a526868cb7e371e6714cdf349efaaf17830d2d0386376df6be216098b17cb2c1952eb8b +i = 7ee4290527b66dec463a1a4092230cd4 +CT = 6f3d50b3e850e0e8f0492a192023dd5aa8889f92acde41b77d40c3abee6bdd8feb9527cee76b129f91998277f86db166 +PT = ccb973c1ba31fb266cfe3c8ed157ef57cf20161a6fbba3ad4411401f3d6df15cb0e82242d5659ee3254a6c71454fb113 + + +COUNT = 465 +DataUnitLen = 384 +Key = 186722cc3ff2088694cdba9e22c136d0e35000a1c2e106f0eaed3c44b2a3a3930d708d182f714c70748e1baa5e3db519b3f08403baea87232666deb8131dcc36 +i = f6aee1af0d8dfdc72af493a129aa0ebd +CT = 00201cba0e7564d420d0566e961931ca9664e05959e5fb050515facaadb541cff4376932eecaf61a039fc680de336995 +PT = b89acc2bd052f10cc499e5200bd0479c20bf40acc0477de3c7253f3ee371de4e64fcb12facff7a6578b3a082788ce181 + + +COUNT = 466 +DataUnitLen = 384 +Key = 64dc77c5e0377050f03c993d95f9864ae28342e9584daaa56159e4c641e5a9458655daa1e6f601770e2c1caf0b05eac315700bc1af41c2727f17e4aedc821b45 +i = deb6821a6858d758e7dc4ee924fdfb92 +CT = 3fbf848b218119926fec2f7d8c67b54ae853ec85da4551d95ddb628f5b56519c1c0de8a94e5e5ebe622ac79293bef727 +PT = 8e065eca5823f041872b3a2a6fa874a02c504dc2024f97fc1a8f89f2e094acdd4a1690c0b12567786dde80e591741852 + + +COUNT = 467 +DataUnitLen = 384 +Key = ffa81fd85aaae76cbc7fafb7a25b3fbc18aa535e15e81f1e8413e5e5407d193f7e908aa55eafcc0f4ce6b08e98dd7bf25e3adb430f1f5b6119d481813e962a32 +i = 589bc6953c40b328c23abaaac5a476d8 +CT = a179f6856191b0fb8f698b8c953021ca8bacf4086f874664611e11056f18a06e6a995827d0f8bdc1c9c39f5b52c2b30f +PT = b29060e7fc2d171b1bbd261a07547e08022103a2942958da403fcd676f4904d75f344390fa0d272c106d4c8804f1302c + + +COUNT = 468 +DataUnitLen = 384 +Key = 5ddbe6529a0b28fa77d20f200f3b6aa0ffec804fb3a420e1ee399d02d44d4523d6eba3b0b3166d8810d87c1424b31e5a57fc4b52c44a0a3b958c082e9c9e5992 +i = b00ad83bc810b6840f31b39d9cd109a2 +CT = b2faca8ca6075c8bd2b9a07f34c4965f33a3afe51c12f282e588d0e1ca0240de523158147d0720dc0743bdcebdb53145 +PT = 2f6acddae92f66fc39bb91be1282c97c5261995b2b82a315dc3e789b34342a0f1b656f4674e1d03d36385f043478b526 + + +COUNT = 469 +DataUnitLen = 384 +Key = 8424a2d5735a0c26c1031eea01eef7e05e5c1a8321f8ac4f9934336d5d5d847ebef95317f78c5ebce8a82499f919cc9b535c7f110d960991ace250f819ee53a6 +i = 6c146de439efab2aa98fe5e06506d6f2 +CT = 9ddcc0d9e0f21f6addc8c73d992755593276acb0f2410e34c633c9c727becea542b317977964a16192c88784c2028c29 +PT = 252c6117ed5b9c70efb57c45f1e8e251fab40ec4bd06c22bb951db075c9eeff37d6ce72ca29635c29a182d2b307fc2a5 + + +COUNT = 470 +DataUnitLen = 384 +Key = e4e73bf6c3609dc506068612cc47265c3429bfd912549858b581dfcc3690b9113ab0199863fcb899656117af9569ae3aa8ff4e67ce76ee6f24a35eb6d0893edd +i = 54876221af1ecd98489bf723fe9fa752 +CT = 0760b730b60d1acd026ea8402980362e98fef6343120c23203a575ee218cd1300c157a1fcaceb7974040dfe8d7113106 +PT = f497584ac014791e9582c4f97e1ed031134a6e872cad515481b78dcbc60335c5a89986c857edada62ca45cfcfe3de5a3 + + +COUNT = 471 +DataUnitLen = 384 +Key = 288afcbfce921e11d0376d2c6eed412d1e46e8164b5f159d810f50471e82be253de581cdd05157ed4d6431c7fc0246eec4d279985aa3e7d7435c29f15df93988 +i = 89c6b5a98d7f7ff5310aee0947d07111 +CT = ae2d5bde37e8770f91fa9486623c7b2f31a6e45660f737bc809dcab537509c4ecbed500791b1c1128b9a8eb0ef0d3f78 +PT = b3e5d37d2e4eb5c523fd7dc8de0f0c699a7bc3470cea3e1307e4cd4b66fbdc74ab1a5afd2f7c68441d6dbbf3b275d11b + + +COUNT = 472 +DataUnitLen = 384 +Key = bf77dd7f04c2502d5ce07e9f723c7f1e855b2481c35a962c6b5784c629c94b10e0fb4ba16d381ff8ba174d5779c290f93d5ee22cac4c1cb6828fed12efcac8ad +i = 5d628c12ab06a2c576356cf9e0d9df7f +CT = 19c9fffdb898dec02f7cd91d03e8626f29fa13e3dd2639c472f746105564d8d74d0bc2b47b4c0d299889d6426f2b0f52 +PT = 55c3fba5aed86ef55d439379ea1b3b9f231f31c176707665873e85510572a6bf9ba846dd368a56937d7c7dfecc33b0f6 + + +COUNT = 473 +DataUnitLen = 384 +Key = faaa0558184c419c044eecc892efa05cc8d27d71a1a26fc97ec8bb27efac443110495dc46c73414cd81727259e0302a9834ebe5651e15a914217b376822ad12b +i = d7031598a662eec151bb73defcfccd25 +CT = df527221282e43f83812858b0a41857ebb998713d3f27ee87c51f2e95ef3316a19ae6d039761b17114b6fc6faf47fb29 +PT = e992b36451734ae7d417fd3bc949c4f893203fd62bd146f9c31fafca91060ad6be941fca204020fd292711473e93889f + + +COUNT = 474 +DataUnitLen = 384 +Key = 31b13cae570bc1e964d3280864bdb9633e4b8b7c3ac52b58093534944686ddb4963b4ed0a3fa37490f0d9917241d72e78882d5890b279af03b5f9868eb5f84d1 +i = 4fbb288625fdbb539862c19995a60fe0 +CT = e862510b1a3ac838daedebe57eb4a76984908477012dc13e7be464648c8ca45be8e330e495fe96f1807ddbab52fecb9b +PT = 821cb386c87a1c0143f49b5fbb58f98a18f351a0002a52460e2c2f93bebae2dbef5cf59ac38a2e65f51d99d885df6b92 + + +COUNT = 475 +DataUnitLen = 384 +Key = fbca0e46af81ec5238d3a1f800f3e10fc672bdaf4f50e056a070a776c4b432405c12a73aa5912781821d3b406abaa9aa21d61dccd74b71c38854e4d8539cabb9 +i = d5f2bf54d338e2b38cf4abf0893ab532 +CT = 67e48a78095f78d94a0b0b502c46f6d386f28b4b6c9c208c51699063a9650cc9163f4fb201feaf2441abad989f6d943b +PT = f7b12975fe133472f535c036191be0e8769047736cc9c308ab49f52f83d44c22929655edb99af3213fa6dad2e14e16c4 + + +COUNT = 476 +DataUnitLen = 384 +Key = 343345475b56ed9b15630acf7806f4a3756ec13569171b998bf770ca75cea7107a932b886fbc932266f716d4321e6e55a142223072daf3d4450ab318c6a9a659 +i = 1cef65aafee11de5cfcf77680f9bd4ee +CT = 122ccb6acb6fcb00a58046c9bb7a089a790322eaa95bf7a97c47184f8f632662a7f89074ad94a33959b2ae9a9e7a7123 +PT = 4badcf8762a4573bc8fe25de5fae2292bbb9720e707def75ad02aa4ec2c09b19a658708d5068433b4de063a3f3fc0dc7 + + +COUNT = 477 +DataUnitLen = 384 +Key = 2cf754836d5e12d64b1d5040e407bd1567119ebcced96a9b5aedfc9bf1193beab004b949b85c9287dc261b87f805485f6164ab4a0f37dd7e67be709d2a7d6c62 +i = b0c662ccf654d461ca187713b644846f +CT = 9e57d41d0504fe2826c0e87323e684757f1e630c4efe5212743d23a934f16dc7806c0cdc3a2061ce4964f4e27e38089a +PT = 9b0eac1bff4cf5f810f2c27bde28c5019b3d092a5fbb2057b3bc02fa45afcbdb22f9c4a5e365d047efdfcf3817fe6b46 + + +COUNT = 478 +DataUnitLen = 384 +Key = 36af2528fcc8470a3087e4719c045717d342471778f1f1820154ca0870d2b78751bd95c396f77464c1bfc3f001374a432d04d974817a591c499eec04f24234ab +i = 741b84f651fb633caf7eb642fc6af966 +CT = 71e013156c93816b3fa0637d1c240df75523e39ed73a401dd1f4bbc5715970eae3d48df8ec4d3366fcb36f1833851597 +PT = fd021404320dde823b797d70c82695cc2fe295616d3deebc2be55bdd5af904c6e8b5758787e072e839e990692d9ec136 + + +COUNT = 479 +DataUnitLen = 384 +Key = 05a0f1b59f9df2d5cf27c65dd2e7f84c65a1ee433452c5c003d98a348c7e9e8e9d978a743c1e67f55c923bd19717685429e7b34c032f8ef7dfad42061bc9242f +i = 0d9c21a8549aff00b5795fb7c01fe78f +CT = cc498edc8243393bb5de6887717c4963954c7571b8a68af79062dd1ced7871d84a0a4da5eb7916c83415476c1a93a310 +PT = 1bdeb77b673a2f34889c50255bd5e2df2721b6b20b7c3c52b62af1c8647db32fb271cecbdc1d23dfe3bc8d57d711b646 + + +COUNT = 480 +DataUnitLen = 384 +Key = 30d4a18d7715baa3d2abb316c148428969ff38ef444b5543490c7145ddbed5af2e2c67ae518e8a2216be7485b237e3a4440d64d3f404092f9986d24bd9ea232b +i = ebc869d8126f4c13de42e1d3d7e90ab7 +CT = 46ddf06e9b9f3f22a2105b5ca39b5900f1337eb16cb9815bbd75ce886dc105ebd74807857a895c32f009f81d049db4af +PT = 15703b43bea29d30a34713b9bbcc3364bdace695bb37fb87a249ae84ca0f3056ae22fd91e663cb3a5873bea084d9b4c3 + + +COUNT = 481 +DataUnitLen = 384 +Key = 0f1d43f1ef8e7738bd9d889fff2486dc8703b39b739e78480ba5651093d70a5eba0402db079ee058fe013e2244b76a1d3c0b0aad775e1efbf7d6785915f0e7d8 +i = 5efa6621ee27b2b587322665341d622e +CT = 7c8d945a350b95f8a95264caf51679aa0429110f808673d56ae94aecc12e95843a5a7fba217d9e43fcffe43718528a69 +PT = 63a7da2ac0f7478937ca521e6b9f27309f0b34ad5fc6e9055dd5c3273f585628507a15ef5c003c5a0679ef694ce6834a + + +COUNT = 482 +DataUnitLen = 384 +Key = b882624e74c9041ced3ec9cf5db40eed0e2d36f7129e2b4c5ea65a8b72bddc7740fcb0df4afedb3e107dbfd8f201300aa0b12a8d18a1e07d572fcc533ecfc040 +i = 239ef70c534fdaca60a14fe8ca3bf3cb +CT = 09df09b43b1324048e1cec032dcef36ea402d7acc1b4590ce2e28b30ba97500d6d734a5e8daad7054404eeca1e8de90e +PT = 0b93b5f8c23c56dad2c4baf948ac413ded2349e6390ef55868d9850a5506795f641d5935ef90d3353ffbd2359372589c + + +COUNT = 483 +DataUnitLen = 384 +Key = 3067b977b103d6253a83031f0f7e224a5e60ae9c2fd9bee920f64b84ee7ae460d747c9fc7b371a84560942f465cf8f774554f69b2165f472f68f8df6ea11d494 +i = 1cc671b9eea8d38616e05da5c6760ba9 +CT = d76127e3bc15cc6772a693b5750485506f67562a0ae81988d2eda85521d4bc3a96705ec17308639551e6ba76b125b63c +PT = 38a574a8977b38ec3cf9858fb50fb0e50c1a31f619e36a3e42b59caeb3f76afd452df46243cb920675f3031372c3cf8e + + +COUNT = 484 +DataUnitLen = 384 +Key = 90e031e39a40242e8adfef6efb7aa96716d2253ae131f140d59b12870ce0ee53818730affac35c782a5fe3eb8fbbe028c8b409e8dd093f4f252af920819f1426 +i = baf030be22e5bc1e81c8b11a4db3493f +CT = 3eabf805919f0ee9619c4e2abb757bb89ab58e0a8eabdee0b20386b5c31c25a9b0b53fd1a7e3f17c4bf86e72e4010ebc +PT = f3b79cceded081b553438056464fd1f60b3a4c159507dbaf2972a17a21e28f3c0e4e6f298ee5cd460c6300a4dd101fbd + + +COUNT = 485 +DataUnitLen = 384 +Key = beffab14bd325af4f35e192475c48c9a0c3df06ea983506438dc14c985a22dd4ca7c58ee4ff394a896a96e9a897b7c5565cf9dff0e760ec9261470cacbd28e93 +i = 10a7aed2521a5afe0b7f148c8c75e86c +CT = f62e42ce53562ea6130504ac8ba96e63acd221ec284d2843b60530f7ceb8cfe6b2fe61d4b8db39391a30ea04952f7f67 +PT = d2b76d9f5f046408cd383bee6d25dbd75e089ab2bceb85f46aacc5d1c6393e914fe036c27be86c6b4e8256c081951ae8 + + +COUNT = 486 +DataUnitLen = 384 +Key = 409531fc6ee8715c17eab789c38642f465b5edd7c5f2912b81ba44e4fad95e6224e3fe0a38bfe4c533f06d20a8b51317d0d26574785601e46bada568c6adaed6 +i = d7ffc894ad769873709fc5e916f766ce +CT = 487ad466c4b8de4aae5f3e8cb4ac25a436cf4159259eec7672e7885a1f088a339bf2841397acfaccb0fb577a395e5937 +PT = f4b9a9ec2e970169074e3b0d8998671a887f5c2c2f065c5e0f5c38356c1aa1a750fc40845e64fc63495c1f7f21c896cc + + +COUNT = 487 +DataUnitLen = 384 +Key = 104406d7b0424626fbe10c50a92383e2df68ed51cf3b28d601cb8fff7d317ae4f3cb6b445cc437bc9465379310b25d1e9612d0aaa08f8c98ed1c0fba6df8fa88 +i = 44018c58b87974010aca151b754bbec4 +CT = 6620a89180027eb3fb2321d8a5e6744808e4c4b39d3ef618f6daeb63a8fbafabb5d13eb57c0fb1b1a0a675bbb0b40a1c +PT = 93fc171f9571dc62696294ef99f9bd71e4b3adcbe5914ba0a2f8bc7c7dff005bfece2c213d2f81d9864857eec5c8714d + + +COUNT = 488 +DataUnitLen = 384 +Key = 841be6311688c24bf03811bc32e54a43d8d1006a1556857020d60296ee7cf4bce5a16d0cd3300a983c2c2dcc702765cebd09a9febb4faed9f0019a4678f61466 +i = 5b9a3fc8f4392061225ab495c9b92a6b +CT = b7914d966538f95e9766c83c70ce32b43c394a92761df08529113616e25ae5a969f3a25bb637d8d1d03cb4abfe661d2f +PT = 05d3d65639763a533c767054ca2a0cebf52bbd66ebb595dc6a6b574fa07f3bcc03473624966b92fbc2010f2e3b0033f2 + + +COUNT = 489 +DataUnitLen = 384 +Key = e9ea6b695fa5cebb2ecde875954b97a0fceb06a4f209b930b79ffd3264d146dc73060c8bab6e8139231e043d0aa8c4efd7bc7ce91e077ca9e061ea97289ad7e3 +i = d573693d0d51687eecd9a7edf3c3d9df +CT = c67660698d58c294e7bc3ac5f5b044fe66f6cfa76009a749464ef88e60bf0357efb7c7d95c2f868fa00de7e37bb124c2 +PT = 4c3eba5e795d60a260379684fdf8c29bb420b597e76ba5f391d76edc4f20e9d42e77981b328a14032347b9237aa51e62 + + +COUNT = 490 +DataUnitLen = 384 +Key = 35abc4d747a1203003364d26b9421bace3e714f651fcd64d7a03fd4fb07736df21c4285a51fbcf893f948b9d5c8c23e68d4adc49d5443770ee0f5b68e3e6667b +i = 9bee2bcc842c8ec4ae1b69a8c856b751 +CT = cbe57195d9bed756c3841f74a5de4c5682a1c6f815de80b53bb558566b45788bf14cc35300839950f95553c2cd80670e +PT = 12f1cd63140f348d342c9bf7f659dbb881f940f0d1562fc46b94704b5adcf6a29f0ca72bf74f0d0e139e85ff4384348a + + +COUNT = 491 +DataUnitLen = 384 +Key = 36fb7b676f4cd16776861ce117d444c87888d9aa2d4d06d73858a19246798900de9060ee7d165245fb94ea003ac58994dc74a03a1804cc7ac11251b3ce796806 +i = 44aea9b2f5c27708ee13287f404dd41b +CT = 5d3298f642670026c25dfd83460dfc8d5c2c3333459346ef9b75fa3faee08d76a999bb024ac3d3fcfaf3091b39b1b815 +PT = fb308adbd9c03742adea867df4891c0452001146ff113ac4552ec35034564ac434a08ba696647014d0f28b620aa8c350 + + +COUNT = 492 +DataUnitLen = 384 +Key = 0b1431facf4cf32dd3534ec9c5ecd64b3e85a5db73a1550a896e56ba34bf651e5bc19200f5c388c9cca5981e0e594adb95e453c3884acf6f2b70d48f5d0c7586 +i = 76736be270fb7d96b832c7bf1af4969a +CT = 14780c7b4e202a434cd561a6de1d7ca5c1529bef4c3f65b29a6e5e5038f22dc2716507dbcdf42412422a8d2593670926 +PT = e7a1cc5ef4587a88148cbc9eb35ce9d0ddbeb47915f0b9ce801e2e94cadb5ece2b2e56047b04d7bcce12e34e460aec9c + + +COUNT = 493 +DataUnitLen = 384 +Key = 7086656629adcd47e7093640173f6088648c8477008f590e3f538b49ea1b07335c7506bafe80ee8cf68f553a885cdae49e099741a4eff85e5e782cffee7aefb6 +i = 6679472356a729febb493d90e9addaed +CT = 677dd32fd0cc7434fbd39d112e237ed2c6dcbdf01e4df0dadb12018d13081757ba878656d21ff90e0f7b489a4c53788c +PT = a153dbb203db963fe92acb826960babe59d7131ba378e19431fc74cbd47ba346d648ba9cedf307dfa0a6c090dc7305ed + + +COUNT = 494 +DataUnitLen = 384 +Key = 8a0ccbfe4a09b9280b5d79f2e9e49276192df1eac5bda7f882ae041780b639a977f4fe392e7c05da0dac936c32198e5d9c14b8f191511fc2bdbac7fb7af82c8e +i = 3888ca86a5cdf357425700fd66e55329 +CT = 8791f067c70271ddf323ebfd32988e6f2750cdb3f2b67c9b53f49f9f1a083cbad701f74dba5b536ddc53f5b112786d2e +PT = 8cf4f661a4180e5308b57d3ef8acd59fbb3abb4c03354a67c0dc6cec4ada69f43954d92208a863b585ee09e7832f3578 + + +COUNT = 495 +DataUnitLen = 384 +Key = 92a92ba922fa20203b4c3896493a0cb73d69ac6d1394e045bad03eb4c3ad2074fb48b211bd02bdb909779324f562090f93150519c8def3097bedde001b5c8909 +i = 595239c0562c5732f5e478d20719d530 +CT = 5530b8c60cabe411e865c2b14237bbc60c028934043f74338f8627647b12df38189fd62a34729cfc38b3833cde95d8c7 +PT = 7aab1b018951463f6033f7c0563cdff9034f7c2133f6f6dd9e01c6f86efa5998c0ef992a71e0a18fb8dcd4e3acdbc79c + + +COUNT = 496 +DataUnitLen = 384 +Key = 7155f6716c079eb48dfce786b577970664bdaec150a9a862192ebf0886e77124977612c578da8fd9a2be4d579e5eff47dd0d7573acb6cb57dc0ecd00802234e2 +i = 3fbaff1b605a9404fc9728021391f692 +CT = 40687387c4e63e04514d1ea869c68e2c658f836508029975f77c9f6c4f6687c53bddbf13ae7ba04cd7c8bfaaf70782fb +PT = 654657f48334dd38ecef7e7531bb1c7518ee3e9139f7680e08b6dd77268ce2bb13b661a36ad79a2743c899b711ac8664 + + +COUNT = 497 +DataUnitLen = 384 +Key = 21d9147e6a6533af49edd72e45d08f573dfa3f756dfe8e1fd59303e5afe359ebdea837796d12b2cfa6cb39923fa317736ceb19495729481ed3f7eaf6eb91df7d +i = ca539c37cfbcce3717903d24f735e0bf +CT = 997e4ad0d9108408e4286c2ac9488731926ec8b175293ea6f37a7a9250c59727ca82ecea9d6c072ade9a85f9c0c586d6 +PT = 2b7146344a94a5c9e7552013cba32db26626c6472e860cd74d18dd8ad64b7634b618f25d27997f6e3cb3443ec0d23d1f + + +COUNT = 498 +DataUnitLen = 384 +Key = 32be1589d7bbfab02b48b543359e9144a2fd05223b6855723be5c49e2c26fa17332be34d4365c158237f495d40b71e8797419c1c36aca8bb9a7b6f763adafe1a +i = 3d8da7642a1afd3850f7f10125ba28b8 +CT = bc745363769b9ea899963c3a91e576f2a42333f0639c3ef779a82ed2d08a2774d7d8dba8a049fdc8720193e631e18edc +PT = 9e9037370b30476c724c98613ebcc8cce3a9f83d4dcbc6f0195865e0d24622d9c4615240067d276255ed2abb7bd06a4f + + +COUNT = 499 +DataUnitLen = 384 +Key = 22a0a371842832d8706388e94533f3df997d749f48503a1ad38dad9791ce14fe9ccaa3f3ab5c7546fd019bdf997cb3abd6cb22edece35349237ebe289708ce9d +i = 01d23862799e6295c0041bbaec5109a7 +CT = 0e2b93cc892b22b5dbba9d32f50aeafe9de0ee66dffccaa6063679be69dd606c7d71a446333f9e5c36755896f4d8e16f +PT = 6169b219ca37a2f7ccd2d8581d621d3c1bff888dac080364f2b9c702d01a9574b55bc4f045bfa04d1851e58c21ea7f55 + + +COUNT = 500 +DataUnitLen = 384 +Key = 88dfd7c83cb121968feb417520555b36c0f63b662570eac12ea96cbe188ad5b1a44db23ac6470316cba0041cadf248f6d9a7713f454e663f3e3987585cebbf96 +i = 0ee84632b838dd528f1d96c76439805c +CT = a55d533c9c5885562b92d4582ea69db8e2ba9c0b967a9f0167700b043525a47bafe7d630774eaf4a1dc9fbcf94a1fda4 +PT = ec36551c70efcdf85de7a39988978263ad261e83996dad219a0058e02187384f2d0754ff9cfa000bec448fafd2cfa738 + diff --git a/testvectors/XTStest.c b/testvectors/XTStest.c deleted file mode 100644 index 6b31c60..0000000 --- a/testvectors/XTStest.c +++ /dev/null @@ -1,142 +0,0 @@ -/* - ============================================================================== - Name : XTStest.c - Author : polfosol - Version : 2.3.1.0 - Copyright : copyright © 2022 - polfosol - Description : illustrating how to validate NIST's vectors for AES-XTS mode - ============================================================================== - */ - -#include -#include "../micro_aes.h" - -#define TESTFILEPATH "XTSGenAES128.rsp" - -static void str2bytes(const char* str, uint8_t* bytes) -#define char2num(c) (c > '9' ? (c & 7) + 9 : c & 0xF) -{ - size_t i, j; - for (i = 0, j = ~0; str[i]; ++i) - { - if (str[i] < '0' || str[i] > 'f') continue; - if (j++ & 1) bytes[j / 2] = char2num(str[i]) << 4; - else bytes[j / 2] |= char2num(str[i]); - } -} - -static void bytes2str(const uint8_t* bytes, char* str, size_t len) -#define num2char(x) ((x) > 9 ? 'a' - 10 + (x) : '0' + (x)) -{ - size_t i, j; - for (i = 0, j = 0; i < len; ++i) - { - str[j++] = num2char(bytes[i] >> 4); - str[j++] = num2char(bytes[i] & 15); - } - str[j] = 0; -} - -static int ciphertest(uint8_t* key, uint8_t* iv, uint8_t* p, uint8_t* c, size_t n, char* r) -{ - char sk[4*AES_KEY_SIZE + 1], si[33], sp[0x80], sc[0x80], msg[30]; - uint8_t tmp[0x80], t = 0; - sprintf(msg, "%s", "passed the test"); - - AES_XTS_encrypt(key, iv, p, n, tmp); - if (memcmp(c, tmp, n)) - { - sprintf(msg, "%s", "encrypt failure"); - t = 1; - } - memset(tmp, 0xcc , sizeof tmp); - AES_XTS_decrypt(key, iv, c, n, tmp); - if (memcmp(p, tmp, n)) - { - sprintf(msg, "%sdecrypt failure", t ? "encrypt & " : ""); - t |= 2; - } - bytes2str(key, sk, 2*AES_KEY_SIZE); - bytes2str(iv, si, 16); - bytes2str(p, sp, n); - bytes2str(c, sc, n); - sprintf(r, "%s\nK: %s\ni: %s\nP: %s\nC: %s", msg, sk, si, sp, sc); - return t; -} - -int main() -{ - const char *linehdr[] = { "Key = ", "i = ", "PT = ", "CT = ", "DataUnitLen = " }; - char buffer[0x800], *value = ""; - size_t i, n = 0, pass = 0, df = 0, ef = 0, s = 0, sk = 0; - uint8_t key[2*AES_KEY_SIZE], iv[16], p[0x80], c[0x80], ul[2]; - FILE *fp, *fs, *ferr; - - fp = fopen(TESTFILEPATH, "r"); - fs = fopen("passed.log", "w"); - ferr = fopen("failed.log", "w"); - - if (fp == NULL) - { - printf("File not found: %s\n", TESTFILEPATH); - return 1; - } - if (!fs || !ferr) return 1; - - while (fgets(buffer, sizeof buffer, fp) != NULL) - { - buffer[strcspn(buffer, "\n")] = 0; - if (strlen(buffer) < 4) continue; - for (i = 0; i < 5; i++) - { - if (strncmp(buffer, linehdr[i], strlen(linehdr[i])) == 0) - { - value = strrchr(buffer, ' ') + 1; - break; - } - } - switch (i) - { - case 0: - sk = strlen(value) / 2; - if (sk == 2 * AES_KEY_SIZE) str2bytes(value, key); - break; - case 1: - str2bytes(value, iv); - break; - case 2: - str2bytes(value, p); - ++n; - break; - case 3: - str2bytes(value, c); - ++n; - break; - case 4: - str2bytes(value, ul); - break; - } - if (n == 2) - { - s = (ul[0] >> 4) *100 + (ul[0] & 15) *10 + (ul[1] >> 4); - if (sk == 2 * AES_KEY_SIZE && s % 8 == 0) - { - n = ciphertest(key, iv, p, c, s / 8, buffer); - fprintf(n ? ferr : fs, "%s\n", buffer); /* save the log */ - if (n == 0) ++pass; - if (n & 1) ++ef; - if (n & 2) ++df; - } - n = 0; - } - } - printf ("test cases: %d\nsuccessful: %d\nfailed encrypt: %d, failed decrypt: %d\n", - pass + (ef > df ? ef : df), pass, ef, df); - - fclose(fp); fclose(fs); fclose(ferr); - if (ef + df == 0) - { - remove("passed.log"); remove("failed.log"); - } - return 0; -} diff --git a/testvectors/XTStest.cbp b/testvectors/XTStest.cbp deleted file mode 100644 index bb3b259..0000000 --- a/testvectors/XTStest.cbp +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/testvectors/CCMTest.cbp b/testvectors/aes_tests.cbp similarity index 66% rename from testvectors/CCMTest.cbp rename to testvectors/aes_tests.cbp index a56e88e..e5b00f2 100644 --- a/testvectors/CCMTest.cbp +++ b/testvectors/aes_tests.cbp @@ -2,7 +2,7 @@ -