tests - add serpent via cryptodev tests
authorAlex Hornung <ahornung@gmail.com>
Sat, 2 Jul 2011 12:18:37 +0000 (13:18 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 2 Jul 2011 12:24:54 +0000 (13:24 +0100)
test/crypto/serpent/Makefile [new file with mode: 0644]
test/crypto/serpent/serpent_test.c [new file with mode: 0644]
test/crypto/serpent/serpentecb_vk.txt [new file with mode: 0644]
test/crypto/serpent/serpentecb_vt.txt [new file with mode: 0644]

diff --git a/test/crypto/serpent/Makefile b/test/crypto/serpent/Makefile
new file mode 100644 (file)
index 0000000..f04f771
--- /dev/null
@@ -0,0 +1,4 @@
+PROG=  serpent_test
+NOMAN=
+
+.include <bsd.prog.mk>
diff --git a/test/crypto/serpent/serpent_test.c b/test/crypto/serpent/serpent_test.c
new file mode 100644 (file)
index 0000000..d1c0e89
--- /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) Serpent 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_SERPENT_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/serpent/serpentecb_vk.txt b/test/crypto/serpent/serpentecb_vk.txt
new file mode 100644 (file)
index 0000000..fc44c62
--- /dev/null
@@ -0,0 +1,2334 @@
+=======================================================
+Author:    Dr B R Gladman (                           )
+Test:      ECB Variable Key Known Answer Tests
+Algorithm: serpent
+Filename:  ecb_vk.txt
+=======================================================
+
+KEYSIZE=128
+
+PT=00000000000000000000000000000000
+
+I=0
+KEY=00000000000000000000000000000000
+CT=3620b17ae6a993d09618b8768266bae9
+
+I=1
+KEY=80000000000000000000000000000000
+CT=264e5481eff42a4606abda06c0bfda3d
+
+I=2
+KEY=40000000000000000000000000000000
+CT=4a231b3bc727993407ac6ec8350e8524
+
+I=3
+KEY=20000000000000000000000000000000
+CT=e03269f9e9fd853c7d8156df14b98d56
+
+I=4
+KEY=10000000000000000000000000000000
+CT=a798181c3081ac59d5ba89754dacc48f
+
+I=5
+KEY=08000000000000000000000000000000
+CT=34b355520df861f3f5c66a2379fbda15
+
+I=6
+KEY=04000000000000000000000000000000
+CT=5e86bb8f6b1175510c6b244281a0b04a
+
+I=7
+KEY=02000000000000000000000000000000
+CT=b9213190c7a9c5f13764d29b6de843a1
+
+I=8
+KEY=01000000000000000000000000000000
+CT=4eca55033294d1ff6f0204b2456046c8
+
+I=9
+KEY=00800000000000000000000000000000
+CT=97bace474e820fdeeb1e66d06139d2f9
+
+I=10
+KEY=00400000000000000000000000000000
+CT=114cb849ec2735aeecdb2e51a1c45a38
+
+I=11
+KEY=00200000000000000000000000000000
+CT=1426abd1fe61695a62b7a55ab5da6145
+
+I=12
+KEY=00100000000000000000000000000000
+CT=80c615975140248186be3cd6fd8d7740
+
+I=13
+KEY=00080000000000000000000000000000
+CT=cfbd333352a34ed7f73d3e569d78c693
+
+I=14
+KEY=00040000000000000000000000000000
+CT=5f04350ab2efb6075f381ee1dbb8477f
+
+I=15
+KEY=00020000000000000000000000000000
+CT=cf5ce38d2033ad6e6891ed24db39ea66
+
+I=16
+KEY=00010000000000000000000000000000
+CT=3e63af44877f258840b165cc3d47424c
+
+I=17
+KEY=00008000000000000000000000000000
+CT=a3c980b5da0b8e3b32818af08f5310da
+
+I=18
+KEY=00004000000000000000000000000000
+CT=12651fd76182c532cd03b36dd121a43a
+
+I=19
+KEY=00002000000000000000000000000000
+CT=6d91a4600722340b8ecae1055b8df790
+
+I=20
+KEY=00001000000000000000000000000000
+CT=2b1f49c97807430719a958271b5da303
+
+I=21
+KEY=00000800000000000000000000000000
+CT=9e29dadc12aa1ed228cdc78d70c829b7
+
+I=22
+KEY=00000400000000000000000000000000
+CT=5b8ff678f88eb96fe73bcbf14ad9304b
+
+I=23
+KEY=00000200000000000000000000000000
+CT=158b5f6cbb33e547735e45559cef3e5b
+
+I=24
+KEY=00000100000000000000000000000000
+CT=8efa3ac040ac5235f2f4ac3a82b7018e
+
+I=25
+KEY=00000080000000000000000000000000
+CT=50aa945a945a8be43e4c137f0d7ca62a
+
+I=26
+KEY=00000040000000000000000000000000
+CT=7511818c4c8408eb0af22019ddf7f6f6
+
+I=27
+KEY=00000020000000000000000000000000
+CT=d46ba09b00007974c24fc8c0cb13330d
+
+I=28
+KEY=00000010000000000000000000000000
+CT=17e352c6c963f7da5a1cb163accb8573
+
+I=29
+KEY=00000008000000000000000000000000
+CT=6ced1c994d0f7b2862715d514840a780
+
+I=30
+KEY=00000004000000000000000000000000
+CT=ad351e157afc89a9c0d8cf15ddbf3a7d
+
+I=31
+KEY=00000002000000000000000000000000
+CT=79afb080badc325da8c5e88200743603
+
+I=32
+KEY=00000001000000000000000000000000
+CT=d326fea25fe2ca220cec62db9574aafd
+
+I=33
+KEY=00000000800000000000000000000000
+CT=7435911b23f1dbaca5bf86c91b0d11b1
+
+I=34
+KEY=00000000400000000000000000000000
+CT=79e59ce5b78a6d8259b2ad1b5f50f523
+
+I=35
+KEY=00000000200000000000000000000000
+CT=72f3659183d9749128ae6cafbeaadde5
+
+I=36
+KEY=00000000100000000000000000000000
+CT=77dd6ea2d669a36e4c409564a8604ec4
+
+I=37
+KEY=00000000080000000000000000000000
+CT=27d4ec7e2ae30cbe54b7ce9f764e3d27
+
+I=38
+KEY=00000000040000000000000000000000
+CT=0d68c4922498d08bfefa450b85659d23
+
+I=39
+KEY=00000000020000000000000000000000
+CT=6c4fceeff2768549ea590fc20310b95d
+
+I=40
+KEY=00000000010000000000000000000000
+CT=fc46909be47e944f4776956a98e9c43b
+
+I=41
+KEY=00000000008000000000000000000000
+CT=77679d9e63db7df79c0484423fa18a57
+
+I=42
+KEY=00000000004000000000000000000000
+CT=548091b07326bf829ba56c786053727f
+
+I=43
+KEY=00000000002000000000000000000000
+CT=a8fa704ee06eeed6f7f71a598ef921fb
+
+I=44
+KEY=00000000001000000000000000000000
+CT=627f14ca091ac156fb56302d6c3373dc
+
+I=45
+KEY=00000000000800000000000000000000
+CT=bc2cab97eb09919cbc0e6afec6581cf5
+
+I=46
+KEY=00000000000400000000000000000000
+CT=cc7f5df0cf522b2242163112e4421d08
+
+I=47
+KEY=00000000000200000000000000000000
+CT=084ac3bf07f1e64f0093a014c2690ce5
+
+I=48
+KEY=00000000000100000000000000000000
+CT=d3c6597474b740ba1053090a247ab5c5
+
+I=49
+KEY=00000000000080000000000000000000
+CT=1f6213dc933aef4c582aad041e140619
+
+I=50
+KEY=00000000000040000000000000000000
+CT=32b7e10e04100fcda94dc223bbc19075
+
+I=51
+KEY=00000000000020000000000000000000
+CT=72fa9c8731e45cf575cffebd6f3981c5
+
+I=52
+KEY=00000000000010000000000000000000
+CT=aee9355b2fbd96a06f8f74dc8882e893
+
+I=53
+KEY=00000000000008000000000000000000
+CT=b56126c52d0dd2b8fdc5c4a05091f2b1
+
+I=54
+KEY=00000000000004000000000000000000
+CT=6ff5b6f133beb75dddd0385f9b3aeee5
+
+I=55
+KEY=00000000000002000000000000000000
+CT=6541c5bce4b3f93f4ec1e7dfed0f98db
+
+I=56
+KEY=00000000000001000000000000000000
+CT=bf9ed60d8a243f1e010345537a5c081d
+
+I=57
+KEY=00000000000000800000000000000000
+CT=a5b8df0abdba5da09b8d8383f06957e2
+
+I=58
+KEY=00000000000000400000000000000000
+CT=344b6f348ada08ff4e97c722463dcb08
+
+I=59
+KEY=00000000000000200000000000000000
+CT=aab52a0482e0a1b84ef07213f8bcf63f
+
+I=60
+KEY=00000000000000100000000000000000
+CT=e477dde4a88a17339157e4198dc39801
+
+I=61
+KEY=00000000000000080000000000000000
+CT=33401cdfbeccf499b3226b4c6ad8fddf
+
+I=62
+KEY=00000000000000040000000000000000
+CT=2c06278683b5759c12b147de2b0e0bb1
+
+I=63
+KEY=00000000000000020000000000000000
+CT=b2b67cdc8371b5739f5e213fdd8b60ec
+
+I=64
+KEY=00000000000000010000000000000000
+CT=83aced5fb21035a41b858136d4797bee
+
+I=65
+KEY=00000000000000008000000000000000
+CT=230375ee7b65a2c948809b6de69d1f50
+
+I=66
+KEY=00000000000000004000000000000000
+CT=94ef7f345d1ff0db4494d9db56adffed
+
+I=67
+KEY=00000000000000002000000000000000
+CT=ce277a5063c40ba1418a30721a0de8af
+
+I=68
+KEY=00000000000000001000000000000000
+CT=bf4fe13163ea85e003ef8e9d4baf48c8
+
+I=69
+KEY=00000000000000000800000000000000
+CT=c8f9f9f1db54eb0635c227cae447055c
+
+I=70
+KEY=00000000000000000400000000000000
+CT=6f31a90bceea0bc85843086c7258ea9e
+
+I=71
+KEY=00000000000000000200000000000000
+CT=334efc7c6930bc0b839c845e1b22f8c3
+
+I=72
+KEY=00000000000000000100000000000000
+CT=1e92f9f2e576c864a24f36402f84107d
+
+I=73
+KEY=00000000000000000080000000000000
+CT=8d646e78dc20f616a859074de82d1107
+
+I=74
+KEY=00000000000000000040000000000000
+CT=e98de4aaac62c1e4251054b42d92f4c3
+
+I=75
+KEY=00000000000000000020000000000000
+CT=b0fc458f4759641c6fa64fed926c8347
+
+I=76
+KEY=00000000000000000010000000000000
+CT=61f381fa99e58e9b3cebcbadde6559d2
+
+I=77
+KEY=00000000000000000008000000000000
+CT=2c7eaf752e2b02734a3c3506cda4867d
+
+I=78
+KEY=00000000000000000004000000000000
+CT=600f284e1ab1c8194d6fe065dbdf1bbf
+
+I=79
+KEY=00000000000000000002000000000000
+CT=db84c4ba65b89d0cd51be73605084568
+
+I=80
+KEY=00000000000000000001000000000000
+CT=4c75c41a4abc17e0adc00228394f0037
+
+I=81
+KEY=00000000000000000000800000000000
+CT=a4f7b40448470061b7873a62072ce112
+
+I=82
+KEY=00000000000000000000400000000000
+CT=80df5ad31bf557f9c75701b1395c4ad2
+
+I=83
+KEY=00000000000000000000200000000000
+CT=46ce4708aba4835764ea9c4678335954
+
+I=84
+KEY=00000000000000000000100000000000
+CT=72babc19ee59f6f76f17ddfbe2fcc33a
+
+I=85
+KEY=00000000000000000000080000000000
+CT=e76340173fda4b6f1e2703a732c4c482
+
+I=86
+KEY=00000000000000000000040000000000
+CT=79c577ac301de5ed03ad6d0aacb1d958
+
+I=87
+KEY=00000000000000000000020000000000
+CT=a2a8d78f3511b65ea03262314f0c8f8a
+
+I=88
+KEY=00000000000000000000010000000000
+CT=6c87e4e87cb3773520f7b3edb51daeaf
+
+I=89
+KEY=00000000000000000000008000000000
+CT=8f8827ed63eafc702a4c7f855e6806a0
+
+I=90
+KEY=00000000000000000000004000000000
+CT=dd4ff8498d45936888b48eefd24ce9f6
+
+I=91
+KEY=00000000000000000000002000000000
+CT=de8bf1bcb7c106d93aa60c744240651f
+
+I=92
+KEY=00000000000000000000001000000000
+CT=fc45cb6a1b9267a8b330fc1399bc0f34
+
+I=93
+KEY=00000000000000000000000800000000
+CT=9eec294cebaefc664dfa9d1c8b48b0b2
+
+I=94
+KEY=00000000000000000000000400000000
+CT=cafb5b1d66e147006db2e4cfc8405da3
+
+I=95
+KEY=00000000000000000000000200000000
+CT=b9f43c559ccb8c1933fd323ed51af997
+
+I=96
+KEY=00000000000000000000000100000000
+CT=d11d4485eb7aaa6cb1a8f16e24ecde7a
+
+I=97
+KEY=00000000000000000000000080000000
+CT=573fb9b1e047670331d54e87f3bdd48d
+
+I=98
+KEY=00000000000000000000000040000000
+CT=03cf30e2ed5c9311f6bf9964c8a7dbb8
+
+I=99
+KEY=00000000000000000000000020000000
+CT=ed735c651f003abcafe1926472e0cc32
+
+I=100
+KEY=00000000000000000000000010000000
+CT=970cddd5bccae7f7bd0f7b67b6707580
+
+I=101
+KEY=00000000000000000000000008000000
+CT=6d1c5788f69dc2e1ef928d9c831f3826
+
+I=102
+KEY=00000000000000000000000004000000
+CT=8367c4564b707b6c0a4a92eca38c6eda
+
+I=103
+KEY=00000000000000000000000002000000
+CT=f25d50bba7fd6496cd70ace570706ecc
+
+I=104
+KEY=00000000000000000000000001000000
+CT=0c43854df7dd96dc3323dcc311cd418c
+
+I=105
+KEY=00000000000000000000000000800000
+CT=43d607d9d0009c01dbfb117126bc4395
+
+I=106
+KEY=00000000000000000000000000400000
+CT=463b27cf0da63219ed2cebdbf5c16922
+
+I=107
+KEY=00000000000000000000000000200000
+CT=90df345556ab04cb12d0799b9c5049bb
+
+I=108
+KEY=00000000000000000000000000100000
+CT=05c861f7f71591c8aecf8a26eb020f4d
+
+I=109
+KEY=00000000000000000000000000080000
+CT=11dd97b8adaf7f6b34eb3bbb9a438892
+
+I=110
+KEY=00000000000000000000000000040000
+CT=7171e845509f8f4f134be53efd8a34dc
+
+I=111
+KEY=00000000000000000000000000020000
+CT=864e7b400a96420a98765af993aad852
+
+I=112
+KEY=00000000000000000000000000010000
+CT=b8f75a0553aa33dc30b3f2d0027f97ea
+
+I=113
+KEY=00000000000000000000000000008000
+CT=7106bed662e6b6ae72fdc726c98ad746
+
+I=114
+KEY=00000000000000000000000000004000
+CT=043aa312b19b6737c3cebaf830db6db8
+
+I=115
+KEY=00000000000000000000000000002000
+CT=f95e6f00854f17dbb68cc679570d5fd5
+
+I=116
+KEY=00000000000000000000000000001000
+CT=d23fae81ff497000583f2cfce54fce9c
+
+I=117
+KEY=00000000000000000000000000000800
+CT=ef5c7dc4dbce5a51f98011969693dbe8
+
+I=118
+KEY=00000000000000000000000000000400
+CT=34d2f0546c260ea4002b4bcc2c12ccab
+
+I=119
+KEY=00000000000000000000000000000200
+CT=b3787be95735a9581817c64d81f07e13
+
+I=120
+KEY=00000000000000000000000000000100
+CT=eb31dc31e4016f7fd8901c5872dced1a
+
+I=121
+KEY=00000000000000000000000000000080
+CT=ddd26b98a5ffd82c05345a9dadbfaf49
+
+I=122
+KEY=00000000000000000000000000000040
+CT=fa735e9be7961050c202bd794e2e1e0c
+
+I=123
+KEY=00000000000000000000000000000020
+CT=7b2d8d2348dc4ce112aef4311be769d7
+
+I=124
+KEY=00000000000000000000000000000010
+CT=5f35bf3061423d0bc02c07bed67602bd
+
+I=125
+KEY=00000000000000000000000000000008
+CT=8c9a19cebb5709c38ea1ae1d12e291c1
+
+I=126
+KEY=00000000000000000000000000000004
+CT=d69c8ccf5dec9efa90684c7b70fcdfaf
+
+I=127
+KEY=00000000000000000000000000000002
+CT=39b65e77a4d26218e5ed7092ab64d07e
+
+I=128
+KEY=00000000000000000000000000000001
+CT=f668c7091f81b2827da77dd419b708e1
+
+KEYSIZE=192
+
+PT=00000000000000000000000000000000
+
+I=0
+KEY=000000000000000000000000000000000000000000000000
+CT=a583ef976a292b406bbd5dc8256b0442
+
+I=1
+KEY=800000000000000000000000000000000000000000000000
+CT=9e274ead9b737bb21efcfca548602689
+
+I=2
+KEY=400000000000000000000000000000000000000000000000
+CT=92fc8e510399e46a041bf365e7b3ae82
+
+I=3
+KEY=200000000000000000000000000000000000000000000000
+CT=5e0da386c46ad493dea203fdc6f57d70
+
+I=4
+KEY=100000000000000000000000000000000000000000000000
+CT=bec1e37824cf721e5d87f6cb4ebfb9be
+
+I=5
+KEY=080000000000000000000000000000000000000000000000
+CT=257a79f891bb8d0c13feef1acc264214
+
+I=6
+KEY=040000000000000000000000000000000000000000000000
+CT=8b3edd5ba04cb6ff80a3874411c1b8b7
+
+I=7
+KEY=020000000000000000000000000000000000000000000000
+CT=73c83ea96ae151230b2dee7110b15e2c
+
+I=8
+KEY=010000000000000000000000000000000000000000000000
+CT=0abd62fc8802c9bc86e2544909ac610f
+
+I=9
+KEY=008000000000000000000000000000000000000000000000
+CT=3948d1ef7ce021cef9c6c1405bb5a6f9
+
+I=10
+KEY=004000000000000000000000000000000000000000000000
+CT=5b8ac83847fdcd6006f7d59a04be703c
+
+I=11
+KEY=002000000000000000000000000000000000000000000000
+CT=7f6347b6a370fdbcd26c91e5f1be4e77
+
+I=12
+KEY=001000000000000000000000000000000000000000000000
+CT=3d8dc8cef60f4f0f021bea3b8a268740
+
+I=13
+KEY=000800000000000000000000000000000000000000000000
+CT=c9ba9fc07bd7fad3cbd56dbf9a7c5b00
+
+I=14
+KEY=000400000000000000000000000000000000000000000000
+CT=8b660d768b8e32f0c4e15386c5f3450d
+
+I=15
+KEY=000200000000000000000000000000000000000000000000
+CT=9a15675f3631bd2af387a7b69dceb89e
+
+I=16
+KEY=000100000000000000000000000000000000000000000000
+CT=893978e492fed5662d13aa2f759dc89a
+
+I=17
+KEY=000080000000000000000000000000000000000000000000
+CT=39057a7055adc3df052632ba75845405
+
+I=18
+KEY=000040000000000000000000000000000000000000000000
+CT=0637b291488fcbc39ea131c5d0393617
+
+I=19
+KEY=000020000000000000000000000000000000000000000000
+CT=53a6eaa591c754b9afb8e14b39bffe79
+
+I=20
+KEY=000010000000000000000000000000000000000000000000
+CT=af9dd24f6fd3c9bad97466f4e19d008e
+
+I=21
+KEY=000008000000000000000000000000000000000000000000
+CT=6f6c9fdbb84546b3bd98703730a71292
+
+I=22
+KEY=000004000000000000000000000000000000000000000000
+CT=00dcd917419399ed52e2a528ecab86c5
+
+I=23
+KEY=000002000000000000000000000000000000000000000000
+CT=dc077da2cbf96509a74980ce12786c41
+
+I=24
+KEY=000001000000000000000000000000000000000000000000
+CT=aadd759f77507f990d3856f6efc91978
+
+I=25
+KEY=000000800000000000000000000000000000000000000000
+CT=aa8b04cfd3f03d913981888d65f595f4
+
+I=26
+KEY=000000400000000000000000000000000000000000000000
+CT=c972eae644f542f2d61581105daa2de9
+
+I=27
+KEY=000000200000000000000000000000000000000000000000
+CT=40288da36dc4a581cfc6bf52768aeac0
+
+I=28
+KEY=000000100000000000000000000000000000000000000000
+CT=1460bd4ce7589dfc8ca2a341cede21a2
+
+I=29
+KEY=000000080000000000000000000000000000000000000000
+CT=415e3d395e8af9f0b367b18279ec9d36
+
+I=30
+KEY=000000040000000000000000000000000000000000000000
+CT=52841b754b398e76a046a808d0254db1
+
+I=31
+KEY=000000020000000000000000000000000000000000000000
+CT=e28c2e20bf18dad62ada7b46d46c51ac
+
+I=32
+KEY=000000010000000000000000000000000000000000000000
+CT=eacf9ad4eac19266f886cb3ae50b2ca8
+
+I=33
+KEY=000000008000000000000000000000000000000000000000
+CT=9ef148f4819e1ad53458ff7b97512719
+
+I=34
+KEY=000000004000000000000000000000000000000000000000
+CT=8b992e1fd9026c14545d3b45ba12dd26
+
+I=35
+KEY=000000002000000000000000000000000000000000000000
+CT=2a1a31c9f9ec3f0041e4981c14075c9b
+
+I=36
+KEY=000000001000000000000000000000000000000000000000
+CT=668d25eab49a68a353170fb9804c49e9
+
+I=37
+KEY=000000000800000000000000000000000000000000000000
+CT=b0851073e77bebadb5e4620a5ecab48f
+
+I=38
+KEY=000000000400000000000000000000000000000000000000
+CT=0d7dd474f2add4e616c2bdcb31ae295e
+
+I=39
+KEY=000000000200000000000000000000000000000000000000
+CT=19e972acb8159af2be06c2ceb13f17cb
+
+I=40
+KEY=000000000100000000000000000000000000000000000000
+CT=d3181caf92eb933472ab5d7d9a79359f
+
+I=41
+KEY=000000000080000000000000000000000000000000000000
+CT=2b06e5a2cb8e141b6f194e7987d32e14
+
+I=42
+KEY=000000000040000000000000000000000000000000000000
+CT=fe2893a03d01523df7bcf0ec76a71e76
+
+I=43
+KEY=000000000020000000000000000000000000000000000000
+CT=018056beed112c1b11c6d58f383e51f3
+
+I=44
+KEY=000000000010000000000000000000000000000000000000
+CT=20d29d2a08caed608cee792b82e9f900
+
+I=45
+KEY=000000000008000000000000000000000000000000000000
+CT=fb4786827e61312b24889e8a75bfe0e8
+
+I=46
+KEY=000000000004000000000000000000000000000000000000
+CT=81fc9f0c865fc970721180942f0dadde
+
+I=47
+KEY=000000000002000000000000000000000000000000000000
+CT=179ba8efbe611f1358b2d7c8a14f6056
+
+I=48
+KEY=000000000001000000000000000000000000000000000000
+CT=5509a6f21705da67e685c1d2515fc40f
+
+I=49
+KEY=000000000000800000000000000000000000000000000000
+CT=399800963634cd1b96d9fcefe1d0815e
+
+I=50
+KEY=000000000000400000000000000000000000000000000000
+CT=9b5b6dfffcb2201390728372e1259012
+
+I=51
+KEY=000000000000200000000000000000000000000000000000
+CT=0db33144e4eb0fcac271ab4d26f7b3b3
+
+I=52
+KEY=000000000000100000000000000000000000000000000000
+CT=d7987caa9c1cab111984c2ba993f95b9
+
+I=53
+KEY=000000000000080000000000000000000000000000000000
+CT=7f57b51d6b2e5e8c3dbedf6b68a3acdb
+
+I=54
+KEY=000000000000040000000000000000000000000000000000
+CT=5de80d7bf3fc0b05aceb1311be12e31b
+
+I=55
+KEY=000000000000020000000000000000000000000000000000
+CT=be2c16f62e116a472c43d526d582a2f2
+
+I=56
+KEY=000000000000010000000000000000000000000000000000
+CT=0d9aed1721e71b09c7cf34650315add4
+
+I=57
+KEY=000000000000008000000000000000000000000000000000
+CT=8af02339ac04eeddc5d29b1d8ab85e34
+
+I=58
+KEY=000000000000004000000000000000000000000000000000
+CT=d11c7dcd0e9b857ddc1a8d73169bba2d
+
+I=59
+KEY=000000000000002000000000000000000000000000000000
+CT=7a960a521e193922ed2275b1fceb484f
+
+I=60
+KEY=000000000000001000000000000000000000000000000000
+CT=357e6fbca32874fdce99ad14bd10c4b8
+
+I=61
+KEY=000000000000000800000000000000000000000000000000
+CT=1ac04248825e32b8e71c34875371f307
+
+I=62
+KEY=000000000000000400000000000000000000000000000000
+CT=038a5bb1246bb8f0460adc7826211268
+
+I=63
+KEY=000000000000000200000000000000000000000000000000
+CT=ef923294b89b78f017c874fc4472762e
+
+I=64
+KEY=000000000000000100000000000000000000000000000000
+CT=19a8882b0fdb10e143ff9df9d32da301
+
+I=65
+KEY=000000000000000080000000000000000000000000000000
+CT=ebc56a2ab4dc394c8409ebc529103c09
+
+I=66
+KEY=000000000000000040000000000000000000000000000000
+CT=00300ad85514851a32376a583b99416a
+
+I=67
+KEY=000000000000000020000000000000000000000000000000
+CT=47cb1114753a29fa68e83bf3754f5713
+
+I=68
+KEY=000000000000000010000000000000000000000000000000
+CT=556424407058a1bf639387032bb4972b
+
+I=69
+KEY=000000000000000008000000000000000000000000000000
+CT=c573c69439543b71a1eaf6a38d1db977
+
+I=70
+KEY=000000000000000004000000000000000000000000000000
+CT=570d68bc03c1ad3173316bb3484166db
+
+I=71
+KEY=000000000000000002000000000000000000000000000000
+CT=2abe779a9a42bf593a2d20495c6f5a37
+
+I=72
+KEY=000000000000000001000000000000000000000000000000
+CT=7d648b890dce86adae607b24b17f7adc
+
+I=73
+KEY=000000000000000000800000000000000000000000000000
+CT=56463a7aeb3d1b104868b5f0cb88479b
+
+I=74
+KEY=000000000000000000400000000000000000000000000000
+CT=1a00009a7cae8ef56b167f94f9932585
+
+I=75
+KEY=000000000000000000200000000000000000000000000000
+CT=ba0bde829631f63e14fe1995c57cbe29
+
+I=76
+KEY=000000000000000000100000000000000000000000000000
+CT=a0625dde21df874e27751f460db24939
+
+I=77
+KEY=000000000000000000080000000000000000000000000000
+CT=3a850b3917b926b7c1861aa8557548db
+
+I=78
+KEY=000000000000000000040000000000000000000000000000
+CT=33fb35f2ed3a0f9a9c0d62868890b706
+
+I=79
+KEY=000000000000000000020000000000000000000000000000
+CT=8eb519bf9b7f9841fc429c21930730aa
+
+I=80
+KEY=000000000000000000010000000000000000000000000000
+CT=973672a4178da471db7c2cc9f3349da4
+
+I=81
+KEY=000000000000000000008000000000000000000000000000
+CT=21c3e9bdb411a2cf58acfcdda07ca06e
+
+I=82
+KEY=000000000000000000004000000000000000000000000000
+CT=174fc71f855d61484b8c05deb12988ba
+
+I=83
+KEY=000000000000000000002000000000000000000000000000
+CT=337671c8d092c431778655358ae1a622
+
+I=84
+KEY=000000000000000000001000000000000000000000000000
+CT=d671e381ae4cbfbc4d360ace36538eb6
+
+I=85
+KEY=000000000000000000000800000000000000000000000000
+CT=9915eb2b534c901ab3e208f0b8274438
+
+I=86
+KEY=000000000000000000000400000000000000000000000000
+CT=cbb867073a139f7a39a5abfb1f9b7084
+
+I=87
+KEY=000000000000000000000200000000000000000000000000
+CT=487b9f02df40531f6b1bd096a8e32377
+
+I=88
+KEY=000000000000000000000100000000000000000000000000
+CT=871d4d57145444f7858a3a1727fee068
+
+I=89
+KEY=000000000000000000000080000000000000000000000000
+CT=26474a9b6a125da80a989286f1aadb77
+
+I=90
+KEY=000000000000000000000040000000000000000000000000
+CT=15955cda082e2278b2eab498bae90a5d
+
+I=91
+KEY=000000000000000000000020000000000000000000000000
+CT=04191e4d8945ba1e9d02098eefcd65df
+
+I=92
+KEY=000000000000000000000010000000000000000000000000
+CT=c1841b80c1e0e4608f0c261f8ff91199
+
+I=93
+KEY=000000000000000000000008000000000000000000000000
+CT=7ff3e31c19bb193b4a2ccd488cb44f97
+
+I=94
+KEY=000000000000000000000004000000000000000000000000
+CT=2fb402bfaaaccc4f55c9eba37d2aa543
+
+I=95
+KEY=000000000000000000000002000000000000000000000000
+CT=97289170c25ce1ec2011b27487dc8903
+
+I=96
+KEY=000000000000000000000001000000000000000000000000
+CT=3bc60dc98b29ba75d7dba12d78bed74d
+
+I=97
+KEY=000000000000000000000000800000000000000000000000
+CT=1e9f7474c984cc73b7f90f8ec01f547d
+
+I=98
+KEY=000000000000000000000000400000000000000000000000
+CT=9caad32b4195e293a792cf2403839879
+
+I=99
+KEY=000000000000000000000000200000000000000000000000
+CT=b384be1e8cead9de1e209fc92ba6a3d3
+
+I=100
+KEY=000000000000000000000000100000000000000000000000
+CT=4e512e32f6b60cfe5660d7cfa21e13fc
+
+I=101
+KEY=000000000000000000000000080000000000000000000000
+CT=832615d6654549bb930ec8dbacc5ae92
+
+I=102
+KEY=000000000000000000000000040000000000000000000000
+CT=27549dc43c2deeaffb1c52ac37ad9728
+
+I=103
+KEY=000000000000000000000000020000000000000000000000
+CT=804e4f4c6fd215d4300704142407020a
+
+I=104
+KEY=000000000000000000000000010000000000000000000000
+CT=c52fecb8edda2d9bf3e5856231b87f6f
+
+I=105
+KEY=000000000000000000000000008000000000000000000000
+CT=0482615608212073881c83a90a0b2721
+
+I=106
+KEY=000000000000000000000000004000000000000000000000
+CT=cdfd5af33a61ea9ba8c6e4dd3e84949d
+
+I=107
+KEY=000000000000000000000000002000000000000000000000
+CT=a9eff0a790feb09727558c1ffb4247a4
+
+I=108
+KEY=000000000000000000000000001000000000000000000000
+CT=eaf6266ac9f0a0e96ecf6e602de61b73
+
+I=109
+KEY=000000000000000000000000000800000000000000000000
+CT=59f44b4178a92af2ca778bda351247f1
+
+I=110
+KEY=000000000000000000000000000400000000000000000000
+CT=87c3730e07c280d110ee11bbdb2c7bf6
+
+I=111
+KEY=000000000000000000000000000200000000000000000000
+CT=5f6bf404c25c812ff2e814e4febaf636
+
+I=112
+KEY=000000000000000000000000000100000000000000000000
+CT=92b8c78c75ee5bb1c27dac75ef76d2e0
+
+I=113
+KEY=000000000000000000000000000080000000000000000000
+CT=f08df5d467f41cb7d157c6e6c78900fe
+
+I=114
+KEY=000000000000000000000000000040000000000000000000
+CT=0225b99c3e40c8a5fd0156bd6a2b9349
+
+I=115
+KEY=000000000000000000000000000020000000000000000000
+CT=6b8d89725a7aeb5aa433011acf5b72ec
+
+I=116
+KEY=000000000000000000000000000010000000000000000000
+CT=6a8b55f69923153ed6a95bf4b78cce6e
+
+I=117
+KEY=000000000000000000000000000008000000000000000000
+CT=199b86f903787ee3edd60f8393f4a89a
+
+I=118
+KEY=000000000000000000000000000004000000000000000000
+CT=bfe08316360801d0b929bbe1786a8570
+
+I=119
+KEY=000000000000000000000000000002000000000000000000
+CT=887b6ecdbf12deb314c50f07b870ec3b
+
+I=120
+KEY=000000000000000000000000000001000000000000000000
+CT=c82fde13839bd8bd8fc408131f559648
+
+I=121
+KEY=000000000000000000000000000000800000000000000000
+CT=3a07686652a8f7e35fc9b3333ea97d16
+
+I=122
+KEY=000000000000000000000000000000400000000000000000
+CT=fd008310340ba35239165fca8f52b3df
+
+I=123
+KEY=000000000000000000000000000000200000000000000000
+CT=fc7e859d16dbf0f92fb8b3286c110315
+
+I=124
+KEY=000000000000000000000000000000100000000000000000
+CT=86c0cbeb5633ef88abd436ba54ac4d7b
+
+I=125
+KEY=000000000000000000000000000000080000000000000000
+CT=ca66cea4eae07b83e1eeb737fe72eadc
+
+I=126
+KEY=000000000000000000000000000000040000000000000000
+CT=019754956b6dc021d25731ef988bdac9
+
+I=127
+KEY=000000000000000000000000000000020000000000000000
+CT=786ec65cc6c717a171822f1dd1ab3ce8
+
+I=128
+KEY=000000000000000000000000000000010000000000000000
+CT=deab7388a6f1c61d41e25a0d88f062c4
+
+I=129
+KEY=000000000000000000000000000000008000000000000000
+CT=9f18df64a519fec0581c0c27f805f484
+
+I=130
+KEY=000000000000000000000000000000004000000000000000
+CT=53bd3e8475db67f72910b945bf8c768e
+
+I=131
+KEY=000000000000000000000000000000002000000000000000
+CT=456c1be9acefa86afb9742ab867692b1
+
+I=132
+KEY=000000000000000000000000000000001000000000000000
+CT=89ee6ebddcb44b7f17157c154bb99221
+
+I=133
+KEY=000000000000000000000000000000000800000000000000
+CT=51eca17e2c529f17592f9a117f6f592b
+
+I=134
+KEY=000000000000000000000000000000000400000000000000
+CT=a51036d7d90699dda88ed9a16ee6c556
+
+I=135
+KEY=000000000000000000000000000000000200000000000000
+CT=07c856a3ce6f131d785bde2e3db3d36a
+
+I=136
+KEY=000000000000000000000000000000000100000000000000
+CT=a06931bd2c6d9c3701e0286016ab8555
+
+I=137
+KEY=000000000000000000000000000000000080000000000000
+CT=a783eb0a14b5212a9bc439f225f33834
+
+I=138
+KEY=000000000000000000000000000000000040000000000000
+CT=524282fabf8b62d291aaaada12423ae9
+
+I=139
+KEY=000000000000000000000000000000000020000000000000
+CT=306d0e55364394631ec18be972ef0b66
+
+I=140
+KEY=000000000000000000000000000000000010000000000000
+CT=87d8ba08354745fe85bbb710fcf5eb39
+
+I=141
+KEY=000000000000000000000000000000000008000000000000
+CT=894d2f50f43ba36b539de43637927ac9
+
+I=142
+KEY=000000000000000000000000000000000004000000000000
+CT=479c1979ddb0052ba7df875314cb2a35
+
+I=143
+KEY=000000000000000000000000000000000002000000000000
+CT=e0e5399fef15563392741bc333246873
+
+I=144
+KEY=000000000000000000000000000000000001000000000000
+CT=86f93c8b9552d8971367eae2a366312f
+
+I=145
+KEY=000000000000000000000000000000000000800000000000
+CT=dabc07c4dfdda34a8b61d1e1f0461196
+
+I=146
+KEY=000000000000000000000000000000000000400000000000
+CT=e733109e82eedefbb02512f1c030ff35
+
+I=147
+KEY=000000000000000000000000000000000000200000000000
+CT=9f3bf5e17f297b3b3f3d6311b2874fc1
+
+I=148
+KEY=000000000000000000000000000000000000100000000000
+CT=cf2793eda6299c358f79d0f15853e075
+
+I=149
+KEY=000000000000000000000000000000000000080000000000
+CT=4cfcd92e08e82b0b3fc7c0cb8a2193ce
+
+I=150
+KEY=000000000000000000000000000000000000040000000000
+CT=409f6d08c56c0129a485a2cd503aa754
+
+I=151
+KEY=000000000000000000000000000000000000020000000000
+CT=4d80946e2267e0e485cdf4cbea0bde73
+
+I=152
+KEY=000000000000000000000000000000000000010000000000
+CT=eae07676a063eb5f7f99faed7b065188
+
+I=153
+KEY=000000000000000000000000000000000000008000000000
+CT=e407985af526a75ab42db52d64987992
+
+I=154
+KEY=000000000000000000000000000000000000004000000000
+CT=6c6ead1e4101f16ad0fc4de34da19d8a
+
+I=155
+KEY=000000000000000000000000000000000000002000000000
+CT=84e74236d365a90b6417221c0e5ed058
+
+I=156
+KEY=000000000000000000000000000000000000001000000000
+CT=7dc0d45689a260233e52b56ee49f326b
+
+I=157
+KEY=000000000000000000000000000000000000000800000000
+CT=e69ee6c58ae686ac193f4a118e5c7680
+
+I=158
+KEY=000000000000000000000000000000000000000400000000
+CT=7fcf4d217b2a37c8d3a822c43b1a119e
+
+I=159
+KEY=000000000000000000000000000000000000000200000000
+CT=6d37043bf5b8d45f1e44a7c0e792a343
+
+I=160
+KEY=000000000000000000000000000000000000000100000000
+CT=ed46dea31cac83ee9f812c9006891c32
+
+I=161
+KEY=000000000000000000000000000000000000000080000000
+CT=ce6430157e4eaea967b972c35c78036c
+
+I=162
+KEY=000000000000000000000000000000000000000040000000
+CT=7117137e956133bf65bcda326a8156f3
+
+I=163
+KEY=000000000000000000000000000000000000000020000000
+CT=7d0d165bdb56d794fac1b1c5020270b1
+
+I=164
+KEY=000000000000000000000000000000000000000010000000
+CT=2ae14dc8a1cd98e1bd20d4e01e32ddd2
+
+I=165
+KEY=000000000000000000000000000000000000000008000000
+CT=ae266be3bf863707c6aece963d16530e
+
+I=166
+KEY=000000000000000000000000000000000000000004000000
+CT=3a2612af977665d4e8d05e3ea9947e60
+
+I=167
+KEY=000000000000000000000000000000000000000002000000
+CT=95491f2ad7b48986522e3b1ea14de24f
+
+I=168
+KEY=000000000000000000000000000000000000000001000000
+CT=8a1e5d419e900c9fd046ba1f74c49dc8
+
+I=169
+KEY=000000000000000000000000000000000000000000800000
+CT=8be4d123f250436a35ac1506bf462e25
+
+I=170
+KEY=000000000000000000000000000000000000000000400000
+CT=fd007efcbf67c125f8532a7fd54724cc
+
+I=171
+KEY=000000000000000000000000000000000000000000200000
+CT=d6661de82fd241500194134f40c30071
+
+I=172
+KEY=000000000000000000000000000000000000000000100000
+CT=b03a391ccaae863b0ed315b0cc4ff99d
+
+I=173
+KEY=000000000000000000000000000000000000000000080000
+CT=b5142cabf118c8ba5da8a201e7e04448
+
+I=174
+KEY=000000000000000000000000000000000000000000040000
+CT=2b078b616e4802ecc0104510e3e7e44c
+
+I=175
+KEY=000000000000000000000000000000000000000000020000
+CT=ce8a95407154e3b8da3979fda451f288
+
+I=176
+KEY=000000000000000000000000000000000000000000010000
+CT=ef5d9d75a6a31712bad7d332fcef52d7
+
+I=177
+KEY=000000000000000000000000000000000000000000008000
+CT=40520018c4ac2bba285aeeb9bcb58755
+
+I=178
+KEY=000000000000000000000000000000000000000000004000
+CT=fb12e82326b5b32a88c73962e6b15a73
+
+I=179
+KEY=000000000000000000000000000000000000000000002000
+CT=10514ab50fb935d4df8d36697e9a892c
+
+I=180
+KEY=000000000000000000000000000000000000000000001000
+CT=23ba3fe846e2ae8cd99fc3fe58228a05
+
+I=181
+KEY=000000000000000000000000000000000000000000000800
+CT=68e7992b17261f9f50693b291b40de29
+
+I=182
+KEY=000000000000000000000000000000000000000000000400
+CT=16f61ae21def7e6ff252f7a7c0a1fd33
+
+I=183
+KEY=000000000000000000000000000000000000000000000200
+CT=79386d808cc081c0888e83c047411490
+
+I=184
+KEY=000000000000000000000000000000000000000000000100
+CT=81421cde68390c877c025d60d7578959
+
+I=185
+KEY=000000000000000000000000000000000000000000000080
+CT=660cf6a3f77836ac685519c702548ee7
+
+I=186
+KEY=000000000000000000000000000000000000000000000040
+CT=9ea538a95e21b6738b0f4bdd0d5a6423
+
+I=187
+KEY=000000000000000000000000000000000000000000000020
+CT=19d13a0ac90f83e5b3ca943c6462d295
+
+I=188
+KEY=000000000000000000000000000000000000000000000010
+CT=1b9dd629b9e11bcd27c4148887ae662a
+
+I=189
+KEY=000000000000000000000000000000000000000000000008
+CT=14ef2ba201698b1185b4f45d3c4bf7c1
+
+I=190
+KEY=000000000000000000000000000000000000000000000004
+CT=8af1a83901d7dd153ff8d271b210e3ab
+
+I=191
+KEY=000000000000000000000000000000000000000000000002
+CT=4209b9f47fe46da7095e093698227280
+
+I=192
+KEY=000000000000000000000000000000000000000000000001
+CT=5d058517ac7cc5afd5c33253d4703b46
+
+KEYSIZE=256
+
+PT=00000000000000000000000000000000
+
+I=0
+KEY=0000000000000000000000000000000000000000000000000000000000000000
+CT=49672ba898d98df95019180445491089
+
+I=1
+KEY=8000000000000000000000000000000000000000000000000000000000000000
+CT=a223aa1288463c0e2be38ebd825616c0
+
+I=2
+KEY=4000000000000000000000000000000000000000000000000000000000000000
+CT=eae1d405570174df7df2f9966d509159
+
+I=3
+KEY=2000000000000000000000000000000000000000000000000000000000000000
+CT=65f37684471e921dc8a30f45b43c4499
+
+I=4
+KEY=1000000000000000000000000000000000000000000000000000000000000000
+CT=0ee036d0bc32b89c1cef987f5229e4a9
+
+I=5
+KEY=0800000000000000000000000000000000000000000000000000000000000000
+CT=ec9d6557eed58e6cf89a746bbdb6c9b7
+
+I=6
+KEY=0400000000000000000000000000000000000000000000000000000000000000
+CT=ad2314bf713cd796e8c7ec6e9c59cb8d
+
+I=7
+KEY=0200000000000000000000000000000000000000000000000000000000000000
+CT=33d8944a2d2facbba555ec18543afcf0
+
+I=8
+KEY=0100000000000000000000000000000000000000000000000000000000000000
+CT=e0885d4460373469d1fa6c36a6e1c52f
+
+I=9
+KEY=0080000000000000000000000000000000000000000000000000000000000000
+CT=2cca19ae45b976236d88e4e1ad3bacea
+
+I=10
+KEY=0040000000000000000000000000000000000000000000000000000000000000
+CT=052d166aa678a987c07256c582283986
+
+I=11
+KEY=0020000000000000000000000000000000000000000000000000000000000000
+CT=d30979ddc6c09b1158fa41eeb6f2a21b
+
+I=12
+KEY=0010000000000000000000000000000000000000000000000000000000000000
+CT=c36705bb2a9bafcfcb64c4468964d568
+
+I=13
+KEY=0008000000000000000000000000000000000000000000000000000000000000
+CT=97905460e140685960b561204abc09a9
+
+I=14
+KEY=0004000000000000000000000000000000000000000000000000000000000000
+CT=b893b8766a12aaad7691565c46651623
+
+I=15
+KEY=0002000000000000000000000000000000000000000000000000000000000000
+CT=7978dbd4794af35dfb0403423b4e81a9
+
+I=16
+KEY=0001000000000000000000000000000000000000000000000000000000000000
+CT=4f990737145aaa9100bfedca53b69f6d
+
+I=17
+KEY=0000800000000000000000000000000000000000000000000000000000000000
+CT=2b504288f018b2a867597eb53eea6db1
+
+I=18
+KEY=0000400000000000000000000000000000000000000000000000000000000000
+CT=b3fa8074a573a00b4897df6cd0d99b5d
+
+I=19
+KEY=0000200000000000000000000000000000000000000000000000000000000000
+CT=38b56fd4c1fedf5282208ef5f796a2c9
+
+I=20
+KEY=0000100000000000000000000000000000000000000000000000000000000000
+CT=bfe421423c53a9942c78d04cb4b231d8
+
+I=21
+KEY=0000080000000000000000000000000000000000000000000000000000000000
+CT=ef102196c479e513ae8b776d524631b9
+
+I=22
+KEY=0000040000000000000000000000000000000000000000000000000000000000
+CT=ac38f8f6df320d4409ba6a1cd93a482e
+
+I=23
+KEY=0000020000000000000000000000000000000000000000000000000000000000
+CT=fb5d6cd1b6ee155d6744e5be62a650f6
+
+I=24
+KEY=0000010000000000000000000000000000000000000000000000000000000000
+CT=23a626e559d0b8e4e4ab3f7c38750d4a
+
+I=25
+KEY=0000008000000000000000000000000000000000000000000000000000000000
+CT=4a7e5d441526f7d4d2987aedf48f0231
+
+I=26
+KEY=0000004000000000000000000000000000000000000000000000000000000000
+CT=f5d9875a70158c9c64136703d231e3f5
+
+I=27
+KEY=0000002000000000000000000000000000000000000000000000000000000000
+CT=3bc82ec5fbe24b5aaf230895bba9dcd1
+
+I=28
+KEY=0000001000000000000000000000000000000000000000000000000000000000
+CT=eff062af33726c788d261fbfdda15109
+
+I=29
+KEY=0000000800000000000000000000000000000000000000000000000000000000
+CT=e2a342e2683d3f970983d941656823aa
+
+I=30
+KEY=0000000400000000000000000000000000000000000000000000000000000000
+CT=e16066a35f943a426fe47ad1a1fc69ad
+
+I=31
+KEY=0000000200000000000000000000000000000000000000000000000000000000
+CT=d89f891b578ff6b441e97849dd2f2798
+
+I=32
+KEY=0000000100000000000000000000000000000000000000000000000000000000
+CT=4a800443b44112493226e08bd9521912
+
+I=33
+KEY=0000000080000000000000000000000000000000000000000000000000000000
+CT=765df290b8d90c9169e6884a0d4d4b92
+
+I=34
+KEY=0000000040000000000000000000000000000000000000000000000000000000
+CT=f9eebab9f5cebf94196fef3872c46881
+
+I=35
+KEY=0000000020000000000000000000000000000000000000000000000000000000
+CT=318b1983222e49f5b57e26e70890a5b6
+
+I=36
+KEY=0000000010000000000000000000000000000000000000000000000000000000
+CT=d8df0a98604c987283acf7f211d906c7
+
+I=37
+KEY=0000000008000000000000000000000000000000000000000000000000000000
+CT=92697cf743a72d2d4d7864132a9ade0b
+
+I=38
+KEY=0000000004000000000000000000000000000000000000000000000000000000
+CT=2c450c8bcdaa9cb59f930ddae88cbdb3
+
+I=39
+KEY=0000000002000000000000000000000000000000000000000000000000000000
+CT=4284a05c4a0af59dff15604acbb82743
+
+I=40
+KEY=0000000001000000000000000000000000000000000000000000000000000000
+CT=986a05e8447024c8468a1ebf7743f689
+
+I=41
+KEY=0000000000800000000000000000000000000000000000000000000000000000
+CT=c9642c4e3f420ca73e8f1c15c6eb011f
+
+I=42
+KEY=0000000000400000000000000000000000000000000000000000000000000000
+CT=1bd0eef566befb4d57ce7120b731125e
+
+I=43
+KEY=0000000000200000000000000000000000000000000000000000000000000000
+CT=cb0705ae3db537ad1c202dd6635202da
+
+I=44
+KEY=0000000000100000000000000000000000000000000000000000000000000000
+CT=d88f55dac599bea8440b4ba9e3c50016
+
+I=45
+KEY=0000000000080000000000000000000000000000000000000000000000000000
+CT=ff227ec8af4640198173a79b124cefdf
+
+I=46
+KEY=0000000000040000000000000000000000000000000000000000000000000000
+CT=cc55a4f4086043f1e1aba9cc91e4395a
+
+I=47
+KEY=0000000000020000000000000000000000000000000000000000000000000000
+CT=8d2bad986865a229601855b024d9a557
+
+I=48
+KEY=0000000000010000000000000000000000000000000000000000000000000000
+CT=343e1b000fedac000376ee138fd8f0f7
+
+I=49
+KEY=0000000000008000000000000000000000000000000000000000000000000000
+CT=ece089620bf6866a66fb6070c491c74c
+
+I=50
+KEY=0000000000004000000000000000000000000000000000000000000000000000
+CT=36cd300072d4ec94a0ff3595f7a2c1fe
+
+I=51
+KEY=0000000000002000000000000000000000000000000000000000000000000000
+CT=f939cb3d8316b59600f164234e78d228
+
+I=52
+KEY=0000000000001000000000000000000000000000000000000000000000000000
+CT=17c6258e6009e282661869d525f7d204
+
+I=53
+KEY=0000000000000800000000000000000000000000000000000000000000000000
+CT=45a32c5ea3e2e548a9e6313bef957308
+
+I=54
+KEY=0000000000000400000000000000000000000000000000000000000000000000
+CT=c2105cc6264024ebec6ba0f825fd5163
+
+I=55
+KEY=0000000000000200000000000000000000000000000000000000000000000000
+CT=85f3d2169883a7cd54a67da7c4ac613c
+
+I=56
+KEY=0000000000000100000000000000000000000000000000000000000000000000
+CT=b5ffc7d92ea2815c0f4dc9182da160c6
+
+I=57
+KEY=0000000000000080000000000000000000000000000000000000000000000000
+CT=d9732ce2055e7f935468a63a170b598c
+
+I=58
+KEY=0000000000000040000000000000000000000000000000000000000000000000
+CT=e9f396623af12adf24c0378f42f7b4bd
+
+I=59
+KEY=0000000000000020000000000000000000000000000000000000000000000000
+CT=98d5ae45e15a836c141cf7f64dc7d551
+
+I=60
+KEY=0000000000000010000000000000000000000000000000000000000000000000
+CT=eefbed56d7bd47d088b3ad657a6cb8b8
+
+I=61
+KEY=0000000000000008000000000000000000000000000000000000000000000000
+CT=a99342c96f331950d97afbfc8c0d4e08
+
+I=62
+KEY=0000000000000004000000000000000000000000000000000000000000000000
+CT=25c35298c0a1224f2bee7ee8aaa86e51
+
+I=63
+KEY=0000000000000002000000000000000000000000000000000000000000000000
+CT=66602fd71f84b2637b2283cd81de3080
+
+I=64
+KEY=0000000000000001000000000000000000000000000000000000000000000000
+CT=d48e45670fd978fa4db161c0e5d59fc0
+
+I=65
+KEY=0000000000000000800000000000000000000000000000000000000000000000
+CT=bcc02339fcffcae0536fb5410af91129
+
+I=66
+KEY=0000000000000000400000000000000000000000000000000000000000000000
+CT=dd6a02b2dc091212a746c8fc9967b8be
+
+I=67
+KEY=0000000000000000200000000000000000000000000000000000000000000000
+CT=4bb9fd26e225c913f9be1b697d31b5b9
+
+I=68
+KEY=0000000000000000100000000000000000000000000000000000000000000000
+CT=2a3bac4370daa0d68ca90939f43e33cc
+
+I=69
+KEY=0000000000000000080000000000000000000000000000000000000000000000
+CT=8576f1070e25b5fd944c366e08cc9102
+
+I=70
+KEY=0000000000000000040000000000000000000000000000000000000000000000
+CT=e620c37ad1650dceaebeae1f57bd8ad9
+
+I=71
+KEY=0000000000000000020000000000000000000000000000000000000000000000
+CT=7761ecd209cb564eeacab4e62db26bdd
+
+I=72
+KEY=0000000000000000010000000000000000000000000000000000000000000000
+CT=67d23f0cf1a57ba0e43fe82a3f4fbbb6
+
+I=73
+KEY=0000000000000000008000000000000000000000000000000000000000000000
+CT=6ed568ad50c256b77945e19c04086d98
+
+I=74
+KEY=0000000000000000004000000000000000000000000000000000000000000000
+CT=f2398f417c685fe664735e29db29bba9
+
+I=75
+KEY=0000000000000000002000000000000000000000000000000000000000000000
+CT=37d20b991d910044c6bef068028125d4
+
+I=76
+KEY=0000000000000000001000000000000000000000000000000000000000000000
+CT=35721318ed63062b43d37c4f14101962
+
+I=77
+KEY=0000000000000000000800000000000000000000000000000000000000000000
+CT=74a004a5d483cca7219ea12ad4af5ca4
+
+I=78
+KEY=0000000000000000000400000000000000000000000000000000000000000000
+CT=bbcea8a80619d2ac53037313e71ab56c
+
+I=79
+KEY=0000000000000000000200000000000000000000000000000000000000000000
+CT=646e434c0fef5cd6cd9c7a26ba972bb1
+
+I=80
+KEY=0000000000000000000100000000000000000000000000000000000000000000
+CT=8f2ad3f65e9716e611501d5b7ad81127
+
+I=81
+KEY=0000000000000000000080000000000000000000000000000000000000000000
+CT=b4b30728f0ddbb28402e252dc6ddba4e
+
+I=82
+KEY=0000000000000000000040000000000000000000000000000000000000000000
+CT=ddb074d9e22b61fcdcb2323a52046221
+
+I=83
+KEY=0000000000000000000020000000000000000000000000000000000000000000
+CT=91abbbfecec752159297b832055e99fe
+
+I=84
+KEY=0000000000000000000010000000000000000000000000000000000000000000
+CT=25415ef8615cc222b1ec77046b094c35
+
+I=85
+KEY=0000000000000000000008000000000000000000000000000000000000000000
+CT=c11856ee23fa27f2f426844ee9c7b081
+
+I=86
+KEY=0000000000000000000004000000000000000000000000000000000000000000
+CT=5e6f28690f31cdc0dad21d8e3e1bc985
+
+I=87
+KEY=0000000000000000000002000000000000000000000000000000000000000000
+CT=712d271bab597ff6728c0a55ce6c3cdb
+
+I=88
+KEY=0000000000000000000001000000000000000000000000000000000000000000
+CT=4a567c948597b47a1abf5f8ccd77ae4f
+
+I=89
+KEY=0000000000000000000000800000000000000000000000000000000000000000
+CT=ad4b018d50e3a28124a0a1259dc667d4
+
+I=90
+KEY=0000000000000000000000400000000000000000000000000000000000000000
+CT=c899a00a2585c1f654694700f1ec1531
+
+I=91
+KEY=0000000000000000000000200000000000000000000000000000000000000000
+CT=bae53dcfcf6d6e360a27755f9ce81b6d
+
+I=92
+KEY=0000000000000000000000100000000000000000000000000000000000000000
+CT=6e181c731459c3360778bea1ba86164d
+
+I=93
+KEY=0000000000000000000000080000000000000000000000000000000000000000
+CT=97fd2ddd6045805a7b34879a6ab55d3c
+
+I=94
+KEY=0000000000000000000000040000000000000000000000000000000000000000
+CT=547d61c02def0d9869df43907d3b8124
+
+I=95
+KEY=0000000000000000000000020000000000000000000000000000000000000000
+CT=9e457544fc14c723884dd15debc25157
+
+I=96
+KEY=0000000000000000000000010000000000000000000000000000000000000000
+CT=e0767ec3934ecf169116b485ed0c755b
+
+I=97
+KEY=0000000000000000000000008000000000000000000000000000000000000000
+CT=5f3db2dee7074dae2340174109d6bef0
+
+I=98
+KEY=0000000000000000000000004000000000000000000000000000000000000000
+CT=e530bc0ce5a24e03ad0d215a7e9d9a15
+
+I=99
+KEY=0000000000000000000000002000000000000000000000000000000000000000
+CT=fff5a17155933f6084ea4c1be1245769
+
+I=100
+KEY=0000000000000000000000001000000000000000000000000000000000000000
+CT=64ca3d5422833f7a4ad1fa5331c08a78
+
+I=101
+KEY=0000000000000000000000000800000000000000000000000000000000000000
+CT=e42c18f2b56a0e536e4908f84de06419
+
+I=102
+KEY=0000000000000000000000000400000000000000000000000000000000000000
+CT=97823d74887fbe3e6b412407a256a018
+
+I=103
+KEY=0000000000000000000000000200000000000000000000000000000000000000
+CT=8a1d4467260f12ab493334133d5928dd
+
+I=104
+KEY=0000000000000000000000000100000000000000000000000000000000000000
+CT=735e7fb4b1b2d54c6d33e3d0c714bfa0
+
+I=105
+KEY=0000000000000000000000000080000000000000000000000000000000000000
+CT=3baade8819e09549cda6aa160f4c626a
+
+I=106
+KEY=0000000000000000000000000040000000000000000000000000000000000000
+CT=0f5e7bf2a2590f7a65d17daa4e828f7d
+
+I=107
+KEY=0000000000000000000000000020000000000000000000000000000000000000
+CT=510b105e4809b4115c999ab346d21570
+
+I=108
+KEY=0000000000000000000000000010000000000000000000000000000000000000
+CT=0ff47c9330a69d2b5c52434394a2d1ca
+
+I=109
+KEY=0000000000000000000000000008000000000000000000000000000000000000
+CT=ab8301bffff3b24a3ce63f553443f2c7
+
+I=110
+KEY=0000000000000000000000000004000000000000000000000000000000000000
+CT=49a3f4514e983616f55580ea4ea12dbf
+
+I=111
+KEY=0000000000000000000000000002000000000000000000000000000000000000
+CT=c007aea2279ed965ad5f037359de24c4
+
+I=112
+KEY=0000000000000000000000000001000000000000000000000000000000000000
+CT=be5fcbe21961382305b6edbc74b6d73e
+
+I=113
+KEY=0000000000000000000000000000800000000000000000000000000000000000
+CT=a95adaa6a53d1bf0fa4e46ea5d1ee88c
+
+I=114
+KEY=0000000000000000000000000000400000000000000000000000000000000000
+CT=d1031805010bbacd8bb316efa437ec4a
+
+I=115
+KEY=0000000000000000000000000000200000000000000000000000000000000000
+CT=7b6a4380af9337c902aa691243f6a2e6
+
+I=116
+KEY=0000000000000000000000000000100000000000000000000000000000000000
+CT=bdef751d35f3b8bc6a9ab61f6b04a94a
+
+I=117
+KEY=0000000000000000000000000000080000000000000000000000000000000000
+CT=51cfb9ed07d3628d0854c2e85fc4b866
+
+I=118
+KEY=0000000000000000000000000000040000000000000000000000000000000000
+CT=0cda37833be087d8b997a54d5cfbdcfd
+
+I=119
+KEY=0000000000000000000000000000020000000000000000000000000000000000
+CT=938d2e6f2149d1e0b6f8878d472f0469
+
+I=120
+KEY=0000000000000000000000000000010000000000000000000000000000000000
+CT=3857b0c25f235a22f347e0accd008fad
+
+I=121
+KEY=0000000000000000000000000000008000000000000000000000000000000000
+CT=4172b0bebbef90672eb0623a709fc734
+
+I=122
+KEY=0000000000000000000000000000004000000000000000000000000000000000
+CT=265829fc78fd18069b3631ae596dc9bf
+
+I=123
+KEY=0000000000000000000000000000002000000000000000000000000000000000
+CT=e89b25e3e40e28d37ba6e78c55a611f8
+
+I=124
+KEY=0000000000000000000000000000001000000000000000000000000000000000
+CT=8ebf95d561dd65f9bc66b82a6905828c
+
+I=125
+KEY=0000000000000000000000000000000800000000000000000000000000000000
+CT=8c8f6af8078c29d23b2958cae6858a09
+
+I=126
+KEY=0000000000000000000000000000000400000000000000000000000000000000
+CT=39fa2682abfaba6a705780e72bda0128
+
+I=127
+KEY=0000000000000000000000000000000200000000000000000000000000000000
+CT=a812c9d68212b21a14e9cebca8960750
+
+I=128
+KEY=0000000000000000000000000000000100000000000000000000000000000000
+CT=47bfd757c13ada4001df9b0989e7cb80
+
+I=129
+KEY=0000000000000000000000000000000080000000000000000000000000000000
+CT=c19171490b5595e8555c61b352935deb
+
+I=130
+KEY=0000000000000000000000000000000040000000000000000000000000000000
+CT=57159e7be66463408fae89c376318fa8
+
+I=131
+KEY=0000000000000000000000000000000020000000000000000000000000000000
+CT=c2441bb36c7b7977b0e6eed5aed1be09
+
+I=132
+KEY=0000000000000000000000000000000010000000000000000000000000000000
+CT=63a33251e59ff5a6ce0482eb4b80e70b
+
+I=133
+KEY=0000000000000000000000000000000008000000000000000000000000000000
+CT=4459d2ea77e8e8041da46eb36705b054
+
+I=134
+KEY=0000000000000000000000000000000004000000000000000000000000000000
+CT=e76a69f531ccc2c1a4c56aee55b63c29
+
+I=135
+KEY=0000000000000000000000000000000002000000000000000000000000000000
+CT=97e97c261c31046f115fec15820e3822
+
+I=136
+KEY=0000000000000000000000000000000001000000000000000000000000000000
+CT=3620b17ae6a993d09618b8768266bae9
+
+I=137
+KEY=0000000000000000000000000000000000800000000000000000000000000000
+CT=801ca8e44fb6bab5df7fb96aa5f39f8d
+
+I=138
+KEY=0000000000000000000000000000000000400000000000000000000000000000
+CT=9eb5169e8f72673301d0abf9e85422bf
+
+I=139
+KEY=0000000000000000000000000000000000200000000000000000000000000000
+CT=cb377e74144f9e9405355f089ca3918b
+
+I=140
+KEY=0000000000000000000000000000000000100000000000000000000000000000
+CT=1ee82e9e6e525daeb21df068dff7ab09
+
+I=141
+KEY=0000000000000000000000000000000000080000000000000000000000000000
+CT=6316dddd174659c16cf3324a770225eb
+
+I=142
+KEY=0000000000000000000000000000000000040000000000000000000000000000
+CT=e17c717ec7a1cf3492710d9fe53a26ad
+
+I=143
+KEY=0000000000000000000000000000000000020000000000000000000000000000
+CT=675f1e9f7c895dd0b4e1f8d4eed1d2c9
+
+I=144
+KEY=0000000000000000000000000000000000010000000000000000000000000000
+CT=446b5ade1fe91d73511403b34f20ff16
+
+I=145
+KEY=0000000000000000000000000000000000008000000000000000000000000000
+CT=d7078e2a1cb16142851f7c5f86ff4e64
+
+I=146
+KEY=0000000000000000000000000000000000004000000000000000000000000000
+CT=fed174eac6701dad5df03dd8a438d99c
+
+I=147
+KEY=0000000000000000000000000000000000002000000000000000000000000000
+CT=9112a5feb40e3134c26303f379f29af6
+
+I=148
+KEY=0000000000000000000000000000000000001000000000000000000000000000
+CT=b190c3c5ac183f95f71495a93c679bdb
+
+I=149
+KEY=0000000000000000000000000000000000000800000000000000000000000000
+CT=5777c456eedbb7756ae316517c1072a8
+
+I=150
+KEY=0000000000000000000000000000000000000400000000000000000000000000
+CT=5550900faf11f9d2ddc6cf2f1d7aaedb
+
+I=151
+KEY=0000000000000000000000000000000000000200000000000000000000000000
+CT=bde3013e16afdf64a0f24991d7ee5752
+
+I=152
+KEY=0000000000000000000000000000000000000100000000000000000000000000
+CT=71500f21b4145961271727e896c62f24
+
+I=153
+KEY=0000000000000000000000000000000000000080000000000000000000000000
+CT=b324d96d901db388cc1df28092714335
+
+I=154
+KEY=0000000000000000000000000000000000000040000000000000000000000000
+CT=e572f8132305a28a1e09bf5ed8abaa8d
+
+I=155
+KEY=0000000000000000000000000000000000000020000000000000000000000000
+CT=e4cbb63909992197e9654069bf4ee3ee
+
+I=156
+KEY=0000000000000000000000000000000000000010000000000000000000000000
+CT=14b1df955b3a20eadff35c3869b0b624
+
+I=157
+KEY=0000000000000000000000000000000000000008000000000000000000000000
+CT=4d9019a6223f39e2075c95c7724959fc
+
+I=158
+KEY=0000000000000000000000000000000000000004000000000000000000000000
+CT=5352a5e6f316c51f0256b3a0bc283d47
+
+I=159
+KEY=0000000000000000000000000000000000000002000000000000000000000000
+CT=9f570dd55188193525d0c0244cba2cfd
+
+I=160
+KEY=0000000000000000000000000000000000000001000000000000000000000000
+CT=1b206fea626ad786255a3186ac5f5132
+
+I=161
+KEY=0000000000000000000000000000000000000000800000000000000000000000
+CT=43fb732672d6243ddc9c547e46711fbe
+
+I=162
+KEY=0000000000000000000000000000000000000000400000000000000000000000
+CT=a2622ed785815c12c949ebed89094fc3
+
+I=163
+KEY=0000000000000000000000000000000000000000200000000000000000000000
+CT=fbb93b64ca5d94692b4e6eed934112d8
+
+I=164
+KEY=0000000000000000000000000000000000000000100000000000000000000000
+CT=cd3681ff583d4bc4886d864cfa94ef97
+
+I=165
+KEY=0000000000000000000000000000000000000000080000000000000000000000
+CT=37ed3ce092a1ae925264751dfff6b50e
+
+I=166
+KEY=0000000000000000000000000000000000000000040000000000000000000000
+CT=3ca305833473ac6990a41e37a7be551a
+
+I=167
+KEY=0000000000000000000000000000000000000000020000000000000000000000
+CT=cef8ec0353a04b3db1309f88265fdabf
+
+I=168
+KEY=0000000000000000000000000000000000000000010000000000000000000000
+CT=51c23a4293bb9b963ad17e349b8a71c5
+
+I=169
+KEY=0000000000000000000000000000000000000000008000000000000000000000
+CT=e5bd5e55a80fe196a2aebcdb6798614e
+
+I=170
+KEY=0000000000000000000000000000000000000000004000000000000000000000
+CT=dad3f4d3b96ef51c2d4d2869faea4c1d
+
+I=171
+KEY=0000000000000000000000000000000000000000002000000000000000000000
+CT=28e64b7dc148055040950974e718b27a
+
+I=172
+KEY=0000000000000000000000000000000000000000001000000000000000000000
+CT=08c9b5e67b8954fdfe74f391b7afb754
+
+I=173
+KEY=0000000000000000000000000000000000000000000800000000000000000000
+CT=9ca79528107403a7430cd50578029990
+
+I=174
+KEY=0000000000000000000000000000000000000000000400000000000000000000
+CT=45a104cae36e600b6ef91b91fc1c657c
+
+I=175
+KEY=0000000000000000000000000000000000000000000200000000000000000000
+CT=d9cf9457265e7acc57efe25736a11fbe
+
+I=176
+KEY=0000000000000000000000000000000000000000000100000000000000000000
+CT=d1dd8ae84d38d129a5fa0e9d9520ecf8
+
+I=177
+KEY=0000000000000000000000000000000000000000000080000000000000000000
+CT=18df0f25a865a0b6ec844d810d25fd87
+
+I=178
+KEY=0000000000000000000000000000000000000000000040000000000000000000
+CT=35d6db5996115e7e8c1be200823e7c63
+
+I=179
+KEY=0000000000000000000000000000000000000000000020000000000000000000
+CT=cdea1849de224d92034bec826682ad47
+
+I=180
+KEY=0000000000000000000000000000000000000000000010000000000000000000
+CT=7343b1923db7c28c195660252857aba3
+
+I=181
+KEY=0000000000000000000000000000000000000000000008000000000000000000
+CT=f02fa74352855e5fc194f18476dc2916
+
+I=182
+KEY=0000000000000000000000000000000000000000000004000000000000000000
+CT=adcafb490dd340784f084779ce182ffe
+
+I=183
+KEY=0000000000000000000000000000000000000000000002000000000000000000
+CT=0ce37e34b01baf724841ec58a6b90990
+
+I=184
+KEY=0000000000000000000000000000000000000000000001000000000000000000
+CT=a577782dba6ede990b2a28fbf52899b0
+
+I=185
+KEY=0000000000000000000000000000000000000000000000800000000000000000
+CT=08d8a40bca6bc1c31badcc9dda387d9c
+
+I=186
+KEY=0000000000000000000000000000000000000000000000400000000000000000
+CT=f502c9674bebfae010527c808ca03f5c
+
+I=187
+KEY=0000000000000000000000000000000000000000000000200000000000000000
+CT=e85d57184da2b982c18c8b13b1348838
+
+I=188
+KEY=0000000000000000000000000000000000000000000000100000000000000000
+CT=6e71ffac10edbf08a6dc42bda14ae1ce
+
+I=189
+KEY=0000000000000000000000000000000000000000000000080000000000000000
+CT=0f2d7bee48845d8a17ecf93f52f9036a
+
+I=190
+KEY=0000000000000000000000000000000000000000000000040000000000000000
+CT=cbc811575660af9f7e869631ed779f66
+
+I=191
+KEY=0000000000000000000000000000000000000000000000020000000000000000
+CT=f7e405b065fb1a03ebd539cfcad08e17
+
+I=192
+KEY=0000000000000000000000000000000000000000000000010000000000000000
+CT=0872458b2e2c4725ce7dec3fffc47f4a
+
+I=193
+KEY=0000000000000000000000000000000000000000000000008000000000000000
+CT=853e0e5dd1ca7c9c55388ddba2f138fd
+
+I=194
+KEY=0000000000000000000000000000000000000000000000004000000000000000
+CT=6991c5d5e1bd766597115c5a213f6cfb
+
+I=195
+KEY=0000000000000000000000000000000000000000000000002000000000000000
+CT=4e0d7a3c6816cc844aba4bb6aa0f3592
+
+I=196
+KEY=0000000000000000000000000000000000000000000000001000000000000000
+CT=1a93f22f2e11afc3ceca1fc17065ecec
+
+I=197
+KEY=0000000000000000000000000000000000000000000000000800000000000000
+CT=1519f9986e85e5b942a66dfe1d6ecbe7
+
+I=198
+KEY=0000000000000000000000000000000000000000000000000400000000000000
+CT=2b583f2363f6c1d981bd2d0c3f965f3a
+
+I=199
+KEY=0000000000000000000000000000000000000000000000000200000000000000
+CT=e92febfa44950be01ce755eb4607563b
+
+I=200
+KEY=0000000000000000000000000000000000000000000000000100000000000000
+CT=a583ef976a292b406bbd5dc8256b0442
+
+I=201
+KEY=0000000000000000000000000000000000000000000000000080000000000000
+CT=3cf2e1206969ed3a85e28efa16162e53
+
+I=202
+KEY=0000000000000000000000000000000000000000000000000040000000000000
+CT=801db46f97025bb099f7755595c532e3
+
+I=203
+KEY=0000000000000000000000000000000000000000000000000020000000000000
+CT=4322f95a6d70b9d4f53b733505a11d79
+
+I=204
+KEY=0000000000000000000000000000000000000000000000000010000000000000
+CT=d1a200ed8e473284b70eb16e93b55ecd
+
+I=205
+KEY=0000000000000000000000000000000000000000000000000008000000000000
+CT=aab1879d98592963b8f90c8f06804207
+
+I=206
+KEY=0000000000000000000000000000000000000000000000000004000000000000
+CT=e221625345b6e73dd09235c7a3957ca3
+
+I=207
+KEY=0000000000000000000000000000000000000000000000000002000000000000
+CT=02b055320e02da991986bb53a1cc69b9
+
+I=208
+KEY=0000000000000000000000000000000000000000000000000001000000000000
+CT=fca1b117007b2c06165e3d773cceb0c9
+
+I=209
+KEY=0000000000000000000000000000000000000000000000000000800000000000
+CT=73c96c4f08bc5f9725cd2f719402df4b
+
+I=210
+KEY=0000000000000000000000000000000000000000000000000000400000000000
+CT=488af3d7e9223041c2c26ab496bbf0e5
+
+I=211
+KEY=0000000000000000000000000000000000000000000000000000200000000000
+CT=cd5038a80ecec3424e1e9614cd3267dd
+
+I=212
+KEY=0000000000000000000000000000000000000000000000000000100000000000
+CT=c38d3776a560bbc5453e96c1587b0e59
+
+I=213
+KEY=0000000000000000000000000000000000000000000000000000080000000000
+CT=845416d12195b8fc18f299ad41d8f569
+
+I=214
+KEY=0000000000000000000000000000000000000000000000000000040000000000
+CT=07b3d3bb79520764234d247a7a0036c2
+
+I=215
+KEY=0000000000000000000000000000000000000000000000000000020000000000
+CT=bd6816944b3a1353229b02907cd0e87c
+
+I=216
+KEY=0000000000000000000000000000000000000000000000000000010000000000
+CT=cc547cd2016122227d7ce3b4bfbe3eaf
+
+I=217
+KEY=0000000000000000000000000000000000000000000000000000008000000000
+CT=dfdb243581a8d3da8a3f268aa8e6207e
+
+I=218
+KEY=0000000000000000000000000000000000000000000000000000004000000000
+CT=965a8653210830c831353a28cbbfd16c
+
+I=219
+KEY=0000000000000000000000000000000000000000000000000000002000000000
+CT=e3442d2fc126cc50ab364e09a0872b18
+
+I=220
+KEY=0000000000000000000000000000000000000000000000000000001000000000
+CT=b261bc4e7fae6629fc5f5d588e417caf
+
+I=221
+KEY=0000000000000000000000000000000000000000000000000000000800000000
+CT=940218ac849fd119d89b0e15376213dd
+
+I=222
+KEY=0000000000000000000000000000000000000000000000000000000400000000
+CT=c07de68cb0ed8c8d398b87d6547bd15b
+
+I=223
+KEY=0000000000000000000000000000000000000000000000000000000200000000
+CT=f14145e5dcb1efa30a5a6ca08ec8f8fe
+
+I=224
+KEY=0000000000000000000000000000000000000000000000000000000100000000
+CT=4d08cd60b971b10854a0912daf5cc3a8
+
+I=225
+KEY=0000000000000000000000000000000000000000000000000000000080000000
+CT=17a457da5304d77bd0bc4b5b8bb02fdd
+
+I=226
+KEY=0000000000000000000000000000000000000000000000000000000040000000
+CT=b6df6b6c45a38ece7e940c45fe1e847e
+
+I=227
+KEY=0000000000000000000000000000000000000000000000000000000020000000
+CT=83db5e464d300a76eda858e108902ebf
+
+I=228
+KEY=0000000000000000000000000000000000000000000000000000000010000000
+CT=c7fb67aaa9f7417dc5977b57b723d278
+
+I=229
+KEY=0000000000000000000000000000000000000000000000000000000008000000
+CT=1dd21fd2291c7419b5593ee8d6712198
+
+I=230
+KEY=0000000000000000000000000000000000000000000000000000000004000000
+CT=a2e337efdf4b888c2b94b86ae20ff8e8
+
+I=231
+KEY=0000000000000000000000000000000000000000000000000000000002000000
+CT=61f70feab04db61d959a69e9c1baaa9d
+
+I=232
+KEY=0000000000000000000000000000000000000000000000000000000001000000
+CT=6fc6c5718fd0b81194a198f873ede7ea
+
+I=233
+KEY=0000000000000000000000000000000000000000000000000000000000800000
+CT=19dd5dec75cee00003995bf2ea643e2f
+
+I=234
+KEY=0000000000000000000000000000000000000000000000000000000000400000
+CT=bb75015a768ab1e9bc4af49d2d156c4f
+
+I=235
+KEY=0000000000000000000000000000000000000000000000000000000000200000
+CT=46efe1b09efb606cb11717415511862e
+
+I=236
+KEY=0000000000000000000000000000000000000000000000000000000000100000
+CT=360d02f49944ecae2ee2050e634904ce
+
+I=237
+KEY=0000000000000000000000000000000000000000000000000000000000080000
+CT=93e207973539b6e2ef7d49c772e32d86
+
+I=238
+KEY=0000000000000000000000000000000000000000000000000000000000040000
+CT=2e71481d28ed6bd01157f4d054f01961
+
+I=239
+KEY=0000000000000000000000000000000000000000000000000000000000020000
+CT=ac06eb8186a501262ce9b06fc88f9774
+
+I=240
+KEY=0000000000000000000000000000000000000000000000000000000000010000
+CT=a94cc5dcc946c9b4f38d1d46bf1c0335
+
+I=241
+KEY=0000000000000000000000000000000000000000000000000000000000008000
+CT=82edddc59e207131f1ae2a2a06a83284
+
+I=242
+KEY=0000000000000000000000000000000000000000000000000000000000004000
+CT=1c17a9f76290fb6c0f0267bb1ce832c6
+
+I=243
+KEY=0000000000000000000000000000000000000000000000000000000000002000
+CT=6dd6415cc9efb2323fa78ed28eee06c7
+
+I=244
+KEY=0000000000000000000000000000000000000000000000000000000000001000
+CT=48fd01a424e995b0e0840353439b1a4b
+
+I=245
+KEY=0000000000000000000000000000000000000000000000000000000000000800
+CT=2b139c4c4200a8da4daf8169f84a4089
+
+I=246
+KEY=0000000000000000000000000000000000000000000000000000000000000400
+CT=0d7e0a00e181f592c1d75250ac940517
+
+I=247
+KEY=0000000000000000000000000000000000000000000000000000000000000200
+CT=9250d327f678e8edbc25cb40ea70391e
+
+I=248
+KEY=0000000000000000000000000000000000000000000000000000000000000100
+CT=4d715d9421fcb51c7b4c94def2b5c210
+
+I=249
+KEY=0000000000000000000000000000000000000000000000000000000000000080
+CT=1908ef821ad2ebc0cb28bf66e796edab
+
+I=250
+KEY=0000000000000000000000000000000000000000000000000000000000000040
+CT=8d88b1e7bb45e0dd5603d8fccd589695
+
+I=251
+KEY=0000000000000000000000000000000000000000000000000000000000000020
+CT=284cdf6476175b6bb414e7fac09cd404
+
+I=252
+KEY=0000000000000000000000000000000000000000000000000000000000000010
+CT=66487d053a660bd840d7de39a3b1f139
+
+I=253
+KEY=0000000000000000000000000000000000000000000000000000000000000008
+CT=869a570998988f68819ccf301eb015df
+
+I=254
+KEY=0000000000000000000000000000000000000000000000000000000000000004
+CT=f6899d57f734afd6473278dbde8fb99d
+
+I=255
+KEY=0000000000000000000000000000000000000000000000000000000000000002
+CT=a6726ce53bd62bc873f6c0463a5841fc
+
+I=256
+KEY=0000000000000000000000000000000000000000000000000000000000000001
+CT=9858fd31c9c6b54ac0c99cc52324ed34
diff --git a/test/crypto/serpent/serpentecb_vt.txt b/test/crypto/serpent/serpentecb_vt.txt
new file mode 100644 (file)
index 0000000..bcc2e29
--- /dev/null
@@ -0,0 +1,1566 @@
+=======================================================
+Author:    Dr B R Gladman (                           )
+Test:      ECB Variable Text Known Answer Tests
+Algorithm: serpent
+Filename:  ecb_vt.txt
+=======================================================
+
+KEYSIZE=128
+
+KEY=00000000000000000000000000000000
+
+I=0
+PT=00000000000000000000000000000000
+CT=3620b17ae6a993d09618b8768266bae9
+
+I=1
+PT=80000000000000000000000000000000
+CT=a3b35de7c358ddd82644678c64b8bcbb
+
+I=2
+PT=40000000000000000000000000000000
+CT=04abcfe4e0af27ff92a2bb10949d7dd2
+
+I=3
+PT=20000000000000000000000000000000
+CT=8f773194b78ef2b2740237ef12d08608
+
+I=4
+PT=10000000000000000000000000000000
+CT=8b1ea69ee8d7c8d95b1de4a670ec6997
+
+I=5
+PT=08000000000000000000000000000000
+CT=cee3c6ce66a7ac0c1767923b263b2ebd
+
+I=6
+PT=04000000000000000000000000000000
+CT=88de61ffc3ad277687626d5f7705def3
+
+I=7
+PT=02000000000000000000000000000000
+CT=69dd947efadcd15a06a0d79e078b35ae
+
+I=8
+PT=01000000000000000000000000000000
+CT=32f1fa100e43561146dca08d15b90636
+
+I=9
+PT=00800000000000000000000000000000
+CT=0db0d17349c89e090c845cbef963f225
+
+I=10
+PT=00400000000000000000000000000000
+CT=c7128fd1a5ef5202550873ea885551c5
+
+I=11
+PT=00200000000000000000000000000000
+CT=761d7f9855c95ab6148833503958f96e
+
+I=12
+PT=00100000000000000000000000000000
+CT=1d406059f0e1030fa66c52a46751d092
+
+I=13
+PT=00080000000000000000000000000000
+CT=de2fcc081df9b136ec62922351e18d94
+
+I=14
+PT=00040000000000000000000000000000
+CT=5f93fbfb11a527dfdfb5e4713e431e34
+
+I=15
+PT=00020000000000000000000000000000
+CT=6c2c4f22e738c56b5246971540e5e3a1
+
+I=16
+PT=00010000000000000000000000000000
+CT=bff82e042a92224fbd3d41c22d07b610
+
+I=17
+PT=00008000000000000000000000000000
+CT=3ea36d91871dff568fbe623dc31ebce5
+
+I=18
+PT=00004000000000000000000000000000
+CT=7c6df10118a3ab6545a504790543c89e
+
+I=19
+PT=00002000000000000000000000000000
+CT=1dff6937399e060342348c34e88b5985
+
+I=20
+PT=00001000000000000000000000000000
+CT=87dce0f133442b7d4faf7082f5489407
+
+I=21
+PT=00000800000000000000000000000000
+CT=cbef868ae34c80c542766358534a148b
+
+I=22
+PT=00000400000000000000000000000000
+CT=df23bc0e0c0b7f502e0210af8b353165
+
+I=23
+PT=00000200000000000000000000000000
+CT=e9732d7a112de03068ec10d10af8d972
+
+I=24
+PT=00000100000000000000000000000000
+CT=1d17312be6675b0797c5175ddcc1de7e
+
+I=25
+PT=00000080000000000000000000000000
+CT=a5e0c2e39b9821f2cd42875b0ec0a65e
+
+I=26
+PT=00000040000000000000000000000000
+CT=a1397ffda7c2a4e9a60e0ab48947b933
+
+I=27
+PT=00000020000000000000000000000000
+CT=f20b001c13a0f857fb89c64fff4cda83
+
+I=28
+PT=00000010000000000000000000000000
+CT=f38ee20a32b15a5b9129b67ba1ff3125
+
+I=29
+PT=00000008000000000000000000000000
+CT=41ed367e96e013c651af3faea764fe40
+
+I=30
+PT=00000004000000000000000000000000
+CT=55c30fbd291d89e50a9dadcb48e52296
+
+I=31
+PT=00000002000000000000000000000000
+CT=3fe7f1a404c0e4395fcc985f369735d4
+
+I=32
+PT=00000001000000000000000000000000
+CT=6e131502b6a4f30b56aa52eb67989809
+
+I=33
+PT=00000000800000000000000000000000
+CT=c1842f4ca2ddc78e55cd91e07ad23a12
+
+I=34
+PT=00000000400000000000000000000000
+CT=e47d5889218ff4ce45ea249edc9b71c7
+
+I=35
+PT=00000000200000000000000000000000
+CT=fb7566732ab52fe99454cfb07a0f1f0a
+
+I=36
+PT=00000000100000000000000000000000
+CT=5fbf0927a8b293a04024b187ab1bf6c1
+
+I=37
+PT=00000000080000000000000000000000
+CT=cffbc514515878e10e07556988d8e721
+
+I=38
+PT=00000000040000000000000000000000
+CT=cd3eeeba162879ff20abd158c236e3f3
+
+I=39
+PT=00000000020000000000000000000000
+CT=f96d1082131dae899ebd32cc562f0bb9
+
+I=40
+PT=00000000010000000000000000000000
+CT=bdb475694748128d9959141682174caf
+
+I=41
+PT=00000000008000000000000000000000
+CT=6801baf0fbaf3352f3950f0940173352
+
+I=42
+PT=00000000004000000000000000000000
+CT=b969f1b6f56e885025f12e58f87b4099
+
+I=43
+PT=00000000002000000000000000000000
+CT=aa9f1568b6d0f5afac34847e0d7152b2
+
+I=44
+PT=00000000001000000000000000000000
+CT=a96b20e51fcb48a0c58306086094154b
+
+I=45
+PT=00000000000800000000000000000000
+CT=c9f389c56576b8c74a687bc5aab8d503
+
+I=46
+PT=00000000000400000000000000000000
+CT=3fb63882764779902321a2e594275c6b
+
+I=47
+PT=00000000000200000000000000000000
+CT=160c3c22ef0b0d3e4f2fdc914138c229
+
+I=48
+PT=00000000000100000000000000000000
+CT=265ac0be8e47750e7ca22baf01153b4d
+
+I=49
+PT=00000000000080000000000000000000
+CT=c80f1e35ed81ac45835129665ca5c0b5
+
+I=50
+PT=00000000000040000000000000000000
+CT=27fe1a77e6bf18887dbf7d48fc1eab65
+
+I=51
+PT=00000000000020000000000000000000
+CT=8e2444ddf34f5320a150471e01ac2f85
+
+I=52
+PT=00000000000010000000000000000000
+CT=9cb3b00ca62767d7a1d45af44d74957f
+
+I=53
+PT=00000000000008000000000000000000
+CT=a07252fb0f05ea2264f558bddf162bbb
+
+I=54
+PT=00000000000004000000000000000000
+CT=4ccd47a10722175d4018709698e52881
+
+I=55
+PT=00000000000002000000000000000000
+CT=f9ded80456581d2e6f09bdb09b77c04a
+
+I=56
+PT=00000000000001000000000000000000
+CT=dca8a545689a58f663b0b7a540f41e24
+
+I=57
+PT=00000000000000800000000000000000
+CT=1eb43e99040a614f77361601a1806651
+
+I=58
+PT=00000000000000400000000000000000
+CT=a11495f4358a5fa63024a2dc02e20480
+
+I=59
+PT=00000000000000200000000000000000
+CT=cf4d5ead4e69313709ea9399f5abf8d9
+
+I=60
+PT=00000000000000100000000000000000
+CT=6cac3a5e20e13162fb3a31804cb6c7ae
+
+I=61
+PT=00000000000000080000000000000000
+CT=bfee053ed49f33f5a388359721fe20fa
+
+I=62
+PT=00000000000000040000000000000000
+CT=b2ffbf55e5e2e0cb0935504430e173f8
+
+I=63
+PT=00000000000000020000000000000000
+CT=e521e33e82289a176467e24cbad5d92c
+
+I=64
+PT=00000000000000010000000000000000
+CT=9609c701f895754a623d3bf3eac48334
+
+I=65
+PT=00000000000000008000000000000000
+CT=986efa59113f5c8a66bbaa7ef978a125
+
+I=66
+PT=00000000000000004000000000000000
+CT=b8cb15a238ca60157c3cb3317021b92c
+
+I=67
+PT=00000000000000002000000000000000
+CT=f262212ac5485ba7d92cbf5a9c58d8ad
+
+I=68
+PT=00000000000000001000000000000000
+CT=df54c6d917675e73a3659560d5813e56
+
+I=69
+PT=00000000000000000800000000000000
+CT=925d0e759af1eb36ceeb0fb6d51fab7a
+
+I=70
+PT=00000000000000000400000000000000
+CT=99bc9e5870190269c4fe5b6fc23c8d8c
+
+I=71
+PT=00000000000000000200000000000000
+CT=c0380b9660722514c1ea4322fe45955c
+
+I=72
+PT=00000000000000000100000000000000
+CT=66521e5f953f2d2e237a259bdee9c400
+
+I=73
+PT=00000000000000000080000000000000
+CT=8c30672ff7f1db4681ba36e48b3374a3
+
+I=74
+PT=00000000000000000040000000000000
+CT=0d56fa9193c8a6fbf653d75d3f61407e
+
+I=75
+PT=00000000000000000020000000000000
+CT=08c0c170a7b0f0c07e1cdef95aee8113
+
+I=76
+PT=00000000000000000010000000000000
+CT=f05f7e94ec7fecf973ef5732b565e016
+
+I=77
+PT=00000000000000000008000000000000
+CT=eb667f97b9d94b0c41c873c4b56b334c
+
+I=78
+PT=00000000000000000004000000000000
+CT=a065550c6371dec580e16276e03f13d4
+
+I=79
+PT=00000000000000000002000000000000
+CT=cdac7c0a0e363fe8ba16bc11d1f6dc57
+
+I=80
+PT=00000000000000000001000000000000
+CT=ff792a72bf23cabd13ea587c57d05d3f
+
+I=81
+PT=00000000000000000000800000000000
+CT=e5d5dc0d6834e44697bdd5d8427a054f
+
+I=82
+PT=00000000000000000000400000000000
+CT=cab879f5684241583f4900b2653d76c9
+
+I=83
+PT=00000000000000000000200000000000
+CT=43fe63c8c08e0ce5d1dab79348f1b64e
+
+I=84
+PT=00000000000000000000100000000000
+CT=1d7850062f3f8b2415f22bc4d95a1367
+
+I=85
+PT=00000000000000000000080000000000
+CT=45d486c0ac551c76aa17e356404726f2
+
+I=86
+PT=00000000000000000000040000000000
+CT=900fede23dbb68e48ba9d9806e606f19
+
+I=87
+PT=00000000000000000000020000000000
+CT=f573c581080c5654a6c426dd8971e68b
+
+I=88
+PT=00000000000000000000010000000000
+CT=07af806c0b6ecf9dd508c0d108572c37
+
+I=89
+PT=00000000000000000000008000000000
+CT=19e6063c7529e5268e4a45703afc8ac4
+
+I=90
+PT=00000000000000000000004000000000
+CT=6ddcbd01ac098b04aaa084d4c579dac9
+
+I=91
+PT=00000000000000000000002000000000
+CT=afc268db7cd2a453ea87ba6a0e923dec
+
+I=92
+PT=00000000000000000000001000000000
+CT=24b199e30672ef17362468cc8c0f4e46
+
+I=93
+PT=00000000000000000000000800000000
+CT=b30c571f161ef0dac78816a4dc1339ff
+
+I=94
+PT=00000000000000000000000400000000
+CT=214cb9151303eda5cd14e35e701de887
+
+I=95
+PT=00000000000000000000000200000000
+CT=57a991425dc55325eb159a0274140efa
+
+I=96
+PT=00000000000000000000000100000000
+CT=856cd3630f436dacd3fe27ab73f4a956
+
+I=97
+PT=00000000000000000000000080000000
+CT=3eb8325bca6c583dc04019f01d4bc90d
+
+I=98
+PT=00000000000000000000000040000000
+CT=240a1e99a51c7eed2e9127db7d86903e
+
+I=99
+PT=00000000000000000000000020000000
+CT=81b2af04cc40e2e3ddffbe3f6aef8a33
+
+I=100
+PT=00000000000000000000000010000000
+CT=6970437809d0a34e5a76b22f88f5282b
+
+I=101
+PT=00000000000000000000000008000000
+CT=c12e44b3f253295cf742441ffa2712db
+
+I=102
+PT=00000000000000000000000004000000
+CT=98e2fbf128a1e2f80cabf2db3f9e62af
+
+I=103
+PT=00000000000000000000000002000000
+CT=3f2b1d74b9d0d84c0b0ddad31352e67a
+
+I=104
+PT=00000000000000000000000001000000
+CT=e51d907b84d877250d0bcec17d292dfd
+
+I=105
+PT=00000000000000000000000000800000
+CT=151940ba15a175fcd39ce2d3a0259eff
+
+I=106
+PT=00000000000000000000000000400000
+CT=9f997f2ac950e52666207183db935899
+
+I=107
+PT=00000000000000000000000000200000
+CT=015b7df6bfb9367bf8f690fc0b77deb0
+
+I=108
+PT=00000000000000000000000000100000
+CT=4a7d36598525699f49667af4b46bb99b
+
+I=109
+PT=00000000000000000000000000080000
+CT=306248fd603dfc18e41cf0864d2c352c
+
+I=110
+PT=00000000000000000000000000040000
+CT=1367ec90627601e9c1bd1371454b772f
+
+I=111
+PT=00000000000000000000000000020000
+CT=85fe597694444d1a8d7f1ce219913f4f
+
+I=112
+PT=00000000000000000000000000010000
+CT=75baf3e8194ea04577133509b50ff4c3
+
+I=113
+PT=00000000000000000000000000008000
+CT=a174b66c47c53b2c34aa9f06fecbb7b2
+
+I=114
+PT=00000000000000000000000000004000
+CT=333827335f88ebb93a0a7436e51398f0
+
+I=115
+PT=00000000000000000000000000002000
+CT=03a7d7d70f4f50ae96835f12b73f79d3
+
+I=116
+PT=00000000000000000000000000001000
+CT=b8b9f2029769952d9664a6fde9706bbf
+
+I=117
+PT=00000000000000000000000000000800
+CT=a7dce248ec5a060388ca14598b986454
+
+I=118
+PT=00000000000000000000000000000400
+CT=1a21eed739c6c39a56e0b4c6a17d3375
+
+I=119
+PT=00000000000000000000000000000200
+CT=9073dbcf760a0b9e0e84a2fd6df164f9
+
+I=120
+PT=00000000000000000000000000000100
+CT=cee83b85568ad8133d8842dc883052ce
+
+I=121
+PT=00000000000000000000000000000080
+CT=4ae9a20b2b14a10290cbb820b7ffb510
+
+I=122
+PT=00000000000000000000000000000040
+CT=2c6ee9f8f64b5b1b5587cdf17e84a791
+
+I=123
+PT=00000000000000000000000000000020
+CT=29141d06a6b42ce22efb8383ceae325d
+
+I=124
+PT=00000000000000000000000000000010
+CT=2ae6e19905d89a8e53a1df26ad5c89b4
+
+I=125
+PT=00000000000000000000000000000008
+CT=1587ff28abdf9df5a3f4daf7405d273b
+
+I=126
+PT=00000000000000000000000000000004
+CT=b598247aa82f5c79f9ff0e7ec61b83c4
+
+I=127
+PT=00000000000000000000000000000002
+CT=0c5dabb01245e3a3544e291f3b0f250f
+
+I=128
+PT=00000000000000000000000000000001
+CT=9bedcea16bde863526a937208cbf0abc
+
+KEYSIZE=192
+
+KEY=000000000000000000000000000000000000000000000000
+
+I=0
+PT=00000000000000000000000000000000
+CT=a583ef976a292b406bbd5dc8256b0442
+
+I=1
+PT=80000000000000000000000000000000
+CT=23f5f432ad687e0d4574c16459618abb
+
+I=2
+PT=40000000000000000000000000000000
+CT=56cd894936f6e9a4a4304cae06f97ce3
+
+I=3
+PT=20000000000000000000000000000000
+CT=b604d94f461af9f4771bc53f8e3c227b
+
+I=4
+PT=10000000000000000000000000000000
+CT=bb852ac4756880630d6d63951d3d2602
+
+I=5
+PT=08000000000000000000000000000000
+CT=319c206cd98d2c98993fc2cdaab3259c
+
+I=6
+PT=04000000000000000000000000000000
+CT=d271595956451e3b7d957a3485ade9f7
+
+I=7
+PT=02000000000000000000000000000000
+CT=d4257d927c7f2a6390df198b573dd1ba
+
+I=8
+PT=01000000000000000000000000000000
+CT=7610f6dbe8f3f19682dcc01af57dcd79
+
+I=9
+PT=00800000000000000000000000000000
+CT=4bd66b7e897e76bf51f1f00671092169
+
+I=10
+PT=00400000000000000000000000000000
+CT=4a72c588a0fa490d521640d1f245e4bc
+
+I=11
+PT=00200000000000000000000000000000
+CT=32205dccc1d7a129b934c6fabaadeb1c
+
+I=12
+PT=00100000000000000000000000000000
+CT=74f79a4cf6f99359d7ec47da87104658
+
+I=13
+PT=00080000000000000000000000000000
+CT=2810428ba5177bb0d91c11683008e68d
+
+I=14
+PT=00040000000000000000000000000000
+CT=3863c205aed373bb3ef9e6d85d0ad08f
+
+I=15
+PT=00020000000000000000000000000000
+CT=dd207aa0894dfbedd7d9802823c04d7b
+
+I=16
+PT=00010000000000000000000000000000
+CT=a6eac9ecaae9cc8621198ba547e9b74f
+
+I=17
+PT=00008000000000000000000000000000
+CT=da51b1e831305d9e6ac7f0cdf49f3ae5
+
+I=18
+PT=00004000000000000000000000000000
+CT=4a091855c4aa2436f3c61a11fa4b9da5
+
+I=19
+PT=00002000000000000000000000000000
+CT=db8350915843684f18b4b358579a9446
+
+I=20
+PT=00001000000000000000000000000000
+CT=13a1376760534ff5f7d5ed1b62d93d4b
+
+I=21
+PT=00000800000000000000000000000000
+CT=c2613b1d8937c2b1c9d7b0249d938e95
+
+I=22
+PT=00000400000000000000000000000000
+CT=3fb48878619b70db717f410550b03069
+
+I=23
+PT=00000200000000000000000000000000
+CT=0589bd5d8ecdaae7ecabc8816ef3c7eb
+
+I=24
+PT=00000100000000000000000000000000
+CT=5ac9c030789d810698aab706ba6bcca8
+
+I=25
+PT=00000080000000000000000000000000
+CT=00d43be69b9387b28a4234d2e5bef038
+
+I=26
+PT=00000040000000000000000000000000
+CT=bb828d0a587ea543a78a60b6f63cc159
+
+I=27
+PT=00000020000000000000000000000000
+CT=427338cbfa6b652cdce9c30f29f6e660
+
+I=28
+PT=00000010000000000000000000000000
+CT=d26286844b1be4d73b44b77a2c4449dd
+
+I=29
+PT=00000008000000000000000000000000
+CT=28d9beb7444b7801c510d74c90f3183a
+
+I=30
+PT=00000004000000000000000000000000
+CT=9d8949e7f531f30ffd1c6891154ffb8a
+
+I=31
+PT=00000002000000000000000000000000
+CT=b329a557c9bfed767b44ca25f43c0924
+
+I=32
+PT=00000001000000000000000000000000
+CT=1909b5b407cb28e7050f8889104b73f5
+
+I=33
+PT=00000000800000000000000000000000
+CT=99b0cc109580893a14b960f78c867df7
+
+I=34
+PT=00000000400000000000000000000000
+CT=4fbcba60c491efa9c5b8b8cc9471c26a
+
+I=35
+PT=00000000200000000000000000000000
+CT=7a3b3e4fa8df6dd964161ef9adb7ec90
+
+I=36
+PT=00000000100000000000000000000000
+CT=dba5dd3ee2b0f03d402d5badae4e34c9
+
+I=37
+PT=00000000080000000000000000000000
+CT=2334f78508f6259862faa5842e6b1e7b
+
+I=38
+PT=00000000040000000000000000000000
+CT=f15ed8b81b74bd35586e1594ab3b0f73
+
+I=39
+PT=00000000020000000000000000000000
+CT=a654ee4634624a3593dcc272c0ab8566
+
+I=40
+PT=00000000010000000000000000000000
+CT=e71506e96adace02580ea035601850c3
+
+I=41
+PT=00000000008000000000000000000000
+CT=caf26b388d8a81c408fc3506ca523c72
+
+I=42
+PT=00000000004000000000000000000000
+CT=79a075a5778e5bed4f0663fc86d92a56
+
+I=43
+PT=00000000002000000000000000000000
+CT=90e59ee9f97de1590d4c454169890932
+
+I=44
+PT=00000000001000000000000000000000
+CT=30df4afe05f0d0ec4495c4a7a3d3a1af
+
+I=45
+PT=00000000000800000000000000000000
+CT=bf6d54d156ede791a177f8a5ba5dc1d0
+
+I=46
+PT=00000000000400000000000000000000
+CT=2c2286b2537afdf52a7ef59d620e7e46
+
+I=47
+PT=00000000000200000000000000000000
+CT=545f83ecf5366475a1867bf81de59780
+
+I=48
+PT=00000000000100000000000000000000
+CT=5e7648e3575b7a02bea8c69a19ed06bc
+
+I=49
+PT=00000000000080000000000000000000
+CT=67a133b6981d6cfffb0894b5cd60c384
+
+I=50
+PT=00000000000040000000000000000000
+CT=b9724efa90ee77242862c6d107053799
+
+I=51
+PT=00000000000020000000000000000000
+CT=6cc4b4806d82c681027375553beef871
+
+I=52
+PT=00000000000010000000000000000000
+CT=d05ea01e7ae0768ffe5b499d4a0ea833
+
+I=53
+PT=00000000000008000000000000000000
+CT=eb5259d268854e583b02c445f0dbb33d
+
+I=54
+PT=00000000000004000000000000000000
+CT=273792a497cbe6058fb8ce518c05a9a7
+
+I=55
+PT=00000000000002000000000000000000
+CT=629ee820f46138558fe7aa6d547f971e
+
+I=56
+PT=00000000000001000000000000000000
+CT=f04ff6ec27f7412350ca62e6a3be479f
+
+I=57
+PT=00000000000000800000000000000000
+CT=2f19cfb18d4b538c688ff0ff73eef402
+
+I=58
+PT=00000000000000400000000000000000
+CT=2b2d1598bd1a57a6277d0f1182423e70
+
+I=59
+PT=00000000000000200000000000000000
+CT=fb589e7803f8dec257644dd8968b3bf9
+
+I=60
+PT=00000000000000100000000000000000
+CT=4e8f6cd48030abfb6bfaa8c79df29132
+
+I=61
+PT=00000000000000080000000000000000
+CT=594c7334c5c77f1f311743dbf880a848
+
+I=62
+PT=00000000000000040000000000000000
+CT=8b9060a226a976b4d8701b61a0e16e05
+
+I=63
+PT=00000000000000020000000000000000
+CT=9d5d7f82a45e543a28769767f0b4220b
+
+I=64
+PT=00000000000000010000000000000000
+CT=7f60dd3212b5fd34a33e95b7cd3c98b4
+
+I=65
+PT=00000000000000008000000000000000
+CT=1ca839c433f49b9cac257c7cbe38c571
+
+I=66
+PT=00000000000000004000000000000000
+CT=e6d1727a0bc893bbe5a048b73296ff43
+
+I=67
+PT=00000000000000002000000000000000
+CT=6b38158548081550b6931773c3348995
+
+I=68
+PT=00000000000000001000000000000000
+CT=4159191656bae5f059625051f329e674
+
+I=69
+PT=00000000000000000800000000000000
+CT=5684b43817e24580ee373b54b57126c1
+
+I=70
+PT=00000000000000000400000000000000
+CT=d31dc022a55a6cb7116d5aa79713ebef
+
+I=71
+PT=00000000000000000200000000000000
+CT=b9b7f96a83494d61c0d476e15cf9fc40
+
+I=72
+PT=00000000000000000100000000000000
+CT=9f61e523005a37b71a589c35e2320580
+
+I=73
+PT=00000000000000000080000000000000
+CT=ec74dc99fdb377e35eba6e5c920c9e20
+
+I=74
+PT=00000000000000000040000000000000
+CT=12f92e9ff675ffe132fec127a61ed1d6
+
+I=75
+PT=00000000000000000020000000000000
+CT=f8bfc6819a8f1683dd314afedaa80f33
+
+I=76
+PT=00000000000000000010000000000000
+CT=28552459a3eb05ae69463c26f6413b73
+
+I=77
+PT=00000000000000000008000000000000
+CT=e018ced8c1fc6fe1849e945550602d46
+
+I=78
+PT=00000000000000000004000000000000
+CT=8a46b1349ae83730266ebfb1d62ba1eb
+
+I=79
+PT=00000000000000000002000000000000
+CT=aea0972033acda2fe228a3619511b0cf
+
+I=80
+PT=00000000000000000001000000000000
+CT=6bcd123081cb4da2197a9204947c4765
+
+I=81
+PT=00000000000000000000800000000000
+CT=3d8075b415ac9deb6008b51597ce28f4
+
+I=82
+PT=00000000000000000000400000000000
+CT=675a3322bcccf4d78f3376ecc2c8a415
+
+I=83
+PT=00000000000000000000200000000000
+CT=b8cd6c76dad863b3a2342265a42c7878
+
+I=84
+PT=00000000000000000000100000000000
+CT=e0f6b38346e3e0ae2c5763c25c01acb9
+
+I=85
+PT=00000000000000000000080000000000
+CT=96e295724b3f296016a3f6853b679079
+
+I=86
+PT=00000000000000000000040000000000
+CT=305e7a77dc3b62f110688ab334002132
+
+I=87
+PT=00000000000000000000020000000000
+CT=324e96a82ce897dab3850047c38e9b18
+
+I=88
+PT=00000000000000000000010000000000
+CT=23eb8f12867d39e24e5a71606e3b5c1e
+
+I=89
+PT=00000000000000000000008000000000
+CT=4ff5f65e2089279f1fff7bf06ec6d527
+
+I=90
+PT=00000000000000000000004000000000
+CT=b0c818f70672ef5e6f20515214dddf7a
+
+I=91
+PT=00000000000000000000002000000000
+CT=2a4d0f00ca19edceef86d7f283221a97
+
+I=92
+PT=00000000000000000000001000000000
+CT=f9e6a04d60d5c06994e196eef788ed59
+
+I=93
+PT=00000000000000000000000800000000
+CT=602be82e95a1bef5c2742099a6cb70d9
+
+I=94
+PT=00000000000000000000000400000000
+CT=b53f1354fe1291679b6d418ac4a3e26d
+
+I=95
+PT=00000000000000000000000200000000
+CT=0f68f7c1ffb5fa997d8cc007cf4f5ba8
+
+I=96
+PT=00000000000000000000000100000000
+CT=3b90014cdf2d614a339b48a6f374d1c4
+
+I=97
+PT=00000000000000000000000080000000
+CT=5da9109bc3193e5d2aba0ca577cbbcd4
+
+I=98
+PT=00000000000000000000000040000000
+CT=bc46c6fe8f7e549ccc402fc4633c670c
+
+I=99
+PT=00000000000000000000000020000000
+CT=60a11affabbee4d5d5564a74c7f94c91
+
+I=100
+PT=00000000000000000000000010000000
+CT=84dd300a8fde4ac126f41ea0692f3e07
+
+I=101
+PT=00000000000000000000000008000000
+CT=3734062f8fcf37fbd1c48b5aaef00c5f
+
+I=102
+PT=00000000000000000000000004000000
+CT=ea4491c7f5a9d671da358c535965e1c3
+
+I=103
+PT=00000000000000000000000002000000
+CT=d46899cc964a2a082c80ab7e0a4b153a
+
+I=104
+PT=00000000000000000000000001000000
+CT=45a5744c068ac6c7bc028c4d40885f20
+
+I=105
+PT=00000000000000000000000000800000
+CT=14148c222620e009ac51ee2321641d25
+
+I=106
+PT=00000000000000000000000000400000
+CT=319d430b55e2a2c942b089755d4c6035
+
+I=107
+PT=00000000000000000000000000200000
+CT=774d83990dcbaf6b9186df250dc721a9
+
+I=108
+PT=00000000000000000000000000100000
+CT=81ca67898765727ffdedbc7dc25ec8ff
+
+I=109
+PT=00000000000000000000000000080000
+CT=befc19fd8a41103b6892ad4a3cb08122
+
+I=110
+PT=00000000000000000000000000040000
+CT=cc2de08fa80be8a13c8860174af9f55d
+
+I=111
+PT=00000000000000000000000000020000
+CT=4935e35a180fec382d3dcfd5ed572afb
+
+I=112
+PT=00000000000000000000000000010000
+CT=d78fe49ab8e11eba118687045d04a70f
+
+I=113
+PT=00000000000000000000000000008000
+CT=a306cfdafe5c8c2a955956bb61ffe5cd
+
+I=114
+PT=00000000000000000000000000004000
+CT=4815634545f268ed3bf50021ac0265b2
+
+I=115
+PT=00000000000000000000000000002000
+CT=3b075aff8f75956dc4be7d5121bf07b6
+
+I=116
+PT=00000000000000000000000000001000
+CT=8eaa16aea0535498d21245bae97ed0d4
+
+I=117
+PT=00000000000000000000000000000800
+CT=affa71ea9a2f6c4a018cf2f5f22b9b13
+
+I=118
+PT=00000000000000000000000000000400
+CT=93b8dd3f9a59dd9231b0885601a2354c
+
+I=119
+PT=00000000000000000000000000000200
+CT=ee23db4e914d12a53be8428161f3de24
+
+I=120
+PT=00000000000000000000000000000100
+CT=e76e230f4ba91426325c16fa168ca44b
+
+I=121
+PT=00000000000000000000000000000080
+CT=d9d076f0512b4f29e15752a21b270bb1
+
+I=122
+PT=00000000000000000000000000000040
+CT=9668f388dd4f122a4d9dd8d6b8a322d5
+
+I=123
+PT=00000000000000000000000000000020
+CT=d3f12a67fabec165545d25f5e5feae6f
+
+I=124
+PT=00000000000000000000000000000010
+CT=97580203aace7e6f0deb71bc631d9e40
+
+I=125
+PT=00000000000000000000000000000008
+CT=e11b01524ea1f465a2a20043eb9f7e8a
+
+I=126
+PT=00000000000000000000000000000004
+CT=9bac7ee501f03d6debe0f9ee68fbb3c1
+
+I=127
+PT=00000000000000000000000000000002
+CT=444e6201556f1c9d73299183b7abca9d
+
+I=128
+PT=00000000000000000000000000000001
+CT=497ea15a5aab3cb115c3e0091c2e4047
+
+KEYSIZE=256
+
+KEY=0000000000000000000000000000000000000000000000000000000000000000
+
+I=0
+PT=00000000000000000000000000000000
+CT=49672ba898d98df95019180445491089
+
+I=1
+PT=80000000000000000000000000000000
+CT=8314675e8ad5c3ecd83d852bcf7f566e
+
+I=2
+PT=40000000000000000000000000000000
+CT=893bf67b1a845579c8fadc05bfdc0894
+
+I=3
+PT=20000000000000000000000000000000
+CT=302f8325deb1e1a0955d6273368a0dc4
+
+I=4
+PT=10000000000000000000000000000000
+CT=917b2f6a11dddceb53fea01e194a6cc9
+
+I=5
+PT=08000000000000000000000000000000
+CT=8229e6539268bb39f3218e2903110c4f
+
+I=6
+PT=04000000000000000000000000000000
+CT=935a7835e2faf9f7f20ce85662ee281f
+
+I=7
+PT=02000000000000000000000000000000
+CT=df5e38be0362c35e8af472c6327987da
+
+I=8
+PT=01000000000000000000000000000000
+CT=07e5e5ad7097b849badc2d5d803b7f6a
+
+I=9
+PT=00800000000000000000000000000000
+CT=2b451b22a3ebab1c7a7619551ddf149f
+
+I=10
+PT=00400000000000000000000000000000
+CT=3abe3caeda54e5583269803be04cbb2c
+
+I=11
+PT=00200000000000000000000000000000
+CT=df581405dfbdefacb35ad3bc510fe895
+
+I=12
+PT=00100000000000000000000000000000
+CT=45b3c3dac439f884447567b282de329c
+
+I=13
+PT=00080000000000000000000000000000
+CT=4192de2b562cdd43ec4358ea730250c3
+
+I=14
+PT=00040000000000000000000000000000
+CT=27e310d8032e16cf970f635c517e7d2e
+
+I=15
+PT=00020000000000000000000000000000
+CT=573cae2a23968de1d40036c24f9fefa4
+
+I=16
+PT=00010000000000000000000000000000
+CT=b4ad06b55e31de8f1f77c2b7ae8b73fd
+
+I=17
+PT=00008000000000000000000000000000
+CT=bd5426ffd3cc9fc735ebab7c72fd2d9b
+
+I=18
+PT=00004000000000000000000000000000
+CT=ea3c7c9b02ae7297b4be551c8c551440
+
+I=19
+PT=00002000000000000000000000000000
+CT=11bb660cf8431f2625ab9ef603975bb7
+
+I=20
+PT=00001000000000000000000000000000
+CT=b666aa7c5ba5209cbcede07eb66064d3
+
+I=21
+PT=00000800000000000000000000000000
+CT=cad843e927dde8f92dbbb33c1b4e87f9
+
+I=22
+PT=00000400000000000000000000000000
+CT=ed29f7805804e2e95f664b2e36c20a67
+
+I=23
+PT=00000200000000000000000000000000
+CT=980f61bf6ebde1a30607a1d51fffb8d6
+
+I=24
+PT=00000100000000000000000000000000
+CT=e47a19e8579807b5c44ac62619372673
+
+I=25
+PT=00000080000000000000000000000000
+CT=c02ed6499331af8c6cf30a63bb5e89ca
+
+I=26
+PT=00000040000000000000000000000000
+CT=b5f166b94ec31a17662e24757fbb3fc5
+
+I=27
+PT=00000020000000000000000000000000
+CT=17d20fbda96d4ad0d99dae64de5f317b
+
+I=28
+PT=00000010000000000000000000000000
+CT=320fa060bbb901f66a9e4cff221e6a4a
+
+I=29
+PT=00000008000000000000000000000000
+CT=3a259b7aee3155c0c4df7a32ef40fb19
+
+I=30
+PT=00000004000000000000000000000000
+CT=028efd3b6e686c87b402151f414b13ad
+
+I=31
+PT=00000002000000000000000000000000
+CT=d4f61cc61fa1dbd68b8c48541ae77289
+
+I=32
+PT=00000001000000000000000000000000
+CT=dfcce96c8c244586a3bcf098306c6374
+
+I=33
+PT=00000000800000000000000000000000
+CT=0f7ce54a338ab05e2c38f1725da8b127
+
+I=34
+PT=00000000400000000000000000000000
+CT=cad8158d26eed67d4355bb66d0812ade
+
+I=35
+PT=00000000200000000000000000000000
+CT=5332616a057a657fd2fd6562af33efc9
+
+I=36
+PT=00000000100000000000000000000000
+CT=308cd48ec851d7c1251174228b943b11
+
+I=37
+PT=00000000080000000000000000000000
+CT=29a5d9977c881db067136b755bb68e54
+
+I=38
+PT=00000000040000000000000000000000
+CT=c0f6b4881776765507cf91db0a32c70f
+
+I=39
+PT=00000000020000000000000000000000
+CT=47e518209cb5533f9a7ee02c4f07391b
+
+I=40
+PT=00000000010000000000000000000000
+CT=58d7e0d60e315eeba97f0dfa2d7307b0
+
+I=41
+PT=00000000008000000000000000000000
+CT=0f6d2e73cf929a92badf0a372ffb31a5
+
+I=42
+PT=00000000004000000000000000000000
+CT=2002487c2cfe5a223e3a3c19a6b23670
+
+I=43
+PT=00000000002000000000000000000000
+CT=a9e22b14d403c7f0fa9d95c064cba9d3
+
+I=44
+PT=00000000001000000000000000000000
+CT=cfd3a8ee62f68692a8917c814290e979
+
+I=45
+PT=00000000000800000000000000000000
+CT=aeca2c8c0ca8b6f0ef594a13c85e83cf
+
+I=46
+PT=00000000000400000000000000000000
+CT=e74d77bb281f542a0a78c3d8436783f4
+
+I=47
+PT=00000000000200000000000000000000
+CT=b81755986c8b60a935f5d9169a2a7655
+
+I=48
+PT=00000000000100000000000000000000
+CT=de964c9ff34f5a79ff43c6ab148dc395
+
+I=49
+PT=00000000000080000000000000000000
+CT=72c791409f94ce23f4cd61d714670b39
+
+I=50
+PT=00000000000040000000000000000000
+CT=6ad3ccbc31e2ecf88c6b54f84e638aa2
+
+I=51
+PT=00000000000020000000000000000000
+CT=9fe143250d00e25696b01e0a2ed05db3
+
+I=52
+PT=00000000000010000000000000000000
+CT=3abbf724e6c7b2d05d93a2c6d058e5ac
+
+I=53
+PT=00000000000008000000000000000000
+CT=59300ba5323cf6d84a9ff12b042a5aff
+
+I=54
+PT=00000000000004000000000000000000
+CT=4ae9f03ef61baa670ce46f3a6c205bd5
+
+I=55
+PT=00000000000002000000000000000000
+CT=e33261c4e54ab7b117c3aba1c9e11c1e
+
+I=56
+PT=00000000000001000000000000000000
+CT=b84e741ac92a42f37a77f05d6f464e10
+
+I=57
+PT=00000000000000800000000000000000
+CT=4ddba0f24964591307ab909009bb41ef
+
+I=58
+PT=00000000000000400000000000000000
+CT=5d9333754035534cef4eefa73ea3f8c9
+
+I=59
+PT=00000000000000200000000000000000
+CT=f51234b609d397b1d6da8bb625c0993c
+
+I=60
+PT=00000000000000100000000000000000
+CT=0af5205e41f184d0989a78bf149db675
+
+I=61
+PT=00000000000000080000000000000000
+CT=0ebc3926d924f37bfd716f404ca8450d
+
+I=62
+PT=00000000000000040000000000000000
+CT=53cada57c7855aeb96b48f8c85915de9
+
+I=63
+PT=00000000000000020000000000000000
+CT=fd8e2c7604621d13e64b58315dcc65cd
+
+I=64
+PT=00000000000000010000000000000000
+CT=a7126988773129d5f6cc330c1a0ef30b
+
+I=65
+PT=00000000000000008000000000000000
+CT=645d7562e523058e7708ff03f1712be8
+
+I=66
+PT=00000000000000004000000000000000
+CT=fa9caf3bbc2d52806ef9b3d01f5b8398
+
+I=67
+PT=00000000000000002000000000000000
+CT=0d2638505aae1a5532d74c4f45c136d3
+
+I=68
+PT=00000000000000001000000000000000
+CT=9721099476b1f963ef87dd29e82227f8
+
+I=69
+PT=00000000000000000800000000000000
+CT=237ae2cdd5d2819edae0947afb9d040f
+
+I=70
+PT=00000000000000000400000000000000
+CT=8fa78734e057e8a9486862e00a9886d8
+
+I=71
+PT=00000000000000000200000000000000
+CT=983f654090c661264be8f921063b7de5
+
+I=72
+PT=00000000000000000100000000000000
+CT=645f0f938a2898a3869190a1d99a3078
+
+I=73
+PT=00000000000000000080000000000000
+CT=f8958250d6d6772b20051e36666906bd
+
+I=74
+PT=00000000000000000040000000000000
+CT=b4ed85d72c04a357958d7045be13c4ff
+
+I=75
+PT=00000000000000000020000000000000
+CT=294a16831bf660536203030b59da20f3
+
+I=76
+PT=00000000000000000010000000000000
+CT=d189c5a12722abfeba16f155975068e6
+
+I=77
+PT=00000000000000000008000000000000
+CT=9a9248c1fedf207ce64f68e73b22a77c
+
+I=78
+PT=00000000000000000004000000000000
+CT=cc668772f50d2ed7df83ff85a0d76576
+
+I=79
+PT=00000000000000000002000000000000
+CT=685ca45e48d087563e1886dbdd63342f
+
+I=80
+PT=00000000000000000001000000000000
+CT=fce8bfba1bb12f4990c6df32c6d71ebd
+
+I=81
+PT=00000000000000000000800000000000
+CT=4f6e01d8a2437547b50e070498bcd4f9
+
+I=82
+PT=00000000000000000000400000000000
+CT=4f80f4048084e1150aa6a36a6bb3d7ea
+
+I=83
+PT=00000000000000000000200000000000
+CT=311471549ccbb1ec27baa384ec32f30f
+
+I=84
+PT=00000000000000000000100000000000
+CT=3c4da8ff90590fb9fc529580dd40e7ef
+
+I=85
+PT=00000000000000000000080000000000
+CT=60ae8e3f60a099eef38eff4ed27de3ec
+
+I=86
+PT=00000000000000000000040000000000
+CT=b33c4d6df1259c4e5799d19b375420ea
+
+I=87
+PT=00000000000000000000020000000000
+CT=4d1ba08eb1e30f2a3b3e5d1dae9792a9
+
+I=88
+PT=00000000000000000000010000000000
+CT=3cf54d30e493cdd7439e1f34fbb098f3
+
+I=89
+PT=00000000000000000000008000000000
+CT=7407623c54e38d13b48b84306dd8f244
+
+I=90
+PT=00000000000000000000004000000000
+CT=b3d6dc13cf612951f9acb05eaeede7e3
+
+I=91
+PT=00000000000000000000002000000000
+CT=301378f0d3d30ae6613a9e7cf113821f
+
+I=92
+PT=00000000000000000000001000000000
+CT=9f227635fdab7d31a7e1f08bbcc34371
+
+I=93
+PT=00000000000000000000000800000000
+CT=f08620d46001c366fd6dcbebc806c182
+
+I=94
+PT=00000000000000000000000400000000
+CT=cf51a2a45f9cbfde788d108b1b4d33a5
+
+I=95
+PT=00000000000000000000000200000000
+CT=3e70f946fb77c6841d9f001104347659
+
+I=96
+PT=00000000000000000000000100000000
+CT=a3eb98b3be360fae3b8ec43d5b77ff7c
+
+I=97
+PT=00000000000000000000000080000000
+CT=ffe1b843d7dc5f52852705221ed5eeca
+
+I=98
+PT=00000000000000000000000040000000
+CT=0e8b9ace62aa90b258d8090ef2188bc4
+
+I=99
+PT=00000000000000000000000020000000
+CT=96961dbec1c476ae00972e54de621f19
+
+I=100
+PT=00000000000000000000000010000000
+CT=a31a56562516bdae02215cd5f0df0569
+
+I=101
+PT=00000000000000000000000008000000
+CT=a2316b6b9e6ad55d7013a24bdb1eaeb9
+
+I=102
+PT=00000000000000000000000004000000
+CT=709f715313e17efb3ecae3a5d9ed94af
+
+I=103
+PT=00000000000000000000000002000000
+CT=bca04c7cab888ee6950b7696f5899502
+
+I=104
+PT=00000000000000000000000001000000
+CT=6655b0542be057664de9b2733ca0e555
+
+I=105
+PT=00000000000000000000000000800000
+CT=56c2530d97a43944be7874e6fa9121fd
+
+I=106
+PT=00000000000000000000000000400000
+CT=aaeca9394ef359d851cc9f244d4d1e54
+
+I=107
+PT=00000000000000000000000000200000
+CT=71bc0d1dea15fe3bc4aa6dd829c8e957
+
+I=108
+PT=00000000000000000000000000100000
+CT=267fcba295a670cb9ec18afbb819ce91
+
+I=109
+PT=00000000000000000000000000080000
+CT=d18cc92248e209ff8c9af4ac93588727
+
+I=110
+PT=00000000000000000000000000040000
+CT=63e94b466c955b7204285e418a156b29
+
+I=111
+PT=00000000000000000000000000020000
+CT=368a8d2610a773a477b924028dad455f
+
+I=112
+PT=00000000000000000000000000010000
+CT=b210e51f2c154205da4a1d1b892dcc63
+
+I=113
+PT=00000000000000000000000000008000
+CT=ae042a69c879d524dc4bcc70b84b1b37
+
+I=114
+PT=00000000000000000000000000004000
+CT=6d03e3381991edc800513d30be07de5a
+
+I=115
+PT=00000000000000000000000000002000
+CT=576807dcb0f1a8d73904dbaa84be818e
+
+I=116
+PT=00000000000000000000000000001000
+CT=96dd8a88157832b7e45c639c25170333
+
+I=117
+PT=00000000000000000000000000000800
+CT=9c1a7b580b29888f397743e76c4e7a39
+
+I=118
+PT=00000000000000000000000000000400
+CT=b77fe10336da7531e1bf2dc41c7e6e95
+
+I=119
+PT=00000000000000000000000000000200
+CT=8658e3a6dbac89eba6e045881b172e9c
+
+I=120
+PT=00000000000000000000000000000100
+CT=d2fe26fc85aa40c3c6827b0dff96ab0c
+
+I=121
+PT=00000000000000000000000000000080
+CT=2055dea7c84b008c6faeb4b192795ada
+
+I=122
+PT=00000000000000000000000000000040
+CT=cb98f1c490f33b4f7a3d3e821b3551f3
+
+I=123
+PT=00000000000000000000000000000020
+CT=bb654cb6528c21d78e5cb79d5da677a4
+
+I=124
+PT=00000000000000000000000000000010
+CT=e0b2836175a6808d61fea4cb529401f8
+
+I=125
+PT=00000000000000000000000000000008
+CT=824c5f6fece3e0fc4293821b987b3bd4
+
+I=126
+PT=00000000000000000000000000000004
+CT=9d9286d5e97ccdec47e03cb12c34b339
+
+I=127
+PT=00000000000000000000000000000002
+CT=bc2c09f0b3fc63ce17f1be7f267e3e0a
+
+I=128
+PT=00000000000000000000000000000001
+CT=ad86de83231c3203a86ae33b721eaa9f