tests - add twofish via cryptodev tests
authorAlex Hornung <ahornung@gmail.com>
Sat, 2 Jul 2011 10:58:07 +0000 (11:58 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 2 Jul 2011 11:07:26 +0000 (12:07 +0100)
test/crypto/twofish/Makefile [new file with mode: 0644]
test/crypto/twofish/twofish_test.c [new file with mode: 0644]
test/crypto/twofish/twofishecb_vk.txt [new file with mode: 0644]
test/crypto/twofish/twofishecb_vt.txt [new file with mode: 0644]

diff --git a/test/crypto/twofish/Makefile b/test/crypto/twofish/Makefile
new file mode 100644 (file)
index 0000000..e6b6ada
--- /dev/null
@@ -0,0 +1,4 @@
+PROG=  twofish_test
+NOMAN=
+
+.include <bsd.prog.mk>
diff --git a/test/crypto/twofish/twofish_test.c b/test/crypto/twofish/twofish_test.c
new file mode 100644 (file)
index 0000000..b21a796
--- /dev/null
@@ -0,0 +1,394 @@
+/*      $OpenBSD: djm $  */
+
+/*
+ * Copyright (c) 2002 Markus Friedl.  All rights reserved.
+ * Copyright (c) 2008 Damien Miller.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Test crypto(4) Twofish with test vectors provided by Dr Brian Gladman
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/ioctl.h>
+#include <sys/sysctl.h>
+#include <crypto/cryptodev.h>
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <ctype.h>
+
+static int
+syscrypt(const unsigned char *key, size_t klen, const unsigned char *in,
+    unsigned char *out, size_t len, int do_encrypt)
+{
+       struct session_op session;
+       struct crypt_op cryp;
+       int cryptodev_fd = -1, fd = -1;
+       u_char iv[32];
+
+       /*
+        * Kludge; the kernel doesn't support ECB encryption so we
+        * use a all-zero IV and encrypt a single block only, so the
+        * result should be the same.
+        */
+       bzero(iv, sizeof(iv));
+
+       if ((cryptodev_fd = open("/dev/crypto", O_RDWR, 0)) < 0) {
+               warn("/dev/crypto");
+               goto err;
+       }
+       if (ioctl(cryptodev_fd, CRIOGET, &fd) == -1) {
+               warn("CRIOGET failed");
+               goto err;
+       }
+       memset(&session, 0, sizeof(session));
+       session.cipher = CRYPTO_TWOFISH_CBC;
+       session.key = (caddr_t) key;
+       session.keylen = klen;
+       if (ioctl(fd, CIOCGSESSION, &session) == -1) {
+               warn("CIOCGSESSION");
+               goto err;
+       }
+       memset(&cryp, 0, sizeof(cryp));
+       cryp.ses = session.ses;
+       cryp.op = do_encrypt ? COP_ENCRYPT : COP_DECRYPT;
+       cryp.flags = 0;
+       cryp.len = len;
+       cryp.src = (caddr_t) in;
+       cryp.dst = (caddr_t) out;
+       cryp.iv = (caddr_t) iv;
+       cryp.mac = 0;
+       if (ioctl(fd, CIOCCRYPT, &cryp) == -1) {
+               warn("CIOCCRYPT");
+               goto err;
+       }
+       if (ioctl(fd, CIOCFSESSION, &session.ses) == -1) {
+               warn("CIOCFSESSION");
+               goto err;
+       }
+       close(fd);
+       close(cryptodev_fd);
+       return (0);
+
+err:
+       if (fd != -1)
+               close(fd);
+       if (cryptodev_fd != -1)
+               close(cryptodev_fd);
+       return (-1);
+}
+
+static int
+getallowsoft(void)
+{
+       int mib[2], old;
+       size_t olen;
+
+       olen = sizeof(old);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, NULL, 0) < 0)
+               err(1, "sysctl failed");
+
+       return old;
+}
+
+static void
+setallowsoft(int new)
+{
+       int mib[2], old;
+       size_t olen, nlen;
+
+       olen = nlen = sizeof(new);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, &new, nlen) < 0)
+               err(1, "sysctl failed");
+}
+
+static int
+match(unsigned char *a, unsigned char *b, size_t len)
+{
+       size_t i;
+
+       if (memcmp(a, b, len) == 0)
+               return (1);
+
+       fprintf(stderr, "decrypt/plaintext mismatch\n");
+
+       for (i = 0; i < len; i++)
+               fprintf(stderr, "%2.2x", a[i]);
+       fprintf(stderr, "\n");
+       for (i = 0; i < len; i++)
+               fprintf(stderr, "%2.2x", b[i]);
+       fprintf(stderr, "\n");
+
+       return (0);
+}
+
+static void
+print_hex(unsigned char *a, size_t len)
+{
+       while (len-- > 0)
+               fprintf(stderr, "%02x,", *a++);
+       fprintf(stderr, "\n");
+}
+
+/*
+ * Match expected substring at start of line. If sequence is match, return
+ * a pointer to the first character in the string past the sequence and and
+ * following whitespace.
+ * returns NULL is the start of the line does not match.
+ */
+static const char *
+startswith(const char *line, const char *startswith)
+{
+       size_t len = strlen(startswith);
+
+       if (strncmp(line, startswith, len) != 0)
+               return NULL;
+       line = line + len;
+       while (isspace(*line))
+               line++;
+       return line;
+}
+
+/* Read a hex string and convert to bytes */
+static void
+parsehex(const char *hex, u_char **s, u_int *lenp)
+{
+       u_char *ret, v;
+       u_int i, len;
+       char c;
+
+       len = i = 0;
+       ret = NULL;
+       v = 0;
+       while ((c = *(hex++)) != '\0') {
+               if (strchr(" \t\r\n", c) != NULL)
+                       continue;
+               if (c >= '0' && c <= '9')
+                       v |= c - '0';
+               else if (c >= 'a' && c <= 'f')
+                       v |= 10 + (c - 'a');
+               else if (c >= 'A' && c <= 'F')
+                       v |= 10 + c - 'A';
+               else
+                       errx(1, "%s: invalid character \"%c\" in hex string",
+                           __func__, c);
+               switch (++i) {
+               case 1:
+                       v <<= 4;
+                       break;
+               case 2:
+                       if ((ret = realloc(ret, ++len)) == NULL)
+                               errx(1, "realloc(%u)", len);
+                       ret[len - 1] = v;
+                       v = 0;
+                       i = 0;
+               }
+       }
+       if (i != 0)
+               errx(1, "%s: odd number of characters in hex string", __func__);
+       *lenp = len;
+       *s = ret;
+}
+
+static int
+do_tests(const char *filename, int test_num, u_char *key, u_int keylen,
+    u_char *plaintext, u_char *ciphertext, u_int textlen)
+{
+       char result[32];
+       int fail = 0;
+
+#if 0
+       fprintf(stderr, "Encrypting: \n");
+       print_hex(key, keylen);
+       print_hex(plaintext, textlen);
+       print_hex(ciphertext, textlen);
+#endif
+       /* Encrypt test */
+       if (syscrypt(key, keylen, plaintext, result, textlen, 1) < 0) {
+               warnx("encrypt with /dev/crypto failed");
+               fail++;
+       } else if (!match(result, ciphertext, textlen)) {
+               fprintf(stderr, "on encrypt (result, ciphertext)\n");
+               fail++;
+       } else
+               printf("OK encrypt test vector %s %u\n", filename, test_num);
+
+       /* Decrypt test */
+       if (syscrypt(key, keylen, ciphertext, result, textlen, 0) < 0) {
+               warnx("decrypt with /dev/crypto failed");
+               fail++;
+       } else if (!match(result, plaintext, textlen)) {
+               fprintf(stderr, "on decrypt (result, plaintext)\n");
+               fail++;
+       } else
+               printf("OK decrypt test vector %s %u\n", filename, test_num);
+
+       return fail;
+}
+
+static int
+run_file(const char *filename)
+{
+       FILE *tv;
+       char buf[1024], *eol;
+       const char *cp, *errstr;
+       int lnum = 0, fail = 0;
+       u_char *key, *plaintext, *ciphertext;
+       u_int keylen, textlen, tmp;
+       int blocksize, keysize, test;
+
+       if ((tv = fopen(filename, "r")) == NULL)
+               err(1, "fopen(\"%s\")", filename);
+
+       keylen = textlen = tmp = 0;
+       key = ciphertext = plaintext = NULL;
+       keysize = test = -1;
+       blocksize = 128;
+       while ((fgets(buf, sizeof(buf), tv)) != NULL) {
+               lnum++;
+               eol = buf + strlen(buf) - 1;
+               if (*eol != '\n')
+                       errx(1, "line %d: too long", lnum);
+               if (eol > buf && *(eol - 1) == '\r')
+                       eol--;
+               *eol = '\0';
+               if ((cp = startswith(buf, "BLOCKSIZE=")) != NULL) {
+                       if (blocksize != -1)
+                               errx(1, "line %d: blocksize already set", lnum);
+                       blocksize = (int)strtonum(cp, 128, 128, &errstr);
+                       if (errstr)
+                               errx(1, "line %d: blocksize is %s: \"%s\"",
+                                   lnum, errstr, cp);
+               } else if ((cp = startswith(buf, "KEYSIZE=")) != NULL) {
+                       /*
+                        * On a keysize change, run scheduled test before
+                        * doing anything else; at least if there is a test
+                        * to perform.
+                        */
+                       if (plaintext != NULL && ciphertext != NULL &&
+                           key != NULL && blocksize > 0 && keysize > 0) {
+                               fail += do_tests(filename, test, key, keylen,
+                                   plaintext, ciphertext, textlen);
+
+                               /* And reset the test number */
+                               test = -1;
+                       }
+                       keysize = (int)strtonum(cp, 128, 256, &errstr);
+                       if (errstr)
+                               errx(1, "line %d: keysize is %s: \"%s\"",
+                                   lnum, errstr, cp);
+                       if (keysize != 128 && keysize != 192 && keysize != 256)
+                               errx(1, "line %d: XXX only 128,192 or 256 "
+                                   "bit keys (keysize = %d)",
+                                   lnum, keysize);
+               } else if ((cp = startswith(buf, "PT=")) != NULL) {
+                       if (plaintext != NULL)
+                               free(plaintext);
+                       parsehex(cp, &plaintext, &tmp);
+                       if (tmp * 8 != (u_int)blocksize)
+                               errx(1, "line %d: plaintext len %u != "
+                                   "blocklen %d", lnum, tmp, blocksize);
+                       if (textlen != 0) {
+                               if (textlen != tmp)
+                                       errx(1, "line %d: plaintext len %u != "
+                                           "ciphertext len %d", lnum, tmp,
+                                           textlen);
+                       } else
+                               textlen = tmp;
+               } else if ((cp = startswith(buf, "CT=")) != NULL) {
+                       if (ciphertext != NULL)
+                               free(ciphertext);
+                       parsehex(cp, &ciphertext, &tmp);
+                       if (tmp * 8 != (u_int)blocksize)
+                               errx(1, "line %d: ciphertext len %u != "
+                                   "blocklen %d", lnum, tmp, blocksize);
+                       if (textlen != 0) {
+                               if (textlen != tmp)
+                                       errx(1, "line %d: ciphertext len %u != "
+                                           "plaintext len %d", lnum, tmp,
+                                           textlen);
+                       } else
+                               textlen = tmp;
+               } else if ((cp = startswith(buf, "KEY=")) != NULL) {
+                       if (key != NULL)
+                               free(key);
+                       parsehex(cp, &key, &keylen);
+                       if (keylen * 8 != (u_int)keysize)
+                               errx(1, "line %d: ciphertext len %u != "
+                                   "blocklen %d", lnum, tmp, textlen);
+               } else if ((cp = startswith(buf, "I=")) != NULL) {
+                       if (test == -1)
+                               goto parsetest;
+
+                       if (plaintext == NULL || ciphertext == NULL ||
+                           key == NULL || blocksize == -1 || keysize == -1) {
+                               errx(1, "line %d: new test before "
+                                   "parameters", lnum);
+                       }
+                       /* do the tests */
+                       fail += do_tests(filename, test, key, keylen,
+                           plaintext, ciphertext, textlen);
+parsetest:
+                       test = (int)strtonum(cp, 0, 65536, &errstr);
+                       if (errstr)
+                               errx(1, "line %d: test is %s: \"%s\"",
+                                   lnum, errstr, cp);
+               } else {
+                       /* don't care */
+                       continue;
+               }
+       }
+       fclose(tv);
+
+       return fail;
+}
+
+int
+main(int argc, char **argv)
+{
+       int allowed = 0, fail = 0, i;
+
+       if (argc < 2)
+               errx(1, "usage: aestest [test-vector-file]");
+
+       if (geteuid() == 0) {
+               allowed = getallowsoft();
+               if (allowed == 0)
+                       setallowsoft(1);
+       }
+
+       for (i = 1; i < argc; i++)
+               fail += run_file(argv[1]);
+
+       if (geteuid() == 0 && allowed == 0)
+               setallowsoft(0);
+
+       return fail > 0 ? 1 : 0;
+}
diff --git a/test/crypto/twofish/twofishecb_vk.txt b/test/crypto/twofish/twofishecb_vk.txt
new file mode 100644 (file)
index 0000000..0cf4cdd
--- /dev/null
@@ -0,0 +1,2334 @@
+=======================================================
+Author:    Dr B R Gladman (                           )
+Test:      ECB Variable Key Known Answer Tests
+Algorithm: twofish
+Filename:  ecb_vk.txt
+=======================================================
+
+KEYSIZE=128
+
+PT=00000000000000000000000000000000
+
+I=0
+KEY=00000000000000000000000000000000
+CT=9f589f5cf6122c32b6bfec2f2ae8c35a
+
+I=1
+KEY=80000000000000000000000000000000
+CT=6bfd32804a1c3206c4bf85eb11241f89
+
+I=2
+KEY=40000000000000000000000000000000
+CT=f097147ae851845984dc97d5fae40cf9
+
+I=3
+KEY=20000000000000000000000000000000
+CT=6117f1977c5abd9647c56544d9458444
+
+I=4
+KEY=10000000000000000000000000000000
+CT=75a6240aae357deddf99936705618284
+
+I=5
+KEY=08000000000000000000000000000000
+CT=f026bfdf6bfbc7e50c46c533bd271c24
+
+I=6
+KEY=04000000000000000000000000000000
+CT=f3023228d77045d37d1b9cd77437395a
+
+I=7
+KEY=02000000000000000000000000000000
+CT=f67467bf6b490209809714d50679b2d7
+
+I=8
+KEY=01000000000000000000000000000000
+CT=2c8431b922c5f560095e9867b1a41256
+
+I=9
+KEY=00800000000000000000000000000000
+CT=1fb76e90d207ba4c770f67284d6b1359
+
+I=10
+KEY=00400000000000000000000000000000
+CT=a70aece1d41dca9f24bce8393f6d54bf
+
+I=11
+KEY=00200000000000000000000000000000
+CT=d4580fc395979689221c57a23598358b
+
+I=12
+KEY=00100000000000000000000000000000
+CT=35ca62ba8126f015fabfef8f9119ae6b
+
+I=13
+KEY=00080000000000000000000000000000
+CT=c81facb16e087eefa823cf34e02fe482
+
+I=14
+KEY=00040000000000000000000000000000
+CT=07400f04e4cc6625ae3fb41ecc863f2a
+
+I=15
+KEY=00020000000000000000000000000000
+CT=a0941008068d401deab6400c86ca53ad
+
+I=16
+KEY=00010000000000000000000000000000
+CT=2b63bef50ba87a58bffca4cf44c22927
+
+I=17
+KEY=00008000000000000000000000000000
+CT=fd49069ae9f1874a264a7bfd894ed886
+
+I=18
+KEY=00004000000000000000000000000000
+CT=232755c754075bb5cc5b85abfea38779
+
+I=19
+KEY=00002000000000000000000000000000
+CT=41358b9c76e959037e13f7e5050e0b42
+
+I=20
+KEY=00001000000000000000000000000000
+CT=8978cd09c054bb1abdffbed09d1cf7ec
+
+I=21
+KEY=00000800000000000000000000000000
+CT=9f2a7ce5fd51fd5d7e2d42407eef8f6a
+
+I=22
+KEY=00000400000000000000000000000000
+CT=6aa2f0627f312a77c68d1f15df0e1379
+
+I=23
+KEY=00000200000000000000000000000000
+CT=bcd56984e45dbf087bac8757fc4eff5a
+
+I=24
+KEY=00000100000000000000000000000000
+CT=9d3c6c8ed48c9de7a64cd05d8bf41d54
+
+I=25
+KEY=00000080000000000000000000000000
+CT=fcd577a23f455acde3732c262ebd2d86
+
+I=26
+KEY=00000040000000000000000000000000
+CT=022e2430d81858888c9e575411d4064f
+
+I=27
+KEY=00000020000000000000000000000000
+CT=5742ca8cf1193491c1fbc148627d856e
+
+I=28
+KEY=00000010000000000000000000000000
+CT=88bd93610040dfe248c2fe05ef9f4fe0
+
+I=29
+KEY=00000008000000000000000000000000
+CT=29a9d577bb3824209fea64128247ce6c
+
+I=30
+KEY=00000004000000000000000000000000
+CT=ac4cdb534844ea86000b845fcdad605f
+
+I=31
+KEY=00000002000000000000000000000000
+CT=aac6098597d46b8145a60f40d4ec5308
+
+I=32
+KEY=00000001000000000000000000000000
+CT=3a7dfd0855a5be0b16cacbd685facef5
+
+I=33
+KEY=00000000800000000000000000000000
+CT=aceba627eba87ad051c3e0ca0def6cd7
+
+I=34
+KEY=00000000400000000000000000000000
+CT=f0a55dcdbc513efdd603ea455eb9228c
+
+I=35
+KEY=00000000200000000000000000000000
+CT=2176debc78d6b4a6d0fb37afa6b51081
+
+I=36
+KEY=00000000100000000000000000000000
+CT=fdb1b57379b85a85392613e8b4597b63
+
+I=37
+KEY=00000000080000000000000000000000
+CT=58ab1112e0598586e07fc8359ddfc7ec
+
+I=38
+KEY=00000000040000000000000000000000
+CT=dd6d1d2629f333528cb66869453bc273
+
+I=39
+KEY=00000000020000000000000000000000
+CT=932218d99553bb2d4bfc69f1ea67caae
+
+I=40
+KEY=00000000010000000000000000000000
+CT=399d066426f7fef66f8983086dc044d8
+
+I=41
+KEY=00000000008000000000000000000000
+CT=3e1bc58269b6b8c8c8d00806975f8337
+
+I=42
+KEY=00000000004000000000000000000000
+CT=d50a1f966058c6d702d1afcd700da0e8
+
+I=43
+KEY=00000000002000000000000000000000
+CT=6e7a6bb3554f12ad1f88c289d621cd0f
+
+I=44
+KEY=00000000001000000000000000000000
+CT=9ed4ea506a0cba89b246c14d1b5b96a9
+
+I=45
+KEY=00000000000800000000000000000000
+CT=c395a92c1a6884857b263f01f43542db
+
+I=46
+KEY=00000000000400000000000000000000
+CT=06562ac497c60f802b68b47db5b86b6a
+
+I=47
+KEY=00000000000200000000000000000000
+CT=255a726f2106177fefa7006bde05d059
+
+I=48
+KEY=00000000000100000000000000000000
+CT=b8fd6a8227d0565a4c174ad270ec1205
+
+I=49
+KEY=00000000000080000000000000000000
+CT=c2652fdb48b9ddbfc43b3f7cdd831d6f
+
+I=50
+KEY=00000000000040000000000000000000
+CT=913eb9205db2e17a96a23a724edf4c84
+
+I=51
+KEY=00000000000020000000000000000000
+CT=9a6694feb5ea44ff0572124fdb265658
+
+I=52
+KEY=00000000000010000000000000000000
+CT=e347498deca6b211c30e21fd0b47a333
+
+I=53
+KEY=00000000000008000000000000000000
+CT=e70f0d4ed829a81e05d42e511ede9376
+
+I=54
+KEY=00000000000004000000000000000000
+CT=140bb7cad8d6a3553bef7a3d52347bd8
+
+I=55
+KEY=00000000000002000000000000000000
+CT=5fa55360f440dcca20925a3e15b42764
+
+I=56
+KEY=00000000000001000000000000000000
+CT=6d5b969dfc3ea0a6682cc66488d221da
+
+I=57
+KEY=00000000000000800000000000000000
+CT=e2799d5c380b49d2f6997009079d03d3
+
+I=58
+KEY=00000000000000400000000000000000
+CT=06afbd8077909e847af467bb2d47e893
+
+I=59
+KEY=00000000000000200000000000000000
+CT=46b1eb96ec9eb10897f1562e59287253
+
+I=60
+KEY=00000000000000100000000000000000
+CT=1793f1d4e1a1606f99c7019c19e85129
+
+I=61
+KEY=00000000000000080000000000000000
+CT=ed785d0ba19553ce73b69f4d570c3a9d
+
+I=62
+KEY=00000000000000040000000000000000
+CT=298df7334670b7391be203df7e8890c7
+
+I=63
+KEY=00000000000000020000000000000000
+CT=150c12def6edc844b0b45361c2b3aece
+
+I=64
+KEY=00000000000000010000000000000000
+CT=06ffb5e13438ba8dbd8a3edadfac73a1
+
+I=65
+KEY=00000000000000008000000000000000
+CT=6c5e5719d5f31e929ff9c44f086efadb
+
+I=66
+KEY=00000000000000004000000000000000
+CT=4c8d0e13996f4d32cb7984b7bb1b34fb
+
+I=67
+KEY=00000000000000002000000000000000
+CT=c9bdcffd4b9f3bbbb33a2d2c51ba83f6
+
+I=68
+KEY=00000000000000001000000000000000
+CT=929b29dd0d952161ffda8cb417b166ec
+
+I=69
+KEY=00000000000000000800000000000000
+CT=87f9dfcb07275916e7a446d3dce74232
+
+I=70
+KEY=00000000000000000400000000000000
+CT=6fdfd0bc8f49be420cd68a894c7ca4e9
+
+I=71
+KEY=00000000000000000200000000000000
+CT=cddc09de42dc2cbcd9287a2072a30d23
+
+I=72
+KEY=00000000000000000100000000000000
+CT=9b2ff668ba9d77ad1e9f30ba0173ebd4
+
+I=73
+KEY=00000000000000000080000000000000
+CT=def29890d59a511b32a30322d7471e38
+
+I=74
+KEY=00000000000000000040000000000000
+CT=5094eaec9f23d0dbfab8240a42ed5bf1
+
+I=75
+KEY=00000000000000000020000000000000
+CT=79cb87bc375f58de8da780b9bad3dea3
+
+I=76
+KEY=00000000000000000010000000000000
+CT=7139b3d980b85d3b77a3bbdb6cb79756
+
+I=77
+KEY=00000000000000000008000000000000
+CT=148ed6e8fec02168377c96956ae18d93
+
+I=78
+KEY=00000000000000000004000000000000
+CT=0afed5a710f2bf11c77f152951ae32cb
+
+I=79
+KEY=00000000000000000002000000000000
+CT=c265ac354817550fae12a51c2dcd749c
+
+I=80
+KEY=00000000000000000001000000000000
+CT=a3b089f79d0a07ea0893bb48d508b35b
+
+I=81
+KEY=00000000000000000000800000000000
+CT=c0a7b6bce0675a48e95d39a7659cb20a
+
+I=82
+KEY=00000000000000000000400000000000
+CT=6ce0a0ba02041cb5e6c0a46de1b71a43
+
+I=83
+KEY=00000000000000000000200000000000
+CT=e54045c33a386555c5754adb0a181244
+
+I=84
+KEY=00000000000000000000100000000000
+CT=bb652196955bb7be7e8cb8e2e992a750
+
+I=85
+KEY=00000000000000000000080000000000
+CT=594b2917de6119b62be3ddf10a1a47e0
+
+I=86
+KEY=00000000000000000000040000000000
+CT=e8b4f95053617f6a10120db196aac4d1
+
+I=87
+KEY=00000000000000000000020000000000
+CT=79646b1cc19708973215b9891a2c1019
+
+I=88
+KEY=00000000000000000000010000000000
+CT=5e7e6175f6b548e5389c1b1c391cbee2
+
+I=89
+KEY=00000000000000000000008000000000
+CT=c0860a7b47544872b9db5c220088de5c
+
+I=90
+KEY=00000000000000000000004000000000
+CT=325163f073e5a27ebaf339b1fa53682d
+
+I=91
+KEY=00000000000000000000002000000000
+CT=1a0c4583ceff5810f3ab42a471415a1d
+
+I=92
+KEY=00000000000000000000001000000000
+CT=f8ddf239d19363957c7c8c9b537893fa
+
+I=93
+KEY=00000000000000000000000800000000
+CT=d3b9999669509564741f236eef2401f3
+
+I=94
+KEY=00000000000000000000000400000000
+CT=3376da406d82b76591b610c6c9fc3f9e
+
+I=95
+KEY=00000000000000000000000200000000
+CT=b6ad728d2970637642723ff06204eead
+
+I=96
+KEY=00000000000000000000000100000000
+CT=0adf4a82ffe602bc13002aa8ab24ea71
+
+I=97
+KEY=00000000000000000000000080000000
+CT=d80d1378e30036d92b4a359f68d0cbfe
+
+I=98
+KEY=00000000000000000000000040000000
+CT=eda13b315897290e4aceb4b513e9749b
+
+I=99
+KEY=00000000000000000000000020000000
+CT=34589936b79e4f43260dc6ccd1820d6d
+
+I=100
+KEY=00000000000000000000000010000000
+CT=c7a8ff65cd38d008ec6745897e010122
+
+I=101
+KEY=00000000000000000000000008000000
+CT=3afe23d89e79e9f8a54f103ed51eb14d
+
+I=102
+KEY=00000000000000000000000004000000
+CT=27994d1aa909806c7cc8e4ac4cd5479b
+
+I=103
+KEY=00000000000000000000000002000000
+CT=610d5528725b34fd70adc66e83bae266
+
+I=104
+KEY=00000000000000000000000001000000
+CT=3a3064dff6e0b54d864e81fa76270065
+
+I=105
+KEY=00000000000000000000000000800000
+CT=5e9b5966ed3a2358005c9773f8690ad9
+
+I=106
+KEY=00000000000000000000000000400000
+CT=713738f580ced6e358d2cdceda64f99f
+
+I=107
+KEY=00000000000000000000000000200000
+CT=ec7fe3578906291b2dcf0ad7ff8b5358
+
+I=108
+KEY=00000000000000000000000000100000
+CT=0f714c096c244bed865a9e064576fe5d
+
+I=109
+KEY=00000000000000000000000000080000
+CT=b7c226c60b6f3031a1e2160823a62679
+
+I=110
+KEY=00000000000000000000000000040000
+CT=5c78c4bc8f15dc964fe9ec75203ad7d8
+
+I=111
+KEY=00000000000000000000000000020000
+CT=178fb7443fbd17dcf1af122d4d117239
+
+I=112
+KEY=00000000000000000000000000010000
+CT=c55c99851bd135155a080a9c4e54b919
+
+I=113
+KEY=00000000000000000000000000008000
+CT=ad75c80d72ea278b3ede380daab1f708
+
+I=114
+KEY=00000000000000000000000000004000
+CT=95054d1eca74f75515ae8c17941d3a54
+
+I=115
+KEY=00000000000000000000000000002000
+CT=8e0b0d4f95c9c9d65420b4b1869a1d3e
+
+I=116
+KEY=00000000000000000000000000001000
+CT=7712ea2f0598cc8cfb9a934dec848b5f
+
+I=117
+KEY=00000000000000000000000000000800
+CT=9d730e0f7450183c0804d6817cbe058e
+
+I=118
+KEY=00000000000000000000000000000400
+CT=3fa52e9b242f9af61322fbb6ba583a01
+
+I=119
+KEY=00000000000000000000000000000200
+CT=3d47d74f667d60458188922ee8d8a7a0
+
+I=120
+KEY=00000000000000000000000000000100
+CT=036b4e4e02d84c56ac61007dac33ec33
+
+I=121
+KEY=00000000000000000000000000000080
+CT=4e171141e51234de6e4b236643a6dc85
+
+I=122
+KEY=00000000000000000000000000000040
+CT=db720e7b04462829dfa258ed9e7c7f2f
+
+I=123
+KEY=00000000000000000000000000000020
+CT=8b10e11115ff4336de57f2ea13aabbfa
+
+I=124
+KEY=00000000000000000000000000000010
+CT=f0e35bff226c064e08368af440298db9
+
+I=125
+KEY=00000000000000000000000000000008
+CT=6c4c8811b4df74f2a7d7f79a6253cea7
+
+I=126
+KEY=00000000000000000000000000000004
+CT=7dd12ad3bc7a419f92753d8cc39637f0
+
+I=127
+KEY=00000000000000000000000000000002
+CT=a465b01ea32b2f4f87c85fd06f9b0a02
+
+I=128
+KEY=00000000000000000000000000000001
+CT=8dc902ddae09f52b1a3a77ee89c1441e
+
+KEYSIZE=192
+
+PT=00000000000000000000000000000000
+
+I=0
+KEY=000000000000000000000000000000000000000000000000
+CT=efa71f788965bd4453f860178fc19101
+
+I=1
+KEY=800000000000000000000000000000000000000000000000
+CT=b5aed133641004f4121b66e7db8f2ff0
+
+I=2
+KEY=400000000000000000000000000000000000000000000000
+CT=998110f200555a32c6c123e66cf87de9
+
+I=3
+KEY=200000000000000000000000000000000000000000000000
+CT=2dbaeeec682dcc957c2d51b0990e123a
+
+I=4
+KEY=100000000000000000000000000000000000000000000000
+CT=baec0a31f6557d6d13b888a94f63058c
+
+I=5
+KEY=080000000000000000000000000000000000000000000000
+CT=e51adc9773e785730586e6812a0f0fa5
+
+I=6
+KEY=040000000000000000000000000000000000000000000000
+CT=97067e60fe010aeea48c0d3224ad0941
+
+I=7
+KEY=020000000000000000000000000000000000000000000000
+CT=bb73a7c859e6377a5e42efcd55cd2c5b
+
+I=8
+KEY=010000000000000000000000000000000000000000000000
+CT=914bfe25d7fdee49b46fb5c2b60daca5
+
+I=9
+KEY=008000000000000000000000000000000000000000000000
+CT=efef0047892a043a1d594118477ca513
+
+I=10
+KEY=004000000000000000000000000000000000000000000000
+CT=be59cf7c4e4b482843e67b4eb65b3038
+
+I=11
+KEY=002000000000000000000000000000000000000000000000
+CT=35ffc8038cb124b8078ec5c7c7928f14
+
+I=12
+KEY=001000000000000000000000000000000000000000000000
+CT=086025fc1cc6056367304c51de871dea
+
+I=13
+KEY=000800000000000000000000000000000000000000000000
+CT=950f0b7bdffc78ae3aff022f78e1670e
+
+I=14
+KEY=000400000000000000000000000000000000000000000000
+CT=cadf4568b43c950fb688c6608aaf5fae
+
+I=15
+KEY=000200000000000000000000000000000000000000000000
+CT=e2313e3cfcb5e745ebab983bf2867579
+
+I=16
+KEY=000100000000000000000000000000000000000000000000
+CT=b4394412f7b4a1a4a22b73c93bafd85d
+
+I=17
+KEY=000080000000000000000000000000000000000000000000
+CT=c014c9a992e6366b3bd2eabdf1508187
+
+I=18
+KEY=000040000000000000000000000000000000000000000000
+CT=4344d702ac78a5808f4ab566d5509b75
+
+I=19
+KEY=000020000000000000000000000000000000000000000000
+CT=937893da40e9d7f2ece9028faa4de6a4
+
+I=20
+KEY=000010000000000000000000000000000000000000000000
+CT=e77874759c6aacb611b715a52a37234a
+
+I=21
+KEY=000008000000000000000000000000000000000000000000
+CT=841fc7fc0ef6ce08cfc6056b3c557f23
+
+I=22
+KEY=000004000000000000000000000000000000000000000000
+CT=6ac04a6988f1ce601e4c48241d42c1cf
+
+I=23
+KEY=000002000000000000000000000000000000000000000000
+CT=5254f42b5dd207461693c278b6abc855
+
+I=24
+KEY=000001000000000000000000000000000000000000000000
+CT=f58b1ae230b417541649cb035fb5231c
+
+I=25
+KEY=000000800000000000000000000000000000000000000000
+CT=5f015060d28c6ccb2e5fdcb5afdcf309
+
+I=26
+KEY=000000400000000000000000000000000000000000000000
+CT=b0dbaa257feffe48a688fe247d0460b7
+
+I=27
+KEY=000000200000000000000000000000000000000000000000
+CT=1235df200338f96e39e881484b6b11ee
+
+I=28
+KEY=000000100000000000000000000000000000000000000000
+CT=671d87102e35609b32f40a91a7e29e04
+
+I=29
+KEY=000000080000000000000000000000000000000000000000
+CT=f01fb3fa3e84dea6057f3d88cd651876
+
+I=30
+KEY=000000040000000000000000000000000000000000000000
+CT=b96c1e40d0d407ed90d11892503a296f
+
+I=31
+KEY=000000020000000000000000000000000000000000000000
+CT=2e27350191de6c2e9dcc51022a3c96cb
+
+I=32
+KEY=000000010000000000000000000000000000000000000000
+CT=bdd6cfe5d00e7f8d698143e653a0163b
+
+I=33
+KEY=000000008000000000000000000000000000000000000000
+CT=fedabef20f51910e57cf5ecef878a8e1
+
+I=34
+KEY=000000004000000000000000000000000000000000000000
+CT=eebf9fe247a78c6ff2a91428c54d70da
+
+I=35
+KEY=000000002000000000000000000000000000000000000000
+CT=41714e55e90e0e154802fbbfc0bf58c5
+
+I=36
+KEY=000000001000000000000000000000000000000000000000
+CT=69480f26bc5dff8f6d8a0f10e0959bf1
+
+I=37
+KEY=000000000800000000000000000000000000000000000000
+CT=a39e4be5a7e13ba3c48cfd98a52cfa70
+
+I=38
+KEY=000000000400000000000000000000000000000000000000
+CT=95809a16888fb49f5053375a6533cd58
+
+I=39
+KEY=000000000200000000000000000000000000000000000000
+CT=5f0def37fb14f956bb31703f1fc968eb
+
+I=40
+KEY=000000000100000000000000000000000000000000000000
+CT=cf0a28c9598d7bbca6992238b03ef4eb
+
+I=41
+KEY=000000000080000000000000000000000000000000000000
+CT=7ff241ba32e6878542978957f137856f
+
+I=42
+KEY=000000000040000000000000000000000000000000000000
+CT=8d489e0496b54f91a0254e4103804145
+
+I=43
+KEY=000000000020000000000000000000000000000000000000
+CT=9925949be93f4a0bf4114cca2e05b566
+
+I=44
+KEY=000000000010000000000000000000000000000000000000
+CT=6ed9a5f014fafae3d05c4ae027066873
+
+I=45
+KEY=000000000008000000000000000000000000000000000000
+CT=958453307a371ee2d3da8dd327d9b51b
+
+I=46
+KEY=000000000004000000000000000000000000000000000000
+CT=1ee0680bf9a798a1c63636ea917b17b5
+
+I=47
+KEY=000000000002000000000000000000000000000000000000
+CT=c0cefb2475b21aa8937e3048604d9928
+
+I=48
+KEY=000000000001000000000000000000000000000000000000
+CT=9034ddeff43c9cc82fade8de0a2476bb
+
+I=49
+KEY=000000000000800000000000000000000000000000000000
+CT=09d32779d0c8d02e0670f377187756fc
+
+I=50
+KEY=000000000000400000000000000000000000000000000000
+CT=6557bdb19f03e62d823c0613bea0fafb
+
+I=51
+KEY=000000000000200000000000000000000000000000000000
+CT=83505664ded694967f2d9e7853bc4b43
+
+I=52
+KEY=000000000000100000000000000000000000000000000000
+CT=0bbabe3b7f381c3b3d8a9d846d8cceac
+
+I=53
+KEY=000000000000080000000000000000000000000000000000
+CT=e3aa0a67cdf79dbab013103e39e8c822
+
+I=54
+KEY=000000000000040000000000000000000000000000000000
+CT=af3d0c9b673c322355480e8681237d13
+
+I=55
+KEY=000000000000020000000000000000000000000000000000
+CT=60d325226ec8dfb9e08dfadb479649a0
+
+I=56
+KEY=000000000000010000000000000000000000000000000000
+CT=845b92a3c56880e8007b452b57b73b75
+
+I=57
+KEY=000000000000008000000000000000000000000000000000
+CT=76c59cd9185c518d65ec641eb73c6387
+
+I=58
+KEY=000000000000004000000000000000000000000000000000
+CT=735567d0b8a52203492220804f3d62e6
+
+I=59
+KEY=000000000000002000000000000000000000000000000000
+CT=e74fb07622191a053368131da36fc299
+
+I=60
+KEY=000000000000001000000000000000000000000000000000
+CT=3cff40e0e9a86f67d938d2483bdd08f0
+
+I=61
+KEY=000000000000000800000000000000000000000000000000
+CT=7c502ae730f5a9abeacb15240ea1e8f6
+
+I=62
+KEY=000000000000000400000000000000000000000000000000
+CT=0b3ca10c02e24ba82261e65be4413512
+
+I=63
+KEY=000000000000000200000000000000000000000000000000
+CT=f7d50e95931755a98b143ae254090f9d
+
+I=64
+KEY=000000000000000100000000000000000000000000000000
+CT=a4e84b8a7b8cc3766307d66a9c6aecb9
+
+I=65
+KEY=000000000000000080000000000000000000000000000000
+CT=5298367e93e9b9cb5cf402a8ba9efc62
+
+I=66
+KEY=000000000000000040000000000000000000000000000000
+CT=03d44830c40510ce7866fb86fac6e1dc
+
+I=67
+KEY=000000000000000020000000000000000000000000000000
+CT=978e4ba4eea6739b1769ff4389f0367e
+
+I=68
+KEY=000000000000000010000000000000000000000000000000
+CT=707ef1166d2f11fd1519b37fb00d23eb
+
+I=69
+KEY=000000000000000008000000000000000000000000000000
+CT=435088dbdd8646a7fca8851ca2fa1fb5
+
+I=70
+KEY=000000000000000004000000000000000000000000000000
+CT=f3dc32dd6931a302391f9b992a5b6122
+
+I=71
+KEY=000000000000000002000000000000000000000000000000
+CT=d93286dd8a05432614fd03169f36ed15
+
+I=72
+KEY=000000000000000001000000000000000000000000000000
+CT=59f83fea4bc9b24bf69a98ca3959cefc
+
+I=73
+KEY=000000000000000000800000000000000000000000000000
+CT=a689bc3a8db36a22763e911370c9de2b
+
+I=74
+KEY=000000000000000000400000000000000000000000000000
+CT=04eb5ba604ba64dd112bcae830c27966
+
+I=75
+KEY=000000000000000000200000000000000000000000000000
+CT=7ef653e2d804e80bd678c3a6cb222625
+
+I=76
+KEY=000000000000000000100000000000000000000000000000
+CT=a94ec287e7f70c6503dc0b891920c622
+
+I=77
+KEY=000000000000000000080000000000000000000000000000
+CT=8a78497e9d18a365599444c972359f0d
+
+I=78
+KEY=000000000000000000040000000000000000000000000000
+CT=2f1832e285c8d24f226b50ccd71fe46a
+
+I=79
+KEY=000000000000000000020000000000000000000000000000
+CT=0b6675f4bd4bd6951bb96af62d3c9b96
+
+I=80
+KEY=000000000000000000010000000000000000000000000000
+CT=d6dedaaaece52984a261155ed7af5290
+
+I=81
+KEY=000000000000000000008000000000000000000000000000
+CT=7600a0fcf96f24a21419103466b937b5
+
+I=82
+KEY=000000000000000000004000000000000000000000000000
+CT=c3e359420c4c4af445c470ab347b3667
+
+I=83
+KEY=000000000000000000002000000000000000000000000000
+CT=d915133daa11becb43e020266b709bec
+
+I=84
+KEY=000000000000000000001000000000000000000000000000
+CT=a0001fc4e31664ed8c375644d02717ae
+
+I=85
+KEY=000000000000000000000800000000000000000000000000
+CT=d8e96a3f240666fc02f31e84cd1ceef1
+
+I=86
+KEY=000000000000000000000400000000000000000000000000
+CT=de0b6b80c40ed4447e36a84a62eb235d
+
+I=87
+KEY=000000000000000000000200000000000000000000000000
+CT=8b15f04c34fc0f35f96c86837665cb38
+
+I=88
+KEY=000000000000000000000100000000000000000000000000
+CT=02dae104da462934d87fdc73eb4011a9
+
+I=89
+KEY=000000000000000000000080000000000000000000000000
+CT=b1ecc134eb7221ce00ebb977e08020e2
+
+I=90
+KEY=000000000000000000000040000000000000000000000000
+CT=9f13cc1bf91c1b49ab6ddd7af7a05aba
+
+I=91
+KEY=000000000000000000000020000000000000000000000000
+CT=414d1178475679525b5ee7ed373e2a0a
+
+I=92
+KEY=000000000000000000000010000000000000000000000000
+CT=e69f2cc70ef18dbd360dfdd5c6573ebd
+
+I=93
+KEY=000000000000000000000008000000000000000000000000
+CT=fa45d9e00e4c221a14c359742ac25c35
+
+I=94
+KEY=000000000000000000000004000000000000000000000000
+CT=bc2ac98007820862150cc1b1e3e11ed1
+
+I=95
+KEY=000000000000000000000002000000000000000000000000
+CT=c7cabab4d7dffd44c5943eb8e9441c3d
+
+I=96
+KEY=000000000000000000000001000000000000000000000000
+CT=6da6716020fde292e8adfb2a31bc6b24
+
+I=97
+KEY=000000000000000000000000800000000000000000000000
+CT=9516ae03f102950795e1869e07be0afb
+
+I=98
+KEY=000000000000000000000000400000000000000000000000
+CT=4748e60f70c6172e5d5b0c21e67f366c
+
+I=99
+KEY=000000000000000000000000200000000000000000000000
+CT=40c7cc6385bb634fb68f73ccb5c446c2
+
+I=100
+KEY=000000000000000000000000100000000000000000000000
+CT=7f0ce574f643711ecfc5011c0bccd49a
+
+I=101
+KEY=000000000000000000000000080000000000000000000000
+CT=2628849cc2c62feb305a1287f24b9693
+
+I=102
+KEY=000000000000000000000000040000000000000000000000
+CT=6e8c11b5ea12d40ce9f83693314bd836
+
+I=103
+KEY=000000000000000000000000020000000000000000000000
+CT=503fcdfccb2aebeee6fb59326d06745e
+
+I=104
+KEY=000000000000000000000000010000000000000000000000
+CT=69698fe789f29872f0a4116cd8714255
+
+I=105
+KEY=000000000000000000000000008000000000000000000000
+CT=3072c09636828285e7135e92b04c3601
+
+I=106
+KEY=000000000000000000000000004000000000000000000000
+CT=00c19303036d6d3227b9c7af806bebdd
+
+I=107
+KEY=000000000000000000000000002000000000000000000000
+CT=e6b06bc172ca8892c8a04d6717ab08ce
+
+I=108
+KEY=000000000000000000000000001000000000000000000000
+CT=f7f08e268646ef8b9d728d422195a88b
+
+I=109
+KEY=000000000000000000000000000800000000000000000000
+CT=e6c0bee988e017e708ff1a1dcfe38fc8
+
+I=110
+KEY=000000000000000000000000000400000000000000000000
+CT=33d0841fc04a6394056ac82d68dbfa02
+
+I=111
+KEY=000000000000000000000000000200000000000000000000
+CT=066af29f6138fe67d676925dbc375ed1
+
+I=112
+KEY=000000000000000000000000000100000000000000000000
+CT=60e1109a80f56dbcbcac75af9ee3a982
+
+I=113
+KEY=000000000000000000000000000080000000000000000000
+CT=84e692562a2dbe9452cdc7f5f7dcd4e6
+
+I=114
+KEY=000000000000000000000000000040000000000000000000
+CT=da5c0cb7de7c2a9defc76348955fb51b
+
+I=115
+KEY=000000000000000000000000000020000000000000000000
+CT=26ac1cb6870a598585e211852f9c980a
+
+I=116
+KEY=000000000000000000000000000010000000000000000000
+CT=49776d30c4a10352ff0fba170f09f275
+
+I=117
+KEY=000000000000000000000000000008000000000000000000
+CT=d02e72c408a05c89f80c9ec450419fbf
+
+I=118
+KEY=000000000000000000000000000004000000000000000000
+CT=993d122b38640477385bbfc79177c212
+
+I=119
+KEY=000000000000000000000000000002000000000000000000
+CT=1482c5d53be2f16634c22b9294d6e10b
+
+I=120
+KEY=000000000000000000000000000001000000000000000000
+CT=4b9518e3188d68e20266dcaa5b26337f
+
+I=121
+KEY=000000000000000000000000000000800000000000000000
+CT=7d6c9c9f375edde4a23d83b8b62e198f
+
+I=122
+KEY=000000000000000000000000000000400000000000000000
+CT=fcce30a6961099ad269080ff07a24e1e
+
+I=123
+KEY=000000000000000000000000000000200000000000000000
+CT=c822629d39268498e02e6e4d642e7921
+
+I=124
+KEY=000000000000000000000000000000100000000000000000
+CT=b96890d4cc0bd3c41a14d0547f98e077
+
+I=125
+KEY=000000000000000000000000000000080000000000000000
+CT=78665bac269a5db3ffe165526a42f688
+
+I=126
+KEY=000000000000000000000000000000040000000000000000
+CT=5eb1e7293616cd444011950212e53e78
+
+I=127
+KEY=000000000000000000000000000000020000000000000000
+CT=fd682f200b2d5d17d177e785ebce6c08
+
+I=128
+KEY=000000000000000000000000000000010000000000000000
+CT=eaaeea26a8ae037c288dda6791580418
+
+I=129
+KEY=000000000000000000000000000000008000000000000000
+CT=aa525000b28a88169212096b6d5ff58d
+
+I=130
+KEY=000000000000000000000000000000004000000000000000
+CT=09c8f1f28b94167498d9377cb9909458
+
+I=131
+KEY=000000000000000000000000000000002000000000000000
+CT=847e4ffad40194940a0f7fa0e34739b4
+
+I=132
+KEY=000000000000000000000000000000001000000000000000
+CT=50dce06e775c1a6dda24b2a926c9ef8e
+
+I=133
+KEY=000000000000000000000000000000000800000000000000
+CT=3896fb03af06f69cfdddfbfcdf8e10a7
+
+I=134
+KEY=000000000000000000000000000000000400000000000000
+CT=fed04c2f49db4be1d7bc5e187fb1612b
+
+I=135
+KEY=000000000000000000000000000000000200000000000000
+CT=69e749dfca9ac8a990444e9ffb6cba09
+
+I=136
+KEY=000000000000000000000000000000000100000000000000
+CT=9b2262ebf59ab552e04d57a72fe6f013
+
+I=137
+KEY=000000000000000000000000000000000080000000000000
+CT=8ff0bf7f0088916764cf9ff21e1bda67
+
+I=138
+KEY=000000000000000000000000000000000040000000000000
+CT=5de1ff41440b4ca0eef22c8c3f96f23f
+
+I=139
+KEY=000000000000000000000000000000000020000000000000
+CT=febe3209c8d61e85024def2122af0268
+
+I=140
+KEY=000000000000000000000000000000000010000000000000
+CT=db63b702c6e39a283b64b90f36fbd426
+
+I=141
+KEY=000000000000000000000000000000000008000000000000
+CT=bb364f05f769ffbfe18288bd782d20eb
+
+I=142
+KEY=000000000000000000000000000000000004000000000000
+CT=8a929cbde0cd9a9545a08da2d16ba838
+
+I=143
+KEY=000000000000000000000000000000000002000000000000
+CT=c5ae232eb4f293497e79e20e436b5a4c
+
+I=144
+KEY=000000000000000000000000000000000001000000000000
+CT=3979a57ab9eb520e1475d745f897a9a9
+
+I=145
+KEY=000000000000000000000000000000000000800000000000
+CT=469b440bbd0711c31b9aaa2564ecb68a
+
+I=146
+KEY=000000000000000000000000000000000000400000000000
+CT=260ac31933a32b75c13364e868fd84db
+
+I=147
+KEY=000000000000000000000000000000000000200000000000
+CT=d5a76d2e0d00be53b401acb0ee70f8fb
+
+I=148
+KEY=000000000000000000000000000000000000100000000000
+CT=c3475809c89275de82f9f22d59a3da37
+
+I=149
+KEY=000000000000000000000000000000000000080000000000
+CT=c9b8fbfbf1a120bf47d0f2f48dd23661
+
+I=150
+KEY=000000000000000000000000000000000000040000000000
+CT=c662358cccd46730d243dee03b871dc3
+
+I=151
+KEY=000000000000000000000000000000000000020000000000
+CT=f5ba874dae43ad835b3f1344653411b6
+
+I=152
+KEY=000000000000000000000000000000000000010000000000
+CT=f0185396a6a69d48bbeadfe5b644eed4
+
+I=153
+KEY=000000000000000000000000000000000000008000000000
+CT=da0dec6f13b5aefc056f5d040c5da310
+
+I=154
+KEY=000000000000000000000000000000000000004000000000
+CT=7e1dbde7b45f9c3e01a285ea575ad5ed
+
+I=155
+KEY=000000000000000000000000000000000000002000000000
+CT=7a814893fbf78a6f5345f4e250da454c
+
+I=156
+KEY=000000000000000000000000000000000000001000000000
+CT=8c8b9e24399a6df8293b0117307d6084
+
+I=157
+KEY=000000000000000000000000000000000000000800000000
+CT=11bb87a542e9135eceb6143a07e0b65e
+
+I=158
+KEY=000000000000000000000000000000000000000400000000
+CT=495a92db6e242e0a878eb4ac4c886802
+
+I=159
+KEY=000000000000000000000000000000000000000200000000
+CT=97a5a7e3dab800b3d4e7d468b4ccb951
+
+I=160
+KEY=000000000000000000000000000000000000000100000000
+CT=c74d778d3f0440eb91981c23cc4f5669
+
+I=161
+KEY=000000000000000000000000000000000000000080000000
+CT=1b485b0e4a063b844bc2ae8b722d0757
+
+I=162
+KEY=000000000000000000000000000000000000000040000000
+CT=bf9d54f977a978797a4268cfc84132c4
+
+I=163
+KEY=000000000000000000000000000000000000000020000000
+CT=90c50cb6d84b6a74f3d64a419b0419ea
+
+I=164
+KEY=000000000000000000000000000000000000000010000000
+CT=776eed1a9849173a7ac46e94c9b2681b
+
+I=165
+KEY=000000000000000000000000000000000000000008000000
+CT=a42f612cbf53529173e148aba2b55d63
+
+I=166
+KEY=000000000000000000000000000000000000000004000000
+CT=6f8b5f268b3dbea72bf0d1f92b13684e
+
+I=167
+KEY=000000000000000000000000000000000000000002000000
+CT=9379da858cec7ac58856e7dbf79c4757
+
+I=168
+KEY=000000000000000000000000000000000000000001000000
+CT=17fe109d4638a9e1faf130d621c160cb
+
+I=169
+KEY=000000000000000000000000000000000000000000800000
+CT=2bcfad82613ffd8d9bcbc539c1158bc9
+
+I=170
+KEY=000000000000000000000000000000000000000000400000
+CT=8ea212bfbbf476ce35939066a7f1757d
+
+I=171
+KEY=000000000000000000000000000000000000000000200000
+CT=1bfac7b1b8eb14c26ada2055e0c9cd36
+
+I=172
+KEY=000000000000000000000000000000000000000000100000
+CT=9fca8c1340c47c586d6a2fad9faa6833
+
+I=173
+KEY=000000000000000000000000000000000000000000080000
+CT=d22d10708cba6566dc096b8abe3f9679
+
+I=174
+KEY=000000000000000000000000000000000000000000040000
+CT=1ffc5754fc94465a073b714267dec18c
+
+I=175
+KEY=000000000000000000000000000000000000000000020000
+CT=fded0173236b23df4dfc1953355aa78e
+
+I=176
+KEY=000000000000000000000000000000000000000000010000
+CT=fbe9178c4b27e51e24bf17053724aa2f
+
+I=177
+KEY=000000000000000000000000000000000000000000008000
+CT=f02818d3d58d1f3345594670d3009df4
+
+I=178
+KEY=000000000000000000000000000000000000000000004000
+CT=6e148020bab1dd04492299f6a9d9ba22
+
+I=179
+KEY=000000000000000000000000000000000000000000002000
+CT=8e045ae3022af7562106681b2b8cb70e
+
+I=180
+KEY=000000000000000000000000000000000000000000001000
+CT=2c73832593114bf299424e30c5848625
+
+I=181
+KEY=000000000000000000000000000000000000000000000800
+CT=127fc7bcf85f44f5041158a5eb3d040c
+
+I=182
+KEY=000000000000000000000000000000000000000000000400
+CT=b25fabda9d6e6704f23f33b0d907b762
+
+I=183
+KEY=000000000000000000000000000000000000000000000200
+CT=21b968bf3effc638f54bc1524d8d378f
+
+I=184
+KEY=000000000000000000000000000000000000000000000100
+CT=18f3beb5d5a6b6ac512752aaa65ea3bd
+
+I=185
+KEY=000000000000000000000000000000000000000000000080
+CT=5588729059256ce49af2da14ee4c9d00
+
+I=186
+KEY=000000000000000000000000000000000000000000000040
+CT=a6ebd68d0a6f46da22cd17d4b55bc4fe
+
+I=187
+KEY=000000000000000000000000000000000000000000000020
+CT=50434829c09bfb7c174e1be33642fefb
+
+I=188
+KEY=000000000000000000000000000000000000000000000010
+CT=682c20b72ddfe4f678b2379fa25715ca
+
+I=189
+KEY=000000000000000000000000000000000000000000000008
+CT=925721e954372c9ea115bff97bbe9a12
+
+I=190
+KEY=000000000000000000000000000000000000000000000004
+CT=32929e53c8e8d85657b9b55a4911028c
+
+I=191
+KEY=000000000000000000000000000000000000000000000002
+CT=8ee624f18bf5aa25ace8667643d0d80d
+
+I=192
+KEY=000000000000000000000000000000000000000000000001
+CT=30a61dceb9a951b829de01414a801807
+
+KEYSIZE=256
+
+PT=00000000000000000000000000000000
+
+I=0
+KEY=0000000000000000000000000000000000000000000000000000000000000000
+CT=57ff739d4dc92c1bd7fc01700cc8216f
+
+I=1
+KEY=8000000000000000000000000000000000000000000000000000000000000000
+CT=785229b51b515f30a1fcc88b969a4e47
+
+I=2
+KEY=4000000000000000000000000000000000000000000000000000000000000000
+CT=b095e0619e70cdf5f4bc6e88079cf22f
+
+I=3
+KEY=2000000000000000000000000000000000000000000000000000000000000000
+CT=44f32aeae82516ac8857c1985b7109ec
+
+I=4
+KEY=1000000000000000000000000000000000000000000000000000000000000000
+CT=b2bbe93b433c8f0415b90282e788c071
+
+I=5
+KEY=0800000000000000000000000000000000000000000000000000000000000000
+CT=9e953ebaa3b13f43f90908b53daa0c09
+
+I=6
+KEY=0400000000000000000000000000000000000000000000000000000000000000
+CT=4579140290095fb25b3144444505d203
+
+I=7
+KEY=0200000000000000000000000000000000000000000000000000000000000000
+CT=5fd5f687596a9aa9ea105a2f7cf59a94
+
+I=8
+KEY=0100000000000000000000000000000000000000000000000000000000000000
+CT=005ea3af8aff3dda323148690537853c
+
+I=9
+KEY=0080000000000000000000000000000000000000000000000000000000000000
+CT=cd8e33c4f06fc0586e821522b2feb08d
+
+I=10
+KEY=0040000000000000000000000000000000000000000000000000000000000000
+CT=cabec07e46d11086778c3e1937cd0797
+
+I=11
+KEY=0020000000000000000000000000000000000000000000000000000000000000
+CT=56ba650835e125201400380c4d2d5d99
+
+I=12
+KEY=0010000000000000000000000000000000000000000000000000000000000000
+CT=eb48a1b279e95ebf8faac13d70f8f452
+
+I=13
+KEY=0008000000000000000000000000000000000000000000000000000000000000
+CT=e52435c29f7c9687b268c539bf6598b1
+
+I=14
+KEY=0004000000000000000000000000000000000000000000000000000000000000
+CT=27785bdf6f6258eac396bfd0f56bee82
+
+I=15
+KEY=0002000000000000000000000000000000000000000000000000000000000000
+CT=ca16b1969fa373f43ef09d19b3379f3f
+
+I=16
+KEY=0001000000000000000000000000000000000000000000000000000000000000
+CT=6d1b6f14090368034e10cf0c1e4f5744
+
+I=17
+KEY=0000800000000000000000000000000000000000000000000000000000000000
+CT=5ae3aba331c5d765e3d112b1da09e7bc
+
+I=18
+KEY=0000400000000000000000000000000000000000000000000000000000000000
+CT=767f9cbda1ba9914eba40d7a172a4077
+
+I=19
+KEY=0000200000000000000000000000000000000000000000000000000000000000
+CT=8fae713f677a82075d773db73d58763e
+
+I=20
+KEY=0000100000000000000000000000000000000000000000000000000000000000
+CT=616ca9a15d710ca38fca9a8e0b16a21c
+
+I=21
+KEY=0000080000000000000000000000000000000000000000000000000000000000
+CT=d36754729db34eca1ecac2ce2b381713
+
+I=22
+KEY=0000040000000000000000000000000000000000000000000000000000000000
+CT=e68e3a421462a49af8d7e544f7789301
+
+I=23
+KEY=0000020000000000000000000000000000000000000000000000000000000000
+CT=69b24511df9be48cfdb416f08908315f
+
+I=24
+KEY=0000010000000000000000000000000000000000000000000000000000000000
+CT=1329ea7551ce6c335db924d563694058
+
+I=25
+KEY=0000008000000000000000000000000000000000000000000000000000000000
+CT=74da788fb7a6172b65fbb62c7ed4fecc
+
+I=26
+KEY=0000004000000000000000000000000000000000000000000000000000000000
+CT=862703854f75f433135601000cd9363b
+
+I=27
+KEY=0000002000000000000000000000000000000000000000000000000000000000
+CT=824d4c002c401677d5785d6c6da96c68
+
+I=28
+KEY=0000001000000000000000000000000000000000000000000000000000000000
+CT=7f9f21e8c45d1e8a843060b963cc628b
+
+I=29
+KEY=0000000800000000000000000000000000000000000000000000000000000000
+CT=3f6f7b1157906913b09bd2ae2627c6b0
+
+I=30
+KEY=0000000400000000000000000000000000000000000000000000000000000000
+CT=a1b7e0cc8b69b3c0c6f635f962d0a22f
+
+I=31
+KEY=0000000200000000000000000000000000000000000000000000000000000000
+CT=6fc34ddff0c74674ce124d85e8a3447f
+
+I=32
+KEY=0000000100000000000000000000000000000000000000000000000000000000
+CT=436a5d315af443dea9bef8d1e817e7e0
+
+I=33
+KEY=0000000080000000000000000000000000000000000000000000000000000000
+CT=8b0434c9c98cda4b313dad6f1e64a943
+
+I=34
+KEY=0000000040000000000000000000000000000000000000000000000000000000
+CT=af9bd15ef1535259c63d688bf67119c4
+
+I=35
+KEY=0000000020000000000000000000000000000000000000000000000000000000
+CT=f61ef2509d173e348e01839a26d033ff
+
+I=36
+KEY=0000000010000000000000000000000000000000000000000000000000000000
+CT=9d37d036c8568d2173654423cc7aab39
+
+I=37
+KEY=0000000008000000000000000000000000000000000000000000000000000000
+CT=a93d98c055ddaa592390cadb0f0c468d
+
+I=38
+KEY=0000000004000000000000000000000000000000000000000000000000000000
+CT=f19cb2a5067e9fbadbd4f0d103007a54
+
+I=39
+KEY=0000000002000000000000000000000000000000000000000000000000000000
+CT=83c5d584511836263d8b0de7cef0ad16
+
+I=40
+KEY=0000000001000000000000000000000000000000000000000000000000000000
+CT=e09206eb6a5e8ac933baab46547e4cd9
+
+I=41
+KEY=0000000000800000000000000000000000000000000000000000000000000000
+CT=0a0eba6aced7899aa633ce67e8923936
+
+I=42
+KEY=0000000000400000000000000000000000000000000000000000000000000000
+CT=c93968ec0ee02dacd3f3ee9ac2320b88
+
+I=43
+KEY=0000000000200000000000000000000000000000000000000000000000000000
+CT=64d62934d409f36505eec3b925be914d
+
+I=44
+KEY=0000000000100000000000000000000000000000000000000000000000000000
+CT=bbadb03d5f0fcf375e671f8b009f3af1
+
+I=45
+KEY=0000000000080000000000000000000000000000000000000000000000000000
+CT=dac60b05a1c3a203c6b4fe882e780079
+
+I=46
+KEY=0000000000040000000000000000000000000000000000000000000000000000
+CT=8b650ec280be261cced5b5fc7f8a9ba7
+
+I=47
+KEY=0000000000020000000000000000000000000000000000000000000000000000
+CT=35eb82f0bb6735e2de661ae4e9e9ee57
+
+I=48
+KEY=0000000000010000000000000000000000000000000000000000000000000000
+CT=40b1042cbe87d64ddbea4bac8cf1f08c
+
+I=49
+KEY=0000000000008000000000000000000000000000000000000000000000000000
+CT=13d46ae35d868401d23c891ed92621ee
+
+I=50
+KEY=0000000000004000000000000000000000000000000000000000000000000000
+CT=d2c6e9c239b4fa5a1e76d038ea4660f3
+
+I=51
+KEY=0000000000002000000000000000000000000000000000000000000000000000
+CT=de3bc7cdfaf9ab7143e255dc87645f3e
+
+I=52
+KEY=0000000000001000000000000000000000000000000000000000000000000000
+CT=8fb6ca966b5acfb180a296ea5d93711f
+
+I=53
+KEY=0000000000000800000000000000000000000000000000000000000000000000
+CT=59f622acbba15e522717a9eaf7047949
+
+I=54
+KEY=0000000000000400000000000000000000000000000000000000000000000000
+CT=bb2939ffbd77b308da93220ad68a21ac
+
+I=55
+KEY=0000000000000200000000000000000000000000000000000000000000000000
+CT=cebe5edd9bacf0a0fb75b259de7097cd
+
+I=56
+KEY=0000000000000100000000000000000000000000000000000000000000000000
+CT=3448844e63ac2bd809e254ac3baa6b3b
+
+I=57
+KEY=0000000000000080000000000000000000000000000000000000000000000000
+CT=49c27499eec1989626b1e50435ba0273
+
+I=58
+KEY=0000000000000040000000000000000000000000000000000000000000000000
+CT=39e97018f547a8a802578b80952f2457
+
+I=59
+KEY=0000000000000020000000000000000000000000000000000000000000000000
+CT=9934453fbaae1cb362a0012204967ae8
+
+I=60
+KEY=0000000000000010000000000000000000000000000000000000000000000000
+CT=e9c98a03713835eb4497346866791190
+
+I=61
+KEY=0000000000000008000000000000000000000000000000000000000000000000
+CT=e026c858938b47d28a8758ccfaef0fa8
+
+I=62
+KEY=0000000000000004000000000000000000000000000000000000000000000000
+CT=3a84b0a26cea6a8d8a94d5b791a0d3e8
+
+I=63
+KEY=0000000000000002000000000000000000000000000000000000000000000000
+CT=b054259980b45b9d2d7cd6c13200bafc
+
+I=64
+KEY=0000000000000001000000000000000000000000000000000000000000000000
+CT=13645dbede21ff7c79c06141ad9e4cd1
+
+I=65
+KEY=0000000000000000800000000000000000000000000000000000000000000000
+CT=f29b1370ba8d8cc19ac8df5df77f7319
+
+I=66
+KEY=0000000000000000400000000000000000000000000000000000000000000000
+CT=6a2c94c488d5bd32742f143b2e8d0659
+
+I=67
+KEY=0000000000000000200000000000000000000000000000000000000000000000
+CT=27a0bf748f513f18d4f7831527a3608f
+
+I=68
+KEY=0000000000000000100000000000000000000000000000000000000000000000
+CT=0b0d61e162a88e04c38c19ca668c2ddc
+
+I=69
+KEY=0000000000000000080000000000000000000000000000000000000000000000
+CT=4055ba24216ef49fe36e6145a5cd31d4
+
+I=70
+KEY=0000000000000000040000000000000000000000000000000000000000000000
+CT=99699b31ebbe6abe1f7b2afec86dc7e2
+
+I=71
+KEY=0000000000000000020000000000000000000000000000000000000000000000
+CT=c8d70448cba770cd94088f60cbf8c5ac
+
+I=72
+KEY=0000000000000000010000000000000000000000000000000000000000000000
+CT=56c89f1ba6d3ab20465f01f81d00a894
+
+I=73
+KEY=0000000000000000008000000000000000000000000000000000000000000000
+CT=919fc5bbfab8c31f8b2a346fbc2ab282
+
+I=74
+KEY=0000000000000000004000000000000000000000000000000000000000000000
+CT=ff57e3ab8751daa252dd0dd917bead8b
+
+I=75
+KEY=0000000000000000002000000000000000000000000000000000000000000000
+CT=90b94853b317ffa8d41f2a32a3a061ab
+
+I=76
+KEY=0000000000000000001000000000000000000000000000000000000000000000
+CT=f4a0257d0cf6c8c87d154746c2c94b52
+
+I=77
+KEY=0000000000000000000800000000000000000000000000000000000000000000
+CT=03666f848f252b501754773cb68cf3b2
+
+I=78
+KEY=0000000000000000000400000000000000000000000000000000000000000000
+CT=f3d0941ddc7412a981c5f6ccab082dc2
+
+I=79
+KEY=0000000000000000000200000000000000000000000000000000000000000000
+CT=21edd2a11c57ee97aeadfacec20a8691
+
+I=80
+KEY=0000000000000000000100000000000000000000000000000000000000000000
+CT=577cf09b5606f1443e8b57952004c68d
+
+I=81
+KEY=0000000000000000000080000000000000000000000000000000000000000000
+CT=0cf408a2fbda07068bdb13a371867fcc
+
+I=82
+KEY=0000000000000000000040000000000000000000000000000000000000000000
+CT=88542c9e680c27fe8fbe090ad73410b9
+
+I=83
+KEY=0000000000000000000020000000000000000000000000000000000000000000
+CT=7a8ba6dc89a1ad4385d0696afdd89496
+
+I=84
+KEY=0000000000000000000010000000000000000000000000000000000000000000
+CT=b84fa0fa046d5d77ea94cf3e8fded147
+
+I=85
+KEY=0000000000000000000008000000000000000000000000000000000000000000
+CT=d73cb079fb7101c933176352a93bb028
+
+I=86
+KEY=0000000000000000000004000000000000000000000000000000000000000000
+CT=a7c8c1a59e141d608bc91bb69e7b2859
+
+I=87
+KEY=0000000000000000000002000000000000000000000000000000000000000000
+CT=b2da67afe49b33e5edfaf148a17bf06b
+
+I=88
+KEY=0000000000000000000001000000000000000000000000000000000000000000
+CT=ac2db35ed86d358616648d22b52df012
+
+I=89
+KEY=0000000000000000000000800000000000000000000000000000000000000000
+CT=662ea9d88a9a2c89581502eaaad074d5
+
+I=90
+KEY=0000000000000000000000400000000000000000000000000000000000000000
+CT=773a30dfda8ebce50edfb925343c9ecc
+
+I=91
+KEY=0000000000000000000000200000000000000000000000000000000000000000
+CT=10b7242d9c7ca610c20f1183bb949514
+
+I=92
+KEY=0000000000000000000000100000000000000000000000000000000000000000
+CT=b7df971f9c3444efcc13210292126942
+
+I=93
+KEY=0000000000000000000000080000000000000000000000000000000000000000
+CT=13f7406746c6e0cd5666ec04c0e540e2
+
+I=94
+KEY=0000000000000000000000040000000000000000000000000000000000000000
+CT=9382384dcaf80cf537e24fc5f2f71a8a
+
+I=95
+KEY=0000000000000000000000020000000000000000000000000000000000000000
+CT=3d5819934619e09f10e90c4ea7f30f40
+
+I=96
+KEY=0000000000000000000000010000000000000000000000000000000000000000
+CT=710446d0a254f68975cd6aaae92212fd
+
+I=97
+KEY=0000000000000000000000008000000000000000000000000000000000000000
+CT=0a44fdeaa17e5f3e536a08d7a5b3267b
+
+I=98
+KEY=0000000000000000000000004000000000000000000000000000000000000000
+CT=bac72f53ee39296d3a23b126f8d8b20b
+
+I=99
+KEY=0000000000000000000000002000000000000000000000000000000000000000
+CT=88c342961d0ee83902cb78c29539923d
+
+I=100
+KEY=0000000000000000000000001000000000000000000000000000000000000000
+CT=cf3b48a6351c4561752d6a209f93a30f
+
+I=101
+KEY=0000000000000000000000000800000000000000000000000000000000000000
+CT=957b107d23f3694f3ffd9957bbe13168
+
+I=102
+KEY=0000000000000000000000000400000000000000000000000000000000000000
+CT=23675e18c1c66b483d55e14ac7f9cc80
+
+I=103
+KEY=0000000000000000000000000200000000000000000000000000000000000000
+CT=955b8619f99f7609201ceeb338f32795
+
+I=104
+KEY=0000000000000000000000000100000000000000000000000000000000000000
+CT=9f2bcb0c28768da3b76206979b14ebc2
+
+I=105
+KEY=0000000000000000000000000080000000000000000000000000000000000000
+CT=258f95a0e86ee0ee8fc020b4a01900f2
+
+I=106
+KEY=0000000000000000000000000040000000000000000000000000000000000000
+CT=fd7b1dd7c7fe279e6a5e2926dd890b5e
+
+I=107
+KEY=0000000000000000000000000020000000000000000000000000000000000000
+CT=59cf38a7c863c623991b5392944cb43c
+
+I=108
+KEY=0000000000000000000000000010000000000000000000000000000000000000
+CT=27bcc9206aec78da48c1e9ab8d1a7a07
+
+I=109
+KEY=0000000000000000000000000008000000000000000000000000000000000000
+CT=62d8460820b18811debb617de7b8ec8c
+
+I=110
+KEY=0000000000000000000000000004000000000000000000000000000000000000
+CT=782d8a4d30ee841edb2e7e88c63b851a
+
+I=111
+KEY=0000000000000000000000000002000000000000000000000000000000000000
+CT=4d10d177334397f49211bcb10f207905
+
+I=112
+KEY=0000000000000000000000000001000000000000000000000000000000000000
+CT=c8e608bafe61254a0ddf866bb4d063dd
+
+I=113
+KEY=0000000000000000000000000000800000000000000000000000000000000000
+CT=05ddab3daea0c64c1077be22da7acdd4
+
+I=114
+KEY=0000000000000000000000000000400000000000000000000000000000000000
+CT=951388f2be1dd7013a00327fc6db7905
+
+I=115
+KEY=0000000000000000000000000000200000000000000000000000000000000000
+CT=62f8283651efdf475de8511ea7256ad6
+
+I=116
+KEY=0000000000000000000000000000100000000000000000000000000000000000
+CT=5b259eee6b19ee12d4ce20d2f38d4bcf
+
+I=117
+KEY=0000000000000000000000000000080000000000000000000000000000000000
+CT=704414e13dcad9df7f593f630e68e13c
+
+I=118
+KEY=0000000000000000000000000000040000000000000000000000000000000000
+CT=41ad9daac24eccbb454dbaf75d5b9989
+
+I=119
+KEY=0000000000000000000000000000020000000000000000000000000000000000
+CT=919c54c126b54d7a570d8aba9fce5d08
+
+I=120
+KEY=0000000000000000000000000000010000000000000000000000000000000000
+CT=bc665541ff0f2e86dbdf4444c01ac0ea
+
+I=121
+KEY=0000000000000000000000000000008000000000000000000000000000000000
+CT=fd30e2d851211506c112d5701b859bc6
+
+I=122
+KEY=0000000000000000000000000000004000000000000000000000000000000000
+CT=7db7b15e4acbdbb0bff4c4eaedc2231e
+
+I=123
+KEY=0000000000000000000000000000002000000000000000000000000000000000
+CT=f0afded56ad72d4c1e57a66eedf4816e
+
+I=124
+KEY=0000000000000000000000000000001000000000000000000000000000000000
+CT=e53b053d9b2e06656138d4a1efa58888
+
+I=125
+KEY=0000000000000000000000000000000800000000000000000000000000000000
+CT=4dabe13a3e656e95150440f81dd92666
+
+I=126
+KEY=0000000000000000000000000000000400000000000000000000000000000000
+CT=175d44dfde1ead6e0e6862b511aa7007
+
+I=127
+KEY=0000000000000000000000000000000200000000000000000000000000000000
+CT=09b690f493f5c779e8b6acd09667a997
+
+I=128
+KEY=0000000000000000000000000000000100000000000000000000000000000000
+CT=68d0e4cca0119eed57abf3c7574bda8b
+
+I=129
+KEY=0000000000000000000000000000000080000000000000000000000000000000
+CT=12c00618da7eba5efa5e58d2696d891f
+
+I=130
+KEY=0000000000000000000000000000000040000000000000000000000000000000
+CT=5dce21af0d23bc5aefd4ea331b16219a
+
+I=131
+KEY=0000000000000000000000000000000020000000000000000000000000000000
+CT=a5d7135a053b904d44b40e4e21693751
+
+I=132
+KEY=0000000000000000000000000000000010000000000000000000000000000000
+CT=3257cec675bf755fee67a44d7edf2731
+
+I=133
+KEY=0000000000000000000000000000000008000000000000000000000000000000
+CT=324d30ddc6979f17a3beaea3a76ad44c
+
+I=134
+KEY=0000000000000000000000000000000004000000000000000000000000000000
+CT=a1aa0e04e2b61861796fd2aa30fbeb05
+
+I=135
+KEY=0000000000000000000000000000000002000000000000000000000000000000
+CT=90ca81df4000404b567f5cfa9d193cb3
+
+I=136
+KEY=0000000000000000000000000000000001000000000000000000000000000000
+CT=a2e6864259483d059b57bb921b7fbd99
+
+I=137
+KEY=0000000000000000000000000000000000800000000000000000000000000000
+CT=545690c09c8c396f1273510da9065c12
+
+I=138
+KEY=0000000000000000000000000000000000400000000000000000000000000000
+CT=16d86fcc5910e2dd0cea4dd5219b2d03
+
+I=139
+KEY=0000000000000000000000000000000000200000000000000000000000000000
+CT=ec4114c19dd5711cd927b0dbe34aab4b
+
+I=140
+KEY=0000000000000000000000000000000000100000000000000000000000000000
+CT=a78c62d8fd439e5b10a7ef436714ac22
+
+I=141
+KEY=0000000000000000000000000000000000080000000000000000000000000000
+CT=ba5d708cba34f782da00c7643c971db9
+
+I=142
+KEY=0000000000000000000000000000000000040000000000000000000000000000
+CT=7db9adcfa26c1e784e7f485bd0a0a52c
+
+I=143
+KEY=0000000000000000000000000000000000020000000000000000000000000000
+CT=8a025ced99af1047c5345358a291cdbb
+
+I=144
+KEY=0000000000000000000000000000000000010000000000000000000000000000
+CT=187a1824d390ad2798e4f2264e5f1f21
+
+I=145
+KEY=0000000000000000000000000000000000008000000000000000000000000000
+CT=ba28de5c32353c65b97a59889e7a7a40
+
+I=146
+KEY=0000000000000000000000000000000000004000000000000000000000000000
+CT=5d486ab86a883029ec74916851fffa11
+
+I=147
+KEY=0000000000000000000000000000000000002000000000000000000000000000
+CT=f9c79d54ceee6170b195f4d30fa63fe0
+
+I=148
+KEY=0000000000000000000000000000000000001000000000000000000000000000
+CT=96b8429f476485f8cc2e204534a8b64e
+
+I=149
+KEY=0000000000000000000000000000000000000800000000000000000000000000
+CT=13061d65fef26f5acaaf3b55fdb98c36
+
+I=150
+KEY=0000000000000000000000000000000000000400000000000000000000000000
+CT=c72dc86f70b40169b3456783a611dae9
+
+I=151
+KEY=0000000000000000000000000000000000000200000000000000000000000000
+CT=82aa2db6fee9212968d8282a1bf3242b
+
+I=152
+KEY=0000000000000000000000000000000000000100000000000000000000000000
+CT=220c8b197f54f8e86dae575b07a570ef
+
+I=153
+KEY=0000000000000000000000000000000000000080000000000000000000000000
+CT=873c47f6f75be9f710f91f2c54a69a7a
+
+I=154
+KEY=0000000000000000000000000000000000000040000000000000000000000000
+CT=0392fa7bb908fef23774772f74ac968d
+
+I=155
+KEY=0000000000000000000000000000000000000020000000000000000000000000
+CT=a94203746a266c5744c16bf4e8dfa6d7
+
+I=156
+KEY=0000000000000000000000000000000000000010000000000000000000000000
+CT=d3ba78ad6b01cc7221fa7778699c8316
+
+I=157
+KEY=0000000000000000000000000000000000000008000000000000000000000000
+CT=994fdcc09c25400d14c05117b936eecd
+
+I=158
+KEY=0000000000000000000000000000000000000004000000000000000000000000
+CT=4012f67b2a0bef2623ca6ac5b054be62
+
+I=159
+KEY=0000000000000000000000000000000000000002000000000000000000000000
+CT=1134af65e6d3d5e3d3c23a499ee2f677
+
+I=160
+KEY=0000000000000000000000000000000000000001000000000000000000000000
+CT=6b35a344bd8dfd4002f5f22ea288f8e6
+
+I=161
+KEY=0000000000000000000000000000000000000000800000000000000000000000
+CT=d293d438c563b8eb3ff26e23a7323b74
+
+I=162
+KEY=0000000000000000000000000000000000000000400000000000000000000000
+CT=8085b7a7b939fa37bc4e1d746e9f9b37
+
+I=163
+KEY=0000000000000000000000000000000000000000200000000000000000000000
+CT=d628ad150e15f413010be15e391d3f48
+
+I=164
+KEY=0000000000000000000000000000000000000000100000000000000000000000
+CT=a5c2ac88b6fd4c57cb4f2c2920a584ef
+
+I=165
+KEY=0000000000000000000000000000000000000000080000000000000000000000
+CT=d7f5183f6bab04b87a1abaa3914da848
+
+I=166
+KEY=0000000000000000000000000000000000000000040000000000000000000000
+CT=3b2116bd2e362fc8985a0f0c618df58a
+
+I=167
+KEY=0000000000000000000000000000000000000000020000000000000000000000
+CT=bf31e8de8342a32bbd80a8f91507bada
+
+I=168
+KEY=0000000000000000000000000000000000000000010000000000000000000000
+CT=aa04a56c13507ae5137657546766ae2d
+
+I=169
+KEY=0000000000000000000000000000000000000000008000000000000000000000
+CT=72b9d7628ab21df89666e50517c50574
+
+I=170
+KEY=0000000000000000000000000000000000000000004000000000000000000000
+CT=2b8de8d2d3332e6a30215acc10a69847
+
+I=171
+KEY=0000000000000000000000000000000000000000002000000000000000000000
+CT=ac421c73a789d79b452623dafd3d6d0b
+
+I=172
+KEY=0000000000000000000000000000000000000000001000000000000000000000
+CT=995207d8cf8c10904c0f47652c9c4287
+
+I=173
+KEY=0000000000000000000000000000000000000000000800000000000000000000
+CT=f83bd19a357bd7901c0e8fbefcf857ed
+
+I=174
+KEY=0000000000000000000000000000000000000000000400000000000000000000
+CT=f42bb427c894a072c861c1425cbd71bc
+
+I=175
+KEY=0000000000000000000000000000000000000000000200000000000000000000
+CT=3d1ec73b166dc0120ddf24267907c0f9
+
+I=176
+KEY=0000000000000000000000000000000000000000000100000000000000000000
+CT=8ef136af5d7d1b513fb59fa21f7837a1
+
+I=177
+KEY=0000000000000000000000000000000000000000000080000000000000000000
+CT=eb4bba7f94ce9429255a583d2f9810cd
+
+I=178
+KEY=0000000000000000000000000000000000000000000040000000000000000000
+CT=5fe1c3bcd24818948514cb5a32ffd0a1
+
+I=179
+KEY=0000000000000000000000000000000000000000000020000000000000000000
+CT=a990117e78d1c5bd7833b96a4a180744
+
+I=180
+KEY=0000000000000000000000000000000000000000000010000000000000000000
+CT=e63684cdc37e6768c45012ea00d008e4
+
+I=181
+KEY=0000000000000000000000000000000000000000000008000000000000000000
+CT=78b711f290da924caf1e4f1e11a08f4f
+
+I=182
+KEY=0000000000000000000000000000000000000000000004000000000000000000
+CT=85b7f0d391af9268643d9c0b72433a99
+
+I=183
+KEY=0000000000000000000000000000000000000000000002000000000000000000
+CT=f51410475b33fbd3db2117b5c17c82d4
+
+I=184
+KEY=0000000000000000000000000000000000000000000001000000000000000000
+CT=a3c5bf72f39940dc7dafb474a77a6114
+
+I=185
+KEY=0000000000000000000000000000000000000000000000800000000000000000
+CT=4efb0e18fb2f96fb6f81514bce0a7bbd
+
+I=186
+KEY=0000000000000000000000000000000000000000000000400000000000000000
+CT=10112f5abbf246996860b843fc7159f5
+
+I=187
+KEY=0000000000000000000000000000000000000000000000200000000000000000
+CT=94a91373701569b8c21487a7bdb164b6
+
+I=188
+KEY=0000000000000000000000000000000000000000000000100000000000000000
+CT=a466821bd64f552c0610adb737c562cd
+
+I=189
+KEY=0000000000000000000000000000000000000000000000080000000000000000
+CT=511be2ba9f2a272ca2f5c1d0f3e249c1
+
+I=190
+KEY=0000000000000000000000000000000000000000000000040000000000000000
+CT=5578ccf8b92d48363eed4601661eb56e
+
+I=191
+KEY=0000000000000000000000000000000000000000000000020000000000000000
+CT=bf90e87173a45115c811b6319c24fc4a
+
+I=192
+KEY=0000000000000000000000000000000000000000000000010000000000000000
+CT=8029ee840d130319330b432d95db9aa7
+
+I=193
+KEY=0000000000000000000000000000000000000000000000008000000000000000
+CT=19d6d9f45582481a573d77917e778f3c
+
+I=194
+KEY=0000000000000000000000000000000000000000000000004000000000000000
+CT=556d552fde7c64227e2b72776488d6c1
+
+I=195
+KEY=0000000000000000000000000000000000000000000000002000000000000000
+CT=3e81b51a214cc1f1cf6f35f9106a84bc
+
+I=196
+KEY=0000000000000000000000000000000000000000000000001000000000000000
+CT=4e48243857ecb700f8f16872e0bb4fa9
+
+I=197
+KEY=0000000000000000000000000000000000000000000000000800000000000000
+CT=681654df6668cddf1d3d604483ab483b
+
+I=198
+KEY=0000000000000000000000000000000000000000000000000400000000000000
+CT=bd6ceefd85a336e4f12d42076573eca2
+
+I=199
+KEY=0000000000000000000000000000000000000000000000000200000000000000
+CT=7488f9790fec8aae2aaddf6a600629b3
+
+I=200
+KEY=0000000000000000000000000000000000000000000000000100000000000000
+CT=669c36695c33b63f16077cae9aa940aa
+
+I=201
+KEY=0000000000000000000000000000000000000000000000000080000000000000
+CT=7ce998a357384159c9b34a9a8ac7df78
+
+I=202
+KEY=0000000000000000000000000000000000000000000000000040000000000000
+CT=51be07ba8106a19ccc2005b8b3932fbf
+
+I=203
+KEY=0000000000000000000000000000000000000000000000000020000000000000
+CT=2634245a6ec3f17a35b7fe1d3e17f769
+
+I=204
+KEY=0000000000000000000000000000000000000000000000000010000000000000
+CT=24d4114760bce04c0109c06cce199f6c
+
+I=205
+KEY=0000000000000000000000000000000000000000000000000008000000000000
+CT=3f055452fcd596c6d588bd48bb5d5080
+
+I=206
+KEY=0000000000000000000000000000000000000000000000000004000000000000
+CT=a1d97f66def90de14cc2bfaff09286bb
+
+I=207
+KEY=0000000000000000000000000000000000000000000000000002000000000000
+CT=80442dc4ebfb53b86e232d886ca166b9
+
+I=208
+KEY=0000000000000000000000000000000000000000000000000001000000000000
+CT=76a593802c6a691152e8a04e5de2d05a
+
+I=209
+KEY=0000000000000000000000000000000000000000000000000000800000000000
+CT=f923a147e00807d58fb9c686e01f7e07
+
+I=210
+KEY=0000000000000000000000000000000000000000000000000000400000000000
+CT=8ea3b396d561a3cfce729a0b59647760
+
+I=211
+KEY=0000000000000000000000000000000000000000000000000000200000000000
+CT=4aa735d710704790c060bad696dacabe
+
+I=212
+KEY=0000000000000000000000000000000000000000000000000000100000000000
+CT=7f7c322d82557737f5407a797069b711
+
+I=213
+KEY=0000000000000000000000000000000000000000000000000000080000000000
+CT=5094418c55b7d591efdb7097cb95b16d
+
+I=214
+KEY=0000000000000000000000000000000000000000000000000000040000000000
+CT=cc014984abdfb760a835846668340929
+
+I=215
+KEY=0000000000000000000000000000000000000000000000000000020000000000
+CT=18f86ea6c633228579c5728ff070ac21
+
+I=216
+KEY=0000000000000000000000000000000000000000000000000000010000000000
+CT=afcf921e4fa24fdef85edac12cd479f1
+
+I=217
+KEY=0000000000000000000000000000000000000000000000000000008000000000
+CT=684085d0be8ae0d617b2efef62caac93
+
+I=218
+KEY=0000000000000000000000000000000000000000000000000000004000000000
+CT=04c7b0268eaefed098c815935d868cf9
+
+I=219
+KEY=0000000000000000000000000000000000000000000000000000002000000000
+CT=39ae859d255487a68093a376d358bbc2
+
+I=220
+KEY=0000000000000000000000000000000000000000000000000000001000000000
+CT=f1218b59e947816041b21ac28685ef36
+
+I=221
+KEY=0000000000000000000000000000000000000000000000000000000800000000
+CT=b9be024d06447f8965e480b33975e36f
+
+I=222
+KEY=0000000000000000000000000000000000000000000000000000000400000000
+CT=24ecd5b3178150233bd38a4b9f8ebc86
+
+I=223
+KEY=0000000000000000000000000000000000000000000000000000000200000000
+CT=7ad12485e896037a8d1a4abe8a80b9bb
+
+I=224
+KEY=0000000000000000000000000000000000000000000000000000000100000000
+CT=cec561c6f4c45cc944371e5d1c18edf1
+
+I=225
+KEY=0000000000000000000000000000000000000000000000000000000080000000
+CT=f4b1088b0858a3737df2c90fd919d1d4
+
+I=226
+KEY=0000000000000000000000000000000000000000000000000000000040000000
+CT=5ea6d1b9881ce230b8eabac59b7f5393
+
+I=227
+KEY=0000000000000000000000000000000000000000000000000000000020000000
+CT=8023134fac8bf5fda86368bda618aef7
+
+I=228
+KEY=0000000000000000000000000000000000000000000000000000000010000000
+CT=d37285234a927061bec9f8aae0e796c8
+
+I=229
+KEY=0000000000000000000000000000000000000000000000000000000008000000
+CT=68ac18db2fbf0a4a095a4b3344bf035d
+
+I=230
+KEY=0000000000000000000000000000000000000000000000000000000004000000
+CT=563868079c5df91e3b47b370b0bbb820
+
+I=231
+KEY=0000000000000000000000000000000000000000000000000000000002000000
+CT=86c3bb221834f7507505434e4f98dc92
+
+I=232
+KEY=0000000000000000000000000000000000000000000000000000000001000000
+CT=fd8220818731607d8b69ac5963d0fac9
+
+I=233
+KEY=0000000000000000000000000000000000000000000000000000000000800000
+CT=550726375abb0f9a7c010dc4e47833f9
+
+I=234
+KEY=0000000000000000000000000000000000000000000000000000000000400000
+CT=8ab5e8973a5d6648517d151295091c0e
+
+I=235
+KEY=0000000000000000000000000000000000000000000000000000000000200000
+CT=338bb4b5569aa06411b9911381f350b2
+
+I=236
+KEY=0000000000000000000000000000000000000000000000000000000000100000
+CT=332d696ec49df4b58c5fa9cc84773f47
+
+I=237
+KEY=0000000000000000000000000000000000000000000000000000000000080000
+CT=deb5ac8f895aff45ba5815d4912d8371
+
+I=238
+KEY=0000000000000000000000000000000000000000000000000000000000040000
+CT=89a49d3ab772d0fdae05fc692eaf6c7b
+
+I=239
+KEY=0000000000000000000000000000000000000000000000000000000000020000
+CT=02116e6aefc21a4d4d64ca27ab7af31e
+
+I=240
+KEY=0000000000000000000000000000000000000000000000000000000000010000
+CT=58f79ff1810ca4b0e0178f7d9c24a581
+
+I=241
+KEY=0000000000000000000000000000000000000000000000000000000000008000
+CT=686fb1ed659d9bf17da2bb79ac636c93
+
+I=242
+KEY=0000000000000000000000000000000000000000000000000000000000004000
+CT=1c5c176c4f5796b2c34d2a12858eb511
+
+I=243
+KEY=0000000000000000000000000000000000000000000000000000000000002000
+CT=2a94b92cc9c4776817c0a77d49e24f22
+
+I=244
+KEY=0000000000000000000000000000000000000000000000000000000000001000
+CT=890583a6c9549a3dcafbd54bf391bc8f
+
+I=245
+KEY=0000000000000000000000000000000000000000000000000000000000000800
+CT=ea88a883197e483b4aa16316ea97ccbb
+
+I=246
+KEY=0000000000000000000000000000000000000000000000000000000000000400
+CT=cc5732ceb99a0a0353baba6432bcbe9f
+
+I=247
+KEY=0000000000000000000000000000000000000000000000000000000000000200
+CT=88811b506d565779f09de9bdf8702bd8
+
+I=248
+KEY=0000000000000000000000000000000000000000000000000000000000000100
+CT=e11fee3ad4a9a03956704b58720c92dd
+
+I=249
+KEY=0000000000000000000000000000000000000000000000000000000000000080
+CT=644555dfb9ce8edaf888ee142b5577f1
+
+I=250
+KEY=0000000000000000000000000000000000000000000000000000000000000040
+CT=716e2bbcbd8ff7e7335784b767f27ca9
+
+I=251
+KEY=0000000000000000000000000000000000000000000000000000000000000020
+CT=83588863f183ece04e95629a322f9a09
+
+I=252
+KEY=0000000000000000000000000000000000000000000000000000000000000010
+CT=5e2833ec95ace6b93af28c6fcdbce5d5
+
+I=253
+KEY=0000000000000000000000000000000000000000000000000000000000000008
+CT=b3efcf17f0e1b275d413dd4d3a5cae68
+
+I=254
+KEY=0000000000000000000000000000000000000000000000000000000000000004
+CT=3c943e1a2e7e56e4b185302d2d5c5dbd
+
+I=255
+KEY=0000000000000000000000000000000000000000000000000000000000000002
+CT=8cb4e2498382b523dce6f7c17c91400b
+
+I=256
+KEY=0000000000000000000000000000000000000000000000000000000000000001
+CT=85f345366155d13f8f257734d2cbd6d9
diff --git a/test/crypto/twofish/twofishecb_vt.txt b/test/crypto/twofish/twofishecb_vt.txt
new file mode 100644 (file)
index 0000000..fd4632e
--- /dev/null
@@ -0,0 +1,1566 @@
+=======================================================
+Author:    Dr B R Gladman (                           )
+Test:      ECB Variable Text Known Answer Tests
+Algorithm: twofish
+Filename:  ecb_vt.txt
+=======================================================
+
+KEYSIZE=128
+
+KEY=00000000000000000000000000000000
+
+I=0
+PT=00000000000000000000000000000000
+CT=9f589f5cf6122c32b6bfec2f2ae8c35a
+
+I=1
+PT=80000000000000000000000000000000
+CT=73b9ff14cf2589901ff52a0d6f4b7ede
+
+I=2
+PT=40000000000000000000000000000000
+CT=f5a9150bab6d6aebd6b4f97d9e93b28b
+
+I=3
+PT=20000000000000000000000000000000
+CT=c30f8b221fd6d3996f973cdcdc6e305c
+
+I=4
+PT=10000000000000000000000000000000
+CT=d6a531fe826cb0454f2d567a20018cb7
+
+I=5
+PT=08000000000000000000000000000000
+CT=b62324be427332a6089c7be40d40292e
+
+I=6
+PT=04000000000000000000000000000000
+CT=929b4789e9d6940c9a158880ca21c0e2
+
+I=7
+PT=02000000000000000000000000000000
+CT=c14830db50ba7221b27dc033b0d8d331
+
+I=8
+PT=01000000000000000000000000000000
+CT=743342b02ebe647ae47092d435fa60f6
+
+I=9
+PT=00800000000000000000000000000000
+CT=4f02af45c09373d879cd01506a4e7d14
+
+I=10
+PT=00400000000000000000000000000000
+CT=92bc9085ab0ba8ffec2ea6d360864817
+
+I=11
+PT=00200000000000000000000000000000
+CT=670a4ed16ea1bde23e16cb52dbd31cb0
+
+I=12
+PT=00100000000000000000000000000000
+CT=a52335aa9f42886084e21400de48b62f
+
+I=13
+PT=00080000000000000000000000000000
+CT=a5a240ebfed79f38f31497ea4c9cfcda
+
+I=14
+PT=00040000000000000000000000000000
+CT=46a64a07123e1212fe9e2f30edfd80ff
+
+I=15
+PT=00020000000000000000000000000000
+CT=20c9f20a8045aedee9d6e1cda948339a
+
+I=16
+PT=00010000000000000000000000000000
+CT=df1606eef4fee3f4fc9ec26e2ab388ab
+
+I=17
+PT=00008000000000000000000000000000
+CT=6758972b3171f0ea46304542776337fc
+
+I=18
+PT=00004000000000000000000000000000
+CT=ec9b591db8476c26c3cfda618c1dbbd8
+
+I=19
+PT=00002000000000000000000000000000
+CT=651551e741359e0a10bb4ee6a1c07c02
+
+I=20
+PT=00001000000000000000000000000000
+CT=88bc2bf1f8a55562b95f8547c9a19e56
+
+I=21
+PT=00000800000000000000000000000000
+CT=1a6cccbd8d40aa14810ed615a6a6e24d
+
+I=22
+PT=00000400000000000000000000000000
+CT=7b68da568aba5ae69d93c915e37dee91
+
+I=23
+PT=00000200000000000000000000000000
+CT=ec3922a728da9e4c212d910e5c4ae632
+
+I=24
+PT=00000100000000000000000000000000
+CT=5bac94c97a4069400875a5abc07bcb17
+
+I=25
+PT=00000080000000000000000000000000
+CT=f3b4662918864ba94c1cf79c73b1f259
+
+I=26
+PT=00000040000000000000000000000000
+CT=6fbf5a9a93efa6640afb80d9a2d22cf7
+
+I=27
+PT=00000020000000000000000000000000
+CT=74139bd645ded7690f606490cca44dd2
+
+I=28
+PT=00000010000000000000000000000000
+CT=b20f456519d353af91c012793576f9b8
+
+I=29
+PT=00000008000000000000000000000000
+CT=c0ad52d4b4f67a9333a5e4b1b1176eec
+
+I=30
+PT=00000004000000000000000000000000
+CT=797224710fd09f9830b0f160ae9051e8
+
+I=31
+PT=00000002000000000000000000000000
+CT=73669b64c292f4461faa3a3d091d08da
+
+I=32
+PT=00000001000000000000000000000000
+CT=efe0e893ce04008935cb7d43a7dc9add
+
+I=33
+PT=00000000800000000000000000000000
+CT=3b0a2d3b236324221f81bfcae45217d8
+
+I=34
+PT=00000000400000000000000000000000
+CT=ce6f569fc89127b1ae19466fa36dd6e4
+
+I=35
+PT=00000000200000000000000000000000
+CT=6037fe38896c05745c58c28cdf7ff386
+
+I=36
+PT=00000000100000000000000000000000
+CT=92f5817d0be37241f9292f6ff918a8e5
+
+I=37
+PT=00000000080000000000000000000000
+CT=20c9a2a684563495c255a5751c1ac01e
+
+I=38
+PT=00000000040000000000000000000000
+CT=ac6b6db6d069b6895f2283435d33bd43
+
+I=39
+PT=00000000020000000000000000000000
+CT=f9354b12c2366f1ce10f9a0550281267
+
+I=40
+PT=00000000010000000000000000000000
+CT=684fda9fcf3b3b5648a452cda07cf002
+
+I=41
+PT=00000000008000000000000000000000
+CT=9be294c97c2a963006a2bd4541dc7db5
+
+I=42
+PT=00000000004000000000000000000000
+CT=a984f6f70e93fe65c8798c01d4e5d30c
+
+I=43
+PT=00000000002000000000000000000000
+CT=e06a6ce2d74db3d78e8f5d991c322b87
+
+I=44
+PT=00000000001000000000000000000000
+CT=646771d16baedac3f8e9d00c212518a2
+
+I=45
+PT=00000000000800000000000000000000
+CT=9d2d410dc6f3bec913d64bdbdef3285e
+
+I=46
+PT=00000000000400000000000000000000
+CT=6850afecd8064e77f4f6944bdf5b324d
+
+I=47
+PT=00000000000200000000000000000000
+CT=2e341142550f73f4c8e9dccc5931a158
+
+I=48
+PT=00000000000100000000000000000000
+CT=0ca58e149c2120a8ebf9a7885a89acbc
+
+I=49
+PT=00000000000080000000000000000000
+CT=41eacb7f6b5f9e3e3d299ca416ea2c59
+
+I=50
+PT=00000000000040000000000000000000
+CT=c4d45503484dbc83cb52d3db4ad0a7cc
+
+I=51
+PT=00000000000020000000000000000000
+CT=cc52b159c2bcf87ee5f4926c6e7b7744
+
+I=52
+PT=00000000000010000000000000000000
+CT=7e8a4023b8890a2dbf0d54e330fdf2a2
+
+I=53
+PT=00000000000008000000000000000000
+CT=b05e771660493dce3a275b0252d343a7
+
+I=54
+PT=00000000000004000000000000000000
+CT=83d0034d231e179207f6a97fb1457feb
+
+I=55
+PT=00000000000002000000000000000000
+CT=7132bf130e8732c41f68107f49153ff2
+
+I=56
+PT=00000000000001000000000000000000
+CT=b93021593b9ea2588f16e87d3c5de0ec
+
+I=57
+PT=00000000000000800000000000000000
+CT=26031449fbd6c84201b0bfb53b2c23ca
+
+I=58
+PT=00000000000000400000000000000000
+CT=afc8e9d2b9bfed9ce0b898f28607df4c
+
+I=59
+PT=00000000000000200000000000000000
+CT=c5094de7e36caebe1b76ec3ac2c875f5
+
+I=60
+PT=00000000000000100000000000000000
+CT=7df8910a2d256ffb5d56fd1358f131fe
+
+I=61
+PT=00000000000000080000000000000000
+CT=d93f84c1519d6627465e984675aa800b
+
+I=62
+PT=00000000000000040000000000000000
+CT=5f1861f1523cda0c95644b0c4f2ee6d1
+
+I=63
+PT=00000000000000020000000000000000
+CT=fc5c4893ad148e4134eaeb3b1b190e29
+
+I=64
+PT=00000000000000010000000000000000
+CT=80d1463f9e9416a143b2ff69de629510
+
+I=65
+PT=00000000000000008000000000000000
+CT=f16305404ae6266c619dc8aca2d492e1
+
+I=66
+PT=00000000000000004000000000000000
+CT=3b2554e422f9cebb8271d7a48c94e03f
+
+I=67
+PT=00000000000000002000000000000000
+CT=18b039eecb68a05cbf8c65ee85bdc4bc
+
+I=68
+PT=00000000000000001000000000000000
+CT=bb26abb17ad5482b1dcc4018e7db0950
+
+I=69
+PT=00000000000000000800000000000000
+CT=7e7ac0fd5b98157cead4bbab643be4ca
+
+I=70
+PT=00000000000000000400000000000000
+CT=bd8a3b64849e54cc2d8379dca9e42fdd
+
+I=71
+PT=00000000000000000200000000000000
+CT=58c388dfb41ff3e14394c73fd8aac56a
+
+I=72
+PT=00000000000000000100000000000000
+CT=944b295e23c5b2542ded57a155d33ef8
+
+I=73
+PT=00000000000000000080000000000000
+CT=067b4dd07dca1292cff0d80d75bdaca5
+
+I=74
+PT=00000000000000000040000000000000
+CT=7d7344373196c5b30676f270bfc90b07
+
+I=75
+PT=00000000000000000020000000000000
+CT=988c5164a82254b29326c98812a716ce
+
+I=76
+PT=00000000000000000010000000000000
+CT=8ffd48787c28542e0450fad4cbad34d0
+
+I=77
+PT=00000000000000000008000000000000
+CT=c50e7cd771628964e708425160ffb02c
+
+I=78
+PT=00000000000000000004000000000000
+CT=b293b07f92d68c18fec1466996b78020
+
+I=79
+PT=00000000000000000002000000000000
+CT=de21b2a6c8d7b90a7714db3ef5209a6b
+
+I=80
+PT=00000000000000000001000000000000
+CT=4700e22c08fe953cabac7e78a3f747a7
+
+I=81
+PT=00000000000000000000800000000000
+CT=504c1d7fae3ab9a62323f21bf9a80a67
+
+I=82
+PT=00000000000000000000400000000000
+CT=064ba0e8addd8e9df4496e6931ad25f4
+
+I=83
+PT=00000000000000000000200000000000
+CT=51d0b15c08ff32f1dce7b28320875566
+
+I=84
+PT=00000000000000000000100000000000
+CT=1a20ea3db071121460244ede27da7a39
+
+I=85
+PT=00000000000000000000080000000000
+CT=0035a5f7557b1b009327109d0c62f25c
+
+I=86
+PT=00000000000000000000040000000000
+CT=803939c10ee11bb254a7768fad053da4
+
+I=87
+PT=00000000000000000000020000000000
+CT=35d493255a870959c12f26170e6a1b64
+
+I=88
+PT=00000000000000000000010000000000
+CT=de8381198215d45b1be787e4e8438500
+
+I=89
+PT=00000000000000000000008000000000
+CT=b22e9707e738f723cd9b99386ce0162e
+
+I=90
+PT=00000000000000000000004000000000
+CT=24c65adde5c3cd24b75c343782e87f6e
+
+I=91
+PT=00000000000000000000002000000000
+CT=0050ff2c1a3c2aa68207d333f9956a72
+
+I=92
+PT=00000000000000000000001000000000
+CT=162f7b8d35c1a98305ba0fe2a91ff27a
+
+I=93
+PT=00000000000000000000000800000000
+CT=223d6117fe4864c2b3c513eac2a5266a
+
+I=94
+PT=00000000000000000000000400000000
+CT=3dbf645715ed7ad1964e2dcde2f8806a
+
+I=95
+PT=00000000000000000000000200000000
+CT=3dbb85509557bb00fe0f2013a90a5753
+
+I=96
+PT=00000000000000000000000100000000
+CT=f2d75e45a62d1758c7a542bc805ac482
+
+I=97
+PT=00000000000000000000000080000000
+CT=77628153a62dfd455b1c0e5b6ce9688c
+
+I=98
+PT=00000000000000000000000040000000
+CT=8ae9df2d94f6e85c86459132130e1bf5
+
+I=99
+PT=00000000000000000000000020000000
+CT=bb610990f42303f4eccd795e16780a13
+
+I=100
+PT=00000000000000000000000010000000
+CT=a38330c5c0b464ffd6983972cf9541cc
+
+I=101
+PT=00000000000000000000000008000000
+CT=efd11ca98febb6f1ecbebbcb8bd5e35b
+
+I=102
+PT=00000000000000000000000004000000
+CT=3bc6740bf141dd33d65fdeaa10bf1655
+
+I=103
+PT=00000000000000000000000002000000
+CT=fcf7be4b89b54547c0bef84eb85734f6
+
+I=104
+PT=00000000000000000000000001000000
+CT=cbf5ef38ddebca39f2f6beb2f3042d96
+
+I=105
+PT=00000000000000000000000000800000
+CT=1119c20f08d4ea77a13c331678d4d71f
+
+I=106
+PT=00000000000000000000000000400000
+CT=5c8241da3fb0dc7328271b9ff72c91ba
+
+I=107
+PT=00000000000000000000000000200000
+CT=337fcee0ad0bdca24af5411b69d39b37
+
+I=108
+PT=00000000000000000000000000100000
+CT=f6c56a841a31d58a90f5693f87380a3f
+
+I=109
+PT=00000000000000000000000000080000
+CT=dd8c11b46f768b7cb2eaee7e3448dd37
+
+I=110
+PT=00000000000000000000000000040000
+CT=b8ee7182e563888e4f99335cf0372598
+
+I=111
+PT=00000000000000000000000000020000
+CT=fca9bad58dd9c77b0bc0e616e7de7f2d
+
+I=112
+PT=00000000000000000000000000010000
+CT=798da99beffbf99b23a3c15a31f60cb1
+
+I=113
+PT=00000000000000000000000000008000
+CT=015cd86f000c87948bf3591c3de4391f
+
+I=114
+PT=00000000000000000000000000004000
+CT=b40b9945eef7bc52e0b244ed71fad3d3
+
+I=115
+PT=00000000000000000000000000002000
+CT=d9bbb27b7d8ab20241e60f04108f1e12
+
+I=116
+PT=00000000000000000000000000001000
+CT=6ec3f259b3fa960505cde9d20f9eb905
+
+I=117
+PT=00000000000000000000000000000800
+CT=01c1772ad104a988b2978447b91199f0
+
+I=118
+PT=00000000000000000000000000000400
+CT=f8d5e997a8dd1b5bbe79c9f36b94c73c
+
+I=119
+PT=00000000000000000000000000000200
+CT=4040058b08b27b6a585f18bfdbae3e29
+
+I=120
+PT=00000000000000000000000000000100
+CT=55547d09acaf0c915b24e15abab0c827
+
+I=121
+PT=00000000000000000000000000000080
+CT=fd7a0b33d397da035d146dd56c869960
+
+I=122
+PT=00000000000000000000000000000040
+CT=80c38900313e9350219eae9aa7da5e1b
+
+I=123
+PT=00000000000000000000000000000020
+CT=f50d8495c3dcbff4dfed0736f92475bb
+
+I=124
+PT=00000000000000000000000000000010
+CT=58a06dc5ad2d7c0550771d6e9d59d58b
+
+I=125
+PT=00000000000000000000000000000008
+CT=eee324733e6409500fc9f9d6dca185e0
+
+I=126
+PT=00000000000000000000000000000004
+CT=f97c415886d05c12598f2c95f6b3eb16
+
+I=127
+PT=00000000000000000000000000000002
+CT=f0fc7d86d814589a09d8ec136f95a124
+
+I=128
+PT=00000000000000000000000000000001
+CT=ca737ff1fd0fe5b8e41e90358a5f2cb1
+
+KEYSIZE=192
+
+KEY=000000000000000000000000000000000000000000000000
+
+I=0
+PT=00000000000000000000000000000000
+CT=efa71f788965bd4453f860178fc19101
+
+I=1
+PT=80000000000000000000000000000000
+CT=62ef193edb7d399aca50ec1cbe5398d8
+
+I=2
+PT=40000000000000000000000000000000
+CT=e7a58d547688ba8b69da949e38aa6fad
+
+I=3
+PT=20000000000000000000000000000000
+CT=71579f70a8edb2ba5c00c513e2d7deeb
+
+I=4
+PT=10000000000000000000000000000000
+CT=c6171ef892f8224dc5fae230af629f52
+
+I=5
+PT=08000000000000000000000000000000
+CT=c6a61053c48d7ecd7ddd12db0f316ad7
+
+I=6
+PT=04000000000000000000000000000000
+CT=ea5833714f1324dab7f53cacc63f784f
+
+I=7
+PT=02000000000000000000000000000000
+CT=450bcb0c7351cb1cdac5d02e80d13c64
+
+I=8
+PT=01000000000000000000000000000000
+CT=c267d3634f84215fb7b4635afa385e52
+
+I=9
+PT=00800000000000000000000000000000
+CT=6db5b1b156da1c36b9ab5ab59b063c29
+
+I=10
+PT=00400000000000000000000000000000
+CT=edf2d9b19ff75561e8fa6f411c4a0431
+
+I=11
+PT=00200000000000000000000000000000
+CT=a11ae84e6d2c56ded2b9497fec7504a7
+
+I=12
+PT=00100000000000000000000000000000
+CT=b3a1a1e271bf94da3a5ecff1d4293a56
+
+I=13
+PT=00080000000000000000000000000000
+CT=5577374adcf2f58eeeffc432c42aeb76
+
+I=14
+PT=00040000000000000000000000000000
+CT=cd9d355c3574343bc7fbe645ce7ea721
+
+I=15
+PT=00020000000000000000000000000000
+CT=76eb4c046f052ae4ed41060bf60067fb
+
+I=16
+PT=00010000000000000000000000000000
+CT=1273a4bc420bcc9e29619567b1e61762
+
+I=17
+PT=00008000000000000000000000000000
+CT=1f80e1ce3f12c96f2e647bacb6da78d8
+
+I=18
+PT=00004000000000000000000000000000
+CT=12d34a7875e716b37a7e250d37affdea
+
+I=19
+PT=00002000000000000000000000000000
+CT=5a54d764eeffc4b64143a58b071514b4
+
+I=20
+PT=00001000000000000000000000000000
+CT=f4f1567bdc5b1f938d5a214419090fe0
+
+I=21
+PT=00000800000000000000000000000000
+CT=6cb91b935a0fbf49636cdf64a12955b7
+
+I=22
+PT=00000400000000000000000000000000
+CT=c082154a07af64ff6eca811b0e3302e6
+
+I=23
+PT=00000200000000000000000000000000
+CT=49a746cc225c1b6009a93649cdd9edcd
+
+I=24
+PT=00000100000000000000000000000000
+CT=1cad0512e3cc51210b411ee452df62e4
+
+I=25
+PT=00000080000000000000000000000000
+CT=4fe9a0cf34bbcfff906d8450197cc9d1
+
+I=26
+PT=00000040000000000000000000000000
+CT=38db8ef6c8993f17bb4d1614b9de15d4
+
+I=27
+PT=00000020000000000000000000000000
+CT=08db3f476f551d19d9643a9e139e0553
+
+I=28
+PT=00000010000000000000000000000000
+CT=f0f518f73795ab51bfb6e0aa99a0dac7
+
+I=29
+PT=00000008000000000000000000000000
+CT=91544d597f679e7dfe6d16d475809851
+
+I=30
+PT=00000004000000000000000000000000
+CT=b1f92601b6d8c6b81176a46ee7341d28
+
+I=31
+PT=00000002000000000000000000000000
+CT=796c3a8cbc6450e51fa6f8765acd0f10
+
+I=32
+PT=00000001000000000000000000000000
+CT=5f7bfe71bd2e81599dda3411bc1ca579
+
+I=33
+PT=00000000800000000000000000000000
+CT=2df7d576ec6296101cab16012092c12c
+
+I=34
+PT=00000000400000000000000000000000
+CT=20769de071fbe22ae49e7b3f5d646418
+
+I=35
+PT=00000000200000000000000000000000
+CT=b6f5c012e4ba15dc86536f328b137fc0
+
+I=36
+PT=00000000100000000000000000000000
+CT=1c3031dd05eaa4c278b55ef0e7e4c1f9
+
+I=37
+PT=00000000080000000000000000000000
+CT=3d72a53bd537d04ac59e0af36d105ed9
+
+I=38
+PT=00000000040000000000000000000000
+CT=a6ffe499a2050c38f4e89dbf12b27430
+
+I=39
+PT=00000000020000000000000000000000
+CT=bfbb2a537b2c1339d6230f35a256f289
+
+I=40
+PT=00000000010000000000000000000000
+CT=70e79718c97ddb187411436ac072b148
+
+I=41
+PT=00000000008000000000000000000000
+CT=13bb56699085842b81dbe8faa8b26269
+
+I=42
+PT=00000000004000000000000000000000
+CT=3e4db71b9c737c7f8aef632a5adef61d
+
+I=43
+PT=00000000002000000000000000000000
+CT=d7a254b7341c7677c72f9de729a3bb78
+
+I=44
+PT=00000000001000000000000000000000
+CT=527d14e58b74224622df7f3fd65932f5
+
+I=45
+PT=00000000000800000000000000000000
+CT=708703993ad1dde5c7f8714686f3af32
+
+I=46
+PT=00000000000400000000000000000000
+CT=c57d3ecb71a7da4708de6f338bc13e09
+
+I=47
+PT=00000000000200000000000000000000
+CT=b31ff60be0fdc17001caf87fc7fc0b2d
+
+I=48
+PT=00000000000100000000000000000000
+CT=01877ac646a283472da74182fdc1e2b5
+
+I=49
+PT=00000000000080000000000000000000
+CT=3c678bada3fb1b872c018dc035ae16e8
+
+I=50
+PT=00000000000040000000000000000000
+CT=a2cb209da6aa40e043e6fb9dd2476100
+
+I=51
+PT=00000000000020000000000000000000
+CT=4f9402ff56d04c8fb37dbe1a3109d2de
+
+I=52
+PT=00000000000010000000000000000000
+CT=342daad90f0f1699048d5cd16fda2ec7
+
+I=53
+PT=00000000000008000000000000000000
+CT=e68cc86ca4d952bc3890aec0a7aaa4b5
+
+I=54
+PT=00000000000004000000000000000000
+CT=02a88364bf94a677124f670a566e3f0d
+
+I=55
+PT=00000000000002000000000000000000
+CT=c961ef325e2a32a4359cc63be1ee2c77
+
+I=56
+PT=00000000000001000000000000000000
+CT=03bf43c9083e4d9919d12fe5c0315e67
+
+I=57
+PT=00000000000000800000000000000000
+CT=b27063442470be07dcc2256ec71a4f1a
+
+I=58
+PT=00000000000000400000000000000000
+CT=222cc5a29084a4bdb05d4c2fd95648df
+
+I=59
+PT=00000000000000200000000000000000
+CT=e08686bfaa936e1890aeec834e3b474a
+
+I=60
+PT=00000000000000100000000000000000
+CT=10dc4ffcac5f5a1fb668277e8e75beab
+
+I=61
+PT=00000000000000080000000000000000
+CT=03a9199978f9d652a4c528ff86c39ce9
+
+I=62
+PT=00000000000000040000000000000000
+CT=ddf718a1beb37cc1b0905520db7c1611
+
+I=63
+PT=00000000000000020000000000000000
+CT=2072191c277ee40fd557ff5f67a2a546
+
+I=64
+PT=00000000000000010000000000000000
+CT=96b3608c06112f619b156105eb082bbe
+
+I=65
+PT=00000000000000008000000000000000
+CT=b5d919dfd9828c4ff4427e72abfc77b2
+
+I=66
+PT=00000000000000004000000000000000
+CT=9570e7a96d4674c800af8dcd01deff64
+
+I=67
+PT=00000000000000002000000000000000
+CT=59723db66edb29a9c81175668903777f
+
+I=68
+PT=00000000000000001000000000000000
+CT=1779bdfac6db722bcaf4d3a8d9d2e725
+
+I=69
+PT=00000000000000000800000000000000
+CT=5107b50a150998c6ea01c14697fc0e53
+
+I=70
+PT=00000000000000000400000000000000
+CT=36a6caa08bd5d2b332e9323f7c2e76ca
+
+I=71
+PT=00000000000000000200000000000000
+CT=d1cf37451667edb8d2e9934d39a27a92
+
+I=72
+PT=00000000000000000100000000000000
+CT=4e96227b0a018755fbe8ad5bf0e421b0
+
+I=73
+PT=00000000000000000080000000000000
+CT=3221b3d3a24745b483bbf99509b330a0
+
+I=74
+PT=00000000000000000040000000000000
+CT=98a4ab39b84d21d36a5ddc2660bd68c5
+
+I=75
+PT=00000000000000000020000000000000
+CT=e5c351e1783465edba5ce0592bc77e8e
+
+I=76
+PT=00000000000000000010000000000000
+CT=35489488ee33d0344c1bdb6263d28286
+
+I=77
+PT=00000000000000000008000000000000
+CT=97ea899f53c60536dafeb18123fd6c5b
+
+I=78
+PT=00000000000000000004000000000000
+CT=8511b11c7d2d8fbf63702a7e3aaca08a
+
+I=79
+PT=00000000000000000002000000000000
+CT=fe0c90596e4f47fd8a9927d83f4dca52
+
+I=80
+PT=00000000000000000001000000000000
+CT=186fe000683cc19f621bc6c2da300b71
+
+I=81
+PT=00000000000000000000800000000000
+CT=8291f94edf578e8a70cd0cf8f3fb3558
+
+I=82
+PT=00000000000000000000400000000000
+CT=2891c81846949c917e757ebae20d34ee
+
+I=83
+PT=00000000000000000000200000000000
+CT=762d85a32daf0c9f3cfb3388e808fec2
+
+I=84
+PT=00000000000000000000100000000000
+CT=cc6807d209b728c559c32336fd8fb71d
+
+I=85
+PT=00000000000000000000080000000000
+CT=fcd07057ef4820154075a0ddcbfc0bbd
+
+I=86
+PT=00000000000000000000040000000000
+CT=fdbfe2c3ffc82792d338388a1fc6d22e
+
+I=87
+PT=00000000000000000000020000000000
+CT=04d5f7cd68fc2352bddbc82cfe35da80
+
+I=88
+PT=00000000000000000000010000000000
+CT=b1784a7bf395fb525471ee3dc8972fed
+
+I=89
+PT=00000000000000000000008000000000
+CT=cb5d8a62d16220123ef0005876e35b19
+
+I=90
+PT=00000000000000000000004000000000
+CT=311292ede1f30e9f22f1eef8fd19bd80
+
+I=91
+PT=00000000000000000000002000000000
+CT=382bc583ec9b6e16e3df2188cf0bf1e8
+
+I=92
+PT=00000000000000000000001000000000
+CT=632c9ad674bd1b8a15827a789bd133a7
+
+I=93
+PT=00000000000000000000000800000000
+CT=0ee175df45b889ced6974e9c2b8f8a78
+
+I=94
+PT=00000000000000000000000400000000
+CT=6131a1a18f00cfda5b4af4fbe5487445
+
+I=95
+PT=00000000000000000000000200000000
+CT=0c8746747460a540e2304b55c12ea672
+
+I=96
+PT=00000000000000000000000100000000
+CT=dd6d4d2aa3eb702c597e4e2de59bf4c9
+
+I=97
+PT=00000000000000000000000080000000
+CT=774edf219459a4744aa1ccde7d969a60
+
+I=98
+PT=00000000000000000000000040000000
+CT=1d7b340c4ce68ac97369fff0ff9980c8
+
+I=99
+PT=00000000000000000000000020000000
+CT=d18104617258ab02aae02eccf552a891
+
+I=100
+PT=00000000000000000000000010000000
+CT=8dc66f1d7648eb62f1dcbeb3cd237985
+
+I=101
+PT=00000000000000000000000008000000
+CT=abf090054abe052ece0b07be6b6cc6db
+
+I=102
+PT=00000000000000000000000004000000
+CT=89239aafe9ba86e5ec794397e0180111
+
+I=103
+PT=00000000000000000000000002000000
+CT=6e1cdc049333211b4d7533e21504d200
+
+I=104
+PT=00000000000000000000000001000000
+CT=efe662af24d9997fae45cad4f92f3091
+
+I=105
+PT=00000000000000000000000000800000
+CT=16f53f3a6cc3b4f86dda1b8792244901
+
+I=106
+PT=00000000000000000000000000400000
+CT=047cbacdc5ea84771a61fe1204813d46
+
+I=107
+PT=00000000000000000000000000200000
+CT=b442ff3318822ea7f60e2a8a082a043a
+
+I=108
+PT=00000000000000000000000000100000
+CT=971d07aeedbca5b7bdcd033f708c97db
+
+I=109
+PT=00000000000000000000000000080000
+CT=d307263273e250c0b9e08ff23003b0d1
+
+I=110
+PT=00000000000000000000000000040000
+CT=75f7005ca9c6ee5a1f9a4897fa67c661
+
+I=111
+PT=00000000000000000000000000020000
+CT=9b421c68873d49f07e3b9025ad609787
+
+I=112
+PT=00000000000000000000000000010000
+CT=5b182593b47dc674d8b1942cb97224b2
+
+I=113
+PT=00000000000000000000000000008000
+CT=a896871a3157ccd1f5a788e253a6b0fd
+
+I=114
+PT=00000000000000000000000000004000
+CT=789a3d2b2a70181efcce5529f200dc44
+
+I=115
+PT=00000000000000000000000000002000
+CT=7f9462d23db6e99ad0a54ea84dbd94e2
+
+I=116
+PT=00000000000000000000000000001000
+CT=23eafe1f7cce96b6bfe2484e1dfc4ab9
+
+I=117
+PT=00000000000000000000000000000800
+CT=a76c323805f9c252c8b86c83294b9987
+
+I=118
+PT=00000000000000000000000000000400
+CT=d8ca1075b7a3f2cf2dac0980b1b66cc1
+
+I=119
+PT=00000000000000000000000000000200
+CT=8206d89f2a07ba6403647fb85a2f4d7d
+
+I=120
+PT=00000000000000000000000000000100
+CT=3de7573cd46d85488364472b038869f9
+
+I=121
+PT=00000000000000000000000000000080
+CT=31c62401d6e9e4995c0913747bfe7c7e
+
+I=122
+PT=00000000000000000000000000000040
+CT=c464728025916b4e8d56e4a9f98c1a25
+
+I=123
+PT=00000000000000000000000000000020
+CT=0d4643ee09abd6d6062187789ae9a77d
+
+I=124
+PT=00000000000000000000000000000010
+CT=0c06eac3043abe6554c2da42f21e7b05
+
+I=125
+PT=00000000000000000000000000000008
+CT=e26c6b2cbe2130729a5bf96e7cd29912
+
+I=126
+PT=00000000000000000000000000000004
+CT=4de2b8fff3588a5d4e62cadb720e5bcc
+
+I=127
+PT=00000000000000000000000000000002
+CT=b96dd46c6a286bff721693a98491f529
+
+I=128
+PT=00000000000000000000000000000001
+CT=64f1dbd3c79ee69ac9e0ed5f554f4ab6
+
+KEYSIZE=256
+
+KEY=0000000000000000000000000000000000000000000000000000000000000000
+
+I=0
+PT=00000000000000000000000000000000
+CT=57ff739d4dc92c1bd7fc01700cc8216f
+
+I=1
+PT=80000000000000000000000000000000
+CT=23a385f617f313dac05bcb7eabd61807
+
+I=2
+PT=40000000000000000000000000000000
+CT=35be2b4738602a1da3de5c9e7e871923
+
+I=3
+PT=20000000000000000000000000000000
+CT=03e8bb7a568e95ba792dce77d5523c2b
+
+I=4
+PT=10000000000000000000000000000000
+CT=d3acbe92c482d2e806fd837e41dbb288
+
+I=5
+PT=08000000000000000000000000000000
+CT=dc3b1c37c69b4059eaadf03fcd016eb4
+
+I=6
+PT=04000000000000000000000000000000
+CT=3c9d9bd904e0e6916089a4bac35e5368
+
+I=7
+PT=02000000000000000000000000000000
+CT=c47da045701b93a388e76fcbcd349f22
+
+I=8
+PT=01000000000000000000000000000000
+CT=52f264b196925a345ca5adc57c234b96
+
+I=9
+PT=00800000000000000000000000000000
+CT=c923754c5ad2e3f842d01705a716be8a
+
+I=10
+PT=00400000000000000000000000000000
+CT=630075c7563cdbacdfeadb781cc9467c
+
+I=11
+PT=00200000000000000000000000000000
+CT=cb4f69bcc76a2499c6fcfbbe4ceb8cfb
+
+I=12
+PT=00100000000000000000000000000000
+CT=0442f15ea2bd6d9eb773f9b99804df56
+
+I=13
+PT=00080000000000000000000000000000
+CT=9ce6896c15c3cc00e2aa1944d7117b98
+
+I=14
+PT=00040000000000000000000000000000
+CT=e934066740023616b349f45582442647
+
+I=15
+PT=00020000000000000000000000000000
+CT=d08ef37a59d94ed645b1d1b160e3e816
+
+I=16
+PT=00010000000000000000000000000000
+CT=e91891cac17fe493c7167c6cb59dcb69
+
+I=17
+PT=00008000000000000000000000000000
+CT=b27a42d2c870dc96bc6c551218c44cc4
+
+I=18
+PT=00004000000000000000000000000000
+CT=ce8d23e64e6bc18208ceeb282e387326
+
+I=19
+PT=00002000000000000000000000000000
+CT=36f76678a27f2f5a436073d5ada4ab3b
+
+I=20
+PT=00001000000000000000000000000000
+CT=d0eaa36f9a648905b277f0bd24b1a339
+
+I=21
+PT=00000800000000000000000000000000
+CT=82be0e3673e7872bf79bbe2a45f4bd93
+
+I=22
+PT=00000400000000000000000000000000
+CT=013cae3986083f8d321273d68ca9784d
+
+I=23
+PT=00000200000000000000000000000000
+CT=0a7fcf71dac023718153ffb761baebef
+
+I=24
+PT=00000100000000000000000000000000
+CT=c784c5ea8ce3897f153336047d2fe3e0
+
+I=25
+PT=00000080000000000000000000000000
+CT=fe776b4476a4f029e5ea9293e3c1bca1
+
+I=26
+PT=00000040000000000000000000000000
+CT=302a5f9a73b07d83699eb9de1d86db7b
+
+I=27
+PT=00000020000000000000000000000000
+CT=e6c43f6f62f1eee0bdb3484f325053b6
+
+I=28
+PT=00000010000000000000000000000000
+CT=c5579556f710eacfad9319aa85b89f6f
+
+I=29
+PT=00000008000000000000000000000000
+CT=96c88e46c1c2ba0b583f30fe0248a794
+
+I=30
+PT=00000004000000000000000000000000
+CT=287d27fb1ca40821294b1afc868f3a6f
+
+I=31
+PT=00000002000000000000000000000000
+CT=f4602df76a24010de5a1353043cf178e
+
+I=32
+PT=00000001000000000000000000000000
+CT=47f98aa9df5e7314d3d5571ef6b95284
+
+I=33
+PT=00000000800000000000000000000000
+CT=77cbf7dca60f913fd9c82ac65212ebb2
+
+I=34
+PT=00000000400000000000000000000000
+CT=beb1c2bc4b5c363fcf5a0466883079a9
+
+I=35
+PT=00000000200000000000000000000000
+CT=2ab8b9254adbdce17f0a719815deff7e
+
+I=36
+PT=00000000100000000000000000000000
+CT=75a30ceaa03af66e44a85dc66deb20c9
+
+I=37
+PT=00000000080000000000000000000000
+CT=c37e64ce86b615573c4c42bbe71dacd8
+
+I=38
+PT=00000000040000000000000000000000
+CT=284cb50259a96cced1c1c64d8b603024
+
+I=39
+PT=00000000020000000000000000000000
+CT=be346b07869425cbca54f93d7a1f4035
+
+I=40
+PT=00000000010000000000000000000000
+CT=60ee2023b03033a972e28e4a21c7005f
+
+I=41
+PT=00000000008000000000000000000000
+CT=4e1fd4bc99aea3bcc6b9066ec6329d43
+
+I=42
+PT=00000000004000000000000000000000
+CT=079bdf2dad2ce6fb7d21bbd76a7abf48
+
+I=43
+PT=00000000002000000000000000000000
+CT=6b933d9914169c2a704e52ec6d7e4e1d
+
+I=44
+PT=00000000001000000000000000000000
+CT=fd854a50372e5d301367d8e98cc88028
+
+I=45
+PT=00000000000800000000000000000000
+CT=8ce94a2c43b01825ce5f271135481bb2
+
+I=46
+PT=00000000000400000000000000000000
+CT=73a43c713898ba7d7d2b6bc8673a7aaa
+
+I=47
+PT=00000000000200000000000000000000
+CT=13873cfbded482c0b7b435025a9f1cf4
+
+I=48
+PT=00000000000100000000000000000000
+CT=3f168cd782896f22c56a92a09ea7e162
+
+I=49
+PT=00000000000080000000000000000000
+CT=bcdf1c8686e68810fe90b16ecab46147
+
+I=50
+PT=00000000000040000000000000000000
+CT=95c18eba59e3cb6359de7cce9e8751f9
+
+I=51
+PT=00000000000020000000000000000000
+CT=03cfea7d36d56552cdef806215ea7596
+
+I=52
+PT=00000000000010000000000000000000
+CT=cc189a2e8f529eb139dca2033109f40b
+
+I=53
+PT=00000000000008000000000000000000
+CT=453912532144ced54b7d4049bc8b8cf2
+
+I=54
+PT=00000000000004000000000000000000
+CT=c6dbbf405a056a80ca788267538fe8f0
+
+I=55
+PT=00000000000002000000000000000000
+CT=2eb5e272874ce244a328ba6410480b4c
+
+I=56
+PT=00000000000001000000000000000000
+CT=263bfb611cbd9d9c7ff6b1a9e3276696
+
+I=57
+PT=00000000000000800000000000000000
+CT=9cc3eb61a9907f5f22251239a9eb38ed
+
+I=58
+PT=00000000000000400000000000000000
+CT=726a3ee922edfe52206c2191e1f045f4
+
+I=59
+PT=00000000000000200000000000000000
+CT=1344c1e04a9d97668a240d82396ac021
+
+I=60
+PT=00000000000000100000000000000000
+CT=9067baa44c264e9a2aec292390a6f492
+
+I=61
+PT=00000000000000080000000000000000
+CT=1176621bd24d35670b08d6a065806b02
+
+I=62
+PT=00000000000000040000000000000000
+CT=df0d31d14d81fd086e8e32479919fdbc
+
+I=63
+PT=00000000000000020000000000000000
+CT=44bad80b0ba01e971adc4139d6de0c36
+
+I=64
+PT=00000000000000010000000000000000
+CT=76c59131effae14058d99e22698b602d
+
+I=65
+PT=00000000000000008000000000000000
+CT=7604d9f3110f8440917abcea49710ada
+
+I=66
+PT=00000000000000004000000000000000
+CT=4584fcbb487171176c4318082efefdf7
+
+I=67
+PT=00000000000000002000000000000000
+CT=019d3b42fa31a9f9175759e6c3193a07
+
+I=68
+PT=00000000000000001000000000000000
+CT=c324ff5f71a974f13f5d83226441e3bd
+
+I=69
+PT=00000000000000000800000000000000
+CT=d9df41408dff80de7c9571706b39038f
+
+I=70
+PT=00000000000000000400000000000000
+CT=fbb99a524ac23d74047d814ec0aedbe2
+
+I=71
+PT=00000000000000000200000000000000
+CT=877c855e25345f6c7db4237ecf64c874
+
+I=72
+PT=00000000000000000100000000000000
+CT=206500f822c1305f9d61f49fc57afbf2
+
+I=73
+PT=00000000000000000080000000000000
+CT=c7538d97a78844c3c00740865e26755b
+
+I=74
+PT=00000000000000000040000000000000
+CT=fadbc4a6e4564041ada094c603cabaa4
+
+I=75
+PT=00000000000000000020000000000000
+CT=04c482e0707de6dc1917727d00c4fa6b
+
+I=76
+PT=00000000000000000010000000000000
+CT=ee36b8996aff98bea6e2115b9d173321
+
+I=77
+PT=00000000000000000008000000000000
+CT=dba4a5f38b104985d796ecddd812b605
+
+I=78
+PT=00000000000000000004000000000000
+CT=1dc0f910cd5af1e5734169459e170192
+
+I=79
+PT=00000000000000000002000000000000
+CT=c3b7d6914052503d377b01db4e3a630d
+
+I=80
+PT=00000000000000000001000000000000
+CT=54d807506602ecf7d6b8c4d923317738
+
+I=81
+PT=00000000000000000000800000000000
+CT=ace4949143d4d1441aa854331e7f511b
+
+I=82
+PT=00000000000000000000400000000000
+CT=f7ba140aed4756b26789498a17ebf62d
+
+I=83
+PT=00000000000000000000200000000000
+CT=f23e08b81acb75fe2326a94ecc5968ac
+
+I=84
+PT=00000000000000000000100000000000
+CT=4cf26f088604368b17ddc09ff9d0146d
+
+I=85
+PT=00000000000000000000080000000000
+CT=e93aeb7ad76a6ad0af4092f363421f1b
+
+I=86
+PT=00000000000000000000040000000000
+CT=3d234c0f78ecbefccdce1ea6ec98c145
+
+I=87
+PT=00000000000000000000020000000000
+CT=ba300b0234f0c96125d33123cdd7d6a4
+
+I=88
+PT=00000000000000000000010000000000
+CT=1cf1a160fad7e744f08ba1454a999211
+
+I=89
+PT=00000000000000000000008000000000
+CT=59a9e8c14acbcec235529425cf86998e
+
+I=90
+PT=00000000000000000000004000000000
+CT=22d29cfef3a6dc0ec67a9ea8523d6158
+
+I=91
+PT=00000000000000000000002000000000
+CT=513971f979fc906fadd982d7f08e4f05
+
+I=92
+PT=00000000000000000000001000000000
+CT=6a95c07d7facf2cd36df362116a2dd5f
+
+I=93
+PT=00000000000000000000000800000000
+CT=cd62ad57393a38607436faf0985c2d50
+
+I=94
+PT=00000000000000000000000400000000
+CT=5209ade137b93ba0963528e3e1a40f2a
+
+I=95
+PT=00000000000000000000000200000000
+CT=545bde9d1c11239ed70d93060f24e397
+
+I=96
+PT=00000000000000000000000100000000
+CT=720622f5194578b3c24b5dddc7e30327
+
+I=97
+PT=00000000000000000000000080000000
+CT=9e12338bf484106249754eaa6c441192
+
+I=98
+PT=00000000000000000000000040000000
+CT=f13303dc759ca65097ec87f8d854163c
+
+I=99
+PT=00000000000000000000000020000000
+CT=4a2a6eb6845723c1c790d693b596cde3
+
+I=100
+PT=00000000000000000000000010000000
+CT=ef3d7c67417ca1feef03ef71441bddfe
+
+I=101
+PT=00000000000000000000000008000000
+CT=214fb38a7511a87cf160f59cca2b8e33
+
+I=102
+PT=00000000000000000000000004000000
+CT=dcffdb5e44574d0d593a70ada4c79474
+
+I=103
+PT=00000000000000000000000002000000
+CT=ac9d55d4a4fbb80c9b79c9077ba381b1
+
+I=104
+PT=00000000000000000000000001000000
+CT=05c6d61b75312924e0bcedcb4b8d55dd
+
+I=105
+PT=00000000000000000000000000800000
+CT=e650cb445af48a77e8db6e2efbce6fa7
+
+I=106
+PT=00000000000000000000000000400000
+CT=4c9902e89253d7a172babfa87db94816
+
+I=107
+PT=00000000000000000000000000200000
+CT=5af4f5e8491ee7f87eb809d82aec12db
+
+I=108
+PT=00000000000000000000000000100000
+CT=1c11730d62bca6f847b1457b5287bd12
+
+I=109
+PT=00000000000000000000000000080000
+CT=bef65a32ff7383cfdb5a90c2f3b93837
+
+I=110
+PT=00000000000000000000000000040000
+CT=2f3aa68ffe3b99dc92621782f3f9ed67
+
+I=111
+PT=00000000000000000000000000020000
+CT=18bd598bfa2c77e21dbd594ee0e5cdcb
+
+I=112
+PT=00000000000000000000000000010000
+CT=248cf533016a6ab1f84f85b2c5cd41a7
+
+I=113
+PT=00000000000000000000000000008000
+CT=a3b12f578353514ccc500add6c495a6c
+
+I=114
+PT=00000000000000000000000000004000
+CT=ee2dc099b37d200b4d3930a6de07208e
+
+I=115
+PT=00000000000000000000000000002000
+CT=412c9f198d58a0f01f66df07cf211636
+
+I=116
+PT=00000000000000000000000000001000
+CT=5b3532ba46716b02e761339dbafbaab0
+
+I=117
+PT=00000000000000000000000000000800
+CT=0148187ca72ec46b522e4fe7e1261522
+
+I=118
+PT=00000000000000000000000000000400
+CT=84c529cc4e23683ab90a24a6690662ed
+
+I=119
+PT=00000000000000000000000000000200
+CT=0d1ef0481593a3d95f0361c776d9a4d2
+
+I=120
+PT=00000000000000000000000000000100
+CT=d622171c73726db6620ffda6540d510e
+
+I=121
+PT=00000000000000000000000000000080
+CT=f218d92aed363c6829f7fa3ba346e0fb
+
+I=122
+PT=00000000000000000000000000000040
+CT=40cd83a5f0bfd0e1d7fe14299cecfb7c
+
+I=123
+PT=00000000000000000000000000000020
+CT=512f022157aef0015e93f3737911a35e
+
+I=124
+PT=00000000000000000000000000000010
+CT=c7a5a88356152e95f36739ab5ef9f63f
+
+I=125
+PT=00000000000000000000000000000008
+CT=8fd0f15e2504a8f4fd751ca7799ffb1d
+
+I=126
+PT=00000000000000000000000000000004
+CT=0137c87257a8cbd18c218a867b3ab5f8
+
+I=127
+PT=00000000000000000000000000000002
+CT=3db0f1674f187df1cb036db33a05a0d7
+
+I=128
+PT=00000000000000000000000000000001
+CT=23d1247eff4ca8cbb378df118369821e