From 8dd8c294e9f330eb6b975c2b96cf9bbfcd087e5e Mon Sep 17 00:00:00 2001 From: mdw Date: Sat, 17 Jun 2000 12:11:49 +0000 Subject: [PATCH] New cipher. --- seal.c | 624 +++++++++ seal.h | 173 +++ serpent-check.c | 109 ++ serpent-sbox.h | 238 ++++ serpent.c | 223 +++ serpent.h | 114 ++ tests/cast128 | 17 + tests/cast256.aes | 3870 +++++++++++++++++++++++++++++++++++++++++++++++++++ tests/rc2 | 15 + tests/rijndael.aes | 1954 ++++++++++++++++++++++++++ tests/seal | 8 + tests/serpent.aes | 3900 ++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/twofish.aes | 761 ++++++++++ twofish-mktab.c | 421 ++++++ twofish.c | 369 +++++ twofish.h | 117 ++ 16 files changed, 12913 insertions(+) create mode 100644 seal.c create mode 100644 seal.h create mode 100644 serpent-check.c create mode 100644 serpent-sbox.h create mode 100644 serpent.c create mode 100644 serpent.h create mode 100644 tests/cast128 create mode 100644 tests/cast256.aes create mode 100644 tests/rc2 create mode 100644 tests/rijndael.aes create mode 100644 tests/seal create mode 100644 tests/serpent.aes create mode 100644 tests/twofish.aes create mode 100644 twofish-mktab.c create mode 100644 twofish.c create mode 100644 twofish.h diff --git a/seal.c b/seal.c new file mode 100644 index 0000000..92901b1 --- /dev/null +++ b/seal.c @@ -0,0 +1,624 @@ +/* -*-c-*- + * + * $Id: seal.c,v 1.1 2000/06/17 12:08:34 mdw Exp $ + * + * The SEAL pseudo-random function family + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: seal.c,v $ + * Revision 1.1 2000/06/17 12:08:34 mdw + * New cipher. + * + */ + +/*----- Header files ------------------------------------------------------*/ + +#include +#include +#include + +#include + +#include "arena.h" +#include "gcipher.h" +#include "grand.h" +#include "paranoia.h" +#include "seal.h" +#include "sha.h" + +/*----- Global variables --------------------------------------------------*/ + +const octet seal_keysz[] = { KSZ_ANY, SHA_HASHSZ }; + +/*----- Main code ---------------------------------------------------------*/ + +/* --- @gamma@ --- * + * + * Arguments: @uint32 *p@ = output table + * @size_t sz@ = size of the output table + * @const void *k@ = pointer to key material + * @unsigned i@ = integer offset + * + * Returns: --- + * + * Use: Initializes a SEAL key table. + */ + +static void gamma(uint32 *p, size_t sz, const void *k, unsigned i) +{ + uint32 buf[80] = { 0 }; + const octet *kk = k; + uint32 aa = LOAD32(kk); + uint32 bb = LOAD32(kk + 4); + uint32 cc = LOAD32(kk + 8); + uint32 dd = LOAD32(kk + 12); + uint32 ee = LOAD32(kk + 16); + + unsigned skip = i % 5; + i /= 5; + + /* --- While there's hashing to do, do hashing --- */ + + while (sz) { + uint32 a = aa, b = bb, c = cc, d = dd, e = ee; + int j; + + /* --- Initialize and expand the buffer --- */ + + buf[0] = i++; + + for (j = 16; j < 80; j++) { + uint32 x = buf[j - 3] ^ buf[j - 8] ^ buf[j - 14] ^ buf[j - 16]; + buf[j] = ROL32(x, 1); + } + + /* --- Definitions for round functions --- */ + +#define F(x, y, z) (((x) & (y)) | (~(x) & (z))) +#define G(x, y, z) ((x) ^ (y) ^ (z)) +#define H(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z))) + +#define T(v, w, x, y, z, i, f, k) do { \ + uint32 _x; \ + z = ROL32(v, 5) + f(w, x, y) + z + buf[i] + k; \ + w = ROR32(w, 2); \ + _x = v; v = z; z = y; y = x; x = w; w = _x; \ +} while (0) + +#define FF(v, w, x, y, z, i) T(v, w, x, y, z, i, F, 0x5a827999) +#define GG(v, w, x, y, z, i) T(v, w, x, y, z, i, G, 0x6ed9eba1) +#define HH(v, w, x, y, z, i) T(v, w, x, y, z, i, H, 0x8f1bbcdc) +#define II(v, w, x, y, z, i) T(v, w, x, y, z, i, G, 0xca62c1d6) + + /* --- The main compression function --- * + * + * Since this isn't doing bulk hashing, do it the easy way. + */ + + for (j = 0; j < 20; j++) + FF(a, b, c, d, e, j); + for (j = 20; j < 40; j++) + GG(a, b, c, d, e, j); + for (j = 40; j < 60; j++) + HH(a, b, c, d, e, j); + for (j = 60; j < 80; j++) + II(a, b, c, d, e, j); + + /* --- Do the chaining at the end --- */ + + a += aa; b += bb; c += cc; d += dd; e += ee; + + /* --- Write to the output buffer --- */ + + switch (skip) { + case 0: + if (sz) { *p++ = a; sz--; } + case 1: + if (sz) { *p++ = b; sz--; } + case 2: + if (sz) { *p++ = c; sz--; } + case 3: + if (sz) { *p++ = d; sz--; } + case 4: + if (sz) { *p++ = e; sz--; } + skip = 0; + } + } +} + +/* --- @seal_initkey@ --- * + * + * Arguments: @seal_key *k@ = pointer to key block + * @const void *buf@ = pointer to key material + * @size_t sz@ = size of the key material + * + * Returns: --- + * + * Use: Initializes a SEAL key block. The key material may be any + * size, but if it's not 20 bytes long it's passed to SHA for + * hashing first. + */ + +void seal_initkey(seal_key *k, const void *buf, size_t sz) +{ + /* --- Hash the key if it's the wrong size --- */ + + if (sz == SHA_HASHSZ) + memcpy(k->k, buf, sizeof(k->k)); + else { + sha_ctx c; + sha_init(&c); + sha_hash(&c, buf, sz); + sha_done(&c, k->k); + } + + /* --- Expand the key to fit the various tables --- */ + + gamma(k->t, 512, k->k, 0); + gamma(k->s, 256, k->k, 0x1000); + gamma(k->r, SEAL_R, k->k, 0x2000); +} + +/* --- @seal_reset@ --- * + * + * Arguments: @seal_ctx *c@ = pointer to a SEAL context + * + * Returns: --- + * + * Use: Resets the context so that more data can be extracted from + * it. + */ + +static void seal_reset(seal_ctx *c) +{ + seal_key *k = c->k; + uint32 n = c->n; + uint32 A, B, C, D; + unsigned p; + + /* --- Initialize the new chaining variables --- */ + + if (c->l >= SEAL_R) { + gamma(c->rbuf, SEAL_R, k->k, c->ri); + c->ri += SEAL_R; + c->l = 0; + c->r = c->rbuf; + } + + A = n ^ c->r[0]; + B = ROR32(n, 8) ^ c->r[1]; + C = ROR32(n, 16) ^ c->r[2]; + D = ROR32(n, 24) ^ c->r[3]; + c->l += 4; + c->r += 4; + + /* --- Ensure that everything is sufficiently diffused --- */ + + p = A & 0x7fc; B += k->t[p >> 2]; A = ROR32(A, 9); + p = B & 0x7fc; C += k->t[p >> 2]; B = ROR32(B, 9); + p = C & 0x7fc; D += k->t[p >> 2]; C = ROR32(C, 9); + p = D & 0x7fc; A += k->t[p >> 2]; D = ROR32(D, 9); + p = A & 0x7fc; B += k->t[p >> 2]; A = ROR32(A, 9); + p = B & 0x7fc; C += k->t[p >> 2]; B = ROR32(B, 9); + p = C & 0x7fc; D += k->t[p >> 2]; C = ROR32(C, 9); + p = D & 0x7fc; A += k->t[p >> 2]; D = ROR32(D, 9); + + /* --- Write out some context --- */ + + c->n1 = D; c->n2 = B; c->n3 = A; c->n4 = C; + + /* --- Diffuse some more --- */ + + p = A & 0x7fc; B += k->t[p >> 2]; A = ROR32(A, 9); + p = B & 0x7fc; C += k->t[p >> 2]; B = ROR32(B, 9); + p = C & 0x7fc; D += k->t[p >> 2]; C = ROR32(C, 9); + p = D & 0x7fc; A += k->t[p >> 2]; D = ROR32(D, 9); + + /* --- Write out the magic numbers --- */ + + c->a = A; c->b = B; c->c = C; c->d = D; + c->i = 0; +} + +/* --- @seal_initctx@ --- * + * + * Arguments: @seal_ctx *c@ = pointer to a SEAL context + * @seal_key *k@ = pointer to a SEAL key + * @uint32 n@ = integer sequence number + * + * Returns: --- + * + * Use: Initializes a SEAL context which can be used for random + * number generation or whatever. + */ + +void seal_initctx(seal_ctx *c, seal_key *k, uint32 n) +{ + c->k = k; + c->n = n; + c->l = 0; + c->r = k->r; + c->ri = 0x2000 + SEAL_R; + c->qsz = 0; + seal_reset(c); +} + +/* --- @seal_encrypt@ --- * + * + * Arguments: @seal_ctx *c@ = pointer to a SEAL context + * @const void *src@ = pointer to source data + * @void *dest@ = pointer to destination data + * @size_t sz@ = size of the data + * + * Returns: --- + * + * Use: Encrypts a block of data using SEAL. If @src@ is zero, + * @dest@ is filled with SEAL output. If @dest@ is zero, the + * SEAL generator is just spun around for a bit. This shouldn't + * be necessary, because SEAL isn't RC4. + */ + +void seal_encrypt(seal_ctx *c, const void *src, void *dest, size_t sz) +{ + const octet *s = src; + octet *d = dest; + + /* --- Expect a big dollop of bytes --- */ + + if (sz > c->qsz) { + seal_key *k = c->k; + uint32 A = c->a, B = c->b, C = c->c, D = c->d; + uint32 n1 = c->n1, n2 = c->n2, n3 = c->n3, n4 = c->n4; + uint32 aa, bb, cc, dd; + unsigned j = c->i; + + /* --- Empty the queue first --- */ + + if (c->qsz) { + if (d) { + unsigned i; + octet *p = c->q + sizeof(c->q) - c->qsz; + for (i = 0; i < c->qsz; i++) + *d++ = (s ? *s++ ^ *p++ : *p++); + } + sz -= c->qsz; + } + + /* --- Main sequence --- */ + + for (;;) { + unsigned P, Q; + + /* --- Reset if we've run out of steam on this iteration --- */ + + if (j == 256) { + seal_reset(c); + A = c->a, B = c->b, C = c->c, D = c->d; + n1 = c->n1, n2 = c->n2, n3 = c->n3, n4 = c->n4; + j = 0; + } + + /* --- Make some new numbers --- */ + + P = A & 0x7fc; B += k->t[P >> 2]; A = ROR32(A, 9); B ^= A; + Q = B & 0x7fc; C ^= k->t[Q >> 2]; B = ROR32(B, 9); C += B; + P = (P + C) & 0x7fc; D += k->t[P >> 2]; C = ROR32(C, 9); D ^= C; + Q = (Q + D) & 0x7fc; A ^= k->t[Q >> 2]; D = ROR32(D, 9); A += D; + P = (P + A) & 0x7fc; B ^= k->t[P >> 2]; A = ROR32(A, 9); + Q = (Q + B) & 0x7fc; C += k->t[Q >> 2]; B = ROR32(B, 9); + P = (P + C) & 0x7fc; D ^= k->t[P >> 2]; C = ROR32(C, 9); + Q = (Q + D) & 0x7fc; A += k->t[Q >> 2]; D = ROR32(D, 9); + + /* --- Remember the output and set up the next round --- */ + + aa = B + k->s[j + 0]; + bb = C ^ k->s[j + 1]; + cc = D + k->s[j + 2]; + dd = A ^ k->s[j + 3]; + j += 4; + + if (j & 4) + A += n1, B += n2, C ^= n1, D ^= n2; + else + A += n3, B += n4, C ^= n3, D ^= n4; + + /* --- Bail out here if we need to do buffering --- */ + + if (sz < 16) + break; + + /* --- Write the next 16 bytes --- */ + + if (d) { + if (s) { + aa ^= LOAD32_L(s + 0); + bb ^= LOAD32_L(s + 4); + cc ^= LOAD32_L(s + 8); + dd ^= LOAD32_L(s + 12); + s += 16; + } + STORE32_L(d + 0, aa); + STORE32_L(d + 4, bb); + STORE32_L(d + 8, cc); + STORE32_L(d + 12, dd); + d += 16; + } + sz -= 16; + } + + /* --- Write the new queue --- */ + + STORE32_L(c->q + 0, aa); + STORE32_L(c->q + 4, bb); + STORE32_L(c->q + 8, cc); + STORE32_L(c->q + 12, dd); + c->qsz = 16; + + c->a = A; c->b = B; c->c = C; c->d = D; + c->i = j; + } + + /* --- Deal with the rest from the queue --- */ + + if (sz) { + unsigned i; + octet *p = c->q + sizeof(c->q) - c->qsz; + if (d) { + for (i = 0; i < sz; i++) + *d++ = (s ? *s++ ^ *p++ : *p++); + } + c->qsz -= sz; + } +} + +/*----- Generic cipher interface ------------------------------------------*/ + +typedef struct gctx { + gcipher c; + seal_key k; + seal_ctx cc; +} gctx; + +static const gcipher_ops gops; + +static gcipher *ginit(const void *k, size_t sz) +{ + gctx *g = S_CREATE(gctx); + g->c.ops = &gops; + seal_initkey(&g->k, k, sz); + seal_initctx(&g->cc, &g->k, 0); + return (&g->c); +} + +static void gencrypt(gcipher *c, const void *s, void *t, size_t sz) +{ + gctx *g = (gctx *)c; + seal_encrypt(&g->cc, s, t, sz); +} + +static void gsetiv(gcipher *c, const void *iv) +{ + gctx *g = (gctx *)c; + uint32 n = *(const uint32 *)iv; + seal_initctx(&g->cc, &g->k, n); +} + +static void gdestroy(gcipher *c) +{ + gctx *g = (gctx *)c; + BURN(*g); + S_DESTROY(g); +} + +static const gcipher_ops gops = { + &seal, + gencrypt, gencrypt, gdestroy, gsetiv, 0 +}; + +const gccipher seal = { + "seal", seal_keysz, 0, + ginit +}; + +/*----- Generic random number generator interface -------------------------*/ + +typedef struct grctx { + grand r; + seal_key k; + seal_ctx cc; +} grctx; + +static void grdestroy(grand *r) +{ + grctx *g = (grctx *)r; + BURN(*g); + S_DESTROY(g); +} + +static int grmisc(grand *r, unsigned op, ...) +{ + grctx *g = (grctx *)r; + va_list ap; + int rc = 0; + va_start(ap, op); + + switch (op) { + case GRAND_CHECK: + switch (va_arg(ap, unsigned)) { + case GRAND_CHECK: + case GRAND_SEEDINT: + case GRAND_SEEDUINT32: + case GRAND_SEEDBLOCK: + case GRAND_SEEDRAND: + rc = 1; + break; + default: + rc = 0; + break; + } + break; + case GRAND_SEEDINT: + seal_initctx(&g->cc, &g->k, va_arg(ap, int)); + break; + case GRAND_SEEDUINT32: + seal_initctx(&g->cc, &g->k, va_arg(ap, uint32)); + break; + case GRAND_SEEDBLOCK: { + const void *p = va_arg(ap, const void *); + size_t sz = va_arg(ap, size_t); + uint32 n; + if (sz >= 4) + n = LOAD32_L(p); + else { + octet buf[4] = { 0 }; + memcpy(buf, p, sz); + n = LOAD32_L(p); + } + seal_initctx(&g->cc, &g->k, n); + } break; + case GRAND_SEEDRAND: { + grand *rr = va_arg(ap, grand *); + seal_initctx(&g->cc, &g->k, rr->ops->word(rr)); + } break; + default: + GRAND_BADOP; + break; + } + + va_end(ap); + return (rc); +} + +static octet grbyte(grand *r) +{ + grctx *g = (grctx *)r; + octet o; + seal_encrypt(&g->cc, 0, &o, 1); + return (o); +} + +static uint32 grword(grand *r) +{ + grctx *g = (grctx *)r; + octet b[4]; + seal_encrypt(&g->cc, 0, b, 4); + return (LOAD32(b)); +} + +static void grfill(grand *r, void *p, size_t sz) +{ + grctx *g = (grctx *)r; + seal_encrypt(&g->cc, 0, p, sz); +} + +static const grand_ops grops = { + "seal", + GRAND_CRYPTO, 0, + grmisc, grdestroy, + grword, grbyte, grword, grand_range, grfill +}; + +/* --- @seal_rand@ --- * + * + * Arguments: @const void *k@ = pointer to key material + * @size_t sz@ = size of key material + * @uint32 n@ = sequence number + * + * Returns: Pointer to generic random number generator interface. + * + * Use: Creates a random number interface wrapper around a SEAL + * pseudorandom function. + */ + +grand *seal_rand(const void *k, size_t sz, uint32 n) +{ + grctx *g = S_CREATE(grctx); + g->r.ops = &grops; + seal_initkey(&g->k, k, sz); + seal_initctx(&g->cc, &g->k, n); + return (&g->r); +} + +/*----- Test rig ----------------------------------------------------------*/ + +#ifdef TEST_RIG + +#include + +#include + +static int verify(dstr *v) +{ + seal_key k; + seal_ctx c; + uint32 n = *(uint32 *)v[1].buf; + dstr d = DSTR_INIT; + dstr z = DSTR_INIT; + int i; + int ok = 1; + + DENSURE(&d, v[2].len); + DENSURE(&z, v[2].len); + memset(z.buf, 0, v[2].len); + z.len = d.len = v[2].len; + seal_initkey(&k, v[0].buf, v[0].len); + + for (i = 0; i < v[2].len; i++) { + seal_initctx(&c, &k, n); + seal_encrypt(&c, 0, d.buf, i); + seal_encrypt(&c, z.buf, d.buf + i, d.len - i); + if (memcmp(d.buf, v[2].buf, d.len) != 0) { + ok = 0; + printf("*** seal failure\n"); + printf("*** k = "); type_hex.dump(&v[0], stdout); putchar('\n'); + printf("*** n = %08lx\n", (unsigned long)n); + printf("*** i = %i\n", i); + printf("*** expected = "); type_hex.dump(&v[2], stdout); putchar('\n'); + printf("*** computed = "); type_hex.dump(&d, stdout); putchar('\n'); + } + } + + dstr_destroy(&d); + dstr_destroy(&z); + + return (ok); +} + +static test_chunk defs[] = { + { "seal", verify, { &type_hex, &type_uint32, &type_hex, 0 } }, + { 0, 0, { 0 } } +}; + +int main(int argc, char *argv[]) +{ + test_run(argc, argv, defs, SRCDIR"/tests/seal"); + return (0); +} + +#endif + +/*----- That's all, folks -------------------------------------------------*/ diff --git a/seal.h b/seal.h new file mode 100644 index 0000000..62f6db9 --- /dev/null +++ b/seal.h @@ -0,0 +1,173 @@ +/* -*-c-*- + * + * $Id: seal.h,v 1.1 2000/06/17 12:08:34 mdw Exp $ + * + * The SEAL pseudo-random function family + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: seal.h,v $ + * Revision 1.1 2000/06/17 12:08:34 mdw + * New cipher. + * + */ + +/*----- Notes on the SEAL pseudo-random function family -------------------* + * + * SEAL is a slightly odd cryptographic primitive. It was designed by Phil + * Rogaway and Don Coppersmith at IBM, basically as an exercise in producing + * a really fast symmetric cipher of some kind. They succeeded: SEAL is + * faster than the much simpler RC4. + * + * For each key, it gives you %$2^{32}$% different output streams. This + * implementation imposes no length limits on the size of output streams and + * performs careful buffer handling to allow arbitrary amounts of data to be + * extracted. In practice, extracting more than about 64K is possibly dodgy + * from a security point of view. + * + * SEAL is patented. + */ + +#ifndef CATACOMB_SEAL_H +#define CATACOMB_SEAL_H + +#ifdef __cplusplus + extern "C" { +#endif + +/*----- Header files ------------------------------------------------------*/ + +#ifndef CATACOMB_GCIPHER_H +# include "gcipher.h" +#endif + +#ifndef CATACOMB_GRAND_H +# include "grand.h" +#endif + +/*----- Data structures ---------------------------------------------------*/ + +#define SEAL_R 256 + +typedef struct seal_key { + octet k[20]; /* Copy of the 160-bit key */ + uint32 t[512]; /* Substitution table */ + uint32 s[256]; /* Magic for each iteration */ + uint32 r[SEAL_R]; /* Magic for the first 64K */ +} seal_key; + +typedef struct seal_ctx { + seal_key *k; /* Pointer to the key block */ + uint32 *r, ri; /* Pointer to current magic */ + uint32 n, l; /* Various indices into things */ + uint32 a, b, c, d; /* Current chaining variables */ + uint32 n1, n2, n3, n4; /* Increments for the variables */ + unsigned i; /* Index into current iteration */ + octet q[16]; /* Output buffer */ + unsigned qsz; /* Number of bytes in the buffer */ + uint32 rbuf[SEAL_R]; /* Buffer for later magic */ +} seal_ctx; + +/*----- Functions provided ------------------------------------------------*/ + +/* --- @seal_initkey@ --- * + * + * Arguments: @seal_key *k@ = pointer to key block + * @const void *buf@ = pointer to key material + * @size_t sz@ = size of the key material + * + * Returns: --- + * + * Use: Initializes a SEAL key block. The key material may be any + * size, but if it's not 20 bytes long it's passed to SHA for + * hashing first. + */ + +extern void seal_initkey(seal_key */*k*/, + const void */*buf*/, size_t /*sz*/); + +/* --- @seal_initctx@ --- * + * + * Arguments: @seal_ctx *c@ = pointer to a SEAL context + * @seal_key *k@ = pointer to a SEAL key + * @uint32 n@ = integer sequence number + * + * Returns: --- + * + * Use: Initializes a SEAL context which can be used for random + * number generation or whatever. + */ + +extern void seal_initctx(seal_ctx */*c*/, seal_key */*k*/, uint32 /*n*/); + +/* --- @seal_encrypt@ --- * + * + * Arguments: @seal_ctx *c@ = pointer to a SEAL context + * @const void *src@ = pointer to source data + * @void *dest@ = pointer to destination data + * @size_t sz@ = size of the data + * + * Returns: --- + * + * Use: Encrypts a block of data using SEAL. If @src@ is zero, + * @dest@ is filled with SEAL output. If @dest@ is zero, the + * SEAL generator is just spun around for a bit. This shouldn't + * be necessary, because SEAL isn't RC4. + */ + +extern void seal_encrypt(seal_ctx */*c*/, const void */*src*/, + void */*dest*/, size_t /*sz*/); + +/*----- Generic cipher interface ------------------------------------------*/ + +#define SEAL_KEYSZ 20 +extern const octet seal_keysz[]; + +extern const gccipher seal; + +/*----- Generic random number generator interface -------------------------*/ + +/* --- @seal_rand@ --- * + * + * Arguments: @const void *k@ = pointer to key material + * @size_t sz@ = size of key material + * @uint32 n@ = sequence number + * + * Returns: Pointer to generic random number generator interface. + * + * Use: Creates a random number interface wrapper around a SEAL + * pseudorandom function. + */ + +extern grand *seal_rand(const void */*k*/, size_t /*sz*/, uint32 /*n*/); + +/*----- That's all, folks -------------------------------------------------*/ + +#ifdef __cplusplus + } +#endif + +#endif diff --git a/serpent-check.c b/serpent-check.c new file mode 100644 index 0000000..647beea --- /dev/null +++ b/serpent-check.c @@ -0,0 +1,109 @@ +/* -*-c-*- + * + * $Id: serpent-check.c,v 1.1 2000/06/17 12:08:43 mdw Exp $ + * + * Check the Serpent S-boxes + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: serpent-check.c,v $ + * Revision 1.1 2000/06/17 12:08:43 mdw + * New cipher. + * + */ + +/*----- Header files ------------------------------------------------------*/ + +#include +#include +#include + +#include + +#include "serpent-sbox.h" + +/*----- S-box tables ------------------------------------------------------*/ + +static const octet s[8][16] = { + { 3, 8, 15, 1, 10, 6, 5, 11, 14, 13, 4, 2, 7, 0, 9, 12 }, + { 15, 12, 2, 7, 9, 0, 5, 10, 1, 11, 14, 8, 6, 13, 3, 4 }, + { 8, 6, 7, 9, 3, 12, 10, 15, 13, 1, 14, 4, 0, 11, 5, 2 }, + { 0, 15, 11, 8, 12, 9, 6, 3, 13, 1, 2, 4, 10, 7, 5, 14 }, + { 1, 15, 8, 3, 12, 0, 11, 6, 2, 5, 4, 10, 9, 14, 7, 13 }, + { 15, 5, 2, 11, 4, 10, 9, 12, 0, 3, 14, 8, 13, 6, 7, 1 }, + { 7, 2, 12, 5, 8, 4, 6, 11, 14, 9, 1, 15, 13, 3, 10, 0 }, + { 1, 13, 15, 0, 14, 8, 2, 11, 7, 4, 12, 10, 9, 3, 5, 6 } +}; + +/*----- Main code ---------------------------------------------------------*/ + +/* --- @check@ --- * + * + * Arguments: @unsigned a, b, c, d@ = four bitslice output registers + * @const octet *p@ = pointer to S-box + * + * Returns: Zero if OK, nonzero on failure. + * + * Use: Checks that an S-box output is correct. + */ + +static int check(unsigned a, unsigned b, unsigned c, unsigned d, + const octet *p) +{ + octet buf[16]; + octet *q = buf; + unsigned i; + + for (i = 0; i < 16; i++) { + *q++ = (a & 1) | ((b & 1) << 1) | ((c & 1) << 2) | ((d & 1) << 3); + a >>= 1; b >>= 1; c >>= 1; d >>= 1; + } + return (memcmp(buf, p, sizeof(buf))); +} + +#define CHECK(i) do { \ + unsigned a = 0xaaaa, b = 0xcccc, c = 0xf0f0, d = 0xff00; \ + S##i(a, b, c, d); \ + if (check(a, b, c, d, s[i])) { \ + fprintf(stderr, "failure in S%i\n", i); \ + rc = EXIT_FAILURE; \ + } \ + IS##i(a, b, c, d); \ + if (a != 0xaaaa || b != 0xcccc || c != 0xf0f0 || d != 0xff00) { \ + fprintf(stderr, "failure in IS%i\n", i); \ + rc = EXIT_FAILURE; \ + } \ +} while (0) + +int main(void) +{ + int rc = 0; + CHECK(0); CHECK(1); CHECK(2); CHECK(3); + CHECK(4); CHECK(5); CHECK(6); CHECK(7); + return (rc); +} + +/*----- That's all, folks -------------------------------------------------*/ diff --git a/serpent-sbox.h b/serpent-sbox.h new file mode 100644 index 0000000..7285bb2 --- /dev/null +++ b/serpent-sbox.h @@ -0,0 +1,238 @@ +/* -*-c-*- + * + * $Id: serpent-sbox.h,v 1.1 2000/06/17 12:08:43 mdw Exp $ + * + * Bitslice S-box implementations + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: serpent-sbox.h,v $ + * Revision 1.1 2000/06/17 12:08:43 mdw + * New cipher. + * + */ + +/*----- Credit where it's due ---------------------------------------------* + * + * These S-box expressions are taken from the paper `Speeding up Serpent', by + * Dag Arne Osvik, submitted to AES3. + */ + +#ifndef CATACOMB_SERPENT_SBOX_H +#define CATACOMB_SERPENT_SBOX_H + +#ifdef __cplusplus + extern "C" { +#endif + +/*----- Header files ------------------------------------------------------*/ + +#include + +/*----- Macros provided ---------------------------------------------------*/ + +/* --- @S0@ --- */ + +#define S0(r0, r1, r2, r3) do { \ + uint32 r4; \ + r3 ^= r0; r4 = r1; r1 &= r3; r4 ^= r2; \ + r1 ^= r0; r0 |= r3; r0 ^= r4; r4 ^= r3; \ + r3 ^= r2; r2 |= r1; r2 ^= r4; r4 = ~r4; \ + r4 |= r1; r1 ^= r3; r1 ^= r4; r3 |= r0; \ + r1 ^= r3; r4 ^= r3; \ + r3 = r0; r0 = r1; r1 = r4; \ +} while (0) + +#define IS0(r0, r1, r2, r3) do { \ + uint32 r4; \ + r2 = ~r2; r4 = r1; r1 |= r0; r4 = ~r4; \ + r1 ^= r2; r2 |= r4; r1 ^= r3; r0 ^= r4; \ + r2 ^= r0; r0 &= r3; r4 ^= r0; r0 |= r1; \ + r0 ^= r2; r3 ^= r4; r2 ^= r1; r3 ^= r0; \ + r3 ^= r1; r2 &= r3; r4 ^= r2; \ + r2 = r1; r1 = r4; \ +} while (0) + +/* --- @S1@ --- */ + +#define S1(r0, r1, r2, r3) do { \ + uint32 r4; \ + r0 = ~r0; r2 = ~r2; r4 = r0; r0 &= r1; \ + r2 ^= r0; r0 |= r3; r3 ^= r2; r1 ^= r0; \ + r0 ^= r4; r4 |= r1; r1 ^= r3; r2 |= r0; \ + r2 &= r4; r0 ^= r1; r1 &= r2; r1 ^= r0; \ + r0 &= r2; r0 ^= r4; \ + r4 = r0; r0 = r2; r2 = r3; r3 = r1; r1 = r4; \ +} while (0) + +#define IS1(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r1; r1 ^= r3; r3 &= r1; r4 ^= r2; \ + r3 ^= r0; r0 |= r1; r2 ^= r3; r0 ^= r4; \ + r0 |= r2; r1 ^= r3; r0 ^= r1; r1 |= r3; \ + r1 ^= r0; r4 = ~r4; r4 ^= r1; r1 |= r0; \ + r1 ^= r0; r1 |= r4; r3 ^= r1; \ + r1 = r0; r0 = r4; r4 = r2; r2 = r3; r3 = r4; \ +} while (0) + +/* --- @S2@ --- */ + +#define S2(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r0; r0 &= r2; r0 ^= r3; r2 ^= r1; \ + r2 ^= r0; r3 |= r4; r3 ^= r1; r4 ^= r2; \ + r1 = r3; r3 |= r4; r3 ^= r0; r0 &= r1; \ + r4 ^= r0; r1 ^= r3; r1 ^= r4; r4 = ~r4; \ + r0 = r2; r2 = r1; r1 = r3; r3 = r4; \ +} while (0) + +#define IS2(r0, r1, r2, r3) do { \ + uint32 r4; \ + r2 ^= r3; r3 ^= r0; r4 = r3; r3 &= r2; \ + r3 ^= r1; r1 |= r2; r1 ^= r4; r4 &= r3; \ + r2 ^= r3; r4 &= r0; r4 ^= r2; r2 &= r1; \ + r2 |= r0; r3 = ~r3; r2 ^= r3; r0 ^= r3; \ + r0 &= r1; r3 ^= r4; r3 ^= r0; \ + r0 = r1; r1 = r4; \ +} while (0) + +/* --- @S3@ --- */ + +#define S3(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r0; r0 |= r3; r3 ^= r1; r1 &= r4; \ + r4 ^= r2; r2 ^= r3; r3 &= r0; r4 |= r1; \ + r3 ^= r4; r0 ^= r1; r4 &= r0; r1 ^= r3; \ + r4 ^= r2; r1 |= r0; r1 ^= r2; r0 ^= r3; \ + r2 = r1; r1 |= r3; r1 ^= r0; \ + r0 = r1; r1 = r2; r2 = r3; r3 = r4; \ +} while (0) + +#define IS3(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r2; r2 ^= r1; r0 ^= r2; r4 &= r2; \ + r4 ^= r0; r0 &= r1; r1 ^= r3; r3 |= r4; \ + r2 ^= r3; r0 ^= r3; r1 ^= r4; r3 &= r2; \ + r3 ^= r1; r1 ^= r0; r1 |= r2; r0 ^= r3; \ + r1 ^= r4; r0 ^= r1; \ + r4 = r0; r0 = r2; r2 = r3; r3 = r4; \ +} while (0) + +/* --- @S4@ --- */ + +#define S4(r0, r1, r2, r3) do { \ + uint32 r4; \ + r1 ^= r3; r3 = ~r3; r2 ^= r3; r3 ^= r0; \ + r4 = r1; r1 &= r3; r1 ^= r2; r4 ^= r3; \ + r0 ^= r4; r2 &= r4; r2 ^= r0; r0 &= r1; \ + r3 ^= r0; r4 |= r1; r4 ^= r0; r0 |= r3; \ + r0 ^= r2; r2 &= r3; r0 = ~r0; r4 ^= r2; \ + r2 = r0; r0 = r1; r1 = r4; \ +} while (0) + +#define IS4(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r2; r2 &= r3; r2 ^= r1; r1 |= r3; \ + r1 &= r0; r4 ^= r2; r4 ^= r1; r1 &= r2; \ + r0 = ~r0; r3 ^= r4; r1 ^= r3; r3 &= r0; \ + r3 ^= r2; r0 ^= r1; r2 &= r0; r3 ^= r0; \ + r2 ^= r4, r2 |= r3; r3 ^= r0; r2 ^= r1; \ + r1 = r3; r3 = r4; \ +} while (0) + +/* --- @S5@ --- */ + +#define S5(r0, r1, r2, r3) do { \ + uint32 r4; \ + r0 ^= r1; r1 ^= r3; r3 = ~r3; r4 = r1; \ + r1 &= r0; r2 ^= r3; r1 ^= r2; r2 |= r4; \ + r4 ^= r3; r3 &= r1; r3 ^= r0; r4 ^= r1; \ + r4 ^= r2; r2 ^= r0; r0 &= r3; r2 = ~r2; \ + r0 ^= r4; r4 |= r3; r2 ^= r4; \ + r4 = r3; r3 = r2; r2 = r0; r0 = r1; r1 = r4; \ +} while (0) + +#define IS5(r0, r1, r2, r3) do { \ + uint32 r4; \ + r1 = ~r1; r4 = r3; r2 ^= r1; r3 |= r0; \ + r3 ^= r2; r2 |= r1; r2 &= r0; r4 ^= r3; \ + r2 ^= r4; r4 |= r0; r4 ^= r1; r1 &= r2; \ + r1 ^= r3; r4 ^= r2; r3 &= r4; r4 ^= r1; \ + r3 ^= r4; r4 = ~r4; r3 ^= r0; \ + r0 = r1; r1 = r4; r4 = r3; r3 = r2; r2 = r4; \ +} while (0) + +/* --- @S6@ --- */ + +#define S6(r0, r1, r2, r3) do { \ + uint32 r4; \ + r2 = ~r2; r4 = r3; r3 &= r0; r0 ^= r4; \ + r3 ^= r2; r2 |= r4; r1 ^= r3; r2 ^= r0; \ + r0 |= r1; r2 ^= r1; r4 ^= r0; r0 |= r3; \ + r0 ^= r2; r4 ^= r3; r4 ^= r0; r3 = ~r3; \ + r2 &= r4; r2 ^= r3; \ + r3 = r2; r2 = r4; \ +} while (0) + +#define IS6(r0, r1, r2, r3) do { \ + uint32 r4; \ + r0 ^= r2; r4 = r2; r2 &= r0; r4 ^= r3; \ + r2 = ~r2; r3 ^= r1; r2 ^= r3; r4 |= r0; \ + r0 ^= r2; r3 ^= r4; r4 ^= r1; r1 &= r3; \ + r1 ^= r0; r0 ^= r3; r0 |= r2; r3 ^= r1; \ + r4 ^= r0; \ + r0 = r1; r1 = r2; r2 = r4; \ +} while (0) + +/* --- @S7@ --- */ + +#define S7(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r1; r1 |= r2; r1 ^= r3; r4 ^= r2; \ + r2 ^= r1; r3 |= r4; r3 &= r0; r4 ^= r2; \ + r3 ^= r1; r1 |= r4; r1 ^= r0; r0 |= r4; \ + r0 ^= r2; r1 ^= r4; r2 ^= r1; r1 &= r0; \ + r1 ^= r4; r2 = ~r2; r2 |= r0; r4 ^= r2; \ + r2 = r1; r1 = r3; r3 = r0; r0 = r4; \ +} while (0) + +#define IS7(r0, r1, r2, r3) do { \ + uint32 r4; \ + r4 = r2; r2 ^= r0; r0 &= r3; r4 |= r3; \ + r2 = ~r2; r3 ^= r1; r1 |= r0; r0 ^= r2; \ + r2 &= r4; r3 &= r4; r1 ^= r2; r2 ^= r0; \ + r0 |= r2; r4 ^= r1; r0 ^= r3; r3 ^= r4; \ + r4 |= r0; r3 ^= r2; r4 ^= r2; \ + r2 = r1; r1 = r0; r0 = r3; r3 = r4; \ +} while (0) + +/*----- That's all, folks -------------------------------------------------*/ + +#ifdef __cplusplus + } +#endif + +#endif diff --git a/serpent.c b/serpent.c new file mode 100644 index 0000000..d04d65b --- /dev/null +++ b/serpent.c @@ -0,0 +1,223 @@ +/* -*-c-*- + * + * $Id: serpent.c,v 1.1 2000/06/17 12:08:43 mdw Exp $ + * + * The Serpent block cipher + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: serpent.c,v $ + * Revision 1.1 2000/06/17 12:08:43 mdw + * New cipher. + * + */ + +/*----- Header files ------------------------------------------------------*/ + +#include +#include + +#include + +#include "blkc.h" +#include "gcipher.h" +#include "serpent.h" +#include "serpent-sbox.h" + +/*----- Global variables --------------------------------------------------*/ + +const octet serpent_keysz[] = { KSZ_RANGE, SERPENT_KEYSZ, 0, 32, 1 }; + +/*----- Main code ---------------------------------------------------------*/ + +/* --- @serpent_init@ --- * + * + * Arguments: @serpent_ctx *k@ = pointer to context block to initialize + * @const void *buf@ = pointer to input buffer + * @size_t sz@ = size of input buffer + * + * Returns: --- + * + * Use: Initializes a Serpent context. The key may be any length of + * up to 32 bytes (256 bits). + */ + +void serpent_init(serpent_ctx *k, const void *buf, size_t sz) +{ + uint32 a; + unsigned b; + const octet *p, *q; + size_t i; + uint32 pk[8 + 132]; + + KSZ_ASSERT(serpent, sz); + + /* --- Read the key into the buffer --- */ + + if (sz > 32) + sz = 32; + i = 0; p = buf; q = p + sz; + a = 0; b = 0; + while (p < q) { + a |= (uint32)*p++ << b; + b += 8; + if (b == 32) { + pk[i++] = a; + a = 0; b = 0; + } + } + + /* --- Pad short keys --- */ + + if (i < 8) { + a |= 0x01 << b; + b += 8; + pk[i++] = a; + for (; i < 8; i++) + pk[i] = 0; + } + + /* --- Expand the prekeys to fill the buffer --- */ + + for (i = 8; i < 8 + 132; i++) { + uint32 x = (pk[i - 8] ^ pk[i - 5] ^ pk[i - 3] ^ pk[i - 1] ^ + (i - 8) ^ 0x9e3779b9); + k->k[i - 8] = pk[i] = ROL32(x, 11); + } + + /* --- Now substitute everything --- */ + + i = 0; + goto midway; + while (i < 132) { +#define KSUB(r) do { \ + uint32 a, b, c, d; \ + a = k->k[i]; b = k->k[i + 1]; c = k->k[i + 2]; d = k->k[i + 3]; \ + S##r(a, b, c, d); \ + k->k[i] = a; k->k[i + 1] = b; k->k[i + 2] = c; k->k[i + 3] = d; \ + i += 4; \ +} while (0) + KSUB(2); KSUB(1); KSUB(0); KSUB(7); + KSUB(6); KSUB(5); KSUB(4); + midway: + KSUB(3); +#undef KSUB + } +} + +/* --- @serpent_eblk@, @serpent_dblk@ --- * + * + * Arguments: @const serpent_ctx *k@ = pointer to key context + * @const uint32 s[4]@ = pointer to source block + * @uint32 d[4]@ = pointer to destination block + * + * Returns: --- + * + * Use: Low-level block encryption. + */ + +#define EROUND(a, b, c, d, r, k) do { \ + a ^= *k++; b ^= *k++; c ^= *k++; d ^= *k++; \ + S##r(a, b, c, d); \ + a = ROL32(a, 13); c = ROL32(c, 3); b ^= a ^ c; d ^= c ^ (a << 3); \ + b = ROL32(b, 1); d = ROL32(d, 7); a ^= b ^ d; c ^= d ^ (b << 7); \ + a = ROL32(a, 5); c = ROL32(c, 22); \ +} while (0) + +#define DROUND(a, b, c, d, r, k) do { \ + IS##r(a, b, c, d); \ + d ^= *--k; c ^= *--k; b ^= *--k; a ^= *--k; \ + a = ROR32(a, 5); c = ROR32(c, 22); a ^= b ^ d; c ^= d ^ (b << 7); \ + b = ROR32(b, 1); d = ROR32(d, 7); b ^= a ^ c; d ^= c ^ (a << 3); \ + a = ROR32(a, 13); c = ROR32(c, 3); \ +} while (0) + +void serpent_eblk(const serpent_ctx *k, const uint32 *s, uint32 *d) +{ + uint32 aa = s[0], bb = s[1], cc = s[2], dd = s[3]; + const uint32 *kk = k->k; + + EROUND(aa, bb, cc, dd, 0, kk); EROUND(aa, bb, cc, dd, 1, kk); + EROUND(aa, bb, cc, dd, 2, kk); EROUND(aa, bb, cc, dd, 3, kk); + EROUND(aa, bb, cc, dd, 4, kk); EROUND(aa, bb, cc, dd, 5, kk); + EROUND(aa, bb, cc, dd, 6, kk); EROUND(aa, bb, cc, dd, 7, kk); + + EROUND(aa, bb, cc, dd, 0, kk); EROUND(aa, bb, cc, dd, 1, kk); + EROUND(aa, bb, cc, dd, 2, kk); EROUND(aa, bb, cc, dd, 3, kk); + EROUND(aa, bb, cc, dd, 4, kk); EROUND(aa, bb, cc, dd, 5, kk); + EROUND(aa, bb, cc, dd, 6, kk); EROUND(aa, bb, cc, dd, 7, kk); + + EROUND(aa, bb, cc, dd, 0, kk); EROUND(aa, bb, cc, dd, 1, kk); + EROUND(aa, bb, cc, dd, 2, kk); EROUND(aa, bb, cc, dd, 3, kk); + EROUND(aa, bb, cc, dd, 4, kk); EROUND(aa, bb, cc, dd, 5, kk); + EROUND(aa, bb, cc, dd, 6, kk); EROUND(aa, bb, cc, dd, 7, kk); + + EROUND(aa, bb, cc, dd, 0, kk); EROUND(aa, bb, cc, dd, 1, kk); + EROUND(aa, bb, cc, dd, 2, kk); EROUND(aa, bb, cc, dd, 3, kk); + EROUND(aa, bb, cc, dd, 4, kk); EROUND(aa, bb, cc, dd, 5, kk); + EROUND(aa, bb, cc, dd, 6, kk); + + aa ^= *kk++; bb ^= *kk++; cc ^= *kk++; dd ^= *kk++; + S7(aa, bb, cc, dd); + aa ^= *kk++; bb ^= *kk++; cc ^= *kk++; dd ^= *kk++; + d[0] = aa; d[1] = bb; d[2] = cc; d[3] = dd; +} + +void serpent_dblk(const serpent_ctx *k, const uint32 *s, uint32 *d) +{ + uint32 aa = s[0], bb = s[1], cc = s[2], dd = s[3]; + const uint32 *kk = k->k + 132; + + dd ^= *--kk; cc ^= *--kk; bb ^= *--kk; aa ^= *--kk; + + DROUND(aa, bb, cc, dd, 7, kk); DROUND(aa, bb, cc, dd, 6, kk); + DROUND(aa, bb, cc, dd, 5, kk); DROUND(aa, bb, cc, dd, 4, kk); + DROUND(aa, bb, cc, dd, 3, kk); DROUND(aa, bb, cc, dd, 2, kk); + DROUND(aa, bb, cc, dd, 1, kk); DROUND(aa, bb, cc, dd, 0, kk); + + DROUND(aa, bb, cc, dd, 7, kk); DROUND(aa, bb, cc, dd, 6, kk); + DROUND(aa, bb, cc, dd, 5, kk); DROUND(aa, bb, cc, dd, 4, kk); + DROUND(aa, bb, cc, dd, 3, kk); DROUND(aa, bb, cc, dd, 2, kk); + DROUND(aa, bb, cc, dd, 1, kk); DROUND(aa, bb, cc, dd, 0, kk); + + DROUND(aa, bb, cc, dd, 7, kk); DROUND(aa, bb, cc, dd, 6, kk); + DROUND(aa, bb, cc, dd, 5, kk); DROUND(aa, bb, cc, dd, 4, kk); + DROUND(aa, bb, cc, dd, 3, kk); DROUND(aa, bb, cc, dd, 2, kk); + DROUND(aa, bb, cc, dd, 1, kk); DROUND(aa, bb, cc, dd, 0, kk); + + DROUND(aa, bb, cc, dd, 7, kk); DROUND(aa, bb, cc, dd, 6, kk); + DROUND(aa, bb, cc, dd, 5, kk); DROUND(aa, bb, cc, dd, 4, kk); + DROUND(aa, bb, cc, dd, 3, kk); DROUND(aa, bb, cc, dd, 2, kk); + DROUND(aa, bb, cc, dd, 1, kk); + + IS0(aa, bb, cc, dd); + dd ^= *--kk; cc ^= *--kk; bb ^= *--kk; aa ^= *--kk; + d[0] = aa; d[1] = bb; d[2] = cc; d[3] = dd; +} + +BLKC_TEST(SERPENT, serpent) + +/*----- That's all, folks -------------------------------------------------*/ diff --git a/serpent.h b/serpent.h new file mode 100644 index 0000000..6f1458a --- /dev/null +++ b/serpent.h @@ -0,0 +1,114 @@ +/* -*-c-*- + * + * $Id: serpent.h,v 1.1 2000/06/17 12:08:43 mdw Exp $ + * + * The Serpent block cipher + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: serpent.h,v $ + * Revision 1.1 2000/06/17 12:08:43 mdw + * New cipher. + * + */ + +/*----- Notes on the Serpent block cipher ---------------------------------* + * + * Serpent was designed and proposed for the AES contest by Ross Anderson, + * Eli Biham and Lars Knudsen. It's not particularly quick, but is + * stunningly secure. The best differential and linear attacks are + * speculated to require %$2^{256}$% texts (it's a 128-bit block cipher). + * The designers originally intended to file a patent, but failed to persue + * it. Use of the algorithm is completely unencumbered. + */ + +#ifndef CATACOMB_SERPENT_H +#define CATACOMB_SERPENT_H + +#ifdef __cplusplus + extern "C" { +#endif + +/*----- Header files ------------------------------------------------------*/ + +#include + +#include + +/*----- Magic numbers -----------------------------------------------------*/ + +#define SERPENT_BLKSZ 16 +#define SERPENT_KEYSZ 32 +#define SERPENT_CLASS (N, L, 128) + +extern const octet serpent_keysz[]; + +/*----- Data structures ---------------------------------------------------*/ + +typedef struct serpent_ctx { + uint32 k[4 * 33]; +} serpent_ctx; + +/*----- Functions provided ------------------------------------------------*/ + +/* --- @serpent_init@ --- * + * + * Arguments: @serpent_ctx *k@ = pointer to context block to initialize + * @const void *buf@ = pointer to input buffer + * @size_t sz@ = size of input buffer + * + * Returns: --- + * + * Use: Initializes a Serpent context. The key may be any length of + * up to 32 bytes (256 bits). + */ + +extern void serpent_init(serpent_ctx */*k*/, + const void */*buf*/, size_t /*sz*/); + +/* --- @serpent_eblk@, @serpent_dblk@ --- * + * + * Arguments: @const serpent_ctx *k@ = pointer to key context + * @const uint32 s[4]@ = pointer to source block + * @uint32 d[4]@ = pointer to destination block + * + * Returns: --- + * + * Use: Low-level block encryption. + */ + +extern void serpent_eblk(const serpent_ctx */*k*/, + const uint32 */*s*/, uint32 */*d*/); +extern void serpent_dblk(const serpent_ctx */*k*/, + const uint32 */*s*/, uint32 */*d*/); + +/*----- That's all, folks -------------------------------------------------*/ + +#ifdef __cplusplus + } +#endif + +#endif diff --git a/tests/cast128 b/tests/cast128 new file mode 100644 index 0000000..dacd736 --- /dev/null +++ b/tests/cast128 @@ -0,0 +1,17 @@ +# $Id: cast128,v 1.1 2000/06/17 12:11:49 mdw Exp $ +# +# Test vectors for CAST128 + +cast128 { + 0123456712345678234567893456789a + 0123456789abcdef + 238b4fe5847e44b2; + + 01234567123456782345 + 0123456789abcdef + eb6a711a2c02271b; + + 0123456712 + 0123456789abcdef + 7ac816d16e9b302e; +} diff --git a/tests/cast256.aes b/tests/cast256.aes new file mode 100644 index 0000000..b8073eb --- /dev/null +++ b/tests/cast256.aes @@ -0,0 +1,3870 @@ +/* Tables Known Answer Test - ecb_tbl.txt +Tables Known Answer Test. The key was chosen arbitrarily. The plaintext +in iteration i is chosen so that the s-box entries S1[i-1], S2[i-1], S3[i-1], +and S4[i-1] are needed in the first quad-round of the round function. +The s-box inputs are i-1 because the iteration counter starts at 1 +instead of 0 +*/ +========================= + +FILENAME: "ecb_tbl.txt" + +Electronic Codebook (ECB) Mode +Tables Known Answer Test + +Algorithm Name: CAST-256 +Principal Submitter: Entrust Technologies, Inc. (represented by Carlisle Adams) + +========== + +KEYSIZE=128 + +I=1 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000c9b2807 +CT=963a8a50ceb54d08e0dee0f1d0413dcf + +I=2 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000001cab3817 +CT=8ae62c42d49a5a2d06290425b743fc53 + +I=3 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000002cbb4827 +CT=8665cc6b51b46b7e9b270296c3fd2053 + +I=4 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000003ccb5837 +CT=6760dc4a638060d68d70a17624747686 + +I=5 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000004cdb6847 +CT=ee3ad6d4e7062d3270a123a21280afb5 + +I=6 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000005ceb7857 +CT=7042f9274953f47e4b4b3bd0bd54ed30 + +I=7 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000006cfb8867 +CT=e632bb93f14c636193b64861fc2732b5 + +I=8 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007d0b9877 +CT=61696ae3b63430cf8420768dccccd693 + +I=9 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008d1ba887 +CT=77f3839424fb815e0b5bada740993964 + +I=10 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009d2bb897 +CT=23453cfd264cf21f5eddbf7d9d353938 + +I=11 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ad3bc8a7 +CT=b73e7c48980c62d9a2b345ba1099e96b + +I=12 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000bd4bd8b7 +CT=e07596c5eab5ce28fd3a95b6c5c974e1 + +I=13 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000cd5be8c7 +CT=87ff726a8fc3056ef5a5bdf91b9aed28 + +I=14 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000dd6bf8d7 +CT=8ee7fa9aa577b343cc6a340ed9c019ff + +I=15 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ed7c08e7 +CT=e14249fb660efd03aa62e83fff0e8c4c + +I=16 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000fd8c18f7 +CT=553343292c5176ab12e0097fa476524b + +I=17 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000d9c2908 +CT=5cce970047262a318177c340c857daa4 + +I=18 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000001dac3918 +CT=aa6089fb16d66f5398b25438d325ad5e + +I=19 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000002dbc4928 +CT=db7b0d87172eb257752b173aa404cd7e + +I=20 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000003dcc5938 +CT=8859fa546f0e12dbf8fdbd5bb1bbb98f + +I=21 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000004ddc6948 +CT=a2809130661b5e3d63a292ed5f89ab17 + +I=22 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000005dec7958 +CT=eec8ad3375acf5d2bb642b73fb924f29 + +I=23 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000006dfc8968 +CT=63236b6ff5f806bca4717f1b2da5b2d6 + +I=24 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007e0c9978 +CT=bbc6193c7702b6a19249b517e7638838 + +I=25 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008e1ca988 +CT=7b6438823cdfad8bad258f8b5c3af34e + +I=26 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009e2cb998 +CT=012321feb509d8472b98f4ae10bc0e3c + +I=27 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ae3cc9a8 +CT=27e773c19f9d12b3bc850cc93fd8fb8f + +I=28 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000be4cd9b8 +CT=19f95ad5c376f6e0f86f11d01310d0db + +I=29 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ce5ce9c8 +CT=c227ff66588ea4057e23592e3c479764 + +I=30 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000de6cf9d8 +CT=0e049f08de8bb261140150ea97614ceb + +I=31 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ee7d09e8 +CT=c89b2a9aaf74fd8d7da803fc423eed20 + +I=32 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000fe8d19f8 +CT=86963f427fcf2593caa2c7dbdeef4fed + +I=33 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000e9d2a09 +CT=5b7b25f8464e820bab65f4296a497720 + +I=34 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000001ead3a19 +CT=a70905b59e2b037e8666eec5f6333c48 + +I=35 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000002ebd4a29 +CT=87da3b9bdd82ca912c2fab0f5e415865 + +I=36 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000003ecd5a39 +CT=cfc54e2865c1239444ec1f1b93324081 + +I=37 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000004edd6a49 +CT=480a9eea7ee91f94ea8054d5770cbf2d + +I=38 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000005eed7a59 +CT=33ef67d552e448ee1f73330ab92b5f4d + +I=39 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000006efd8a69 +CT=a4f5236cc227c3d7993880b1758f1f81 + +I=40 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007f0d9a79 +CT=d429ae2a38051368f910233a532a6299 + +I=41 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008f1daa89 +CT=0f355fd67524cbc28e7a53c468cda599 + +I=42 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009f2dba99 +CT=f5f12d40ee0b6a1d0b96b2bb137b2e8b + +I=43 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000af3dcaa9 +CT=69d410eb43e678bf5d6451bcf898ecac + +I=44 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000bf4ddab9 +CT=44dfd59b98612f09ce82d20ad0b5abf7 + +I=45 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000cf5deac9 +CT=515e8ba8f5da350750e62d8a45939bd9 + +I=46 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000df6dfad9 +CT=1ef5da2c7e645ad6c1e9ae1eb3c49da7 + +I=47 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ef7e0ae9 +CT=a53ca7ddb7435bb87edd150ebc47253d + +I=48 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ff8e1af9 +CT=074bcd2a74d9c09d6bd3a2e01490982f + +I=49 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000f9e2b0a +CT=90908811240a3014cb074abbec7b998a + +I=50 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000001fae3b1a +CT=35e2766301377cd5ad4f7466d7b71069 + +I=51 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000002fbe4b2a +CT=86b93d8eb53858a0f0b4f361827fd290 + +I=52 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000003fce5b3a +CT=69275084579a4ac18f7b07cd039f3ac7 + +I=53 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000004fde6b4a +CT=232182d7827182af8b57a5950bb137dc + +I=54 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000005fee7b5a +CT=af3cfd5ec3aa076242c39d64dff392ec + +I=55 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000006ffe8b6a +CT=3b2992ddc5f43a6016a251ac2b0a4bff + +I=56 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000800e9b7a +CT=27efdae70a91d1116267eec10ff3ee54 + +I=57 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000901eab8a +CT=52e28b80db56f959b2a4338281bd6b68 + +I=58 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a02ebb9a +CT=b2a2107f633bf9b31dac547822d4500d + +I=59 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b03ecbaa +CT=a526943a45c24b3f14e80f62a29b71bf + +I=60 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c04edbba +CT=7f5a09aba6cdef07299feacaf09d5675 + +I=61 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d05eebca +CT=4556ce0887027e6764702a8a5457db3f + +I=62 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e06efbda +CT=969b05df9efe940ea9a9a38e53615427 + +I=63 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f07f0bea +CT=1f7e05f454504e9b2c0e96d7e4af4ea1 + +I=64 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000008f1bfa +CT=0f0363bc6f48c5fe8c410a90ef07a2ee + +I=65 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000109f2c0b +CT=3d3c713d41221f50fc44aea11c16e3eb + +I=66 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000020af3c1b +CT=fb8b685fedd99a5945403c5526b39ca4 + +I=67 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000030bf4c2b +CT=818bd817414beff07e987cf380874143 + +I=68 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000040cf5c3b +CT=58845f144ef1ee8f592171c51ab8416e + +I=69 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000050df6c4b +CT=0c5546daa1344dd05bb10ae2152a8a11 + +I=70 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000060ef7c5b +CT=5aafbd571d5b89dd79196467cb4f57c3 + +I=71 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000070ff8c6b +CT=459120268fc2cd7e5838f60e44e00b77 + +I=72 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000810f9c7b +CT=70f671fbf9488dd94148d1cb4682fc36 + +I=73 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000911fac8b +CT=0e6f351527b0c6c8592e939eeceb7a8d + +I=74 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a12fbc9b +CT=cdf88a6592250e1baf4d79b9f4cb1762 + +I=75 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b13fccab +CT=d14ba79673e176f8357984b41bda01d1 + +I=76 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c14fdcbb +CT=629c00e2bb919182aa4dfd1d71e580ee + +I=77 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d15feccb +CT=ff23f27f55f12080e1032d9e21f4ab6a + +I=78 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e16ffcdb +CT=b2d1f75b9e611e133852f641b9757b43 + +I=79 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f1800ceb +CT=a07508903950ac361351cdad1cdb63b1 + +I=80 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000001901cfb +CT=f7d0a04346aa82ea6c6ee7dfba0f4006 + +I=81 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000011a02d0c +CT=684c6725098500f925b5453b68226c7e + +I=82 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000021b03d1c +CT=753220b99955392f7f30ede484fc2862 + +I=83 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000031c04d2c +CT=79c5dec6ac8d95059f2e21eadcd09d36 + +I=84 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000041d05d3c +CT=414bb7b17b8e980e93bf3b02ee741fc1 + +I=85 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000051e06d4c +CT=6e699cc23bb0e1cb705410d8371ee6bb + +I=86 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000061f07d5c +CT=124c92d0b6d8f917711c04ac4b5a5387 + +I=87 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000072008d6c +CT=16937864799b52f4781ec15c67aebc27 + +I=88 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000082109d7c +CT=1e85d778246bc09286fa6dff9ceac582 + +I=89 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009220ad8c +CT=f08da5f92e5132dc9ea124587d012eb6 + +I=90 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a230bd9c +CT=26a08c2688f4306ef66b7285f6d6c3c3 + +I=91 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b240cdac +CT=e4b90dd53cdd6bfb7d6149ca8d56658e + +I=92 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c250ddbc +CT=3075dbf5b469a64c1c64d34718b419ab + +I=93 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d260edcc +CT=96ba1d1f6702b7875b156f8534302a18 + +I=94 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e270fddc +CT=1a38e59d37ca3e4580e334e8c7253bd2 + +I=95 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f2810dec +CT=9ee94bbff218183c9b94093f253cfd97 + +I=96 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000002911dfc +CT=df8073af7dcc6cb23678022d917a4ae4 + +I=97 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000012a12e0d +CT=6468e23fb0d2e805567d914f97643e62 + +I=98 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000022b13e1d +CT=11c10011cb5e50438b64f6bf98c3d10c + +I=99 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000032c14e2d +CT=3ec7ea6ec0ecf592d26b0ffe53c59d48 + +I=100 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000042d15e3d +CT=d267beb7917617bfe6824cd292d618df + +I=101 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000052e16e4d +CT=1797500d75d90df48b334e44f65d56ea + +I=102 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000062f17e5d +CT=db8f73ca4ea5387d320114f0910829cb + +I=103 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000073018e6d +CT=70018e6db6f4200c6c1550d227e7045d + +I=104 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000083119e7d +CT=517fc7e1b84821481c8714692cbe8f37 + +I=105 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009321ae8d +CT=250fe8e093440b6d94480afcfc83a365 + +I=106 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a331be9d +CT=5df955cbcc7a6c9bae7b2d8bed31982c + +I=107 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b341cead +CT=aa84ca4f1a8b4011a7b0e7c831596497 + +I=108 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c351debd +CT=8fc5d48fb825be0e56251d2d4329446b + +I=109 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d361eecd +CT=3e697489b479ee45c4dfdb89bd3a08bb + +I=110 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e371fedd +CT=35267d793ef4484cc4792cdfab6086b8 + +I=111 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f3820eed +CT=16f68342156ed44a7db0dbe4449df6a4 + +I=112 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000003921efd +CT=83eba48f076db9854885df48076267a8 + +I=113 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000013a22f0e +CT=ea31ee51bd4844bf6dbd656f07e8acc9 + +I=114 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000023b23f1e +CT=46e6c9236fea324f6776f86c43c1b8bb + +I=115 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000033c24f2e +CT=a2ed742e5a0655b8816959519dd3c1fa + +I=116 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000043d25f3e +CT=829dc58367df5721135f9dcbfe590b39 + +I=117 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000053e26f4e +CT=e6adb6c417fa61d2c19fc37f71775f03 + +I=118 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000063f27f5e +CT=360122e3028a1e7034d39dc1e19978c3 + +I=119 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000074028f6e +CT=60f662532ea9ec3b2324d81e9bfaf5cf + +I=120 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000084129f7e +CT=65fb9a684507fb55d64ebaf6af8641a2 + +I=121 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009422af8e +CT=dbecbc459e66b7949ed17bb8be549edf + +I=122 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a432bf9e +CT=f5cfb961a6eb2aa39c169a1871897061 + +I=123 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b442cfae +CT=3972f7e9a11019b8d71345138f27e733 + +I=124 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c452dfbe +CT=c9022a8845c673040569d93c0c4c3e04 + +I=125 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d462efce +CT=7c92d87cc16d43fcb79cc186d85beab1 + +I=126 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e472ffde +CT=c9c50c3c40afd5960e9d05b0af9ea30e + +I=127 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f4830fee +CT=91b690049e28093102f8eb12a6052fca + +I=128 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000004931ffe +CT=3d5ca3e413fdcc63a81cb17ff880e37c + +I=129 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000014a3300f +CT=37a744c8b5b164a886b1a4a2135a0adf + +I=130 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000024b3401f +CT=329633786c795a0c01fdffc6b3fad4a3 + +I=131 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000034c3502f +CT=d6f8411d99b952a2e203e403022d6b29 + +I=132 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000044d3603f +CT=b771bd9760746e63bb0d5eb65dc0501d + +I=133 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000054e3704f +CT=7425b6cf731a4ce25e591cb313b1944c + +I=134 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000064f3805f +CT=d20a2a1f53b4155c7beeec3b6386a633 + +I=135 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007503906f +CT=eeebe2040aa84d96b2e6aad3e122650f + +I=136 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008513a07f +CT=3b13ee88b32fb476688c1e99eed4d067 + +I=137 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009523b08f +CT=a1b1f6ae1586cfd4c2bd761027a0f8ff + +I=138 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a533c09f +CT=70832aef7ce11cd0ec2d99b5f26e190b + +I=139 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b543d0af +CT=0f49cb1116d18224fd6b09da5b5a2b23 + +I=140 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c553e0bf +CT=b306b820e40ee864775c8d282bdc2b84 + +I=141 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d563f0cf +CT=aaf2edc421015af227cdf33a441f1a75 + +I=142 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e57400df +CT=8c2bda5c9dabcc513649c5706ae9cbc7 + +I=143 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f58410ef +CT=e19d97e54252af0a5ddfd209bb4e0a61 + +I=144 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000059420ff +CT=17a981e648f7a8352e96c329f7b2e07f + +I=145 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000015a43110 +CT=84e45e489ef7d11a1f1afe070ca2dd71 + +I=146 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000025b44120 +CT=cbb5196f9dcda81096dabe03cb89a37c + +I=147 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000035c45130 +CT=98069d6a58c1df93d17a088f16486cc8 + +I=148 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000045d46140 +CT=013dc23cfc7d375ce7962be03278a0c1 + +I=149 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000055e47150 +CT=676a87258704b1c9cccf995c4d33bf37 + +I=150 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000065f48160 +CT=a3decee59602b4f62a10f7ac0a7cdd1e + +I=151 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000076049170 +CT=fda119130ccd65e58e129c4d19adcd2b + +I=152 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008614a180 +CT=f32fc37a20ef0a9094901ca7df9e885d + +I=153 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009624b190 +CT=a41769901102a3ea6d6a017547ab2fd9 + +I=154 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a634c1a0 +CT=40a2dbf60507da3a7f3754bb0078286d + +I=155 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b644d1b0 +CT=723b849be3f6246442782162f81fa528 + +I=156 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c654e1c0 +CT=0ab22fb09a8bfb25a21e818ae9cb8560 + +I=157 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d664f1d0 +CT=362c2f583ceb972a3df0d1be3cb62270 + +I=158 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e67501e0 +CT=a2f22d92c0a7bae5d43f4cc11b84975b + +I=159 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f68511f0 +CT=08355ae300ec6c1bcf38fbffb8f14b2d + +I=160 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000006952200 +CT=3070dea05d08d865fa4003245f2f7af5 + +I=161 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000016a53211 +CT=4ce066b7f5955b045d0f283d9d9c1181 + +I=162 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000026b54221 +CT=31c062822ef698daef0d0e6283cdccb1 + +I=163 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000036c55231 +CT=7f1c6cc516a42c5325b5821e8a64db58 + +I=164 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000046d56241 +CT=3c74a06e765ef7ec2602d09f1bcaea85 + +I=165 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000056e57251 +CT=a0f3d713e6a742ac194476716685f2e6 + +I=166 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000066f58261 +CT=5b4379f3adc275b84b8efe424f7cc990 + +I=167 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000077059271 +CT=aaa180c999cc10611d16d9e359166b3d + +I=168 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008715a281 +CT=9eca7bf4b18c720c6ec0fb59e0d17b73 + +I=169 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009725b291 +CT=ea726aee1592189735c6a3dcec458352 + +I=170 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a735c2a1 +CT=58a96916167ac890237c31398aa0244c + +I=171 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b745d2b1 +CT=b0b7b040b10d0fba7391eeff27c3095a + +I=172 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c755e2c1 +CT=677dcd9fecb03893b341fd702bbbb2ef + +I=173 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d765f2d1 +CT=f55b6adf2167b18459259d20701fbb26 + +I=174 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e77602e1 +CT=4a4e1b2ce477f6cfb1b1cc37af94cacf + +I=175 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f78612f1 +CT=18263198c252c2dd1b92c4b3b4252e51 + +I=176 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000007962301 +CT=d0967864ce5399dac467776aa6783969 + +I=177 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000017a63312 +CT=d011dbab4a32e79f04fe2eee50c9ff55 + +I=178 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000027b64322 +CT=5c66e0f8d548f00989ceaad560c4f7d4 + +I=179 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000037c65332 +CT=538b88a94d524a51f4f5c4929eca67a9 + +I=180 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000047d66342 +CT=877bf1db3e9918e16f3b73dc0c1f77fc + +I=181 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000057e67352 +CT=1b820961afb5fb273f7626eb8751f68a + +I=182 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000067f68362 +CT=1dd6a30ade979b7826b810d8a25d2cbb + +I=183 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000078069372 +CT=e577be90a5a64c0b396b3b41404ce3c7 + +I=184 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008816a382 +CT=93f78613cd37b32eab944fad30fe7038 + +I=185 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009826b392 +CT=1174bf15c332f3ab093a03ba9595496e + +I=186 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a836c3a2 +CT=9832a383e8cfab27248757f83e21b5c9 + +I=187 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b846d3b2 +CT=be61880eea5039e64b376385920aee73 + +I=188 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c856e3c2 +CT=7fda0abd0ef789210d50559b4e755b42 + +I=189 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d866f3d2 +CT=a49828810bc1c7784b0c73e620848446 + +I=190 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e87703e2 +CT=864067d932acdda057d23dbf18b2a1e6 + +I=191 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f88713f2 +CT=c15dbfd0c8ba94fa0c756b6461b2af2c + +I=192 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000008972402 +CT=6c2b93e9690e7cc624063af3cefb2b3c + +I=193 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000018a73413 +CT=9f578768447ec06b54ac6fcc2de7b4a5 + +I=194 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000028b74423 +CT=729bda61a8e95cfa51fbe550c6226368 + +I=195 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000038c75433 +CT=04a3f78601d4188e70aba461d2dc4067 + +I=196 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000048d76443 +CT=a67ea19de5b33479a4aa40292037c3c2 + +I=197 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000058e77453 +CT=ac7e21057d79dd5955b6f54c45d74f00 + +I=198 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000068f78463 +CT=a00e8f318df141e95e0b0fa96fea416d + +I=199 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000079079473 +CT=ee4b44ef7c1d7658231990e192b0aedc + +I=200 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008917a483 +CT=2626ca2a4ab3cba3f9eaad482b1a6b00 + +I=201 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009927b493 +CT=a3971c69c426af6c832c9e16fb8a8dd6 + +I=202 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000a937c4a3 +CT=14e123d50c107f5139337760e30df29b + +I=203 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000b947d4b3 +CT=750d19f634096d93266a582309366944 + +I=204 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000c957e4c3 +CT=35cce73895d37db660e84f0c32335424 + +I=205 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000d967f4d3 +CT=18b2ea3d498dccffd4017b666017cc98 + +I=206 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000e97804e3 +CT=a4c83c00f8989ace8acc5308108cad68 + +I=207 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000f98814f3 +CT=3ba7f361a3311e4a427d210def3497db + +I=208 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000009982503 +CT=38de516fdbce311ff8a8e463a16e2379 + +I=209 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000019a83514 +CT=c255658ec77b589de1bed8b1f0791528 + +I=210 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000029b84524 +CT=a3d18d45114ea2595ab1e5a6f40b6ad9 + +I=211 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000039c85534 +CT=714ab4913e588a99603cd5c412d3eab6 + +I=212 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000049d86544 +CT=d3cffb9f3a2070f5390a2fe6372e2f09 + +I=213 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000059e87554 +CT=b13d316803530b5bcb37e7bdb275ee73 + +I=214 +KEY=2342bb9efa38542c0af75647f29f615d +PT=00000000000000000000000069f88564 +CT=d2d8f718375ba1737704c679d2618335 + +I=215 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007a089574 +CT=912f09f07c42def64379e70e21e54590 + +I=216 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008a18a584 +CT=3fe196f774b9332a1838554a1f79be0d + +I=217 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009a28b594 +CT=63fc194731890170cfa66ce6955da379 + +I=218 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000aa38c5a4 +CT=aca928efc85b69c47be12b7cc6975313 + +I=219 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ba48d5b4 +CT=0101b2d7320663a5e4bc60b06957edd8 + +I=220 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ca58e5c4 +CT=5be724d649c3732a552e16af0f1bcb65 + +I=221 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000da68f5d4 +CT=8eecd1e8e8286f8bda700b9ebbc17b28 + +I=222 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ea7905e4 +CT=5da6560be7f5cd80f2010e8258e8e48d + +I=223 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000fa8915f4 +CT=97b6d997b0cc76ad2f6eff5878eca6d9 + +I=224 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000a992604 +CT=b8c66a3e5c06ec2b78ba2493b6aa65fe + +I=225 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000001aa93615 +CT=0379d03e0dd215b50dab37ac4a86236e + +I=226 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000002ab94625 +CT=66331b500d84724bccb833ffc147b53c + +I=227 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000003ac95635 +CT=1783b2c4ba08362df96ce1611408ade8 + +I=228 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000004ad96645 +CT=af00840d83b4c22e2f71439c306b7c5d + +I=229 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000005ae97655 +CT=efd6080724e518bd8c6aa41dd23f44c6 + +I=230 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000006af98665 +CT=01a8e78f02e076f72f06856f2ed5bc34 + +I=231 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007b099675 +CT=c6848b3b21c5d1764601c96ae0de2f95 + +I=232 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008b19a685 +CT=6fa942dcba2890af00ebc9456061b3f0 + +I=233 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009b29b695 +CT=b142b13d96d9f43a6b3b55cfa6680d49 + +I=234 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ab39c6a5 +CT=9db624378bcaf33f4f0440a4f84a8f80 + +I=235 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000bb49d6b5 +CT=4c96f56f4d9c303b788dda7ce40d13e4 + +I=236 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000cb59e6c5 +CT=c5b59cfc41571e1b98c6b2707349103a + +I=237 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000db69f6d5 +CT=eda77fb0e58f56551c2bffa8be699460 + +I=238 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000eb7a06e5 +CT=dc4e4448494438a4f28033076aafc621 + +I=239 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000fb8a16f5 +CT=3942eb9411858617a66668dc98fe906f + +I=240 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000b9a2705 +CT=9eda9c851300463cea3a1e9f89b0fbf8 + +I=241 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000001baa3716 +CT=ed3b426af6c6dca4d1b12b721ffc52fe + +I=242 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000002bba4726 +CT=117af859a1af0589d5aab57a2e18c900 + +I=243 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000003bca5736 +CT=1d0d286efb41a9c9c17b8084511811c9 + +I=244 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000004bda6746 +CT=472598307fa2daede14b2b0bbe6581d2 + +I=245 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000005bea7756 +CT=1bd37910b9779a357fcf37026b089a57 + +I=246 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000006bfa8766 +CT=3881f595192bbe2535d03052a40b39cb + +I=247 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000007c0a9776 +CT=48665de9851ee51e540e386a3ffe9ca6 + +I=248 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000008c1aa786 +CT=2a64d009e40f84c8dc2fab012fbbb2db + +I=249 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000009c2ab796 +CT=137b0ebfce51ab995271e6b6298fc63b + +I=250 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ac3ac7a6 +CT=5cb34592dac9163c6c953db9f6813717 + +I=251 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000bc4ad7b6 +CT=a6a9dabd1992c0b411a18bb8ec5a4d58 + +I=252 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000cc5ae7c6 +CT=9c7d7d4eb5adbbe7780e4626165fcb4f + +I=253 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000dc6af7d6 +CT=3d8e3abacd0b7fc63fc30bede5630e40 + +I=254 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000ec7b07e6 +CT=829427fa5a8ec9008134af599c066ed2 + +I=255 +KEY=2342bb9efa38542c0af75647f29f615d +PT=000000000000000000000000fc8b17f6 +CT=ec8d0d74faec36b23f62a76baafc0c0e + +I=256 +KEY=2342bb9efa38542c0af75647f29f615d +PT=0000000000000000000000000c9b2806 +CT=5bd496f3b91ce1f2d2ed38815135eec8 + +========== + +KEYSIZE=192 + +I=1 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000de255aff +CT=2bc1929f301347a99d3f3e45ad3401e8 + +I=2 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e2295f03 +CT=bfeaf5bc2b1bcbbe32a93b9900365923 + +I=3 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e62d6307 +CT=deb69297fd579373b515fc9e5df4ef61 + +I=4 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ea31670b +CT=aa7a35605816345a6f205df97dc5920b + +I=5 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ee356b0f +CT=b25683cd9188db9307f8a1236b53de86 + +I=6 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f2396f13 +CT=0aa9b6245c3900fa06f9555aa7b1dac4 + +I=7 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f63d7317 +CT=b9f83cb018169df761b5c57f3b34cc64 + +I=8 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000fa41771b +CT=7240be2f82fe8076eae8f126a1eac5c1 + +I=9 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000fe457b1f +CT=fb804d10224ae9e7957f93dd6c45264a + +I=10 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000002497f23 +CT=e2500f04022a1c68e8cea368f0a17032 + +I=11 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000064d8327 +CT=65044c9801de27a8cc6666e5666e4515 + +I=12 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000a51872b +CT=f1a28da7b0edaf67406328c3b544a2da + +I=13 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000e558b2f +CT=aea63127579048ceaacadc860a38e184 + +I=14 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000012598f33 +CT=32831b0debc21a3373f0d3b928a4f24f + +I=15 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000165d9337 +CT=d718e51c67cd98f86d93ae089dc4ae62 + +I=16 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001a61973b +CT=9ca996c5c3b3e260bc6fc1b7248823e5 + +I=17 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001e659b3f +CT=7603651fdf71fa58a5c4e3f6b6387699 + +I=18 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000022699f43 +CT=e490c326e63c91853ce14a6691a59dfc + +I=19 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000266da347 +CT=d7c6277832420d3f8592f2ae295cb542 + +I=20 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002a71a74b +CT=c8648c2e4970ea8654789b9eeebfa347 + +I=21 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002e75ab4f +CT=8cfd93e2055d4988ca93490d0ce223b1 + +I=22 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003279af53 +CT=ca4776afec06236c6ec95c3b01291705 + +I=23 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000367db357 +CT=1786be513894d07058a77f852a59d6da + +I=24 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003a81b75b +CT=20e7f4dbef01313e7dfca18ed850a315 + +I=25 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003e85bb5f +CT=56d59108427ec709386b2d17b30ce534 + +I=26 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004289bf63 +CT=0628e76164ae0de13f227f33abf14832 + +I=27 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000468dc367 +CT=b97e7697d149e3f3d52fea26c2cc178a + +I=28 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004a91c76b +CT=b303f81461a5011962030985149ab52e + +I=29 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004e95cb6f +CT=94ad98f360870cfb9681b14129a98fda + +I=30 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005299cf73 +CT=c57bc22c871dda8c050daf7b255ba5ce + +I=31 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000569dd377 +CT=b23e0c4fa523b009333f84c832d8083d + +I=32 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005aa1d77b +CT=5980728a7c4ccb60db41afd615226251 + +I=33 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005ea5db7f +CT=b0ec27a44b532ba6d209ce5cb2eb30d6 + +I=34 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000062a9df83 +CT=772dd1430ffa8f5985965a958668f0a6 + +I=35 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000066ade387 +CT=5003c6b7895eafdd50ca65f703e3199a + +I=36 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000006ab1e78b +CT=b2f957188bd8668f9f1aa57ebd064b88 + +I=37 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000006eb5eb8f +CT=c0b9c16503121aa40bed9ccf8a7881bd + +I=38 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000072b9ef93 +CT=09ea07bfe4344a06f032ebb5644d3ec6 + +I=39 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000076bdf397 +CT=7d49e6ed2fca2c5074249ed07afce06a + +I=40 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000007ac1f79b +CT=96503bfd347a2a8db65c5f363225f002 + +I=41 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000007ec5fb9f +CT=b4bbcf64bf22d05fe7b0b6686c754d01 + +I=42 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000082c9ffa3 +CT=3afcb9c4fa1bec15073c6d60989c2869 + +I=43 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000086ce03a7 +CT=0b4c1b4b7b3cd37b07c3d7a585593b06 + +I=44 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000008ad207ab +CT=f08190dfa9658c1a3d8004b98c648eef + +I=45 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000008ed60baf +CT=0e9722a294c98522ea6e27f3a9d6694f + +I=46 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000092da0fb3 +CT=002b57456cfade42d22f1b23c708692e + +I=47 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000096de13b7 +CT=1246a32b7f0b29fe8a0e309eaa1be9a2 + +I=48 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000009ae217bb +CT=09a9a37ee697fdc051f57d4364d9e576 + +I=49 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000009ee61bbf +CT=3a7e5904df9948e0697ed46d1f56aab5 + +I=50 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a2ea1fc3 +CT=a0e3ec8c9b75ebf073ce0de0edbf1b77 + +I=51 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a6ee23c7 +CT=773387fe466e6320184821aed0378d17 + +I=52 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000aaf227cb +CT=71b36b27836b2656d11b32937a234c1b + +I=53 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000aef62bcf +CT=dc6f33dcf793470dfafb4d7656c2cb44 + +I=54 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b2fa2fd3 +CT=df0ec33203e6d1e66351b265f523281d + +I=55 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b6fe33d7 +CT=c93aa9b65052e64462373f4b8973a934 + +I=56 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000bb0237db +CT=50a5514fd9ccdb804d8d4d14e06a45f7 + +I=57 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000bf063bdf +CT=44c306eddb374f3cec918bbc8e5c0c21 + +I=58 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c30a3fe3 +CT=ee4103327ca00ecd1152b131ed477748 + +I=59 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c70e43e7 +CT=ab67939c075d5d7385f0e38e38f7f269 + +I=60 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000cb1247eb +CT=f3b78641fc81ce2929e5d0c55ed99a78 + +I=61 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000cf164bef +CT=0124049938dfbb9b3672bb71f5ba08e0 + +I=62 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d31a4ff3 +CT=72065561c92385867e009e982507001b + +I=63 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d71e53f7 +CT=08bc48b9410d06a62e3ea7be5eb50bb7 + +I=64 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000db2257fb +CT=6108dbca70b894db8ab3969716daac52 + +I=65 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000df265c00 +CT=a896d226c70489562ab3a02bc100a494 + +I=66 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e32a6004 +CT=741d1a6818a899003b4de2a3ef4102f4 + +I=67 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e72e6408 +CT=a243d9d1d1358590a5d8b386c5c9604f + +I=68 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000eb32680c +CT=c94bb2c0ea733b2b0cbe6391e9ee2aa1 + +I=69 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ef366c10 +CT=412245e3152a3545a618652680649da6 + +I=70 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f33a7014 +CT=6e13a670dd3a2c0ccaedc9252ad57d3b + +I=71 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f73e7418 +CT=2cb4dae1664ed7277b477e28a8178aa0 + +I=72 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000fb42781c +CT=52908b7496a6f0869b4fb631917d651b + +I=73 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ff467c20 +CT=5578bffe62423d4bfead75c9fbe2c131 + +I=74 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000034a8024 +CT=7710fdf4e2c23f812810e9fa5cd61303 + +I=75 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000074e8428 +CT=1e2e3309da8ab9375ec1c9d51d28a350 + +I=76 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000b52882c +CT=f2dd08a0a2ce27c34ab83b334bcaad93 + +I=77 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000f568c30 +CT=7a4e420fdd8ffa4517b2a9398f1a7a70 + +I=78 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000135a9034 +CT=a780b93702ad399a72641ffa6f460ad7 + +I=79 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000175e9438 +CT=9d4fdf66d34c24a1f4d3b35d9a98fbd3 + +I=80 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001b62983c +CT=59289b19fbf9dc8284033456a8108d59 + +I=81 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001f669c40 +CT=7d7eab2b4d0c2769794efca6c49fc002 + +I=82 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000236aa044 +CT=7f7785f997f198c512cca39aa72749c5 + +I=83 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000276ea448 +CT=d1194001bf555c529dddd7f53533edb1 + +I=84 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002b72a84c +CT=12e007426e0b69749228ed0507aef8e2 + +I=85 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002f76ac50 +CT=796f63d11cf9915097d2b02ac2fa140b + +I=86 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000337ab054 +CT=7edbe418a1f25cf3544dc1302da3112e + +I=87 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000377eb458 +CT=019a803edb66c8dd384a206ca420377c + +I=88 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003b82b85c +CT=4388ecee6e15075ff9e95b35f2f31a37 + +I=89 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003f86bc60 +CT=ebe6ce806235b88412f37cd51fb02d36 + +I=90 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000438ac064 +CT=ec6c657322535a29c7ca06dec11da385 + +I=91 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000478ec468 +CT=10267b7a89a3e4b3460c953125d4310a + +I=92 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004b92c86c +CT=87c81e0b8012ed08b02b4248517a818b + +I=93 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004f96cc70 +CT=8dbc87238aba067a61e21b8df35bae60 + +I=94 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000539ad074 +CT=73bf8602bb7fd34e92ad120e0c6ec6fd + +I=95 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000579ed478 +CT=3d955e1cd1dc435ae8a2062ae6492d6f + +I=96 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005ba2d87c +CT=45696dcd536400f14b8f8ac58aeb8cc1 + +I=97 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005fa6dc80 +CT=0d861ceb37d0960c4ad0ca5edd59cd07 + +I=98 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000063aae084 +CT=b3d20cddce083cfc9ccab893d585b1da + +I=99 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000067aee488 +CT=88c92238d7b1e6899913e80c277d4502 + +I=100 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000006bb2e88c +CT=f9c8a7f38fb13651bef8d8c833412c66 + +I=101 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000006fb6ec90 +CT=7876094ce6b0451006aebc16e1dacd6b + +I=102 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000073baf094 +CT=bcac34d19e7c7717eb4831b39979a18b + +I=103 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000077bef498 +CT=f6f0755fbaac5b0b9b816c2261fda328 + +I=104 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000007bc2f89c +CT=53242ae17b4be119707597f72f3d57db + +I=105 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000007fc6fca0 +CT=c0159b0dd48dbbd65de1c5af51791679 + +I=106 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000083cb00a4 +CT=eb5525360cf90c01591f664e18094bf6 + +I=107 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000087cf04a8 +CT=e3047dca75ca50726c39fd41ada09f0b + +I=108 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000008bd308ac +CT=b5a23513fce1ecf66f0fd55d9af7bef3 + +I=109 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000008fd70cb0 +CT=db6fbfc8fbfe2b75e4316e9efb199e77 + +I=110 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000093db10b4 +CT=d959ddce137b1255cbd1ede9cdf6580e + +I=111 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000097df14b8 +CT=f8c926eaeee3c1381ae3f34d1b3e22fe + +I=112 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000009be318bc +CT=150c2a21b613004cfafef4acfd187b3f + +I=113 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000009fe71cc0 +CT=46d38fcffe8d01d4e3e12a9ebf12781d + +I=114 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a3eb20c4 +CT=a64655871d0ef9afbfff8ca4f4a514e1 + +I=115 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a7ef24c8 +CT=2fb369df7f52b5aa84a1921975f0b64f + +I=116 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000abf328cc +CT=8a30228665e225c1ddb1029c76a12d55 + +I=117 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000aff72cd0 +CT=14fca02506971553d19be535187fb821 + +I=118 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b3fb30d4 +CT=83cf7e68843e586733d4958552810d82 + +I=119 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b7ff34d8 +CT=236f3c8a7843f056689a705c1f48f62a + +I=120 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000bc0338dc +CT=fd0b23329ebb7420f6f468cf6e43d676 + +I=121 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c0073ce0 +CT=7451c042b4655c5d2f4a80fd20520876 + +I=122 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c40b40e4 +CT=f96ab24458e86ab85acd33ce9eaeba36 + +I=123 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c80f44e8 +CT=03493cd9b4531b13b1277d4237b87bc7 + +I=124 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000cc1348ec +CT=e32f0d4e0b265d1a0813dba055e42226 + +I=125 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d0174cf0 +CT=012af0549686af94623d75b91e8822c2 + +I=126 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d41b50f4 +CT=ca384a3f87e99c3ba75efda1f494e886 + +I=127 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d81f54f8 +CT=9a783e999d79d9fc55db7023a620ea84 + +I=128 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000dc2358fc +CT=5d2050d7557f719c2d521092a0a1bb4b + +I=129 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e0275d01 +CT=d48c60ac04e1af528fd329c269e5f65d + +I=130 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e42b6105 +CT=398d6c29434f70204dad467a2ff3dbe4 + +I=131 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e82f6509 +CT=126477b6d5276ae942aa7dd6e136692e + +I=132 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ec33690d +CT=4af8293503f0ef34bf18f5216cf2ee44 + +I=133 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f0376d11 +CT=3e5db9ef93137e0e430f06b85218ffd5 + +I=134 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f43b7115 +CT=34be4c3a2890953e4e80717c05a3ec11 + +I=135 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f83f7519 +CT=9f67a2f3bd48594fa8f38065eebdb2d0 + +I=136 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000fc43791d +CT=1237972e6f97ca11d60d3b3e9b7e894f + +I=137 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000000477d21 +CT=01cffc236cac73804469a077faf6edab + +I=138 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000044b8125 +CT=bdbaa894a53148a8b22ec6ad350ddc2b + +I=139 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000084f8529 +CT=52915a2cffd237c73182817421588db6 + +I=140 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000c53892d +CT=ec61d97ddcd2977cded74052e039a6a6 + +I=141 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000010578d31 +CT=52f61bfcfa6a72a84fd071e6ebf77413 + +I=142 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000145b9135 +CT=6b174e50e8e5127b931489a9e0d0b005 + +I=143 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000185f9539 +CT=56d0e4d9a37fbb8eb3f79b4b5d9b9442 + +I=144 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001c63993d +CT=cf7bdd4a02838940f33e3cfdc826a852 + +I=145 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000020679d41 +CT=23d5bf8b3956977e6489a1b53914c1d1 + +I=146 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000246ba145 +CT=d8893ec6fe25f93fbadf5ddd6c2973b7 + +I=147 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000286fa549 +CT=ae64f9e4bbafff39e220c535b6477719 + +I=148 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002c73a94d +CT=f1750cd302888e475353d1a40723391f + +I=149 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003077ad51 +CT=fbaf2205fd18de6029169128e16464ae + +I=150 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000347bb155 +CT=24a7aeb91dcfdc63b8da026cae9f8cad + +I=151 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000387fb559 +CT=ac37b5ef1830edf2821feba174fac71c + +I=152 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003c83b95d +CT=2ef2957b48d4477a7b0b88ee403614dd + +I=153 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004087bd61 +CT=2c6879e9d622c9202f5c469c56601e6c + +I=154 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000448bc165 +CT=be1286cabfe7fec4da5b1986ad95a3ca + +I=155 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000488fc569 +CT=3b3dc0e4e567b6e201d3bdf936946537 + +I=156 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004c93c96d +CT=82a394ef271cf1196ad3cc524ff329e2 + +I=157 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005097cd71 +CT=e1098f5f3a190efea3652105c4eb302e + +I=158 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000549bd175 +CT=2e6023cdbbdc516e33edf914184d62b2 + +I=159 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000589fd579 +CT=35849d150316aee81f157ca83a481afb + +I=160 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005ca3d97d +CT=604c837d1bac4decbe4725cbf748ce3d + +I=161 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000060a7dd81 +CT=a1784505bc3165561cbd7274aaa9c929 + +I=162 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000064abe185 +CT=92cc37f5c2c4f58c70b014398179d123 + +I=163 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000068afe589 +CT=7846cd2a3de1b743c218de0232841f5e + +I=164 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000006cb3e98d +CT=dce78bb6ac4a8d6df28b1304e49614ab + +I=165 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000070b7ed91 +CT=939c949122328d3b8a8283eb60e00c04 + +I=166 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000074bbf195 +CT=817c6f8db6870f0df6ff206e4afa74e5 + +I=167 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000078bff599 +CT=27f0eea1852535f2394f53b4b6c087ca + +I=168 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000007cc3f99d +CT=e7854e6b70cb3be5b51180f717c29590 + +I=169 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000080c7fda1 +CT=9ced9478d8ea3d6c5910d6dbf3ea2806 + +I=170 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000084cc01a5 +CT=419372afaef7723b9f174c0b31e3c641 + +I=171 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000088d005a9 +CT=1907b0479279af22600d00f5988bab04 + +I=172 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000008cd409ad +CT=28fdacec06030909fbd64a50fd2b1232 + +I=173 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000090d80db1 +CT=a3898a218c654c42678a2380c042ac6f + +I=174 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000094dc11b5 +CT=43fd220639d0fbe439341d735b9438c0 + +I=175 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000098e015b9 +CT=536c037e4c81b7ba63fa4eaefdaada12 + +I=176 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000009ce419bd +CT=b69f1144a0109da903f5e7719c02f5ed + +I=177 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a0e81dc1 +CT=d4bfdc6ad48e8c06650f99def762a0e2 + +I=178 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a4ec21c5 +CT=c6e7ebcf64d25ab98a80595dd0dca3bd + +I=179 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a8f025c9 +CT=86e970d2a7e4e89e73da557087d468c3 + +I=180 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000acf429cd +CT=b255912fbaf8e6e48be0864f63c0faf1 + +I=181 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b0f82dd1 +CT=9806c8ec5d34de35f3626973a014a234 + +I=182 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b4fc31d5 +CT=bb7277a850bb47bd576cd3b7fc244652 + +I=183 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b90035d9 +CT=17c86589ef136ae2e82dc8f59426852c + +I=184 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000bd0439dd +CT=320f5e3f1e0ba77a38fa75edc23d4c45 + +I=185 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c1083de1 +CT=29e4b5525d5c6aa01daa10a1e21bd7f7 + +I=186 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c50c41e5 +CT=9469093fc0e7df7c30f477024352aeba + +I=187 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c91045e9 +CT=8793efc0dc96ecb4cf070c8e6ff21c85 + +I=188 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000cd1449ed +CT=d765c0f97fd89f943a67a19a53b897f2 + +I=189 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d1184df1 +CT=70b110abd14a604c92c956e8796e7b11 + +I=190 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d51c51f5 +CT=3df95ae05689a5f2a15be1682dbbf07d + +I=191 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d92055f9 +CT=41675610787a5a366223423d072ae018 + +I=192 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000dd2459fd +CT=039852f634b14dd673cc8e559ba8f99c + +I=193 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e1285e02 +CT=e3ab921cf57e3a9fdb30a0a1c8fa4591 + +I=194 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e52c6206 +CT=35b1c35fbe2b1a085f8a85dc13ae2215 + +I=195 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000e930660a +CT=a0e5c286dc381692deaa21b8ca20824f + +I=196 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ed346a0e +CT=c997d738e92a1f804fa8566c9d14fb40 + +I=197 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f1386e12 +CT=8dc629c4dba8f9c20b3daa93eb114c56 + +I=198 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f53c7216 +CT=255add94411a5141496aa0e971b7102e + +I=199 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000f940761a +CT=7e73efb4a100c520df19d516ce043886 + +I=200 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000fd447a1e +CT=da7702099a19688edd40a95aeec1b9cb + +I=201 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000001487e22 +CT=7cf41fca8dc18c55bd6336a2a76403c4 + +I=202 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000054c8226 +CT=bdabb78de01f51ff6a0d339f38e2838b + +I=203 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000950862a +CT=de97874a1d9a0b212ac0f4eff724a748 + +I=204 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000000d548a2e +CT=ae50e32f57d0606f3f6b82413a015ec0 + +I=205 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000011588e32 +CT=9508bfa7d95a4d9c34eb9f05894ad632 + +I=206 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000155c9236 +CT=0fd19c166e65d0fc9e36ab7593e7b906 + +I=207 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001960963a +CT=379d313d6fd5ec54a94c0c8b221bc8a4 + +I=208 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000001d649a3e +CT=58e5dbd0655abfc4a0450911fc68c505 + +I=209 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000021689e42 +CT=733f951a74e3da4990c14cb06e65e9a3 + +I=210 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000256ca246 +CT=879c661f32b110004ecb5f35b4231302 + +I=211 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002970a64a +CT=98bd123a8ffdc0eeae9a818aa2bfbc64 + +I=212 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000002d74aa4e +CT=5ab51cad4af590b2d6350ee2741fb8c5 + +I=213 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003178ae52 +CT=a71d482778ab93c87064a740899453f2 + +I=214 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000357cb256 +CT=95efde5578f3ee55f45ec168743d3b69 + +I=215 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003980b65a +CT=87b0099f7ad1819232b30f804febc463 + +I=216 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000003d84ba5e +CT=bbf1121573b08794e5b9420211d402b6 + +I=217 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004188be62 +CT=bc9ef2dc414ae5b236aed37e4145d473 + +I=218 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000458cc266 +CT=67b996d85d7cdb00cf008288ac59cdc0 + +I=219 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004990c66a +CT=d4f101fc0ee33439ca1dd74da946d07b + +I=220 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000004d94ca6e +CT=a01e7a1bb44b8a29ada80a9bed74a25a + +I=221 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005198ce72 +CT=5dcffdab2e0e1adb453260b396d389e4 + +I=222 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000559cd276 +CT=8e70b6828f9133de8eb809d578c6d8e2 + +I=223 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000059a0d67a +CT=de1fab8fb9e72f580f559ed77c52e23e + +I=224 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000005da4da7e +CT=c76458511573fd46aa3d090d39f9e4fa + +I=225 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000061a8de82 +CT=1c874112181638e007c97afd70600423 + +I=226 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000065ace286 +CT=7f680ce0dc37cf7d885dcfda65f8cd4d + +I=227 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000069b0e68a +CT=b14efdb5c7d3b076bf5249fedb159424 + +I=228 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000006db4ea8e +CT=81c6290196f4096afb7346e13401590f + +I=229 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000071b8ee92 +CT=9a2b87db45fb3639f838cc68ad84c097 + +I=230 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000075bcf296 +CT=c0acf6cf96116540e3981f5246452a02 + +I=231 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000079c0f69a +CT=b302794a4648dcd33d36100077923668 + +I=232 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000007dc4fa9e +CT=cfeb13f51564fa621dd4c3a3a9c57225 + +I=233 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000081c8fea2 +CT=51db8ac6f5af21694d54c788664d3b12 + +I=234 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000085cd02a6 +CT=a6028368cd7cd89db30d3d60bef468a0 + +I=235 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000089d106aa +CT=84bd00b5e47e5eb11513d7e4a8c8df45 + +I=236 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000008dd50aae +CT=4b0296aaceaf57567b5cf65c723d9976 + +I=237 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000091d90eb2 +CT=4a45f8533680b7446da88ae2ef1871c4 + +I=238 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000095dd12b6 +CT=daee2d04698e2f0dd6ba3de8e6033aec + +I=239 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=00000000000000000000000099e116ba +CT=14314be145cd4178cd7d2d3a282ef9a5 + +I=240 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=0000000000000000000000009de51abe +CT=ed7efff6960c5da232a1eec5107f2027 + +I=241 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a1e91ec2 +CT=4b158ae684882b6c3de7f53a623acb5b + +I=242 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a5ed22c6 +CT=b4a44c408407f1873466df2c7025998f + +I=243 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000a9f126ca +CT=4e86ccbd7d09cffe614e2a28abaccc7c + +I=244 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000adf52ace +CT=e7bd8690a9da6da42074cebd5cf59ae0 + +I=245 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b1f92ed2 +CT=fe1688ef1d4717260b327c671eb1041e + +I=246 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000b5fd32d6 +CT=aa6fceee41fc935c905242f441f108db + +I=247 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ba0136da +CT=e4eedaba112f7b51b02ae3ef6b5c29db + +I=248 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000be053ade +CT=869013dcbe5753f1cf51b6b62df6d9ec + +I=249 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c2093ee2 +CT=8eceecbf8992af212a087ca8d262f92c + +I=250 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000c60d42e6 +CT=4b5aaf614ada3fd79e8ee496bd20aff6 + +I=251 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ca1146ea +CT=905cda2a4894d17d0ca0c01e8451f3ba + +I=252 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000ce154aee +CT=5195a05baf54338e19f6949319c4626c + +I=253 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d2194ef2 +CT=ada47dfbab22d1d66c3978d2824ccf29 + +I=254 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000d61d52f6 +CT=4ec34fc32a3e9417aa73c4cfd999ba78 + +I=255 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000da2156fa +CT=bcefa8793b0751f655b9cb641b391337 + +I=256 +KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863 +PT=000000000000000000000000de255afe +CT=fa5a38e12a0280ef5dc1c855f554b75e + +========== + +KEYSIZE=256 + +I=1 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000bdf4e311 +CT=fa5874ab5aba5c0ba20aa82124c8f5a5 + +I=2 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000bef5e412 +CT=7b009fbc0188e770acf8f05d7c5a3144 + +I=3 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000bff6e513 +CT=820fa1f5ba9bcc413198d9c80a5d102a + +I=4 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c0f7e614 +CT=ec3e65601dbd9845c680315d3f03c17c + +I=5 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c1f8e715 +CT=200527b8d9b9920dab217152a6c984f3 + +I=6 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c2f9e816 +CT=18066344a160214d4d776b6ede4a7d50 + +I=7 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c3fae917 +CT=3b73f21613077af7df6c846e3f8fb58d + +I=8 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c4fbea18 +CT=ac127a7d442872579773412198afd493 + +I=9 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c5fceb19 +CT=1e2ebc6c9f2e438e1d90d9b9c6853286 + +I=10 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c6fdec1a +CT=76e76b956747cf5046bb168d9362adc4 + +I=11 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c7feed1b +CT=3c8485cda01fdc90d2b4c47bb8f33751 + +I=12 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000c8ffee1c +CT=c8f4cdb0e8a978795380fb38ad4de678 + +I=13 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ca00ef1d +CT=2c729e45c85cdecdae8f0fbe092eab3a + +I=14 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000cb01f01e +CT=6560f2b22887ae223005bbb05a2260db + +I=15 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000cc02f11f +CT=8012dbd3638eb2c0e68221fc5d2266ae + +I=16 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000cd03f220 +CT=bea980f52a51bd77dafc30fc0849b40b + +I=17 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ce04f321 +CT=f8c34940b6ed541f837b0ba671b64a32 + +I=18 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000cf05f422 +CT=f61772310e2160770eb7e7e92469ff32 + +I=19 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d006f523 +CT=9a53d5b202f69834dcfea818decbaa0b + +I=20 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d107f624 +CT=3ba22379a8d4685ae070d2f80cf90400 + +I=21 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d208f725 +CT=732431508da1d498edf3371d029713b3 + +I=22 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d309f826 +CT=f54a4b5ebdb25687446019a951301a2e + +I=23 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d40af927 +CT=f747775f4754d3fcdff1b78ba9a0635f + +I=24 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d50bfa28 +CT=357ec52fa860807ee75c90279c7e0a7f + +I=25 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d60cfb29 +CT=7d9f065550eeaddaa0d91c8d2703c455 + +I=26 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d70dfc2a +CT=879405339c70f1d6f1a74f2e621369b8 + +I=27 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d80efd2b +CT=44619791de0bb41aadde063cc3fe7173 + +I=28 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000d90ffe2c +CT=4b77919370504b788ffa41c641e6318c + +I=29 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000da10ff2d +CT=e6c906bb4d5a9146cdfdea7f0af75352 + +I=30 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000db12002e +CT=6299ce44a51eeb34f7153f200016ebeb + +I=31 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000dc13012f +CT=8c17c0c65dcc3238e27460d0ffa420fd + +I=32 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000dd140230 +CT=2244ca8a1d19b2089ef79717d07adce3 + +I=33 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000de150331 +CT=20def388d640665dd1d6f6d69764d5c5 + +I=34 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000df160432 +CT=3c49c1fd84a3e4d19803813162eec4d6 + +I=35 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e0170533 +CT=5776cc1f9242711965b21c1b8ae803cb + +I=36 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e1180634 +CT=2c870935cd5c6b2f711ec3e53d5e2a11 + +I=37 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e2190735 +CT=68078810b191fdce945cc11c217d58c4 + +I=38 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e31a0836 +CT=579fbb9d14af62219cffadc3ebdb8997 + +I=39 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e41b0937 +CT=2a4b3d1c1ef3ef764289a2f46ce1944f + +I=40 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e51c0a38 +CT=e4c79b7e236b8a5434f509ead641585b + +I=41 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e61d0b39 +CT=b3966c525c0df51496616478557ac959 + +I=42 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e71e0c3a +CT=9acac84294d5ece39edf40b8c3e46f82 + +I=43 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e81f0d3b +CT=fbe4f0b565a0d1208fa90875977e48de + +I=44 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000e9200e3c +CT=b06406f01aaef220b8c70743dc1613e8 + +I=45 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ea210f3d +CT=550d3ad75a692d1754b0ca6b780c2a50 + +I=46 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000eb22103e +CT=1ef11aaf44642eff5311de9087bcabe5 + +I=47 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ec23113f +CT=aa0e5fd8629a46607d125648529e561b + +I=48 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ed241240 +CT=e7f76cde1a21b51c1d262761b6cb499e + +I=49 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ee251341 +CT=a63c576fb1fe748ad20fda23532cd1d7 + +I=50 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ef261442 +CT=2a9bb16e750aa414e18cb3fe8c3e9d73 + +I=51 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f0271543 +CT=ad9493d3f4891ebba47aa9605edb432e + +I=52 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f1281644 +CT=7ddd66016279d322bd33ebc065b4b3ad + +I=53 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f2291745 +CT=1dcc54c5879dc1e4b78a12747ec47cea + +I=54 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f32a1846 +CT=e092b08b7df2d5dc77d023c305446b14 + +I=55 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f42b1947 +CT=dcd6bb01af27e45b2915c6bdea21e7bf + +I=56 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f52c1a48 +CT=bbb325e7bb5f0595142f40038ebe75cd + +I=57 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f62d1b49 +CT=28abc4f539715938e86e9003b72a9d9b + +I=58 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f72e1c4a +CT=8e0a6d75bed60fb50f1d27802a3563dc + +I=59 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f82f1d4b +CT=831a34120336799b4183a4892e1755bf + +I=60 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000f9301e4c +CT=60ac7da8344aef4e4f04d623c839130b + +I=61 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000fa311f4d +CT=7e6e45faf7559fb0507b5e013b12c3a1 + +I=62 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000fb32204e +CT=106173a7c4cf272ffb4dc3c50af363f6 + +I=63 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000fc33214f +CT=f77099a848f7bd4e45f8fa854f1cd7be + +I=64 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000fd342250 +CT=7f50659eec6be9f70c424d4d9da38c6c + +I=65 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000fe352351 +CT=a86f1fc6a4d3576cf6d7809faf9be6d7 + +I=66 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ff362452 +CT=36831d0475c00789eacae85697cc31b5 + +I=67 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000000372553 +CT=447cfb2429a97fbda5a7f4275fd5ebc9 + +I=68 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000001382654 +CT=5234dc352c95c37b777aa5d450617f7b + +I=69 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000002392755 +CT=c63e188c7d9b836ff0b534ea6cc5f20b + +I=70 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000033a2856 +CT=9d5967bf2b06ca90c036f8a62f31ea3a + +I=71 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000043b2957 +CT=dcc2808ad5339d481629c389f7c7bc48 + +I=72 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000053c2a58 +CT=0c399d8a15c8239e79f20f6cad60e7de + +I=73 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000063d2b59 +CT=5d8af0f9077b7a83a7464a13cc1c77b7 + +I=74 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000073e2c5a +CT=2a7a74b3e85868a6a07492cd4ce30d21 + +I=75 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000083f2d5b +CT=9d185e3fc2424cb8a6dd49c03665bc21 + +I=76 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000009402e5c +CT=60d042b8a09ce79308566dd4685a7467 + +I=77 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000000a412f5d +CT=bdcce7b1a9395e1136a2114ef686cebf + +I=78 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000000b42305e +CT=e47a85c95d98a403d145293abfb77276 + +I=79 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000000c43315f +CT=ba8e7ecac0412666a03522e3476914fa + +I=80 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000000d443260 +CT=579bb11a3955359d61db2f2518de492a + +I=81 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000000e453361 +CT=b63e428d919ae14b06704fdff37af4a6 + +I=82 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000000f463462 +CT=53bd525c401ec7af165690756db03442 + +I=83 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000010473563 +CT=22e4bfe57bad3b26fa98463b1df22660 + +I=84 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000011483664 +CT=118213cce381e69d36232369eb7f2e4f + +I=85 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000012493765 +CT=95bf4cbff2d7359e9612be999831960c + +I=86 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000134a3866 +CT=10e51b350ff07cb0823faca252fd4b5e + +I=87 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000144b3967 +CT=30260ef49f59cd1167e7b4463fd2e13c + +I=88 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000154c3a68 +CT=45004dc49fd0468fe7e6cd6cb11e004c + +I=89 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000164d3b69 +CT=a00304978783a70f39e102c5ee323c15 + +I=90 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000174e3c6a +CT=df2b5b5a1981e5c650b4e93d4ac0ce98 + +I=91 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000184f3d6b +CT=3b497d0a86566fd8c98c30fef8833abb + +I=92 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000019503e6c +CT=2efc72216dc28d7750447e9d3d52f3cc + +I=93 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000001a513f6d +CT=e7c76b0f76cea0e57cdbac0e28aea5db + +I=94 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000001b52406e +CT=432e3e28886dad4554b01b5932522d1d + +I=95 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000001c53416f +CT=209d2a90bad747dc81f703a9f4bec128 + +I=96 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000001d544270 +CT=f91f84342622518a60a29052d980625a + +I=97 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000001e554371 +CT=4d0f49a9d41f498c0099bc6faf234ed6 + +I=98 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000001f564472 +CT=8a57f034610623afff108a0fca10587a + +I=99 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000020574573 +CT=c275e6eef7dddae6f538b22725676738 + +I=100 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000021584674 +CT=101e5b91d9997d15ef04dd6edbaa8a1b + +I=101 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000022594775 +CT=973d748fe7bfefb5bcaaf9c958a76e43 + +I=102 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000235a4876 +CT=faa7623c9c8b042e5f02aebd14d5409d + +I=103 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000245b4977 +CT=945d747f646aeac75b17bdf10082abf9 + +I=104 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000255c4a78 +CT=1b98918ea254577f98155f0959d33249 + +I=105 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000265d4b79 +CT=ad1036394dec6c65b0b6014cd3ebb31a + +I=106 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000275e4c7a +CT=b9bdc22f9a413547b67c6608204d70d9 + +I=107 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000285f4d7b +CT=406240b2dde247346d65c7174be74221 + +I=108 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000029604e7c +CT=82d6683ad6bc93fb6b98b4c916c7af15 + +I=109 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000002a614f7d +CT=51fd3aa9bbe162a975200177d29dd996 + +I=110 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000002b62507e +CT=20874f837d4e17f72de2009c7b51d6e3 + +I=111 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000002c63517f +CT=d063b4437c20e79f7e7c39b423312003 + +I=112 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000002d645280 +CT=0023292a810e0ee5ee6dfb8963008816 + +I=113 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000002e655381 +CT=88b2f9c7eff18759e0a43ac0ba9e8a54 + +I=114 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000002f665482 +CT=055162e8b0dc2fd0985ca949a159b943 + +I=115 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000030675583 +CT=460af977dd43a8de8514a227f94daa1a + +I=116 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000031685684 +CT=3656b3a06918d139d8c7c8c8d9211bd5 + +I=117 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000032695785 +CT=c88d662dceae227bd6234712b8ba02d5 + +I=118 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000336a5886 +CT=86454c391001e6945ba70d4963c5d7eb + +I=119 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000346b5987 +CT=5a4cedba9b3744172a65267a565c510f + +I=120 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000356c5a88 +CT=64dda5c18daee58689fc1946c6c8a46a + +I=121 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000366d5b89 +CT=212d17cc33d8183d97887de43743da8b + +I=122 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000376e5c8a +CT=7cb664075397b303f36fa29335055515 + +I=123 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000386f5d8b +CT=78db674c3d1e75f9444c75f0b7fbaeda + +I=124 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000039705e8c +CT=183e14f3eead542b5f6611314789ac11 + +I=125 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000003a715f8d +CT=2f822f65ed936ad0bf1f6ac6cec202f7 + +I=126 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000003b72608e +CT=8165dac4749e0c4c4c473199da9317ee + +I=127 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000003c73618f +CT=abbbbac1cae7fefa1500698ea34288e9 + +I=128 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000003d746290 +CT=bea12da6ca5afcccd0bba52a70b3827d + +I=129 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000003e756391 +CT=8c44e23f842c7987cc8bd3d62b55db5a + +I=130 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000003f766492 +CT=3c5b8ccf83ac8af6556d615f4ed4507b + +I=131 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000040776593 +CT=5d65b40f21183e7f4108bb86d5196aa2 + +I=132 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000041786694 +CT=b0bdbab343df9619d6a6dfe55e48ef31 + +I=133 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000042796795 +CT=da2b151c3ec2c626629f7bdb80c65d84 + +I=134 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000437a6896 +CT=22001928278748422b3c8db7c19f726f + +I=135 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000447b6997 +CT=4603026213d8358235bf31cafc95c33b + +I=136 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000457c6a98 +CT=1bc10bb1d0a0b9b17e174c460eab15bf + +I=137 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000467d6b99 +CT=266a63551bb0a9ad0dbda1f54f6617ed + +I=138 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000477e6c9a +CT=680c722664281702f045807833faf3c9 + +I=139 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000487f6d9b +CT=56fc9d0a51d9e34a4deffaa8267fe220 + +I=140 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000049806e9c +CT=0a6a45e955a11badb09bc6db1f278708 + +I=141 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000004a816f9d +CT=f6242db2eafb31da660665a680298655 + +I=142 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000004b82709e +CT=3eb89660494cfedb5b33e192e8637c83 + +I=143 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000004c83719f +CT=73cc92edcf79c2020df6f8b366973874 + +I=144 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000004d8472a0 +CT=2b417eca2e0766dc81e47c7189355529 + +I=145 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000004e8573a1 +CT=ef1ee4b07418f816c7a97842b4e3799a + +I=146 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000004f8674a2 +CT=31daf598aaa2812d3a8fca33d9463186 + +I=147 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000508775a3 +CT=04970e556543a0491c4d0ac26f79d702 + +I=148 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000518876a4 +CT=75974cccd6b0f6532d9174e38682ea17 + +I=149 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000528977a5 +CT=39bd529deff746f4d328c525aef72ea2 + +I=150 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000538a78a6 +CT=00558cf192a076104f529d511d2e2522 + +I=151 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000548b79a7 +CT=5bbe55f61cf5508170e72268078c7f89 + +I=152 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000558c7aa8 +CT=908b0b2e2e0b62d8543195f140e0b195 + +I=153 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000568d7ba9 +CT=29ad082ac5e7effb54392648d8de7eff + +I=154 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000578e7caa +CT=2167b24376c9b2da92aaa526e0eb5ba5 + +I=155 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000588f7dab +CT=00c8182757fc52f819c3ad44de6d88f6 + +I=156 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000059907eac +CT=381317768987fda2a7e2b2654e17f5e3 + +I=157 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000005a917fad +CT=cc4e72186b133a9cbf5adf8664df4ed0 + +I=158 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000005b9280ae +CT=c52a681a20fd9b8f89e833ecc303f880 + +I=159 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000005c9381af +CT=e8f75600640ee6da9f5f85695ccdeac4 + +I=160 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000005d9482b0 +CT=5da0ad46e6f3dde1e811bae75951f0ec + +I=161 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000005e9583b1 +CT=b8e8e69ae4072135d1cf24740f901d88 + +I=162 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000005f9684b2 +CT=c94c40161476a6318987945fb1df9762 + +I=163 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000609785b3 +CT=012dd7967f34f7e80e1c2a31a6f0c21b + +I=164 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000619886b4 +CT=66f0bd99f97ba97a28f0e3a58cff986c + +I=165 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000629987b5 +CT=aeaa698da50bd336f561516c781c9f99 + +I=166 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000639a88b6 +CT=33f74910a2b7c972ce451e03bcacb060 + +I=167 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000649b89b7 +CT=2596b758321da2f4418cbf3094c4b3cc + +I=168 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000659c8ab8 +CT=ac4b40f1beb3394473f77369b4b212bb + +I=169 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000669d8bb9 +CT=de6182b0ef3c7a7064bc510b7e658591 + +I=170 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000679e8cba +CT=74b7bb0f1e233deee6ba5342fcb315ba + +I=171 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000689f8dbb +CT=9cca928dde9eb5363421d829dba1f73f + +I=172 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000069a08ebc +CT=6f472acb4e2aa9f364bdf06ff01212e4 + +I=173 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000006aa18fbd +CT=4526738a6ea2e38ff4948475ef1d0514 + +I=174 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000006ba290be +CT=cd0553cd00333023f8f073e88335eb94 + +I=175 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000006ca391bf +CT=2c95f9be0d62811fa148faa213ab044a + +I=176 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000006da492c0 +CT=0a56a918271ad706c469f1c64a68b0e8 + +I=177 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000006ea593c1 +CT=cc55817132b7b952d61ef2ebb9b85376 + +I=178 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000006fa694c2 +CT=407c1e19ca5bb018f67a5cf045cbcf54 + +I=179 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000070a795c3 +CT=6c0dbd17a96ab1db1749474301588b8d + +I=180 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000071a896c4 +CT=d56ed97fcc4303e5a735cb0d7b3829a0 + +I=181 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000072a997c5 +CT=07ebf85e23c6a9f2810aaa006729e9af + +I=182 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000073aa98c6 +CT=57fcf99aeab65013f768f3e7d40e3242 + +I=183 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000074ab99c7 +CT=9be962a611715e2f9a330583e8627020 + +I=184 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000075ac9ac8 +CT=05cb26c27ba7f9a6bf1a522463545918 + +I=185 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000076ad9bc9 +CT=ee8616ed9d8afbe51535cf33c41382f9 + +I=186 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000077ae9cca +CT=b8abb79f315b44b3485441480c5dffb2 + +I=187 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000078af9dcb +CT=5d585bf1e68e12b511a8d2549e14d5fd + +I=188 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000079b09ecc +CT=4af119427e6f5555f81a3cda4a2c0258 + +I=189 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000007ab19fcd +CT=e8b683c9995fca0494134cdebe5cf31f + +I=190 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000007bb2a0ce +CT=3d2a3238738efc5df2b4fa69cf0b8e65 + +I=191 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000007cb3a1cf +CT=4286a7fdcd0c2ed2b0a6d0ea285b6b34 + +I=192 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000007db4a2d0 +CT=6b44959b200ee6d5b7514913cc812590 + +I=193 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000007eb5a3d1 +CT=3c62a0bb3f78f5db8cd56918b4c17951 + +I=194 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000007fb6a4d2 +CT=e61a6e4259414ea3b01e5312f2c18d70 + +I=195 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000080b7a5d3 +CT=d7cd642233a7287aa8a9039430c84c1a + +I=196 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000081b8a6d4 +CT=65924ffae31d08bc7db686a4fdb3796c + +I=197 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000082b9a7d5 +CT=74ab65174ca5fa8ab7150b1ca352ca7a + +I=198 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000083baa8d6 +CT=8f40682de5a6453ba2451b1c0f8e9955 + +I=199 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000084bba9d7 +CT=05db30f7137e0bcdb701450bd61bfefa + +I=200 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000085bcaad8 +CT=9e96d404c8a6d57dc79bd74ad293c0b6 + +I=201 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000086bdabd9 +CT=7cee555df89da1bf5e3149d252d66a3c + +I=202 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000087beacda +CT=ce9ffd11994ac818037f091b90f56fc6 + +I=203 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000088bfaddb +CT=22fa239c7c70339ea9b26326a93fb133 + +I=204 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000089c0aedc +CT=373b1dc15858e9bb06a6d4ca7d6f3339 + +I=205 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000008ac1afdd +CT=e1b9862486cec915035d3025874a3871 + +I=206 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000008bc2b0de +CT=a7d2cb0d597289f32095bc11024b8a01 + +I=207 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000008cc3b1df +CT=2e6bc9fa57142444a9c6e4788e8b053b + +I=208 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000008dc4b2e0 +CT=7a23d793235fe6fffc68777c7d22df0b + +I=209 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000008ec5b3e1 +CT=f5a01d28dccbfd9b9152b03b07e3ffee + +I=210 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000008fc6b4e2 +CT=4ebcb6d6bf0001e5487b6004653a7fc3 + +I=211 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000090c7b5e3 +CT=bb534bf89a79dd65ab3746103e659912 + +I=212 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000091c8b6e4 +CT=aaa6fdbd9cb341d88775a4645208b884 + +I=213 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000092c9b7e5 +CT=0414855ba2db3129770f23ce0b04a979 + +I=214 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000093cab8e6 +CT=ccf187e6727aa79af1e025975ec18ef6 + +I=215 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000094cbb9e7 +CT=129943deb3fec66e8583e9234b51a8ce + +I=216 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000095ccbae8 +CT=7510831985efd85dd9b7e7a2eaea19fb + +I=217 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000096cdbbe9 +CT=504eb2de18ef3385638e025abb3d779f + +I=218 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000097cebcea +CT=2580738153a0db349926469c9d8e68fa + +I=219 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000098cfbdeb +CT=215fca0ad9411f91fa418e682673eed9 + +I=220 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=00000000000000000000000099d0beec +CT=3e9429668f70303b189e05ef58f7ae9d + +I=221 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000009ad1bfed +CT=9292787916f31ba18f28c83fe8fe9998 + +I=222 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000009bd2c0ee +CT=babcca367e31acaa745d16188de93c75 + +I=223 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000009cd3c1ef +CT=ea09dd401093d429bef30c6e9e839294 + +I=224 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000009dd4c2f0 +CT=415604b05491e132b6e4602fe4a39065 + +I=225 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000009ed5c3f1 +CT=7003f0078d0f769e65a1ee7882d1c963 + +I=226 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=0000000000000000000000009fd6c4f2 +CT=3c23b8d97d8f711afb9853389a52ad78 + +I=227 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a0d7c5f3 +CT=a554f138cf610750154ab34d6a471b96 + +I=228 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a1d8c6f4 +CT=3e7656487177ff76dc80b80da4bb29a8 + +I=229 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a2d9c7f5 +CT=6b72061428c4171c63cdd86f72e8a988 + +I=230 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a3dac8f6 +CT=fbc094633c6c4b15c4bc16f23c85654f + +I=231 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a4dbc9f7 +CT=af073332e2551a07c6563e3ff7259a79 + +I=232 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a5dccaf8 +CT=24f2a30821bab1d5679f24e0ddd3c2af + +I=233 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a6ddcbf9 +CT=27a80f9f110b4cd37df649545eb10118 + +I=234 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a7deccfa +CT=6b060c8c8f6380cc98e028d18c9ca0c0 + +I=235 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a8dfcdfb +CT=4079b0d2887d0cf446dc7dc132abc745 + +I=236 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000a9e0cefc +CT=dfdb8680d5b4b70928c807632d29803b + +I=237 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000aae1cffd +CT=84cca1803397ea1c6db50e72270d4a2a + +I=238 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000abe2d0fe +CT=701a71ff5e1fdff521e33cf9939f97d2 + +I=239 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ace3d1ff +CT=ed85e5e58ee3e0cfba06c9d9e3705653 + +I=240 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000ade4d300 +CT=acaaf60ab304babddedadff9c06b0fc9 + +I=241 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000aee5d401 +CT=1f6fb76c739fc6c8175885bfbcb43f97 + +I=242 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000afe6d502 +CT=67da44d5df2b9e6cc2cb681ed4169903 + +I=243 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b0e7d603 +CT=430145e2fc9a348eccf516b84dde1176 + +I=244 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b1e8d704 +CT=a85160d389f8e47797b7e7f209898c4c + +I=245 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b2e9d805 +CT=aab348855cac0dc7bdf2fa02757a2154 + +I=246 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b3ead906 +CT=5c72aa3065edb91556196a5c28af7155 + +I=247 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b4ebda07 +CT=9f151952867770c6038d96b3236ada5b + +I=248 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b5ecdb08 +CT=7fc18b495733e6594db775e5420f66b1 + +I=249 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b6eddc09 +CT=54828e2cfcb574d441a83e58fe0175b2 + +I=250 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b7eedd0a +CT=70b6e0e8404f9231f0de528086d7bd20 + +I=251 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b8efde0b +CT=4f07ab67b3958c008209090ed3a41798 + +I=252 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000b9f0df0c +CT=b9e2c687cc4ef28977ba76b4d07ba88d + +I=253 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000baf1e00d +CT=1613ba9d32eff76fb4c281bbdf1f8ed3 + +I=254 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000bbf2e10e +CT=2da2e0b389d1905a1f18794270d6776d + +I=255 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000bcf3e20f +CT=68d1185cd8528377f77a9373bb4c46d1 + +I=256 +KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604 +PT=000000000000000000000000bdf4e310 +CT=33b08e8c46ef59020f89a85134a2664c + +========== diff --git a/tests/rc2 b/tests/rc2 new file mode 100644 index 0000000..d6f9e74 --- /dev/null +++ b/tests/rc2 @@ -0,0 +1,15 @@ +# Test vectors for RC2 +# +# $Id: rc2,v 1.1 2000/06/17 12:11:49 mdw Exp $ + +rc2 { + 0000000000000000 63 0000000000000000 ebb773f993278eff; + ffffffffffffffff 64 ffffffffffffffff 278b27e42e2f0d49; + 3000000000000000 64 1000000000000001 30649edf9be7d2c2; + 88 64 0000000000000000 61a8a244adacccf0; + 88bca90e90875a 64 0000000000000000 6ccf4308974c267f; + 88bca90e90875a7f0f79c384627bafb2 64 0000000000000000 1a807d272bbe5db1; + 88bca90e90875a7f0f79c384627bafb2 128 0000000000000000 2269552ab0f85ca6; + 88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1e 129 + 0000000000000000 5b78d3a43dfff1f1; +} diff --git a/tests/rijndael.aes b/tests/rijndael.aes new file mode 100644 index 0000000..4dd4c9c --- /dev/null +++ b/tests/rijndael.aes @@ -0,0 +1,1954 @@ +/* Description of what tables are tested: + The provided implementations each use a different set of tables + - Java implementation: uses no tables + - reference C implementation: uses Logtable, Alogtable, S, Si, rcon + - fast C implementation: uses Logtable, Alogtable, rcon + and additionally, T1, T2, T3, T4, T5, T6, T7, T8 + All these tables are tested. + +========================= + +FILENAME: "ecb_tbl.txt" + +Electronic Codebook (ECB) Mode +Tables Known Answer Tests + +Algorithm Name: Rijndael +Principal Submitter: Joan Daemen + +========== + +KEYSIZE=128 + + +I=1 +KEY=00010203050607080A0B0C0D0F101112 +PT=506812A45F08C889B97F5980038B8359 +CT=D8F532538289EF7D06B506A4FD5BE9C9 + +I=2 +KEY=14151617191A1B1C1E1F202123242526 +PT=5C6D71CA30DE8B8B00549984D2EC7D4B +CT=59AB30F4D4EE6E4FF9907EF65B1FB68C + +I=3 +KEY=28292A2B2D2E2F30323334353738393A +PT=53F3F4C64F8616E4E7C56199F48F21F6 +CT=BF1ED2FCB2AF3FD41443B56D85025CB1 + +I=4 +KEY=3C3D3E3F41424344464748494B4C4D4E +PT=A1EB65A3487165FB0F1C27FF9959F703 +CT=7316632D5C32233EDCB0780560EAE8B2 + +I=5 +KEY=50515253555657585A5B5C5D5F606162 +PT=3553ECF0B1739558B08E350A98A39BFA +CT=408C073E3E2538072B72625E68B8364B + +I=6 +KEY=64656667696A6B6C6E6F707173747576 +PT=67429969490B9711AE2B01DC497AFDE8 +CT=E1F94DFA776597BEACA262F2F6366FEA + +I=7 +KEY=78797A7B7D7E7F80828384858788898A +PT=93385C1F2AEC8BED192F5A8E161DD508 +CT=F29E986C6A1C27D7B29FFD7EE92B75F1 + +I=8 +KEY=8C8D8E8F91929394969798999B9C9D9E +PT=B5BF946BE19BEB8DB3983B5F4C6E8DDB +CT=131C886A57F8C2E713ABA6955E2B55B5 + +I=9 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2 +PT=41321EE10E21BD907227C4450FF42324 +CT=D2AB7662DF9B8C740210E5EEB61C199D + +I=10 +KEY=B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=00A82F59C91C8486D12C0A80124F6089 +CT=14C10554B2859C484CAB5869BBE7C470 + +I=11 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA +PT=7CE0FD076754691B4BBD9FAF8A1372FE +CT=DB4D498F0A49CF55445D502C1F9AB3B5 + +I=12 +KEY=DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=23605A8243D07764541BC5AD355B3129 +CT=6D96FEF7D66590A77A77BB2056667F7F + +I=13 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE010002 +PT=12A8CFA23EA764FD876232B4E842BC44 +CT=316FB68EDBA736C53E78477BF913725C + +I=14 +KEY=04050607090A0B0C0E0F101113141516 +PT=BCAF32415E8308B3723E5FDD853CCC80 +CT=6936F2B93AF8397FD3A771FC011C8C37 + +I=15 +KEY=2C2D2E2F31323334363738393B3C3D3E +PT=89AFAE685D801AD747ACE91FC49ADDE0 +CT=F3F92F7A9C59179C1FCC2C2BA0B082CD + +I=16 +KEY=40414243454647484A4B4C4D4F505152 +PT=F521D07B484357C4A69E76124A634216 +CT=6A95EA659EE3889158E7A9152FF04EBC + +I=17 +KEY=54555657595A5B5C5E5F606163646566 +PT=3E23B3BC065BCC152407E23896D77783 +CT=1959338344E945670678A5D432C90B93 + +I=18 +KEY=68696A6B6D6E6F70727374757778797A +PT=79F0FBA002BE1744670E7E99290D8F52 +CT=E49BDDD2369B83EE66E6C75A1161B394 + +I=19 +KEY=7C7D7E7F81828384868788898B8C8D8E +PT=DA23FE9D5BD63E1D72E3DAFBE21A6C2A +CT=D3388F19057FF704B70784164A74867D + +I=20 +KEY=A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=E3F5698BA90B6A022EFD7DB2C7E6C823 +CT=23AA03E2D5E4CD24F3217E596480D1E1 + +I=21 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2 +PT=BDC2691D4F1B73D2700679C3BCBF9C6E +CT=C84113D68B666AB2A50A8BDB222E91B9 + +I=22 +KEY=08090A0B0D0E0F10121314151718191A +PT=BA74E02093217EE1BA1B42BD5624349A +CT=AC02403981CD4340B507963DB65CB7B6 + +I=23 +KEY=6C6D6E6F71727374767778797B7C7D7E +PT=B5C593B5851C57FBF8B3F57715E8F680 +CT=8D1299236223359474011F6BF5088414 + +I=24 +KEY=80818283858687888A8B8C8D8F909192 +PT=3DA9BD9CEC072381788F9387C3BBF4EE +CT=5A1D6AB8605505F7977E55B9A54D9B90 + +I=25 +KEY=94959697999A9B9C9E9FA0A1A3A4A5A6 +PT=4197F3051121702AB65D316B3C637374 +CT=72E9C2D519CF555E4208805AABE3B258 + +I=26 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA +PT=9F46C62EC4F6EE3F6E8C62554BC48AB7 +CT=A8F3E81C4A23A39EF4D745DFFE026E80 + +I=27 +KEY=BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE +PT=0220673FE9E699A4EBC8E0DBEB6979C8 +CT=546F646449D31458F9EB4EF5483AEE6C + +I=28 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2 +PT=B2B99171337DED9BC8C2C23FF6F18867 +CT=4DBE4BC84AC797C0EE4EFB7F1A07401C + +I=29 +KEY=E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=A7FACF4E301E984E5EFEEFD645B23505 +CT=25E10BFB411BBD4D625AC8795C8CA3B3 + +I=30 +KEY=F8F9FAFBFDFEFE00020304050708090A +PT=F7C762E4A9819160FD7ACFB6C4EEDCDD +CT=315637405054EC803614E43DEF177579 + +I=31 +KEY=0C0D0E0F11121314161718191B1C1D1E +PT=9B64FC21EA08709F4915436FAA70F1BE +CT=60C5BC8A1410247295C6386C59E572A8 + +I=32 +KEY=20212223252627282A2B2C2D2F303132 +PT=52AF2C3DE07EE6777F55A4ABFC100B3F +CT=01366FC8CA52DFE055D6A00A76471BA6 + +I=33 +KEY=34353637393A3B3C3E3F404143444546 +PT=2FCA001224386C57AA3F968CBE2C816F +CT=ECC46595516EC612449C3F581E7D42FF + +I=34 +KEY=48494A4B4D4E4F50525354555758595A +PT=4149C73658A4A9C564342755EE2C132F +CT=6B7FFE4C602A154B06EE9C7DAB5331C9 + +I=35 +KEY=5C5D5E5F61626364666768696B6C6D6E +PT=AF60005A00A1772F7C07A48A923C23D2 +CT=7DA234C14039A240DD02DD0FBF84EB67 + +I=36 +KEY=70717273757677787A7B7C7D7F808182 +PT=6FCCBC28363759914B6F0280AFAF20C6 +CT=C7DC217D9E3604FFE7E91F080ECD5A3A + +I=37 +KEY=84858687898A8B8C8E8F909193949596 +PT=7D82A43DDF4FEFA2FC5947499884D386 +CT=37785901863F5C81260EA41E7580CDA5 + +I=38 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AA +PT=5D5A990EAAB9093AFE4CE254DFA49EF9 +CT=A07B9338E92ED105E6AD720FCCCE9FE4 + +I=39 +KEY=ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=4CD1E2FD3F4434B553AAE453F0ED1A02 +CT=AE0FB9722418CC21A7DA816BBC61322C + +I=40 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2 +PT=5A2C9A9641D4299125FA1B9363104B5E +CT=C826A193080FF91FFB21F71D3373C877 + +I=41 +KEY=D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=B517FE34C0FA217D341740BFD4FE8DD4 +CT=1181B11B0E494E8D8B0AA6B1D5AC2C48 + +I=42 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA +PT=014BAF2278A69D331D5180103643E99A +CT=6743C3D1519AB4F2CD9A78AB09A511BD + +I=43 +KEY=FCFDFEFF01020304060708090B0C0D0E +PT=B529BD8164F20D0AA443D4932116841C +CT=DC55C076D52BACDF2EEFD952946A439D + +I=44 +KEY=10111213151617181A1B1C1D1F202122 +PT=2E596DCBB2F33D4216A1176D5BD1E456 +CT=711B17B590FFC72B5C8E342B601E8003 + +I=45 +KEY=24252627292A2B2C2E2F303133343536 +PT=7274A1EA2B7EE2424E9A0E4673689143 +CT=19983BB0950783A537E1339F4AA21C75 + +I=46 +KEY=38393A3B3D3E3F40424344454748494A +PT=AE20020BD4F13E9D90140BEE3B5D26AF +CT=3BA7762E15554169C0F4FA39164C410C + +I=47 +KEY=4C4D4E4F51525354565758595B5C5D5E +PT=BAAC065DA7AC26E855E79C8849D75A02 +CT=A0564C41245AFCA7AF8AA2E0E588EA89 + +I=48 +KEY=60616263656667686A6B6C6D6F707172 +PT=7C917D8D1D45FAB9E2540E28832540CC +CT=5E36A42A2E099F54AE85ECD92E2381ED + +I=49 +KEY=74757677797A7B7C7E7F808183848586 +PT=BDE6F89E16DAADB0E847A2A614566A91 +CT=770036F878CD0F6CA2268172F106F2FE + +I=50 +KEY=88898A8B8D8E8F90929394959798999A +PT=C9DE163725F1F5BE44EBB1DB51D07FBC +CT=7E4E03908B716116443CCF7C94E7C259 + +I=51 +KEY=9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=3AF57A58F0C07DFFA669572B521E2B92 +CT=482735A48C30613A242DD494C7F9185D + +I=52 +KEY=B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2 +PT=3D5EBAC306DDE4604F1B4FBBBFCDAE55 +CT=B4C0F6C9D4D7079ADDF9369FC081061D + +I=53 +KEY=C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=C2DFA91BCEB76A1183C995020AC0B556 +CT=D5810FE0509AC53EDCD74F89962E6270 + +I=54 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA +PT=C70F54305885E9A0746D01EC56C8596B +CT=03F17A16B3F91848269ECDD38EBB2165 + +I=55 +KEY=ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=C4F81B610E98012CE000182050C0C2B2 +CT=DA1248C3180348BAD4A93B4D9856C9DF + +I=56 +KEY=00010203050607080A0B0C0D0F101112 +PT=EAAB86B1D02A95D7404EFF67489F97D4 +CT=3D10D7B63F3452C06CDF6CCE18BE0C2C + +I=57 +KEY=14151617191A1B1C1E1F202123242526 +PT=7C55BDB40B88870B52BEC3738DE82886 +CT=4AB823E7477DFDDC0E6789018FCB6258 + +I=58 +KEY=28292A2B2D2E2F30323334353738393A +PT=BA6EAA88371FF0A3BD875E3F2A975CE0 +CT=E6478BA56A77E70CFDAA5C843ABDE30E + +I=59 +KEY=3C3D3E3F41424344464748494B4C4D4E +PT=08059130C4C24BD30CF0575E4E0373DC +CT=1673064895FBEAF7F09C5429FF75772D + +I=60 +KEY=50515253555657585A5B5C5D5F606162 +PT=9A8EAB004EF53093DFCF96F57E7EDA82 +CT=4488033AE9F2EFD0CA9383BFCA1A94E9 + +I=61 +KEY=64656667696A6B6C6E6F707173747576 +PT=0745B589E2400C25F117B1D796C28129 +CT=978F3B8C8F9D6F46626CAC3C0BCB9217 + +I=62 +KEY=78797A7B7D7E7F80828384858788898A +PT=2F1777781216CEC3F044F134B1B92BBE +CT=E08C8A7E582E15E5527F1D9E2EECB236 + +I=63 +KEY=8C8D8E8F91929394969798999B9C9D9E +PT=353A779FFC541B3A3805D90CE17580FC +CT=CEC155B76AC5FFDA4CF4F9CA91E49A7A + +I=64 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2 +PT=1A1EAE4415CEFCF08C4AC1C8F68BEA8F +CT=D5AC7165763225DD2A38CDC6862C29AD + +I=65 +KEY=B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=E6E7E4E5B0B3B2B5D4D5AAAB16111013 +CT=03680FE19F7CE7275452020BE70E8204 + +I=66 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA +PT=F8F9FAFBFBF8F9E677767170EFE0E1E2 +CT=461DF740C9781C388E94BB861CEB54F6 + +I=67 +KEY=DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=63626160A1A2A3A445444B4A75727370 +CT=451BD60367F96483042742219786A074 + +I=68 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE010002 +PT=717073720605040B2D2C2B2A05FAFBF9 +CT=E4DFA42671A02E57EF173B85C0EA9F2B + +I=69 +KEY=04050607090A0B0C0E0F101113141516 +PT=78797A7BEAE9E8EF3736292891969794 +CT=ED11B89E76274282227D854700A78B9E + +I=70 +KEY=18191A1B1D1E1F20222324252728292A +PT=838281803231300FDDDCDBDAA0AFAEAD +CT=433946EAA51EA47AF33895F2B90B3B75 + +I=71 +KEY=2C2D2E2F31323334363738393B3C3D3E +PT=18191A1BBFBCBDBA75747B7A7F78797A +CT=6BC6D616A5D7D0284A5910AB35022528 + +I=72 +KEY=40414243454647484A4B4C4D4F505152 +PT=848586879B989996A3A2A5A4849B9A99 +CT=D2A920ECFE919D354B5F49EAE9719C98 + +I=73 +KEY=54555657595A5B5C5E5F606163646566 +PT=0001020322212027CACBF4F551565754 +CT=3A061B17F6A92885EFBD0676985B373D + +I=74 +KEY=68696A6B6D6E6F70727374757778797A +PT=CECFCCCDAFACADB2515057564A454447 +CT=FADEEC16E33EA2F4688499D157E20D8F + +I=75 +KEY=7C7D7E7F81828384868788898B8C8D8E +PT=92939091CDCECFC813121D1C80878685 +CT=5CDEFEDE59601AA3C3CDA36FA6B1FA13 + +I=76 +KEY=90919293959697989A9B9C9D9FA0A1A2 +PT=D2D3D0D16F6C6D6259585F5ED1EEEFEC +CT=9574B00039844D92EBBA7EE8719265F8 + +I=77 +KEY=A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=ACADAEAF878485820F0E1110D5D2D3D0 +CT=9A9CF33758671787E5006928188643FA + +I=78 +KEY=B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA +PT=9091929364676619E6E7E0E1757A7B78 +CT=2CDDD634C846BA66BB46CBFEA4A674F9 + +I=79 +KEY=CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE +PT=BABBB8B98A89888F74757A7B92959497 +CT=D28BAE029393C3E7E26E9FAFBBB4B98F + +I=80 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2 +PT=8D8C8F8E6E6D6C633B3A3D3CCAD5D4D7 +CT=EC27529B1BEE0A9AB6A0D73EBC82E9B7 + +I=81 +KEY=F4F5F6F7F9FAFBFCFEFE010103040506 +PT=86878485010203040808F7F767606162 +CT=3CB25C09472AFF6EE7E2B47CCD7CCB17 + +I=82 +KEY=08090A0B0D0E0F10121314151718191A +PT=8E8F8C8D656667788A8B8C8D010E0F0C +CT=DEE33103A7283370D725E44CA38F8FE5 + +I=83 +KEY=1C1D1E1F21222324262728292B2C2D2E +PT=C8C9CACB858687807A7B7475E7E0E1E2 +CT=27F9BCD1AAC64BFFC11E7815702C1A69 + +I=84 +KEY=30313233353637383A3B3C3D3F404142 +PT=6D6C6F6E5053525D8C8D8A8BADD2D3D0 +CT=5DF534FFAD4ED0749A9988E9849D0021 + +I=85 +KEY=44454647494A4B4C4E4F505153545556 +PT=28292A2B393A3B3C0607181903040506 +CT=A48BEE75DB04FB60CA2B80F752A8421B + +I=86 +KEY=58595A5B5D5E5F60626364656768696A +PT=A5A4A7A6B0B3B28DDBDADDDCBDB2B3B0 +CT=024C8CF70BC86EE5CE03678CB7AF45F9 + +I=87 +KEY=6C6D6E6F71727374767778797B7C7D7E +PT=323330316467666130313E3F2C2B2A29 +CT=3C19AC0F8A3A3862CE577831301E166B + +I=88 +KEY=80818283858687888A8B8C8D8F909192 +PT=27262524080B0A05171611100B141516 +CT=C5E355B796A57421D59CA6BE82E73BCA + +I=89 +KEY=94959697999A9B9C9E9FA0A1A3A4A5A6 +PT=040506074142434435340B0AA3A4A5A6 +CT=D94033276417ABFB05A69D15B6E386E2 + +I=90 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA +PT=242526271112130C61606766BDB2B3B0 +CT=24B36559EA3A9B9B958FE6DA3E5B8D85 + +I=91 +KEY=BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE +PT=4B4A4948252627209E9F9091CEC9C8CB +CT=20FD4FEAA0E8BF0CCE7861D74EF4CB72 + +I=92 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2 +PT=68696A6B6665646B9F9E9998D9E6E7E4 +CT=350E20D5174277B9EC314C501570A11D + +I=93 +KEY=E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=34353637C5C6C7C0F0F1EEEF7C7B7A79 +CT=87A29D61B7C604D238FE73045A7EFD57 + +I=94 +KEY=F8F9FAFBFDFEFE00020304050708090A +PT=32333031C2C1C13F0D0C0B0A050A0B08 +CT=2C3164C1CC7D0064816BDC0FAA362C52 + +I=95 +KEY=0C0D0E0F11121314161718191B1C1D1E +PT=CDCCCFCEBEBDBCBBABAAA5A4181F1E1D +CT=195FE5E8A05A2ED594F6E4400EEE10B3 + +I=96 +KEY=20212223252627282A2B2C2D2F303132 +PT=212023223635343BA0A1A6A7445B5A59 +CT=E4663DF19B9A21A5A284C2BD7F905025 + +I=97 +KEY=34353637393A3B3C3E3F404143444546 +PT=0E0F0C0DA8ABAAAD2F2E515002050407 +CT=21B88714CFB4E2A933BD281A2C4743FD + +I=98 +KEY=48494A4B4D4E4F50525354555758595A +PT=070605042A2928378E8F8889BDB2B3B0 +CT=CBFC3980D704FD0FC54378AB84E17870 + +I=99 +KEY=5C5D5E5F61626364666768696B6C6D6E +PT=CBCAC9C893909196A9A8A7A6A5A2A3A0 +CT=BC5144BAA48BDEB8B63E22E03DA418EF + +I=100 +KEY=70717273757677787A7B7C7D7F808182 +PT=80818283C1C2C3CC9C9D9A9B0CF3F2F1 +CT=5A1DBAEF1EE2984B8395DA3BDFFA3CCC + +I=101 +KEY=84858687898A8B8C8E8F909193949596 +PT=1213101125262720FAFBE4E5B1B6B7B4 +CT=F0B11CD0729DFCC80CEC903D97159574 + +I=102 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AA +PT=7F7E7D7C3033320D97969190222D2C2F +CT=9F95314ACFDDC6D1914B7F19A9CC8209 + +I=103 +KEY=ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=4E4F4C4D484B4A4D81808F8E53545556 +CT=595736F6F0F70914A94E9E007F022519 + +I=104 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2 +PT=DCDDDEDFB0B3B2BD15141312A1BEBFBC +CT=1F19F57892CAE586FCDFB4C694DEB183 + +I=105 +KEY=D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=93929190282B2A2DC4C5FAFB92959497 +CT=540700EE1F6F3DAB0B3EDDF6CAEE1EF5 + +I=106 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA +PT=F5F4F7F6C4C7C6D9373631307E717073 +CT=14A342A91019A331687A2254E6626CA2 + +I=107 +KEY=FCFDFEFF01020304060708090B0C0D0E +PT=93929190B6B5B4B364656A6B05020300 +CT=7B25F3C3B2EEA18D743EF283140F29FF + +I=108 +KEY=10111213151617181A1B1C1D1F202122 +PT=BABBB8B90D0E0F00A4A5A2A3043B3A39 +CT=46C2587D66E5E6FA7F7CA6411AD28047 + +I=109 +KEY=24252627292A2B2C2E2F303133343536 +PT=D8D9DADB7F7C7D7A10110E0F787F7E7D +CT=09470E72229D954ED5EE73886DFEEBA9 + +I=110 +KEY=38393A3B3D3E3F40424344454748494A +PT=FEFFFCFDEFECED923B3A3D3C6768696A +CT=D77C03DE92D4D0D79EF8D4824EF365EB + +I=111 +KEY=4C4D4E4F51525354565758595B5C5D5E +PT=D6D7D4D58A89888F96979899A5A2A3A0 +CT=1D190219F290E0F1715D152D41A23593 + +I=112 +KEY=60616263656667686A6B6C6D6F707172 +PT=18191A1BA8ABAAA5303136379B848586 +CT=A2CD332CE3A0818769616292E87F757B + +I=113 +KEY=74757677797A7B7C7E7F808183848586 +PT=6B6A6968A4A7A6A1D6D72829B0B7B6B5 +CT=D54AFA6CE60FBF9341A3690E21385102 + +I=114 +KEY=88898A8B8D8E8F90929394959798999A +PT=000102038A89889755545352A6A9A8AB +CT=06E5C364DED628A3F5E05E613E356F46 + +I=115 +KEY=9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=2D2C2F2EB3B0B1B6B6B7B8B9F2F5F4F7 +CT=EAE63C0E62556DAC85D221099896355A + +I=116 +KEY=B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2 +PT=979695943536373856575051E09F9E9D +CT=1FED060E2C6FC93EE764403A889985A2 + +I=117 +KEY=C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=A4A5A6A7989B9A9DB1B0AFAE7A7D7C7F +CT=C25235C1A30FDEC1C7CB5C5737B2A588 + +I=118 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA +PT=C1C0C3C2686B6A55A8A9AEAFEAE5E4E7 +CT=796DBEF95147D4D30873AD8B7B92EFC0 + +I=119 +KEY=ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=C1C0C3C2141716118C8D828364636261 +CT=CBCF0FB34D98D0BD5C22CE37211A46BF + +I=120 +KEY=00010203050607080A0B0C0D0F101112 +PT=93929190CCCFCEC196979091E0FFFEFD +CT=94B44DA6466126CAFA7C7FD09063FC24 + +I=121 +KEY=14151617191A1B1C1E1F202123242526 +PT=B4B5B6B7F9FAFBFC25241B1A6E69686B +CT=D78C5B5EBF9B4DBDA6AE506C5074C8FE + +I=122 +KEY=28292A2B2D2E2F30323334353738393A +PT=868784850704051AC7C6C1C08788898A +CT=6C27444C27204B043812CF8CF95F9769 + +I=123 +KEY=3C3D3E3F41424344464748494B4C4D4E +PT=F4F5F6F7AAA9A8AFFDFCF3F277707172 +CT=BE94524EE5A2AA50BBA8B75F4C0AEBCF + +I=124 +KEY=50515253555657585A5B5C5D5F606162 +PT=D3D2D1D00605040BC3C2C5C43E010003 +CT=A0AEAAE91BA9F31F51AEB3588CF3A39E + +I=125 +KEY=64656667696A6B6C6E6F707173747576 +PT=73727170424140476A6B74750D0A0B08 +CT=275297779C28266EF9FE4C6A13C08488 + +I=126 +KEY=78797A7B7D7E7F80828384858788898A +PT=C2C3C0C10A0908F754555253A1AEAFAC +CT=86523D92BB8672CB01CF4A77FD725882 + +I=127 +KEY=8C8D8E8F91929394969798999B9C9D9E +PT=6D6C6F6EF8FBFAFD82838C8DF8FFFEFD +CT=4B8327640E9F33322A04DD96FCBF9A36 + +I=128 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2 +PT=F5F4F7F684878689A6A7A0A1D2CDCCCF +CT=CE52AF650D088CA559425223F4D32694 + +========== + +KEYSIZE=192 + + +I=1 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C +PT=2D33EEF2C0430A8A9EBF45E809C40BB6 +CT=DFF4945E0336DF4C1C56BC700EFF837F + +I=2 +KEY=1E1F20212324252628292A2B2D2E2F30323334353738393A +PT=6AA375D1FA155A61FB72353E0A5A8756 +CT=B6FDDEF4752765E347D5D2DC196D1252 + +I=3 +KEY=3C3D3E3F41424344464748494B4C4D4E5051525355565758 +PT=BC3736518B9490DCB8ED60EB26758ED4 +CT=D23684E3D963B3AFCF1A114ACA90CBD6 + +I=4 +KEY=5A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=AA214402B46CFFB9F761EC11263A311E +CT=3A7AC027753E2A18C2CEAB9E17C11FD0 + +I=5 +KEY=78797A7B7D7E7F80828384858788898A8C8D8E8F91929394 +PT=02AEA86E572EEAB66B2C3AF5E9A46FD6 +CT=8F6786BD007528BA26603C1601CDD0D8 + +I=6 +KEY=969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2 +PT=E2AEF6ACC33B965C4FA1F91C75FF6F36 +CT=D17D073B01E71502E28B47AB551168B3 + +I=7 +KEY=B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0 +PT=0659DF46427162B9434865DD9499F91D +CT=A469DA517119FAB95876F41D06D40FFA + +I=8 +KEY=D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=49A44239C748FEB456F59C276A5658DF +CT=6091AA3B695C11F5C0B6AD26D3D862FF + +I=9 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C +PT=66208F6E9D04525BDEDB2733B6A6BE37 +CT=70F9E67F9F8DF1294131662DC6E69364 + +I=10 +KEY=0E0F10111314151618191A1B1D1E1F20222324252728292A +PT=3393F8DFC729C97F5480B950BC9666B0 +CT=D154DCAFAD8B207FA5CBC95E9996B559 + +I=11 +KEY=2C2D2E2F31323334363738393B3C3D3E4041424345464748 +PT=606834C8CE063F3234CF1145325DBD71 +CT=4934D541E8B46FA339C805A7AEB9E5DA + +I=12 +KEY=4A4B4C4D4F50515254555657595A5B5C5E5F606163646566 +PT=FEC1C04F529BBD17D8CECFCC4718B17F +CT=62564C738F3EFE186E1A127A0C4D3C61 + +I=13 +KEY=68696A6B6D6E6F70727374757778797A7C7D7E7F81828384 +PT=32DF99B431ED5DC5ACF8CAF6DC6CE475 +CT=07805AA043986EB23693E23BEF8F3438 + +I=14 +KEY=868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2 +PT=7FDC2B746F3F665296943B83710D1F82 +CT=DF0B4931038BADE848DEE3B4B85AA44B + +I=15 +KEY=A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0 +PT=8FBA1510A3C5B87E2EAA3F7A91455CA2 +CT=592D5FDED76582E4143C65099309477C + +I=16 +KEY=C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE +PT=2C9B468B1C2EED92578D41B0716B223B +CT=C9B8D6545580D3DFBCDD09B954ED4E92 + +I=17 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFC +PT=0A2BBF0EFC6BC0034F8A03433FCA1B1A +CT=5DCCD5D6EB7C1B42ACB008201DF707A0 + +I=18 +KEY=FEFE01010304050608090A0B0D0E0F10121314151718191A +PT=25260E1F31F4104D387222E70632504B +CT=A2A91682FFEB6ED1D34340946829E6F9 + +I=19 +KEY=1C1D1E1F21222324262728292B2C2D2E3031323335363738 +PT=C527D25A49F08A5228D338642AE65137 +CT=E45D185B797000348D9267960A68435D + +I=20 +KEY=3A3B3C3D3F40414244454647494A4B4C4E4F505153545556 +PT=3B49FC081432F5890D0E3D87E884A69E +CT=45E060DAE5901CDA8089E10D4F4C246B + +I=21 +KEY=58595A5B5D5E5F60626364656768696A6C6D6E6F71727374 +PT=D173F9ED1E57597E166931DF2754A083 +CT=F6951AFACC0079A369C71FDCFF45DF50 + +I=22 +KEY=767778797B7C7D7E80818283858687888A8B8C8D8F909192 +PT=8C2B7CAFA5AFE7F13562DAEAE1ADEDE0 +CT=9E95E00F351D5B3AC3D0E22E626DDAD6 + +I=23 +KEY=94959697999A9B9C9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0 +PT=AAF4EC8C1A815AEB826CAB741339532C +CT=9CB566FF26D92DAD083B51FDC18C173C + +I=24 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBEC +PT=40BE8C5D9108E663F38F1A2395279ECF +CT=C9C82766176A9B228EB9A974A010B4FB + +I=25 +KEY=2A2B2C2D2F30313234353637393A3B3C3E3F404143444546 +PT=0C8AD9BC32D43E04716753AA4CFBE351 +CT=D8E26AA02945881D5137F1C1E1386E88 + +I=26 +KEY=48494A4B4D4E4F50525354555758595A5C5D5E5F61626364 +PT=1407B1D5F87D63357C8DC7EBBAEBBFEE +CT=C0E024CCD68FF5FFA4D139C355A77C55 + +I=27 +KEY=84858687898A8B8C8E8F90919394959698999A9B9D9E9FA0 +PT=E62734D1AE3378C4549E939E6F123416 +CT=0B18B3D16F491619DA338640DF391D43 + +I=28 +KEY=A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=5A752CFF2A176DB1A1DE77F2D2CDEE41 +CT=DBE09AC8F66027BF20CB6E434F252EFC + +I=29 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDC +PT=A9C8C3A4EABEDC80C64730DDD018CD88 +CT=6D04E5E43C5B9CBE05FEB9606B6480FE + +I=30 +KEY=1A1B1C1D1F20212224252627292A2B2C2E2F303133343536 +PT=EE9B3DBBDB86180072130834D305999A +CT=DD1D6553B96BE526D9FEE0FBD7176866 + +I=31 +KEY=38393A3B3D3E3F40424344454748494A4C4D4E4F51525354 +PT=A7FA8C3586B8EBDE7568EAD6F634A879 +CT=0260CA7E3F979FD015B0DD4690E16D2A + +I=32 +KEY=929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=37E0F4A87F127D45AC936FE7AD88C10A +CT=9893734DE10EDCC8A67C3B110B8B8CC6 + +I=33 +KEY=464748494B4C4D4E50515253555657585A5B5C5D5F606162 +PT=3F77D8B5D92BAC148E4E46F697A535C5 +CT=93B30B750516B2D18808D710C2EE84EF + +I=34 +KEY=828384858788898A8C8D8E8F91929394969798999B9C9D9E +PT=D25EBB686C40F7E2C4DA1014936571CA +CT=16F65FA47BE3CB5E6DFE7C6C37016C0E + +I=35 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBC +PT=4F1C769D1E5B0552C7ECA84DEA26A549 +CT=F3847210D5391E2360608E5ACB560581 + +I=36 +KEY=BEBFC0C1C3C4C5C6C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA +PT=8548E2F882D7584D0FAFC54372B6633A +CT=8754462CD223366D0753913E6AF2643D + +I=37 +KEY=DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8 +PT=87D7A336CB476F177CD2A51AF2A62CDF +CT=1EA20617468D1B806A1FD58145462017 + +I=38 +KEY=FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 +PT=03B1FEAC668C4E485C1065DFC22B44EE +CT=3B155D927355D737C6BE9DDA60136E2E + +I=39 +KEY=18191A1B1D1E1F20222324252728292A2C2D2E2F31323334 +PT=BDA15E66819FA72D653A6866AA287962 +CT=26144F7B66DAA91B6333DBD3850502B3 + +I=40 +KEY=363738393B3C3D3E40414243454647484A4B4C4D4F505152 +PT=4D0C7A0D2505B80BF8B62CEB12467F0A +CT=E4F9A4AB52CED8134C649BF319EBCC90 + +I=41 +KEY=54555657595A5B5C5E5F60616364656668696A6B6D6E6F70 +PT=626D34C9429B37211330986466B94E5F +CT=B9DDD29AC6128A6CAB121E34A4C62B36 + +I=42 +KEY=727374757778797A7C7D7E7F81828384868788898B8C8D8E +PT=333C3E6BF00656B088A17E5FF0E7F60A +CT=6FCDDAD898F2CE4EFF51294F5EAAF5C9 + +I=43 +KEY=90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABAC +PT=687ED0CDC0D2A2BC8C466D05EF9D2891 +CT=C9A6FE2BF4028080BEA6F7FC417BD7E3 + +I=44 +KEY=AEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA +PT=487830E78CC56C1693E64B2A6660C7B6 +CT=6A2026846D8609D60F298A9C0673127F + +I=45 +KEY=CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8 +PT=7A48D6B7B52B29392AA2072A32B66160 +CT=2CB25C005E26EFEA44336C4C97A4240B + +I=46 +KEY=EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 +PT=907320E64C8C5314D10F8D7A11C8618D +CT=496967AB8680DDD73D09A0E4C7DCC8AA + +I=47 +KEY=08090A0B0D0E0F10121314151718191A1C1D1E1F21222324 +PT=B561F2CA2D6E65A4A98341F3ED9FF533 +CT=D5AF94DE93487D1F3A8C577CB84A66A4 + +I=48 +KEY=262728292B2C2D2E30313233353637383A3B3C3D3F404142 +PT=DF769380D212792D026F049E2E3E48EF +CT=84BDAC569CAE2828705F267CC8376E90 + +I=49 +KEY=44454647494A4B4C4E4F50515354555658595A5B5D5E5F60 +PT=79F374BC445BDABF8FCCB8843D6054C6 +CT=F7401DDA5AD5AB712B7EB5D10C6F99B6 + +I=50 +KEY=626364656768696A6C6D6E6F71727374767778797B7C7D7E +PT=4E02F1242FA56B05C68DBAE8FE44C9D6 +CT=1C9D54318539EBD4C3B5B7E37BF119F0 + +I=51 +KEY=80818283858687888A8B8C8D8F90919294959697999A9B9C +PT=CF73C93CBFF57AC635A6F4AD2A4A1545 +CT=ACA572D65FB2764CFFD4A6ECA090EA0D + +I=52 +KEY=9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA +PT=9923548E2875750725B886566784C625 +CT=36D9C627B8C2A886A10CCB36EAE3DFBB + +I=53 +KEY=BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8 +PT=4888336B723A022C9545320F836A4207 +CT=010EDBF5981E143A81D646E597A4A568 + +I=54 +KEY=DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=F84D9A5561B0608B1160DEE000C41BA8 +CT=8DB44D538DC20CC2F40F3067FD298E60 + +I=55 +KEY=F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314 +PT=C23192A0418E30A19B45AE3E3625BF22 +CT=930EB53BC71E6AC4B82972BDCD5AAFB3 + +I=56 +KEY=161718191B1C1D1E20212223252627282A2B2C2D2F303132 +PT=B84E0690B28B0025381AD82A15E501A7 +CT=6C42A81EDCBC9517CCD89C30C95597B4 + +I=57 +KEY=34353637393A3B3C3E3F40414344454648494A4B4D4E4F50 +PT=ACEF5E5C108876C4F06269F865B8F0B0 +CT=DA389847AD06DF19D76EE119C71E1DD3 + +I=58 +KEY=525354555758595A5C5D5E5F61626364666768696B6C6D6E +PT=0F1B3603E0F5DDEA4548246153A5E064 +CT=E018FDAE13D3118F9A5D1A647A3F0462 + +I=59 +KEY=70717273757677787A7B7C7D7F80818284858687898A8B8C +PT=FBB63893450D42B58C6D88CD3C1809E3 +CT=2AA65DB36264239D3846180FABDFAD20 + +I=60 +KEY=8E8F90919394959698999A9B9D9E9FA0A2A3A4A5A7A8A9AA +PT=4BEF736DF150259DAE0C91354E8A5F92 +CT=1472163E9A4F780F1CEB44B07ECF4FDB + +I=61 +KEY=ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8 +PT=7D2D46242056EF13D3C3FC93C128F4C7 +CT=C8273FDC8F3A9F72E91097614B62397C + +I=62 +KEY=CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=E9C1BA2DF415657A256EDB33934680FD +CT=66C8427DCD733AAF7B3470CB7D976E3F + +I=63 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304 +PT=E23EE277B0AA0A1DFB81F7527C3514F1 +CT=146131CB17F1424D4F8DA91E6F80C1D0 + +I=64 +KEY=060708090B0C0D0E10111213151617181A1B1C1D1F202122 +PT=3E7445B0B63CAAF75E4A911E12106B4C +CT=2610D0AD83659081AE085266A88770DC + +I=65 +KEY=24252627292A2B2C2E2F30313334353638393A3B3D3E3F40 +PT=767774752023222544455A5BE6E1E0E3 +CT=38A2B5A974B0575C5D733917FB0D4570 + +I=66 +KEY=424344454748494A4C4D4E4F51525354565758595B5C5D5E +PT=72737475717E7F7CE9E8EBEA696A6B6C +CT=E21D401EBC60DE20D6C486E4F39A588B + +I=67 +KEY=60616263656667686A6B6C6D6F70717274757677797A7B7C +PT=DFDEDDDC25262728C9C8CFCEF1EEEFEC +CT=E51D5F88C670B079C0CA1F0C2C4405A2 + +I=68 +KEY=7E7F80818384858688898A8B8D8E8F90929394959798999A +PT=FFFE0100707776755F5E5D5C7675746B +CT=246A94788A642FB3D1B823C8762380C8 + +I=69 +KEY=9C9D9E9FA1A2A3A4A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8 +PT=E0E1E2E3424140479F9E9190292E2F2C +CT=B80C391C5C41A4C3B30C68E0E3D7550F + +I=70 +KEY=BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=2120272690EFEEED3B3A39384E4D4C4B +CT=B77C4754FC64EB9A1154A9AF0BB1F21C + +I=71 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4 +PT=ECEDEEEF5350516EA1A0A7A6A3ACADAE +CT=FB554DE520D159A06BF219FC7F34A02F + +I=72 +KEY=F6F7F8F9FBFCFDFE00010203050607080A0B0C0D0F101112 +PT=32333C3D25222320E9E8EBEACECDCCC3 +CT=A89FBA152D76B4927BEED160DDB76C57 + +I=73 +KEY=14151617191A1B1C1E1F20212324252628292A2B2D2E2F30 +PT=40414243626160678A8BB4B511161714 +CT=5676EAB4A98D2E8473B3F3D46424247C + +I=74 +KEY=323334353738393A3C3D3E3F41424344464748494B4C4D4E +PT=94959293F5FAFBF81F1E1D1C7C7F7E79 +CT=4E8F068BD7EDE52A639036EC86C33568 + +I=75 +KEY=50515253555657585A5B5C5D5F60616264656667696A6B6C +PT=BEBFBCBD191A1B14CFCEC9C8546B6A69 +CT=F0193C4D7AFF1791EE4C07EB4A1824FC + +I=76 +KEY=6E6F70717374757678797A7B7D7E7F80828384858788898A +PT=2C2D3233898E8F8CBBBAB9B8333031CE +CT=AC8686EECA9BA761AFE82D67B928C33F + +I=77 +KEY=8C8D8E8F91929394969798999B9C9D9EA0A1A2A3A5A6A7A8 +PT=84858687BFBCBDBA37363938FDFAFBF8 +CT=5FAF8573E33B145B6A369CD3606AB2C9 + +I=78 +KEY=AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=828384857669686B909192930B08090E +CT=31587E9944AB1C16B844ECAD0DF2E7DA + +I=79 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4 +PT=BEBFBCBD9695948B707176779E919093 +CT=D017FECD91148ABA37F6F3068AA67D8A + +I=80 +KEY=E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8FAFBFCFDFE010002 +PT=8B8A85846067666521202322D0D3D2DD +CT=788EF2F021A73CBA2794B616078A8500 + +I=81 +KEY=04050607090A0B0C0E0F10111314151618191A1B1D1E1F20 +PT=76777475F1F2F3F4F8F9E6E777707172 +CT=5D1EF20DCED6BCBC12131AC7C54788AA + +I=82 +KEY=222324252728292A2C2D2E2F31323334363738393B3C3D3E +PT=A4A5A2A34F404142B4B5B6B727242522 +CT=B3C8CF961FAF9EA05FDDE6D1E4D8F663 + +I=83 +KEY=40414243454647484A4B4C4D4F50515254555657595A5B5C +PT=94959697E1E2E3EC16171011839C9D9E +CT=143075C70605861C7FAC6526199E459F + +I=84 +KEY=5E5F60616364656668696A6B6D6E6F70727374757778797A +PT=03023D3C06010003DEDFDCDDFFFCFDE2 +CT=A5AE12EADE9A87268D898BFC8FC0252A + +I=85 +KEY=7C7D7E7F81828384868788898B8C8D8E9091929395969798 +PT=10111213F1F2F3F4CECFC0C1DBDCDDDE +CT=0924F7CF2E877A4819F5244A360DCEA9 + +I=86 +KEY=9A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=67666160724D4C4F1D1C1F1E73707176 +CT=3D9E9635AFCC3E291CC7AB3F27D1C99A + +I=87 +KEY=B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4 +PT=E6E7E4E5A8ABAAD584858283909F9E9D +CT=9D80FEEBF87510E2B8FB98BB54FD788C + +I=88 +KEY=D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2 +PT=71707F7E565150537D7C7F7E6162636C +CT=5F9D1A082A1A37985F174002ECA01309 + +I=89 +KEY=F4F5F6F7F9FAFBFCFEFE01010304050608090A0B0D0E0F10 +PT=64656667212223245555AAAA03040506 +CT=A390EBB1D1403930184A44B4876646E4 + +I=90 +KEY=121314151718191A1C1D1E1F21222324262728292B2C2D2E +PT=9E9F9899ABA4A5A6CFCECDCC2B28292E +CT=700FE918981C3195BB6C4BCB46B74E29 + +I=91 +KEY=30313233353637383A3B3C3D3F40414244454647494A4B4C +PT=C7C6C5C4D1D2D3DC626364653A454447 +CT=907984406F7BF2D17FB1EB15B673D747 + +I=92 +KEY=4E4F50515354555658595A5B5D5E5F60626364656768696A +PT=F6F7E8E9E0E7E6E51D1C1F1E5B585966 +CT=C32A956DCFC875C2AC7C7CC8B8CC26E1 + +I=93 +KEY=6C6D6E6F71727374767778797B7C7D7E8081828385868788 +PT=BCBDBEBF5D5E5F5868696667F4F3F2F1 +CT=02646E2EBFA9B820CF8424E9B9B6EB51 + +I=94 +KEY=8A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 +PT=40414647B0AFAEAD9B9A99989B98999E +CT=621FDA3A5BBD54C6D3C685816BD4EAD8 + +I=95 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4 +PT=69686B6A0201001F0F0E0908B4BBBAB9 +CT=D4E216040426DFAF18B152469BC5AC2F + +I=96 +KEY=C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2 +PT=C7C6C9C8D8DFDEDD5A5B5859BEBDBCB3 +CT=9D0635B9D33B6CDBD71F5D246EA17CC8 + +I=97 +KEY=E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6F8F9FAFBFDFEFE00 +PT=DEDFDCDD787B7A7DFFFEE1E0B2B5B4B7 +CT=10ABAD1BD9BAE5448808765583A2CC1A + +I=98 +KEY=020304050708090A0C0D0E0F11121314161718191B1C1D1E +PT=4D4C4B4A606F6E6DD0D1D2D3FBF8F9FE +CT=6891889E16544E355FF65A793C39C9A8 + +I=99 +KEY=20212223252627282A2B2C2D2F30313234353637393A3B3C +PT=B7B6B5B4D7D4D5DAE5E4E3E2E1FEFFFC +CT=CC735582E68072C163CD9DDF46B91279 + +I=100 +KEY=3E3F40414344454648494A4B4D4E4F50525354555758595A +PT=CECFB0B1F7F0F1F2AEAFACAD3E3D3C23 +CT=C5C68B9AEEB7F878DF578EFA562F9574 + +I=101 +KEY=5C5D5E5F61626364666768696B6C6D6E7071727375767778 +PT=CACBC8C9CDCECFC812131C1D494E4F4C +CT=5F4764395A667A47D73452955D0D2CE8 + +I=102 +KEY=7A7B7C7D7F80818284858687898A8B8C8E8F909193949596 +PT=9D9C9B9AD22D2C2FB1B0B3B20C0F0E09 +CT=701448331F66106CEFDDF1EB8267C357 + +I=103 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4 +PT=7A7B787964676659959493924F404142 +CT=CB3EE56D2E14B4E1941666F13379D657 + +I=104 +KEY=B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2 +PT=AAABA4A5CEC9C8CB1F1E1D1CABA8A9A6 +CT=9FE16EFD18AB6E1981191851FEDB0764 + +I=105 +KEY=D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6E8E9EAEBEDEEEFF0 +PT=93929190282B2A2DC4C5FAFB92959497 +CT=3DC9BA24E1B223589B147ADCEB4C8E48 + +I=106 +KEY=F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E +PT=EFEEE9E8DED1D0D339383B3A888B8A8D +CT=1C333032682E7D4DE5E5AFC05C3E483C + +I=107 +KEY=10111213151617181A1B1C1D1F20212224252627292A2B2C +PT=7F7E7D7CA2A1A0AF78797E7F112E2F2C +CT=D593CC99A95AFEF7E92038E05A59D00A + +I=108 +KEY=2E2F30313334353638393A3B3D3E3F40424344454748494A +PT=84859A9B2B2C2D2E868784852625245B +CT=51E7F96F53B4353923452C222134E1EC + +I=109 +KEY=4C4D4E4F51525354565758595B5C5D5E6061626365666768 +PT=B0B1B2B3070405026869666710171615 +CT=4075B357A1A2B473400C3B25F32F81A4 + +I=110 +KEY=6A6B6C6D6F70717274757677797A7B7C7E7F808183848586 +PT=ACADAAABBDA2A3A00D0C0F0E595A5B5C +CT=302E341A3EBCD74F0D55F61714570284 + +I=111 +KEY=88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4 +PT=121310115655544B5253545569666764 +CT=57ABDD8231280DA01C5042B78CF76522 + +I=112 +KEY=A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2 +PT=DEDFD0D166616063EAEBE8E94142434C +CT=17F9EA7EEA17AC1ADF0E190FEF799E92 + +I=113 +KEY=C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6D8D9DADBDDDEDFE0 +PT=DBDAD9D81417161166677879E0E7E6E5 +CT=2E1BDD563DD87EE5C338DD6D098D0A7A + +I=114 +KEY=E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=6A6B6C6DE0EFEEED2B2A2928C0C3C2C5 +CT=EB869996E6F8BFB2BFDD9E0C4504DBB2 + +I=115 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C +PT=B1B0B3B21714151A1A1B1C1D5649484B +CT=C2E01549E9DECF317468B3E018C61BA8 + +I=116 +KEY=1E1F20212324252628292A2B2D2E2F30323334353738393A +PT=39380706A3A4A5A6C4C5C6C77271706F +CT=8DA875D033C01DD463B244A1770F4A22 + +I=117 +KEY=3C3D3E3F41424344464748494B4C4D4E5051525355565758 +PT=5C5D5E5F1013121539383736E2E5E4E7 +CT=8BA0DCF3A186844F026D022F8839D696 + +I=118 +KEY=5A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=43424544EAD5D4D72E2F2C2D64676661 +CT=E9691FF9A6CC6970E51670A0FD5B88C1 + +I=119 +KEY=78797A7B7D7E7F80828384858788898A8C8D8E8F91929394 +PT=55545756989B9A65F8F9FEFF18171615 +CT=F2BAEC06FAEED30F88EE63BA081A6E5B + +I=120 +KEY=969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2 +PT=05040B0A525554573C3D3E3F4A494847 +CT=9C39D4C459AE5753394D6094ADC21E78 + +I=121 +KEY=B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0 +PT=14151617595A5B5C8584FBFA8E89888B +CT=6345B532A11904502EA43BA99C6BD2B2 + +I=122 +KEY=D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=7C7D7A7BFDF2F3F029282B2A51525354 +CT=5FFAE3061A95172E4070CEDCE1E428C8 + +I=123 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C +PT=38393A3B1E1D1C1341404746C23D3C3E +CT=0A4566BE4CDF9ADCE5DEC865B5AB34CD + +I=124 +KEY=0E0F10111314151618191A1B1D1E1F20222324252728292A +PT=8D8C939240474645818083827C7F7E41 +CT=CA17FCCE79B7404F2559B22928F126FB + +I=125 +KEY=2C2D2E2F31323334363738393B3C3D3E4041424345464748 +PT=3B3A39381A19181F32333C3D45424340 +CT=97CA39B849ED73A6470A97C821D82F58 + +I=126 +KEY=4A4B4C4D4F50515254555657595A5B5C5E5F606163646566 +PT=F0F1F6F738272625828380817F7C7D7A +CT=8198CB06BC684C6D3E9B7989428DCF7A + +I=127 +KEY=68696A6B6D6E6F70727374757778797A7C7D7E7F81828384 +PT=89888B8A0407061966676061141B1A19 +CT=F53C464C705EE0F28D9A4C59374928BD + +I=128 +KEY=868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2 +PT=D3D2DDDCAAADACAF9C9D9E9FE8EBEAE5 +CT=9ADB3D4CCA559BB98C3E2ED73DBF1154 + +========== + +KEYSIZE=256 + + +I=1 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 +PT=834EADFCCAC7E1B30664B1ABA44815AB +CT=1946DABF6A03A2A2C3D0B05080AED6FC + +I=2 +KEY=28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E +PT=D9DC4DBA3021B05D67C0518F72B62BF1 +CT=5ED301D747D3CC715445EBDEC62F2FB4 + +I=3 +KEY=50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=A291D86301A4A739F7392173AA3C604C +CT=6585C8F43D13A6BEAB6419FC5935B9D0 + +I=4 +KEY=78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E +PT=4264B2696498DE4DF79788A9F83E9390 +CT=2A5B56A596680FCC0E05F5E0F151ECAE + +I=5 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=EE9932B3721804D5A83EF5949245B6F6 +CT=F5D6FF414FD2C6181494D20C37F2B8C4 + +I=6 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=E6248F55C5FDCBCA9CBBB01C88A2EA77 +CT=85399C01F59FFFB5204F19F8482F00B8 + +I=7 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 +PT=B8358E41B9DFF65FD461D55A99266247 +CT=92097B4C88A041DDF98144BC8D22E8E7 + +I=8 +KEY=18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E +PT=F0E2D72260AF58E21E015AB3A4C0D906 +CT=89BD5B73B356AB412AEF9F76CEA2D65C + +I=9 +KEY=40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 +PT=475B8B823CE8893DB3C44A9F2A379FF7 +CT=2536969093C55FF9454692F2FAC2F530 + +I=10 +KEY=68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E +PT=688F5281945812862F5F3076CF80412F +CT=07FC76A872843F3F6E0081EE9396D637 + +I=11 +KEY=90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=08D1D2BC750AF553365D35E75AFACEAA +CT=E38BA8EC2AA741358DCC93E8F141C491 + +I=12 +KEY=B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE +PT=8707121F47CC3EFCECA5F9A8474950A1 +CT=D028EE23E4A89075D0B03E868D7D3A42 + +I=13 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 +PT=E51AA0B135DBA566939C3B6359A980C5 +CT=8CD9423DFC459E547155C5D1D522E540 + +I=14 +KEY=08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E +PT=069A007FC76A459F98BAF917FEDF9521 +CT=080E9517EB1677719ACF728086040AE3 + +I=15 +KEY=30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 +PT=726165C1723FBCF6C026D7D00B091027 +CT=7C1700211A3991FC0ECDED0AB3E576B0 + +I=16 +KEY=58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E +PT=D7C544DE91D55CFCDE1F84CA382200CE +CT=DABCBCC855839251DB51E224FBE87435 + +I=17 +KEY=80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 +PT=FED3C9A161B9B5B2BD611B41DC9DA357 +CT=68D56FAD0406947A4DD27A7448C10F1D + +I=18 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE +PT=4F634CDC6551043409F30B635832CF82 +CT=DA9A11479844D1FFEE24BBF3719A9925 + +I=19 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=109CE98DB0DFB36734D9F3394711B4E6 +CT=5E4BA572F8D23E738DA9B05BA24B8D81 + +I=20 +KEY=70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 +PT=4EA6DFABA2D8A02FFDFFA89835987242 +CT=A115A2065D667E3F0B883837A6E903F8 + +I=21 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=5AE094F54AF58E6E3CDBF976DAC6D9EF +CT=3E9E90DC33EAC2437D86AD30B137E66E + +I=22 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=764D8E8E0F29926DBE5122E66354FDBE +CT=01CE82D8FBCDAE824CB3C48E495C3692 + +I=23 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E +PT=3F0418F888CDF29A982BF6B75410D6A9 +CT=0C9CFF163CE936FAAF083CFD3DEA3117 + +I=24 +KEY=10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 +PT=E4A3E7CB12CDD56AA4A75197A9530220 +CT=5131BA9BD48F2BBA85560680DF504B52 + +I=25 +KEY=38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E +PT=211677684AAC1EC1A160F44C4EBF3F26 +CT=9DC503BBF09823AEC8A977A5AD26CCB2 + +I=26 +KEY=60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 +PT=D21E439FF749AC8F18D6D4B105E03895 +CT=9A6DB0C0862E506A9E397225884041D7 + +I=27 +KEY=88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=D9F6FF44646C4725BD4C0103FF5552A7 +CT=430BF9570804185E1AB6365FC6A6860C + +I=28 +KEY=B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=0B1256C2A00B976250CFC5B0C37ED382 +CT=3525EBC02F4886E6A5A3762813E8CE8A + +I=29 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=B056447FFC6DC4523A36CC2E972A3A79 +CT=07FA265C763779CCE224C7BAD671027B + +I=30 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 +PT=5E25CA78F0DE55802524D38DA3FE4456 +CT=E8B72B4E8BE243438C9FFF1F0E205872 + +I=31 +KEY=28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E +PT=A5BCF4728FA5EAAD8567C0DC24675F83 +CT=109D4F999A0E11ACE1F05E6B22CBCB50 + +I=32 +KEY=50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=814E59F97ED84646B78B2CA022E9CA43 +CT=45A5E8D4C3ED58403FF08D68A0CC4029 + +I=33 +KEY=78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E +PT=15478BEEC58F4775C7A7F5D4395514D7 +CT=196865964DB3D417B6BD4D586BCB7634 + +I=34 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=253548FFCA461C67C8CBC78CD59F4756 +CT=60436AD45AC7D30D99195F815D98D2AE + +I=35 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=FD7AD8D73B9B0F8CC41600640F503D65 +CT=BB07A23F0B61014B197620C185E2CD75 + +I=36 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 +PT=06199DE52C6CBF8AF954CD65830BCD56 +CT=5BC0B2850129C854423AFF0751FE343B + +I=37 +KEY=18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E +PT=F17C4FFE48E44C61BD891E257E725794 +CT=7541A78F96738E6417D2A24BD2BECA40 + +I=38 +KEY=40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 +PT=9A5B4A402A3E8A59BE6BF5CD8154F029 +CT=B0A303054412882E464591F1546C5B9E + +I=39 +KEY=68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E +PT=79BD40B91A7E07DC939D441782AE6B17 +CT=778C06D8A355EEEE214FCEA14B4E0EEF + +I=40 +KEY=90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=D8CEAAF8976E5FBE1012D8C84F323799 +CT=09614206D15CBACE63227D06DB6BEEBB + +I=41 +KEY=B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE +PT=3316E2751E2E388B083DA23DD6AC3FBE +CT=41B97FB20E427A9FDBBB358D9262255D + +I=42 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 +PT=8B7CFBE37DE7DCA793521819242C5816 +CT=C1940F703D845F957652C2D64ABD7ADF + +I=43 +KEY=08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E +PT=F23F033C0EEBF8EC55752662FD58CE68 +CT=D2D44FCDAE5332343366DB297EFCF21B + +I=44 +KEY=30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 +PT=59EB34F6C8BDBACC5FC6AD73A59A1301 +CT=EA8196B79DBE167B6AA9896E287EED2B + +I=45 +KEY=58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E +PT=DCDE8B6BD5CF7CC22D9505E3CE81261A +CT=D6B0B0C4BA6C7DBE5ED467A1E3F06C2D + +I=46 +KEY=80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 +PT=E33CF7E524FED781E7042FF9F4B35DC7 +CT=EC51EB295250C22C2FB01816FB72BCAE + +I=47 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE +PT=27963C8FACDF73062867D164DF6D064C +CT=ADED6630A07CE9C7408A155D3BD0D36F + +I=48 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=77B1CE386B551B995F2F2A1DA994EEF8 +CT=697C9245B9937F32F5D1C82319F0363A + +I=49 +KEY=F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E +PT=F083388B013679EFCF0BB9B15D52AE5C +CT=AAD5AD50C6262AAEC30541A1B7B5B19C + +I=50 +KEY=20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546 +PT=C5009E0DAB55DB0ABDB636F2600290C8 +CT=7D34B893855341EC625BD6875AC18C0D + +I=51 +KEY=48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E +PT=7804881E26CD532D8514D3683F00F1B9 +CT=7EF05105440F83862F5D780E88F02B41 + +I=52 +KEY=70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 +PT=46CDDCD73D1EB53E675CA012870A92A3 +CT=C377C06403382061AF2C9C93A8E70DF6 + +I=53 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=A9FB44062BB07FE130A8E8299EACB1AB +CT=1DBDB3FFDC052DACC83318853ABC6DE5 + +I=54 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=2B6FF8D7A5CC3A28A22D5A6F221AF26B +CT=69A6EAB00432517D0BF483C91C0963C7 + +I=55 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E +PT=1A9527C29B8ADD4B0E3E656DBB2AF8B4 +CT=0797F41DC217C80446E1D514BD6AB197 + +I=56 +KEY=10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 +PT=7F99CF2C75244DF015EB4B0C1050AEAE +CT=9DFD76575902A637C01343C58E011A03 + +I=57 +KEY=38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E +PT=E84FF85B0D9454071909C1381646C4ED +CT=ACF4328AE78F34B9FA9B459747CC2658 + +I=58 +KEY=60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 +PT=89AFD40F99521280D5399B12404F6DB4 +CT=B0479AEA12BAC4FE2384CF98995150C6 + +I=59 +KEY=88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=A09EF32DBC5119A35AB7FA38656F0329 +CT=9DD52789EFE3FFB99F33B3DA5030109A + +I=60 +KEY=B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=61773457F068C376C7829B93E696E716 +CT=ABBB755E4621EF8F1214C19F649FB9FD + +I=61 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=A34F0CAE726CCE41DD498747D891B967 +CT=DA27FB8174357BCE2BED0E7354F380F9 + +I=62 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 +PT=856F59496C7388EE2D2B1A27B7697847 +CT=C59A0663F0993838F6E5856593BDC5EF + +I=63 +KEY=28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E +PT=CB090C593EF7720BD95908FB93B49DF4 +CT=ED60B264B5213E831607A99C0CE5E57E + +I=64 +KEY=50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=A0AC75CD2F1923D460FC4D457AD95BAF +CT=E50548746846F3EB77B8C520640884ED + +I=65 +KEY=78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E +PT=2A2B282974777689E8E9EEEF525D5C5F +CT=28282CC7D21D6A2923641E52D188EF0C + +I=66 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=909192939390919E0F0E09089788898A +CT=0DFA5B02ABB18E5A815305216D6D4F8E + +I=67 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=777675748D8E8F907170777649464744 +CT=7359635C0EECEFE31D673395FB46FB99 + +I=68 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 +PT=717073720605040B2D2C2B2A05FAFBF9 +CT=73C679F7D5AEF2745C9737BB4C47FB36 + +I=69 +KEY=18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E +PT=64656667FEFDFCC31B1A1D1CA5AAABA8 +CT=B192BD472A4D2EAFB786E97458967626 + +I=70 +KEY=40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 +PT=DBDAD9D86A696867B5B4B3B2C8D7D6D5 +CT=0EC327F6C8A2B147598CA3FDE61DC6A4 + +I=71 +KEY=68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E +PT=5C5D5E5FE3E0E1FE31303736333C3D3E +CT=FC418EB3C41B859B38D4B6F646629729 + +I=72 +KEY=90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=545556574B48494673727574546B6A69 +CT=30249E5AC282B1C981EA64B609F3A154 + +I=73 +KEY=B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE +PT=ECEDEEEFC6C5C4BB56575051F5FAFBF8 +CT=5E6E08646D12150776BB43C2D78A9703 + +I=74 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 +PT=464744452724252AC9C8CFCED2CDCCCF +CT=FAEB3D5DE652CD3447DCEB343F30394A + +I=75 +KEY=08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E +PT=E6E7E4E54142435C878681801C131211 +CT=A8E88706823F6993EF80D05C1C7B2CF0 + +I=76 +KEY=30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 +PT=72737071CFCCCDC2F9F8FFFE710E0F0C +CT=8CED86677E6E00A1A1B15968F2D3CCE6 + +I=77 +KEY=58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E +PT=505152537370714EC3C2C5C4010E0F0C +CT=9FC7C23858BE03BDEBB84E90DB6786A9 + +I=78 +KEY=80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 +PT=A8A9AAAB5C5F5E51AEAFA8A93D222320 +CT=B4FBD65B33F70D8CF7F1111AC4649C36 + +I=79 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE +PT=DEDFDCDDF6F5F4EB10111617FEF1F0F3 +CT=C5C32D5ED03C4B53CC8C1BD0EF0DBBF6 + +I=80 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=BDBCBFBE5E5D5C530B0A0D0CFAC5C4C7 +CT=D1A7F03B773E5C212464B63709C6A891 + +I=81 +KEY=F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E +PT=8A8B8889050606F8F4F5F2F3636C6D6E +CT=6B7161D8745947AC6950438EA138D028 + +I=82 +KEY=20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546 +PT=A6A7A4A54D4E4F40B2B3B4B539262724 +CT=FD47A9F7E366EE7A09BC508B00460661 + +I=83 +KEY=48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E +PT=9C9D9E9FE9EAEBF40E0F08099B949596 +CT=00D40B003DC3A0D9310B659B98C7E416 + +I=84 +KEY=70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 +PT=2D2C2F2E1013121DCCCDCACBED121310 +CT=EEA4C79DCC8E2BDA691F20AC48BE0717 + +I=85 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=F4F5F6F7EDEEEFD0EAEBECEDF7F8F9FA +CT=E78F43B11C204403E5751F89D05A2509 + +I=86 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=3D3C3F3E282B2A2573727574150A0B08 +CT=D0F0E3D1F1244BB979931E38DD1786EF + +I=87 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E +PT=B6B7B4B5F8FBFAE5B4B5B2B3A0AFAEAD +CT=042E639DC4E1E4DDE7B75B749EA6F765 + +I=88 +KEY=10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 +PT=B7B6B5B4989B9A95878681809BA4A5A6 +CT=BC032FDD0EFE29503A980A7D07AB46A8 + +I=89 +KEY=38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E +PT=A8A9AAABE5E6E798E9E8EFEE4748494A +CT=0C93AC949C0DA6446EFFB86183B6C910 + +I=90 +KEY=60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 +PT=ECEDEEEFD9DADBD4B9B8BFBE657A7B78 +CT=E0D343E14DA75C917B4A5CEC4810D7C2 + +I=91 +KEY=88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=7F7E7D7C696A6B74CACBCCCD929D9C9F +CT=0EAFB821748408279B937B626792E619 + +I=92 +KEY=B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=08090A0B0605040BFFFEF9F8B9C6C7C4 +CT=FA1AC6E02D23B106A1FEF18B274A553F + +I=93 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=08090A0BF1F2F3CCFCFDFAFB68676665 +CT=0DADFE019CD12368075507DF33C1A1E9 + +I=94 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 +PT=CACBC8C93A393837050403020D121310 +CT=3A0879B414465D9FFBAF86B33A63A1B9 + +I=95 +KEY=28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E +PT=E9E8EBEA8281809F8F8E8988343B3A39 +CT=62199FADC76D0BE1805D3BA0B7D914BF + +I=96 +KEY=50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=515053524645444BD0D1D6D7340B0A09 +CT=1B06D6C5D333E742730130CF78E719B4 + +I=97 +KEY=78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E +PT=42434041ECEFEE1193929594C6C9C8CB +CT=F1F848824C32E9DCDCBF21580F069329 + +I=98 +KEY=A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6 +PT=EFEEEDECC2C1C0CF76777071455A5B58 +CT=1A09050CBD684F784D8E965E0782F28A + +I=99 +KEY=C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE +PT=5F5E5D5C3F3C3D221D1C1B1A19161714 +CT=79C2969E7DED2BA7D088F3F320692360 + +I=100 +KEY=F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516 +PT=000102034142434C1C1D1A1B8D727371 +CT=091A658A2F7444C16ACCB669450C7B63 + +I=101 +KEY=18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E +PT=8E8F8C8DB1B2B38C56575051050A0B08 +CT=97C1E3A72CCA65FA977D5ED0E8A7BBFC + +I=102 +KEY=40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566 +PT=A7A6A5A4E8EBEAE57F7E7978CAD5D4D7 +CT=70C430C6DB9A17828937305A2DF91A2A + +I=103 +KEY=68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E +PT=8A8B888994979689454443429F909192 +CT=629553457FBE2479098571C7C903FDE8 + +I=104 +KEY=90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6 +PT=8C8D8E8FE0E3E2ED45444342F1CECFCC +CT=A25B25A61F612669E7D91265C7D476BA + +I=105 +KEY=B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE +PT=FFFEFDFC4C4F4E31D8D9DEDFB6B9B8BB +CT=EB7E4E49B8AE0F024570DDA293254FED + +I=106 +KEY=E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506 +PT=FDFCFFFECCCFCEC12F2E29286679787B +CT=38FE15D61CCA84516E924ADCE5014F67 + +I=107 +KEY=08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E +PT=67666564BAB9B8A77071767719161714 +CT=3AD208492249108C9F3EBEB167AD0583 + +I=108 +KEY=30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556 +PT=9A9B98992D2E2F2084858283245B5A59 +CT=299BA9F9BF5AB05C3580FC26EDD1ED12 + +I=109 +KEY=58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E +PT=A4A5A6A70B0809365C5D5A5B2C232221 +CT=19DC705B857A60FB07717B2EA5717781 + +I=110 +KEY=80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6 +PT=464744455754555AF3F2F5F4AFB0B1B2 +CT=FFC8AEB885B5EFCAD06B6DBEBF92E76B + +I=111 +KEY=A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE +PT=323330317675746B7273747549464744 +CT=F58900C5E0B385253FF2546250A0142B + +I=112 +KEY=D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6 +PT=A8A9AAAB181B1A15808186872B141516 +CT=2EE67B56280BC462429CEE6E3370CBC1 + +I=113 +KEY=F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E +PT=E7E6E5E4202323DDAAABACAD343B3A39 +CT=20DB650A9C8E9A84AB4D25F7EDC8F03F + +I=114 +KEY=20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546 +PT=A8A9AAAB2221202FEDECEBEA1E010003 +CT=3C36DA169525CF818843805F25B78AE5 + +I=115 +KEY=48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E +PT=F9F8FBFA5F5C5D42424344450E010003 +CT=9A781D960DB9E45E37779042FEA51922 + +I=116 +KEY=70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596 +PT=57565554F5F6F7F89697909120DFDEDD +CT=6560395EC269C672A3C288226EFDBA77 + +I=117 +KEY=98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE +PT=F8F9FAFBCCCFCEF1DDDCDBDA0E010003 +CT=8C772B7A189AC544453D5916EBB27B9A + +I=118 +KEY=C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6 +PT=D9D8DBDA7073727D80818687C2DDDCDF +CT=77CA5468CC48E843D05F78EED9D6578F + +I=119 +KEY=E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E +PT=C5C4C7C6080B0A1588898E8F68676665 +CT=72CDCC71DC82C60D4429C9E2D8195BAA + +I=120 +KEY=10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536 +PT=83828180DCDFDED186878081F0CFCECD +CT=8080D68CE60E94B40B5B8B69EEB35AFA + +I=121 +KEY=38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E +PT=98999A9BDDDEDFA079787F7E0A050407 +CT=44222D3CDE299C04369D58AC0EBA1E8E + +I=122 +KEY=60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586 +PT=CECFCCCD4F4C4D429F9E9998DFC0C1C2 +CT=9B8721B0A8DFC691C5BC5885DBFCB27A + +I=123 +KEY=88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE +PT=404142436665647B29282F2EABA4A5A6 +CT=0DC015CE9A3A3414B5E62EC643384183 + +I=124 +KEY=B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6 +PT=33323130E6E5E4EB23222524DEA1A0A3 +CT=705715448A8DA412025CE38345C2A148 + +I=125 +KEY=D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE +PT=CFCECDCCF6F5F4CBE6E7E0E199969794 +CT=C32B5B0B6FBAE165266C569F4B6ECF0B + +I=126 +KEY=00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 +PT=BABBB8B97271707FDCDDDADB29363734 +CT=4DCA6C75192A01DDCA9476AF2A521E87 + +I=127 +KEY=28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E +PT=C9C8CBCA4447465926272021545B5A59 +CT=058691E627ECBC36AC07B6DB423BD698 + +I=128 +KEY=50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576 +PT=050407067477767956575051221D1C1F +CT=7444527095838FE080FC2BCDD30847EB + +========== \ No newline at end of file diff --git a/tests/seal b/tests/seal new file mode 100644 index 0000000..7c48095 --- /dev/null +++ b/tests/seal @@ -0,0 +1,8 @@ +# Test vectors for SEAL +# +# $Id: seal,v 1.1 2000/06/17 12:11:49 mdw Exp $ + +seal { + 67452301efcdab8998badcfe10325476c3d2e1f0 0x013577af + 9505a0379cc4849b051ebea40f537306fd97b05fbd3fa1f6cdde2c6c7ceefd81e7c3bd2aff9a20648322a100855067ef534b63c1e6599028d95eaba7eb010c48; +} diff --git a/tests/serpent.aes b/tests/serpent.aes new file mode 100644 index 0000000..0419e3b --- /dev/null +++ b/tests/serpent.aes @@ -0,0 +1,3900 @@ +========================= + +FILENAME: "ecb_vk.txt" + +Electronic Codebook (ECB) Mode +Variable Key Known Answer Tests + +Algorithm Name: Serpent +Principal Submitter: Ross Anderson, Eli Biham, Lars Knudsen + +========== + +KEYSIZE=128 + +PT=00000000000000000000000000000000 + +I=1 +KEY=80000000000000000000000000000000 +CT=49afbfad9d5a34052cd8ffa5986bd2dd + +I=2 +KEY=40000000000000000000000000000000 +CT=0c1e2e4e79bd02c2501096e79b5e73fa + +I=3 +KEY=20000000000000000000000000000000 +CT=d769e71b31f4ae12e14cdc48238d2d7b + +I=4 +KEY=10000000000000000000000000000000 +CT=bd0276d6be072cc00b3d426130bf355f + +I=5 +KEY=08000000000000000000000000000000 +CT=c191e2121daea18ec30957bbce199a8c + +I=6 +KEY=04000000000000000000000000000000 +CT=afdffc707b4c6890fa9eec5dcf8c9cd6 + +I=7 +KEY=02000000000000000000000000000000 +CT=7ed064ab9270ede51862d2a4775eb639 + +I=8 +KEY=01000000000000000000000000000000 +CT=e108b719d47da77d82b2811f09c768f6 + +I=9 +KEY=00800000000000000000000000000000 +CT=46d78ac926c7fd72aeb6e662d6be0671 + +I=10 +KEY=00400000000000000000000000000000 +CT=b86ddb30f8bacec337679bb112a33a04 + +I=11 +KEY=00200000000000000000000000000000 +CT=d55f0d5779c68cb6db174f85006f5ef9 + +I=12 +KEY=00100000000000000000000000000000 +CT=9cce4fe5fc2c3f58007049ff81ae3fd2 + +I=13 +KEY=00080000000000000000000000000000 +CT=e8db9396961180f9515acedbc47d5cef + +I=14 +KEY=00040000000000000000000000000000 +CT=abcc122ccc4b2b00a40e266c54f0d234 + +I=15 +KEY=00020000000000000000000000000000 +CT=137ef0814dc6171858a93557e97b78b3 + +I=16 +KEY=00010000000000000000000000000000 +CT=1aeddc72581c90d87f6f01e431dc31eb + +I=17 +KEY=00008000000000000000000000000000 +CT=9543bc267111fbdb019c00d0d907d643 + +I=18 +KEY=00004000000000000000000000000000 +CT=2269c1f5dbeb2ced1932a60dcf273b46 + +I=19 +KEY=00002000000000000000000000000000 +CT=bb49509c9b79d012cb04ab565534df90 + +I=20 +KEY=00001000000000000000000000000000 +CT=4d0f02eb268acfaec89115f7f761c805 + +I=21 +KEY=00000800000000000000000000000000 +CT=9288439abb3beb346b7fafadb897dd11 + +I=22 +KEY=00000400000000000000000000000000 +CT=dc348afd3ee54b134f8f9f5045e87171 + +I=23 +KEY=00000200000000000000000000000000 +CT=52d8aa93f95a76980a42960a407b4e86 + +I=24 +KEY=00000100000000000000000000000000 +CT=ea977f02d0f2b330dc33aa53055af7b8 + +I=25 +KEY=00000080000000000000000000000000 +CT=8dd4bdf3874ed531036747e0b1b93f57 + +I=26 +KEY=00000040000000000000000000000000 +CT=b8dba7c86499bff611935cede230cf03 + +I=27 +KEY=00000020000000000000000000000000 +CT=32cce0726492e1afbc3a001f655c73ed + +I=28 +KEY=00000010000000000000000000000000 +CT=807570b6677b0fbdf7e7cabcd5dd0c97 + +I=29 +KEY=00000008000000000000000000000000 +CT=26381f839c8d92efe1c29df688571c6d + +I=30 +KEY=00000004000000000000000000000000 +CT=da6e8ca3ec924a0a6c7b704b56c46783 + +I=31 +KEY=00000002000000000000000000000000 +CT=cc6e7070e5ac70cd9664fda7bb505df2 + +I=32 +KEY=00000001000000000000000000000000 +CT=8c41cd11c3dc2333dc96ddf74d85430c + +I=33 +KEY=00000000800000000000000000000000 +CT=a006685e857f4c2a70fcea63ed27888f + +I=34 +KEY=00000000400000000000000000000000 +CT=f6e94cd2ef8eb4886893458d49f84fdd + +I=35 +KEY=00000000200000000000000000000000 +CT=1f654042740ca63ad906c1b7bcf18bde + +I=36 +KEY=00000000100000000000000000000000 +CT=340fbc9913fc30b3a867921b6acb45fc + +I=37 +KEY=00000000080000000000000000000000 +CT=b2b0488b1c9dfa4d66fcaeeb4c29ec9e + +I=38 +KEY=00000000040000000000000000000000 +CT=a35d40c8cfe4b26d0047e1661d5bfbca + +I=39 +KEY=00000000020000000000000000000000 +CT=97f91ad53e32fd33198ccb9c553cf4b9 + +I=40 +KEY=00000000010000000000000000000000 +CT=7adeec246ef1a8b16caa7aeb85441dd1 + +I=41 +KEY=00000000008000000000000000000000 +CT=12e12c07623a87b76100474804b4f7a4 + +I=42 +KEY=00000000004000000000000000000000 +CT=d24a5c39b10157c7f957f51bd35adf80 + +I=43 +KEY=00000000002000000000000000000000 +CT=54593378469cea645783a4ab0847ce46 + +I=44 +KEY=00000000001000000000000000000000 +CT=3ac3fce2fbdd176ff7f659ee19bcba72 + +I=45 +KEY=00000000000800000000000000000000 +CT=82c4c432a703271e6f4bda3f174063e7 + +I=46 +KEY=00000000000400000000000000000000 +CT=58d9b1ac0a6dad03ede51d30ac77c579 + +I=47 +KEY=00000000000200000000000000000000 +CT=8a8f0c4f316232a05eb611358fd7a8a2 + +I=48 +KEY=00000000000100000000000000000000 +CT=afae1db5edb3f7203577b37ce8e4876c + +I=49 +KEY=00000000000080000000000000000000 +CT=07112de84d0759a816f620dc786e648d + +I=50 +KEY=00000000000040000000000000000000 +CT=c3f4922db4541025e4c162acaae48de9 + +I=51 +KEY=00000000000020000000000000000000 +CT=47836c92ed4fa66f1c6459478f45fcb0 + +I=52 +KEY=00000000000010000000000000000000 +CT=d25965deadcbeb3c9b8ee599fa81f361 + +I=53 +KEY=00000000000008000000000000000000 +CT=7d86a4cd06353c4a73022b2e75af7e2c + +I=54 +KEY=00000000000004000000000000000000 +CT=bf1bdfdb65e06f4d19c8b11a4e280f60 + +I=55 +KEY=00000000000002000000000000000000 +CT=6845080536e71bd50c9db865bac484db + +I=56 +KEY=00000000000001000000000000000000 +CT=37004f392802c0ade017bc4a1ac4754c + +I=57 +KEY=00000000000000800000000000000000 +CT=501f9de66d9b8048c9a2657bee750323 + +I=58 +KEY=00000000000000400000000000000000 +CT=edffad56dbd99444dbf01f5d347fef94 + +I=59 +KEY=00000000000000200000000000000000 +CT=afe80d1a72308a41a10bc463507a27ce + +I=60 +KEY=00000000000000100000000000000000 +CT=c848af4b9d8eef03e085ea6331e14fbf + +I=61 +KEY=00000000000000080000000000000000 +CT=5c0547e4ca27c23506eb54dbf1f9f9c8 + +I=62 +KEY=00000000000000040000000000000000 +CT=9eea58726c084358c80beace0ba9316f + +I=63 +KEY=00000000000000020000000000000000 +CT=c3f8221b5e849c830bbc30697cfc4e33 + +I=64 +KEY=00000000000000010000000000000000 +CT=7d10842f40364fa264c876e5f2f9921e + +I=65 +KEY=00000000000000008000000000000000 +CT=e25769f083838d9ba05dbabd0adfb8a5 + +I=66 +KEY=00000000000000004000000000000000 +CT=08cb3d4622c7974eff08da8a346f4b34 + +I=67 +KEY=00000000000000002000000000000000 +CT=3ff6bcf81372f04eb8a1e082042ab5aa + +I=68 +KEY=00000000000000001000000000000000 +CT=0198c38d19e4579133178aa8e4dd77e4 + +I=69 +KEY=00000000000000000800000000000000 +CT=dffdd86a4c6b22b399f4ccbedf1c4033 + +I=70 +KEY=00000000000000000400000000000000 +CT=b10b0e2bde47b1129c75b5838627062c + +I=71 +KEY=00000000000000000200000000000000 +CT=ec608bdd3f215e9f73b57183dc7cb6b2 + +I=72 +KEY=00000000000000000100000000000000 +CT=ee7b79d43681851ba43510b25fedac83 + +I=73 +KEY=00000000000000000080000000000000 +CT=1906141e04ad2a584cef3a93dc13621f + +I=74 +KEY=00000000000000000040000000000000 +CT=7590c1bb23c24da9cd0f10040ee1b732 + +I=75 +KEY=00000000000000000020000000000000 +CT=c581396fbdfecf75f55ce431879cfa72 + +I=76 +KEY=00000000000000000010000000000000 +CT=93e88288dc748f6fa096bd2f5b35e9ae + +I=77 +KEY=00000000000000000008000000000000 +CT=b1f29150a0c4c5fdb8d20d2dc52661b5 + +I=78 +KEY=00000000000000000004000000000000 +CT=e5ee3a9b5f38d0dd5db7be33f1b6f56f + +I=79 +KEY=00000000000000000002000000000000 +CT=db980feddfe7c14e3ff9b3e4bcc54165 + +I=80 +KEY=00000000000000000001000000000000 +CT=1d085c7a534503011e3f248a0dd69ebf + +I=81 +KEY=00000000000000000000800000000000 +CT=578aa13f4284049cf77ddb639e9d6777 + +I=82 +KEY=00000000000000000000400000000000 +CT=7f725360786ca59b82bf2673b0918054 + +I=83 +KEY=00000000000000000000200000000000 +CT=fb21f98e591af7f7d6ee6ee04e70faa8 + +I=84 +KEY=00000000000000000000100000000000 +CT=dc73336c2d3056fb56c11a09ca147f62 + +I=85 +KEY=00000000000000000000080000000000 +CT=f51c58c6fe6a0ebc9c9109eb97ab2cbc + +I=86 +KEY=00000000000000000000040000000000 +CT=081d42e412311642222b52cff05d7fcc + +I=87 +KEY=00000000000000000000020000000000 +CT=e50c69c214a093004fe6f107bfc34a08 + +I=88 +KEY=00000000000000000000010000000000 +CT=c5b57a240a095310ba40b7747459c6d3 + +I=89 +KEY=00000000000000000000008000000000 +CT=b1110d1bc986bfa5acdbf1231b913574 + +I=90 +KEY=00000000000000000000004000000000 +CT=23f5505f1badb259826d8ab7e59ce579 + +I=91 +KEY=00000000000000000000002000000000 +CT=e5ddaabeaf6cae289174d9839165f372 + +I=92 +KEY=00000000000000000000001000000000 +CT=c44e60a86495404c6ea369d6a26edd77 + +I=93 +KEY=00000000000000000000000800000000 +CT=273d4e769fceb754be0ce32a7eecd427 + +I=94 +KEY=00000000000000000000000400000000 +CT=239d65850b45fafe8bd0982492c4680d + +I=95 +KEY=00000000000000000000000200000000 +CT=5db91003c20f59ea498576f2efce4f6c + +I=96 +KEY=00000000000000000000000100000000 +CT=3bc4e9986a9576474f947ee49b9046fc + +I=97 +KEY=00000000000000000000000080000000 +CT=2aa67c0d7f134c3ee48b5a945a94aa50 + +I=98 +KEY=00000000000000000000000040000000 +CT=f6f6f7dd1920f20aeb08844c8c811175 + +I=99 +KEY=00000000000000000000000020000000 +CT=0d3313cbc0c84fc2747900009ba06bd4 + +I=100 +KEY=00000000000000000000000010000000 +CT=7385cbac63b11c5adaf763c9c652e317 + +I=101 +KEY=00000000000000000000000008000000 +CT=80a74048515d7162287b0f4d991ced6c + +I=102 +KEY=00000000000000000000000004000000 +CT=7d3abfdd15cfd8c0a989fc7a151e35ad + +I=103 +KEY=00000000000000000000000002000000 +CT=0336740082e8c5a85d32dcba80b0af79 + +I=104 +KEY=00000000000000000000000001000000 +CT=fdaa7495db62ec0c22cae25fa2fe26d3 + +I=105 +KEY=00000000000000000000000000800000 +CT=da10538ff08a81323b8e0bdab580c9a3 + +I=106 +KEY=00000000000000000000000000400000 +CT=3aa421d16db303cd32c58261d71f6512 + +I=107 +KEY=00000000000000000000000000200000 +CT=90f78d5b05e1ca8e0b34220760a4916d + +I=108 +KEY=00000000000000000000000000100000 +CT=03a35d1b2758a91907430778c9491f2b + +I=109 +KEY=00000000000000000000000000080000 +CT=b729c8708dc7cd28d21eaa12dcda299e + +I=110 +KEY=00000000000000000000000000040000 +CT=4b30d94af1cb3be76fb98ef878f68f5b + +I=111 +KEY=00000000000000000000000000020000 +CT=5b3eef9c55455e7347e533bb6c5f8b15 + +I=112 +KEY=00000000000000000000000000010000 +CT=8e01b7823aacf4f23552ac40c03afa8e + +I=113 +KEY=00000000000000000000000000008000 +CT=f9d23961d0661eebde0f824e47ceba97 + +I=114 +KEY=00000000000000000000000000004000 +CT=385ac4a1512edbecae3527ec49b84c11 + +I=115 +KEY=00000000000000000000000000002000 +CT=4561dab55aa5b7625a6961fed1ab2614 + +I=116 +KEY=00000000000000000000000000001000 +CT=40778dfdd63cbe86812440519715c680 + +I=117 +KEY=00000000000000000000000000000800 +CT=93c6789d563e3df7d74ea3523333bdcf + +I=118 +KEY=00000000000000000000000000000400 +CT=7f47b8dbe11e385f07b6efb20a35045f + +I=119 +KEY=00000000000000000000000000000200 +CT=66ea39db24ed91686ead33208de35ccf + +I=120 +KEY=00000000000000000000000000000100 +CT=4c42473dcc65b14088257f8744af633e + +I=121 +KEY=00000000000000000000000000000080 +CT=3ddabfc006daab06462af4ef81544e26 + +I=122 +KEY=00000000000000000000000000000040 +CT=24850e35c86eac07349927c73b1b234a + +I=123 +KEY=00000000000000000000000000000020 +CT=568db914df56817d3c85fde9f96932e0 + +I=124 +KEY=00000000000000000000000000000010 +CT=8fc4ac4d7589bad559ac81301c1898a7 + +I=125 +KEY=00000000000000000000000000000008 +CT=15dafb79236ac6f5f361f80d5255b334 + +I=126 +KEY=00000000000000000000000000000004 +CT=4ab0a08142246b0c5175116b8fbb865e + +I=127 +KEY=00000000000000000000000000000002 +CT=a143e86d9bd26437f1c5a9c7903121b9 + +I=128 +KEY=00000000000000000000000000000001 +CT=c8466045b204026fffd194320355ca4e + +========== + +KEYSIZE=192 + +PT=00000000000000000000000000000000 + +I=1 +KEY=800000000000000000000000000000000000000000000000 +CT=e78e5402c7195568ac3678f7a3f60c66 + +I=2 +KEY=400000000000000000000000000000000000000000000000 +CT=23645a0ddd4b0f8b73b6215ea938a59e + +I=3 +KEY=200000000000000000000000000000000000000000000000 +CT=95d262643c94cab3e5830fc90a3ad119 + +I=4 +KEY=100000000000000000000000000000000000000000000000 +CT=2a66ae878814c427cd1be1b929d69d1b + +I=5 +KEY=080000000000000000000000000000000000000000000000 +CT=c1f74b3c5df4b485118b6901a22bef14 + +I=6 +KEY=040000000000000000000000000000000000000000000000 +CT=abe310b271d2f83f15ddd70139a8f18a + +I=7 +KEY=020000000000000000000000000000000000000000000000 +CT=8072229836095e09a76de47ff4b90942 + +I=8 +KEY=010000000000000000000000000000000000000000000000 +CT=463b70d45332c3d5afc57cac1785055d + +I=9 +KEY=008000000000000000000000000000000000000000000000 +CT=5587b5bcb9ee5a28ba2bacc418005240 + +I=10 +KEY=004000000000000000000000000000000000000000000000 +CT=735ab1e66239c7882ab3b52623e812fb + +I=11 +KEY=002000000000000000000000000000000000000000000000 +CT=2c899a7e69368ddfd435b90fb54a5110 + +I=12 +KEY=001000000000000000000000000000000000000000000000 +CT=058a2258fec39fd98caee246e83fba23 + +I=13 +KEY=000800000000000000000000000000000000000000000000 +CT=29de401b293b69509f1f26172b99e768 + +I=14 +KEY=000400000000000000000000000000000000000000000000 +CT=33fda1c0a7f752f26f7eef1de21af616 + +I=15 +KEY=000200000000000000000000000000000000000000000000 +CT=90144147c0838e88c081c08c806d3879 + +I=16 +KEY=000100000000000000000000000000000000000000000000 +CT=598957d7605d027c870c3968de1c4281 + +I=17 +KEY=000080000000000000000000000000000000000000000000 +CT=252e46bf0615ac356a4350f223d1e48b + +I=18 +KEY=000040000000000000000000000000000000000000000000 +CT=cc2447d57f2a53f825c167bffc7e00fd + +I=19 +KEY=000020000000000000000000000000000000000000000000 +CT=7100c3404f1394015041d22fe81d66d6 + +I=20 +KEY=000010000000000000000000000000000000000000000000 +CT=9df94fccb015d30e3b86aeca1c393ab0 + +I=21 +KEY=000008000000000000000000000000000000000000000000 +CT=4844e0e701a2a85dbac818f1ab2c14b5 + +I=22 +KEY=000004000000000000000000000000000000000000000000 +CT=4ce4e7e3104510c0ec02486e618b072b + +I=23 +KEY=000002000000000000000000000000000000000000000000 +CT=88f251a4fd7939dab8e3547140958ace + +I=24 +KEY=000001000000000000000000000000000000000000000000 +CT=d752effc32d3d7ba1217a3a6759d5def + +I=25 +KEY=000000800000000000000000000000000000000000000000 +CT=6c03785cc372b967a9ae4e7e153064ce + +I=26 +KEY=000000400000000000000000000000000000000000000000 +CT=f356816a32dabc65bf3361957e131771 + +I=27 +KEY=000000200000000000000000000000000000000000000000 +CT=b1700202c5b1c1fa94d756db5b160d7d + +I=28 +KEY=000000100000000000000000000000000000000000000000 +CT=d2dd321ee0d420bde198cda1c84de12a + +I=29 +KEY=000000080000000000000000000000000000000000000000 +CT=0e53163d96ceaec6073786bfe36b26ae + +I=30 +KEY=000000040000000000000000000000000000000000000000 +CT=607e94a93e5ed0e8d4657697af12263a + +I=31 +KEY=000000020000000000000000000000000000000000000000 +CT=4fe24da11e3b2e528689b4d72a1f4995 + +I=32 +KEY=000000010000000000000000000000000000000000000000 +CT=c89dc4741fba46d09f0c909e415d1e8a + +I=33 +KEY=000000008000000000000000000000000000000000000000 +CT=927998642db52db45aa726f55a9807e4 + +I=34 +KEY=000000004000000000000000000000000000000000000000 +CT=8a9da14de34dfcd06af101411ead6e6c + +I=35 +KEY=000000002000000000000000000000000000000000000000 +CT=58d05e0e1c2217640ba965d33642e784 + +I=36 +KEY=000000001000000000000000000000000000000000000000 +CT=6b329fe46eb5523e2360a28956d4c07d + +I=37 +KEY=000000000800000000000000000000000000000000000000 +CT=80765c8e114a3f19ac86e68ac5e69ee6 + +I=38 +KEY=000000000400000000000000000000000000000000000000 +CT=9e111a3bc422a8d3c8372a7b214dcf7f + +I=39 +KEY=000000000200000000000000000000000000000000000000 +CT=43a392e7c0a7441e5fd4b8f53b04376d + +I=40 +KEY=000000000100000000000000000000000000000000000000 +CT=321c8906902c819fee83ac1ca3de46ed + +I=41 +KEY=000000000080000000000000000000000000000000000000 +CT=961146f0e1d1618b4aa3dddfc407bcda + +I=42 +KEY=000000000040000000000000000000000000000000000000 +CT=35ff30c0f11225b0fbdeee829e1033e7 + +I=43 +KEY=000000000020000000000000000000000000000000000000 +CT=c14f87b211633d3f3b7b297fe1f53b9f + +I=44 +KEY=000000000010000000000000000000000000000000000000 +CT=75e05358f1d0798f359c29a6ed9327cf + +I=45 +KEY=000000000008000000000000000000000000000000000000 +CT=ce93218acbc0c73f0b2be8082ed9fc4c + +I=46 +KEY=000000000004000000000000000000000000000000000000 +CT=54a73a50cda285a429016cc5086d9f40 + +I=47 +KEY=000000000002000000000000000000000000000000000000 +CT=73de0beacbf4cd85e4e067226e94804d + +I=48 +KEY=000000000001000000000000000000000000000000000000 +CT=8851067bedfa997f5feb63a07676e0ea + +I=49 +KEY=000000000000800000000000000000000000000000000000 +CT=3438f325f239c49b2a21b5140aeb83a7 + +I=50 +KEY=000000000000400000000000000000000000000000000000 +CT=e93a4212daaaaa91d2628bbffa824252 + +I=51 +KEY=000000000000200000000000000000000000000000000000 +CT=660bef72e98bc11e63944336550e6d30 + +I=52 +KEY=000000000000100000000000000000000000000000000000 +CT=39ebf5fc10b7bb85fe45473508bad887 + +I=53 +KEY=000000000000080000000000000000000000000000000000 +CT=c97a923736e49d536ba33bf4502f4d89 + +I=54 +KEY=000000000000040000000000000000000000000000000000 +CT=352acb145387dfa72b05b0dd79199c47 + +I=55 +KEY=000000000000020000000000000000000000000000000000 +CT=73682433c31b7492335615ef9f39e5e0 + +I=56 +KEY=000000000000010000000000000000000000000000000000 +CT=2f3166a3e2ea671397d852958b3cf986 + +I=57 +KEY=000000000000008000000000000000000000000000000000 +CT=84f405f8270c1c58c0fe19a564df189f + +I=58 +KEY=000000000000004000000000000000000000000000000000 +CT=8e768cbf45b91029f767db75843ebd53 + +I=59 +KEY=000000000000002000000000000000000000000000000000 +CT=b1927686ab4297fb6aa8eface91b6c45 + +I=60 +KEY=000000000000001000000000000000000000000000000000 +CT=2192b94b157c15177f4bb4dcbd6eee89 + +I=61 +KEY=000000000000000800000000000000000000000000000000 +CT=2b596f7f119a2f59179f522c7ea1ec51 + +I=62 +KEY=000000000000000400000000000000000000000000000000 +CT=56c5e66ea1d98ea8dd9906d9d73610a5 + +I=63 +KEY=000000000000000200000000000000000000000000000000 +CT=6ad3b33d2ede5b781d136fcea356c807 + +I=64 +KEY=000000000000000100000000000000000000000000000000 +CT=5585ab166028e001379c6d2cbd3169a0 + +I=65 +KEY=000000000000000080000000000000000000000000000000 +CT=167da93e33b3c95fe3f7a8526668073a + +I=66 +KEY=000000000000000040000000000000000000000000000000 +CT=dfb3528fca5f163952a30b34108300fd + +I=67 +KEY=000000000000000020000000000000000000000000000000 +CT=1503116c28b3b82ff9f0db169d857efc + +I=68 +KEY=000000000000000010000000000000000000000000000000 +CT=7b4dac54ba36d4ab88ef3356ebcbc086 + +I=69 +KEY=000000000000000008000000000000000000000000000000 +CT=dcea72fe37b7eee1837be0eaa4ce66ca + +I=70 +KEY=000000000000000004000000000000000000000000000000 +CT=c9da8b98ef3157d221c06d6b95549701 + +I=71 +KEY=000000000000000002000000000000000000000000000000 +CT=e83cabd11d2f8271a117c7c65cc66e78 + +I=72 +KEY=000000000000000001000000000000000000000000000000 +CT=c462f0880d5ae2411dc6f1a68873abde + +I=73 +KEY=000000000000000000800000000000000000000000000000 +CT=fe0089c7e6c657d1b71cf467d4f58df0 + +I=74 +KEY=000000000000000000400000000000000000000000000000 +CT=49932b6abd5601fda5c8403e9cb92502 + +I=75 +KEY=000000000000000000200000000000000000000000000000 +CT=ec725bcf1a0133a45aeb7a5a72898d6b + +I=76 +KEY=000000000000000000100000000000000000000000000000 +CT=6ece8cb7f45ba9d63e152399f6558b6a + +I=77 +KEY=000000000000000000080000000000000000000000000000 +CT=9aa8f493830fd6ede37e7803f9869b19 + +I=78 +KEY=000000000000000000040000000000000000000000000000 +CT=70856a78e1bb29b9d00108361683e0bf + +I=79 +KEY=000000000000000000020000000000000000000000000000 +CT=3bec70b8070fc514b3de12bfcd6e7b88 + +I=80 +KEY=000000000000000000010000000000000000000000000000 +CT=4896551f1308c48fbdd89b8313de2fc8 + +I=81 +KEY=000000000000000000008000000000000000000000000000 +CT=21270b0aa9831c887320210856618204 + +I=82 +KEY=000000000000000000004000000000000000000000000000 +CT=9d94843edde4c6a89bea613af35afdcd + +I=83 +KEY=000000000000000000002000000000000000000000000000 +CT=a44742fb1f8c552797b0fe90a7f0efa9 + +I=84 +KEY=000000000000000000001000000000000000000000000000 +CT=731be62d606ecf6ee9a0f0c96a26f6ea + +I=85 +KEY=000000000000000000000800000000000000000000000000 +CT=f1471235da8b77caf22aa978414bf459 + +I=86 +KEY=000000000000000000000400000000000000000000000000 +CT=f67b2cdbbb11ee10d180c2070e73c387 + +I=87 +KEY=000000000000000000000200000000000000000000000000 +CT=36f6bafee414e8f22f815cc204f46b5f + +I=88 +KEY=000000000000000000000100000000000000000000000000 +CT=e0d276ef75ac7dc2b15bee758cc7b892 + +I=89 +KEY=000000000000000000000080000000000000000000000000 +CT=7d541fc08e0ff9b773cc84c974749f1e + +I=90 +KEY=000000000000000000000040000000000000000000000000 +CT=7998830324cf92a793e295412bd3aa9c + +I=91 +KEY=000000000000000000000020000000000000000000000000 +CT=d3a3a62bc99f201eded9ea8c1ebe84b3 + +I=92 +KEY=000000000000000000000010000000000000000000000000 +CT=fc131ea2cfd76056fe0cb6f6322e514e + +I=93 +KEY=000000000000000000000008000000000000000000000000 +CT=92aec5acdbc80e93bb494565d6152683 + +I=94 +KEY=000000000000000000000004000000000000000000000000 +CT=2897ad37ac521cfbafee2d3cc49d5427 + +I=95 +KEY=000000000000000000000002000000000000000000000000 +CT=0a02072414040730d415d26f4c4f4e80 + +I=96 +KEY=000000000000000000000001000000000000000000000000 +CT=6f7fb8316285e5f39b2ddaedb8ec2fc5 + +I=97 +KEY=000000000000000000000000800000000000000000000000 +CT=77dbaaf18692980aa85d126a9b4a4726 + +I=98 +KEY=000000000000000000000000400000000000000000000000 +CT=5d0ae9ba98b4eab278222e08da5c9515 + +I=99 +KEY=000000000000000000000000200000000000000000000000 +CT=df65cdef8e09029d1eba45894d1e1904 + +I=100 +KEY=000000000000000000000000100000000000000000000000 +CT=9911f98f1f260c8f60e4e0c1801b84c1 + +I=101 +KEY=000000000000000000000000080000000000000000000000 +CT=974fb48c48cd2c4a3b19bb191ce3f37f + +I=102 +KEY=000000000000000000000000040000000000000000000000 +CT=43a52a7da3ebc9554fccacaabf02b42f + +I=103 +KEY=000000000000000000000000020000000000000000000000 +CT=0389dc8774b21120ece15cc270912897 + +I=104 +KEY=000000000000000000000000010000000000000000000000 +CT=4dd7be782da1dbd775ba298bc90dc63b + +I=105 +KEY=000000000000000000000000008000000000000000000000 +CT=6ea07ca0ddfcac58cfa211b4bde9c321 + +I=106 +KEY=000000000000000000000000004000000000000000000000 +CT=ba8829b1de058c4b48615d851fc74f17 + +I=107 +KEY=000000000000000000000000002000000000000000000000 +CT=22a6e18a3555867731c492d0c8717633 + +I=108 +KEY=000000000000000000000000001000000000000000000000 +CT=b68e5336ce0a364dbcbf4cae81e371d6 + +I=109 +KEY=000000000000000000000000000800000000000000000000 +CT=384427b8f008e2b31a904c532beb1599 + +I=110 +KEY=000000000000000000000000000400000000000000000000 +CT=84709b1ffbaba5397a9f133a0767b8cb + +I=111 +KEY=000000000000000000000000000200000000000000000000 +CT=7723e3a896d01b6b1f5340df029f7b48 + +I=112 +KEY=000000000000000000000000000100000000000000000000 +CT=68e0fe27173a8a85f7445414574d1d87 + +I=113 +KEY=000000000000000000000000000080000000000000000000 +CT=9b4788cbf0b56848101b3deb7a3a4656 + +I=114 +KEY=000000000000000000000000000040000000000000000000 +CT=852593f9947f166bf58eae7c9a00001a + +I=115 +KEY=000000000000000000000000000020000000000000000000 +CT=29be7cc59519fe143ef6319682de0bba + +I=116 +KEY=000000000000000000000000000010000000000000000000 +CT=3949b20d461f75274e87df21de5d62a0 + +I=117 +KEY=000000000000000000000000000008000000000000000000 +CT=db487555a81a86c1b726b917390b853a + +I=118 +KEY=000000000000000000000000000004000000000000000000 +CT=06b7908886620d9c9a0f3aedf235fb33 + +I=119 +KEY=000000000000000000000000000002000000000000000000 +CT=aa300793219c42fc41987f9bbf19b58e + +I=120 +KEY=000000000000000000000000000001000000000000000000 +CT=a49d34f3c92c7cdb71a48d17a4723697 + +I=121 +KEY=000000000000000000000000000000800000000000000000 +CT=093c1029c5eb09844c39dcb42a6ac5eb + +I=122 +KEY=000000000000000000000000000000400000000000000000 +CT=6a41993b586a37321a851455d80a3000 + +I=123 +KEY=000000000000000000000000000000200000000000000000 +CT=13574f75f33be868fa293a751411cb47 + +I=124 +KEY=000000000000000000000000000000100000000000000000 +CT=2b97b42b03879363bfa1587040246455 + +I=125 +KEY=000000000000000000000000000000080000000000000000 +CT=77b91d8da3f6eaa1713b543994c673c5 + +I=126 +KEY=000000000000000000000000000000040000000000000000 +CT=db664148b36b317331adc103bc680d57 + +I=127 +KEY=000000000000000000000000000000020000000000000000 +CT=375a6f5c49202d3a59bf429a9a77be2a + +I=128 +KEY=000000000000000000000000000000010000000000000000 +CT=dc7a7fb1247b60aead86ce0d898b647d + +I=129 +KEY=000000000000000000000000000000008000000000000000 +CT=345eb88a1d9bd2c5ddee04ac3923f08a + +I=130 +KEY=000000000000000000000000000000004000000000000000 +CT=2dba9b16738d1adc7d859b0ecd7d1cd1 + +I=131 +KEY=000000000000000000000000000000002000000000000000 +CT=4f48ebfcb17522ed2239191e520a967a + +I=132 +KEY=000000000000000000000000000000001000000000000000 +CT=b8c410bd14ad99cefd7428a3bc6f7e35 + +I=133 +KEY=000000000000000000000000000000000800000000000000 +CT=07f3715387341ce7b8325e824842c01a + +I=134 +KEY=000000000000000000000000000000000400000000000000 +CT=6812212678dc0a46f0b86b24b15b8a03 + +I=135 +KEY=000000000000000000000000000000000200000000000000 +CT=2e767244fc74c817f0789bb8943292ef + +I=136 +KEY=000000000000000000000000000000000100000000000000 +CT=01a32dd3f99dff43e110db0f2b88a819 + +I=137 +KEY=000000000000000000000000000000000080000000000000 +CT=5e81d0e1effcd9961bcd343696009839 + +I=138 +KEY=000000000000000000000000000000000040000000000000 +CT=129025e1728372901320b2fcff6d5b9b + +I=139 +KEY=000000000000000000000000000000000020000000000000 +CT=b3b3f7264dab71c2ca0febe44431b30d + +I=140 +KEY=000000000000000000000000000000000010000000000000 +CT=b9953f99bac2841911ab1c9caa7c98d7 + +I=141 +KEY=000000000000000000000000000000000008000000000000 +CT=dbaca3686bdfbe3d8c5e2e6b1db5577f + +I=142 +KEY=000000000000000000000000000000000004000000000000 +CT=1be312be1113ebac050bfcf37b0de85d + +I=143 +KEY=000000000000000000000000000000000002000000000000 +CT=f2a282d526d5432c476a112ef6162cbe + +I=144 +KEY=000000000000000000000000000000000001000000000000 +CT=d4ad15036534cfc7091be72117ed9a0d + +I=145 +KEY=000000000000000000000000000000000000800000000000 +CT=142ed387794e196f1b148ecba2e5062b + +I=146 +KEY=000000000000000000000000000000000000400000000000 +CT=761ea776ecf0bcf73d52013da09328fe + +I=147 +KEY=000000000000000000000000000000000000200000000000 +CT=f3513e388fd5c6111b2c11edbe568001 + +I=148 +KEY=000000000000000000000000000000000000100000000000 +CT=00f9e9822b79ee8c60edca082a9dd220 + +I=149 +KEY=000000000000000000000000000000000000080000000000 +CT=e8e0bf758a9e88242b31617e828647fb + +I=150 +KEY=000000000000000000000000000000000000040000000000 +CT=dead0d2f9480117270c95f860c9ffc81 + +I=151 +KEY=000000000000000000000000000000000000020000000000 +CT=56604fa1c8d7b258131f61beefa89b17 + +I=152 +KEY=000000000000000000000000000000000000010000000000 +CT=0fc45f51d2c185e667da0517f2a60955 + +I=153 +KEY=000000000000000000000000000000000000008000000000 +CT=192751977bff5834d51a9e81f448f19e + +I=154 +KEY=000000000000000000000000000000000000004000000000 +CT=26dd12ba453b5d54146c02d91f2e998b + +I=155 +KEY=000000000000000000000000000000000000002000000000 +CT=9b5c07141c98e441003fecf9c9311a2a + +I=156 +KEY=000000000000000000000000000000000000001000000000 +CT=e9494c80b90f1753a3689ab4ea258d66 + +I=157 +KEY=000000000000000000000000000000000000000800000000 +CT=8fb4ca5e0a62e4b5adeb7be7731085b0 + +I=158 +KEY=000000000000000000000000000000000000000400000000 +CT=5e29ae31cbbdc216e6d4adf274d47d0d + +I=159 +KEY=000000000000000000000000000000000000000200000000 +CT=cb173fb1cec206bef29a15b8ac72e919 + +I=160 +KEY=000000000000000000000000000000000000000100000000 +CT=9f35799a7d5dab723493eb92af1c18d3 + +I=161 +KEY=000000000000000000000000000000000000000080000000 +CT=f495f5658d888139913df0d3cf048baa + +I=162 +KEY=000000000000000000000000000000000000000040000000 +CT=e92daa5d108115d6f242f544e6ea72c9 + +I=163 +KEY=000000000000000000000000000000000000000020000000 +CT=c0ea8a7652bfc6cf81a5c46da38d2840 + +I=164 +KEY=000000000000000000000000000000000000000010000000 +CT=a221dece41a3a28cfc9d58e74cbd6014 + +I=165 +KEY=000000000000000000000000000000000000000008000000 +CT=369dec7982b167b3f0f98a5e393d5e41 + +I=166 +KEY=000000000000000000000000000000000000000004000000 +CT=b14d25d008a846a0768e394b751b8452 + +I=167 +KEY=000000000000000000000000000000000000000002000000 +CT=ac516cd4467bda2ad6da18bf202e8ce2 + +I=168 +KEY=000000000000000000000000000000000000000001000000 +CT=a82c0be53acb86f86692c1ead49acfea + +I=169 +KEY=000000000000000000000000000000000000000000800000 +CT=05548475ba322605dfc3ad55707a0539 + +I=170 +KEY=000000000000000000000000000000000000000000400000 +CT=173639d0c531a19ec3cb8f4891b23706 + +I=171 +KEY=000000000000000000000000000000000000000000200000 +CT=79febf394be1b8afb954c791a5eaa653 + +I=172 +KEY=000000000000000000000000000000000000000000100000 +CT=8e009de1f46674d9bac9d36f4fd29daf + +I=173 +KEY=000000000000000000000000000000000000000000080000 +CT=9212a730377098bdb34645b8db9f6c6f + +I=174 +KEY=000000000000000000000000000000000000000000040000 +CT=c586abec28a5e252ed99934117d9dc00 + +I=175 +KEY=000000000000000000000000000000000000000000020000 +CT=416c7812ce8049a70965f9cba27d07dc + +I=176 +KEY=000000000000000000000000000000000000000000010000 +CT=7819c9eff656380d997f50779f75ddaa + +I=177 +KEY=000000000000000000000000000000000000000000008000 +CT=f9a6b55b40c1c6f9ce21e07cefd14839 + +I=178 +KEY=000000000000000000000000000000000000000000004000 +CT=3c70be049ad5f70660cdfd4738c88a5b + +I=179 +KEY=000000000000000000000000000000000000000000002000 +CT=774ebef1e5916cd2bcfd70a3b647637f + +I=180 +KEY=000000000000000000000000000000000000000000001000 +CT=4087268a3bea1b020f4f0ff6cec88d3d + +I=181 +KEY=000000000000000000000000000000000000000000000800 +CT=005b7c9abf6dd5cbd3fad77bc09fbac9 + +I=182 +KEY=000000000000000000000000000000000000000000000400 +CT=0d45f3c58653e1c4f0328e8b760d668b + +I=183 +KEY=000000000000000000000000000000000000000000000200 +CT=9eb8ce9db6a787f32abd31365f67159a + +I=184 +KEY=000000000000000000000000000000000000000000000100 +CT=9ac89d752faa132d66d5fe92e4783989 + +I=185 +KEY=000000000000000000000000000000000000000000000080 +CT=89266048a5fcfc1eb27b739bad4e279e + +I=186 +KEY=000000000000000000000000000000000000000000000040 +CT=82aeb3e765f31b046ae49903518efc92 + +I=187 +KEY=000000000000000000000000000000000000000000000020 +CT=707df5c6fd03a2de93d46ac486a30d5e + +I=188 +KEY=000000000000000000000000000000000000000000000010 +CT=beb9bf4ecbf6875d1e72cf2478e3c1be + +I=189 +KEY=000000000000000000000000000000000000000000000008 +CT=144226cc1aeffe130c8dbb91f8797a25 + +I=190 +KEY=000000000000000000000000000000000000000000000004 +CT=b7b8c1114487a380ffb64ca05bdd3e8b + +I=191 +KEY=000000000000000000000000000000000000000000000002 +CT=2c5eb11071ee2d0b2351e16aa93ec873 + +I=192 +KEY=000000000000000000000000000000000000000000000001 +CT=0f61ac094954e286bcc90288fc62bd0a + +========== + +KEYSIZE=256 + +PT=00000000000000000000000000000000 + +I=1 +KEY=8000000000000000000000000000000000000000000000000000000000000000 +CT=abed96e766bf28cbc0ebd21a82ef0819 + +I=2 +KEY=4000000000000000000000000000000000000000000000000000000000000000 +CT=959658cdfcd80356dde045bbe7b1888d + +I=3 +KEY=2000000000000000000000000000000000000000000000000000000000000000 +CT=04d49cc0fae714b46b5b177664df4c28 + +I=4 +KEY=1000000000000000000000000000000000000000000000000000000000000000 +CT=39f1b1a339ded740d80b663a057d4866 + +I=5 +KEY=0800000000000000000000000000000000000000000000000000000000000000 +CT=df15b01e30cf9c81688f989809579a86 + +I=6 +KEY=0400000000000000000000000000000000000000000000000000000000000000 +CT=9db98fdedb783247d6af34f7579d89f6 + +I=7 +KEY=0200000000000000000000000000000000000000000000000000000000000000 +CT=fc41583a46c0f673c82bd63be56c72a6 + +I=8 +KEY=0100000000000000000000000000000000000000000000000000000000000000 +CT=34ed2423c59cc9c04ab5c6c931fd5898 + +I=9 +KEY=0080000000000000000000000000000000000000000000000000000000000000 +CT=8432a8062a2aaef13171209ec5dded82 + +I=10 +KEY=0040000000000000000000000000000000000000000000000000000000000000 +CT=c632e81cbb67020f6cfb9062f7a9171c + +I=11 +KEY=0020000000000000000000000000000000000000000000000000000000000000 +CT=c706ee8ed28ea73f32b2efc95c41d66d + +I=12 +KEY=0010000000000000000000000000000000000000000000000000000000000000 +CT=4b1a9b43530384e0b095e924a401fd48 + +I=13 +KEY=0008000000000000000000000000000000000000000000000000000000000000 +CT=89404af86981af4ddaa800424c9c132b + +I=14 +KEY=0004000000000000000000000000000000000000000000000000000000000000 +CT=170594ac5052d7c192f581e1000a7e0d + +I=15 +KEY=0002000000000000000000000000000000000000000000000000000000000000 +CT=1e3970ea40cb25bcede878f627d35092 + +I=16 +KEY=0001000000000000000000000000000000000000000000000000000000000000 +CT=10c2b5f2de944c7b1cb5fc21945d714d + +I=17 +KEY=0000800000000000000000000000000000000000000000000000000000000000 +CT=2f3e64eaf25b990300e0ce75ec5ddd19 + +I=18 +KEY=0000400000000000000000000000000000000000000000000000000000000000 +CT=4f6c152d9df44abce9b18a765a0175bb + +I=19 +KEY=0000200000000000000000000000000000000000000000000000000000000000 +CT=2e861155411717b16c60fb9eb0e1ef46 + +I=20 +KEY=0000100000000000000000000000000000000000000000000000000000000000 +CT=ce0449630e05e22eaeec4499f4020d36 + +I=21 +KEY=0000080000000000000000000000000000000000000000000000000000000000 +CT=862de372c7497defe2b639359707e293 + +I=22 +KEY=0000040000000000000000000000000000000000000000000000000000000000 +CT=6119f054d0f45711d06bed281d48712e + +I=23 +KEY=0000020000000000000000000000000000000000000000000000000000000000 +CT=74978fc86fb0e92c2601a58681eb06ac + +I=24 +KEY=0000010000000000000000000000000000000000000000000000000000000000 +CT=35031cbf461d8df3b4c946c9dcc54ca9 + +I=25 +KEY=0000008000000000000000000000000000000000000000000000000000000000 +CT=dd2fb08b5b4bbcd07bd70453da57a417 + +I=26 +KEY=0000004000000000000000000000000000000000000000000000000000000000 +CT=7e841efe450c947ece8ea3456c6bdfb6 + +I=27 +KEY=0000002000000000000000000000000000000000000000000000000000000000 +CT=bf2e9008e158a8ed760a304d465edb83 + +I=28 +KEY=0000001000000000000000000000000000000000000000000000000000000000 +CT=78d223b7577b97c57d41f7a9aa67fbc7 + +I=29 +KEY=0000000800000000000000000000000000000000000000000000000000000000 +CT=982171d6e83e59b519741c29d21fd21d + +I=30 +KEY=0000000400000000000000000000000000000000000000000000000000000000 +CT=e8f80fe26ab8942b8c884bdfef37e3a2 + +I=31 +KEY=0000000200000000000000000000000000000000000000000000000000000000 +CT=9daabac1e9699a951db64db0ea0ff761 + +I=32 +KEY=0000000100000000000000000000000000000000000000000000000000000000 +CT=eae7ed73f898a19411b8d08f71c5c66f + +I=33 +KEY=0000000080000000000000000000000000000000000000000000000000000000 +CT=7e20e6a88a263f8adad3a8813524dbdf + +I=34 +KEY=0000000040000000000000000000000000000000000000000000000000000000 +CT=6cd1bfcb283a3531c830082153865a96 + +I=35 +KEY=0000000020000000000000000000000000000000000000000000000000000000 +CT=182b87a0094e36ab50cc26c12f2d44e3 + +I=36 +KEY=0000000010000000000000000000000000000000000000000000000000000000 +CT=af7c418e585d5ffc2966ae7f4ebc61b2 + +I=37 +KEY=0000000008000000000000000000000000000000000000000000000000000000 +CT=dd136237150e9bd819d19f84ac180294 + +I=38 +KEY=0000000004000000000000000000000000000000000000000000000000000000 +CT=5bd17b54d6878b398d8cedb08ce67dc0 + +I=39 +KEY=0000000002000000000000000000000000000000000000000000000000000000 +CT=fef8c88ea06c5a0aa3efb1dce54541f1 + +I=40 +KEY=0000000001000000000000000000000000000000000000000000000000000000 +CT=a8c35caf2d91a05408b171b960cd084d + +I=41 +KEY=0000000000800000000000000000000000000000000000000000000000000000 +CT=4bdf0294712fcd25975fbc084f6cc973 + +I=42 +KEY=0000000000400000000000000000000000000000000000000000000000000000 +CT=e5f0bb96b46ac2c2413022e9d7f38a48 + +I=43 +KEY=0000000000200000000000000000000000000000000000000000000000000000 +CT=dd6732cd14961e4e42c3ce0ea83850cd + +I=44 +KEY=0000000000100000000000000000000000000000000000000000000000000000 +CT=590e7b58c1963e45c5bb60a576378dc3 + +I=45 +KEY=0000000000080000000000000000000000000000000000000000000000000000 +CT=69f5d841ad99f218fcb89521d1165484 + +I=46 +KEY=0000000000040000000000000000000000000000000000000000000000000000 +CT=c236007a7a244d2364075279bbd3b307 + +I=47 +KEY=0000000000020000000000000000000000000000000000000000000000000000 +CT=7ce8d07c90029b2253133a4b941668bd + +I=48 +KEY=0000000000010000000000000000000000000000000000000000000000000000 +CT=af3ebebfb4e37c7d22226101d27c54cc + +I=49 +KEY=0000000000008000000000000000000000000000000000000000000000000000 +CT=532e1616fa8ee2853aed696920e1f23c + +I=50 +KEY=0000000000004000000000000000000000000000000000000000000000000000 +CT=e332c5955575f799b05b02976fb41d80 + +I=51 +KEY=0000000000002000000000000000000000000000000000000000000000000000 +CT=791da10535733bf5d4b9706d5af92243 + +I=52 +KEY=0000000000001000000000000000000000000000000000000000000000000000 +CT=cd5eb5936eb10eb78432478eed00a2d1 + +I=53 +KEY=0000000000000800000000000000000000000000000000000000000000000000 +CT=074280068f0cf9b8632959989d87b1aa + +I=54 +KEY=0000000000000400000000000000000000000000000000000000000000000000 +CT=a37c95a3c73592d03de7b645536221e2 + +I=55 +KEY=0000000000000200000000000000000000000000000000000000000000000000 +CT=b969cca153bb861999da020e3255b002 + +I=56 +KEY=0000000000000100000000000000000000000000000000000000000000000000 +CT=c9b0ce3c773d5e16062c7b0017b1a1fc + +I=57 +KEY=0000000000000080000000000000000000000000000000000000000000000000 +CT=fd38f1a2db8d38559c7ccad15d0e3e85 + +I=58 +KEY=0000000000000040000000000000000000000000000000000000000000000000 +CT=fb6c3f215a5c11976576bde1d5c59169 + +I=59 +KEY=0000000000000020000000000000000000000000000000000000000000000000 +CT=92350faab64bba4a84cc16683c7a0d4e + +I=60 +KEY=0000000000000010000000000000000000000000000000000000000000000000 +CT=ecec6570c11fcacec3af112e2ff2931a + +I=61 +KEY=0000000000000008000000000000000000000000000000000000000000000000 +CT=e7cb6e1dfe6da642b9e5856e98f91915 + +I=62 +KEY=0000000000000004000000000000000000000000000000000000000000000000 +CT=3a5f963f0c2dbd81d9c1f663233f582b + +I=63 +KEY=0000000000000002000000000000000000000000000000000000000000000000 +CT=3b560746eb55e71ce00b9544faeb2fe9 + +I=64 +KEY=0000000000000001000000000000000000000000000000000000000000000000 +CT=42046b25c85dbd6b402b296a97ef83a5 + +I=65 +KEY=0000000000000000800000000000000000000000000000000000000000000000 +CT=9c7d38da9dccad1bc3c16bca0ba4d808 + +I=66 +KEY=0000000000000000400000000000000000000000000000000000000000000000 +CT=5c3fa08c807c5210e0faeb4b67c902f5 + +I=67 +KEY=0000000000000000200000000000000000000000000000000000000000000000 +CT=388834b1138b8cc182b9a24d18575de8 + +I=68 +KEY=0000000000000000100000000000000000000000000000000000000000000000 +CT=cee14aa1bd42dca608bfed10acff716e + +I=69 +KEY=0000000000000000080000000000000000000000000000000000000000000000 +CT=6a03f9523ff9ec178a5d8448ee7b2d0f + +I=70 +KEY=0000000000000000040000000000000000000000000000000000000000000000 +CT=669f77ed3196867e9faf60565711c8cb + +I=71 +KEY=0000000000000000020000000000000000000000000000000000000000000000 +CT=178ed0cacf39d5eb031afb65b005e4f7 + +I=72 +KEY=0000000000000000010000000000000000000000000000000000000000000000 +CT=4a7fc4ff3fec7dce25472c2e8b457208 + +I=73 +KEY=0000000000000000008000000000000000000000000000000000000000000000 +CT=87fd250d814d84ecb6a065a8250fdf18 + +I=74 +KEY=0000000000000000004000000000000000000000000000000000000000000000 +CT=637c3e8200e21b8c7e5e119659dbd635 + +I=75 +KEY=0000000000000000002000000000000000000000000000000000000000000000 +CT=47ad826682ec4b03924d22de4918eacd + +I=76 +KEY=0000000000000000001000000000000000000000000000000000000000000000 +CT=a3ab5728256056198cc2b73d92b14373 + +I=77 +KEY=0000000000000000000800000000000000000000000000000000000000000000 +CT=1629dc7684f194c15f5e855243a72ff0 + +I=78 +KEY=0000000000000000000400000000000000000000000000000000000000000000 +CT=fe2f18ce7947084f7840d30d49fbcaad + +I=79 +KEY=0000000000000000000200000000000000000000000000000000000000000000 +CT=9009b9a658ec414872af1bb0347ee30c + +I=80 +KEY=0000000000000000000100000000000000000000000000000000000000000000 +CT=b09928f5fb282a0b99de6eba2d7877a5 + +I=81 +KEY=0000000000000000000080000000000000000000000000000000000000000000 +CT=4e619867dbbcaea296e10fa8555ebde5 + +I=82 +KEY=0000000000000000000040000000000000000000000000000000000000000000 +CT=1d4ceafa69284d2d1cf56eb9d3f4d3da + +I=83 +KEY=0000000000000000000020000000000000000000000000000000000000000000 +CT=7ab218e774099540500548c17d4be628 + +I=84 +KEY=0000000000000000000010000000000000000000000000000000000000000000 +CT=54b7afb791f374fefd54897be6b5c908 + +I=85 +KEY=0000000000000000000008000000000000000000000000000000000000000000 +CT=9099027805d50c43a70374102895a79c + +I=86 +KEY=0000000000000000000004000000000000000000000000000000000000000000 +CT=7c651cfc911bf96e0b606ee3ca04a145 + +I=87 +KEY=0000000000000000000002000000000000000000000000000000000000000000 +CT=be1fa13657e2ef57cc7a5e265794cfd9 + +I=88 +KEY=0000000000000000000001000000000000000000000000000000000000000000 +CT=f8ec20959d0efaa529d1384de88addd1 + +I=89 +KEY=0000000000000000000000800000000000000000000000000000000000000000 +CT=be1f71467e549cdc3d24d6722673fb43 + +I=90 +KEY=0000000000000000000000400000000000000000000000000000000000000000 +CT=c34f0989edeb49c9125c8185d72e62a2 + +I=91 +KEY=0000000000000000000000200000000000000000000000000000000000000000 +CT=d8124193ed6e4e2b69945dca643bb9fb + +I=92 +KEY=0000000000000000000000100000000000000000000000000000000000000000 +CT=97ef94fa4c866d88c44b3d58ff8136cd + +I=93 +KEY=0000000000000000000000080000000000000000000000000000000000000000 +CT=0eb5f6ff1d75645292aea192e03ced37 + +I=94 +KEY=0000000000000000000000040000000000000000000000000000000000000000 +CT=1a55bea7371ea49069ac73348305a33c + +I=95 +KEY=0000000000000000000000020000000000000000000000000000000000000000 +CT=bfda5f26889f30b13d4ba05303ecf8ce + +I=96 +KEY=0000000000000000000000010000000000000000000000000000000000000000 +CT=c5718a9b347ed13a969bbb93423ac251 + +I=97 +KEY=0000000000000000000000008000000000000000000000000000000000000000 +CT=3543719280f21dcc88b31d906dd924b3 + +I=98 +KEY=0000000000000000000000004000000000000000000000000000000000000000 +CT=8daaabd85ebf091e8aa2052313f872e5 + +I=99 +KEY=0000000000000000000000002000000000000000000000000000000000000000 +CT=eee34ebf694065e99721990939b6cbe4 + +I=100 +KEY=0000000000000000000000001000000000000000000000000000000000000000 +CT=24b6b069385cf3dfea203a5b95dfb114 + +I=101 +KEY=0000000000000000000000000800000000000000000000000000000000000000 +CT=fc594972c7955c07e2393f22a619904d + +I=102 +KEY=0000000000000000000000000400000000000000000000000000000000000000 +CT=473d28bca0b356021fc516f3e6a55253 + +I=103 +KEY=0000000000000000000000000200000000000000000000000000000000000000 +CT=fd2cba4c24c0d02535198851d50d579f + +I=104 +KEY=0000000000000000000000000100000000000000000000000000000000000000 +CT=32515fac86315a2586d76a62ea6f201b + +I=105 +KEY=0000000000000000000000000080000000000000000000000000000000000000 +CT=644eff865f7c1f854261b11c2a8e07d7 + +I=106 +KEY=0000000000000000000000000040000000000000000000000000000000000000 +CT=9cd938a4d83df05dad1d70c6ea74d1fe + +I=107 +KEY=0000000000000000000000000020000000000000000000000000000000000000 +CT=f69af279f30363c234310eb4fea51291 + +I=108 +KEY=0000000000000000000000000010000000000000000000000000000000000000 +CT=db9b673ca99514f7953f18acc5c390b1 + +I=109 +KEY=0000000000000000000000000008000000000000000000000000000000000000 +CT=a872107c5116e36a75b7dbee56c47757 + +I=110 +KEY=0000000000000000000000000004000000000000000000000000000000000000 +CT=dbae7a1d2fcfc6ddd2f911af0f905055 + +I=111 +KEY=0000000000000000000000000002000000000000000000000000000000000000 +CT=5257eed79149f2a064dfaf163e01e3bd + +I=112 +KEY=0000000000000000000000000001000000000000000000000000000000000000 +CT=242fc696e8271727615914b4210f5071 + +I=113 +KEY=0000000000000000000000000000800000000000000000000000000000000000 +CT=8d9ff3a56ab97fdfb5bab64fe4a81c80 + +I=114 +KEY=0000000000000000000000000000400000000000000000000000000000000000 +CT=bf2254e8f9abd0013367728f9e16b59e + +I=115 +KEY=0000000000000000000000000000200000000000000000000000000000000000 +CT=8b91a39c085f3505949e4f14747e37cb + +I=116 +KEY=0000000000000000000000000000100000000000000000000000000000000000 +CT=09abf7df68f01db2ae5d526e9e2ee81e + +I=117 +KEY=0000000000000000000000000000080000000000000000000000000000000000 +CT=eb2502774a32f36cc1594617dddd1663 + +I=118 +KEY=0000000000000000000000000000040000000000000000000000000000000000 +CT=ad263ae59f0d719234cfa1c77e717ce1 + +I=119 +KEY=0000000000000000000000000000020000000000000000000000000000000000 +CT=c9d2d1eed4f8e1b4d05d897c9f1e5f67 + +I=120 +KEY=0000000000000000000000000000010000000000000000000000000000000000 +CT=16ff204fb3031451731de91fde5a6b44 + +I=121 +KEY=0000000000000000000000000000008000000000000000000000000000000000 +CT=eb5d9352b3615c55e895550b497191c1 + +I=122 +KEY=0000000000000000000000000000004000000000000000000000000000000000 +CT=a88f3176c389ae8f406364e67b9e1557 + +I=123 +KEY=0000000000000000000000000000002000000000000000000000000000000000 +CT=09bed1aed5eee6b077797b6cb31b44c2 + +I=124 +KEY=0000000000000000000000000000001000000000000000000000000000000000 +CT=0be7804beb8204cea6f59fe55132a363 + +I=125 +KEY=0000000000000000000000000000000800000000000000000000000000000000 +CT=54b00567b36ea41d04e8e877ead25944 + +I=126 +KEY=0000000000000000000000000000000400000000000000000000000000000000 +CT=293cb655ee6ac5a4c1c2cc31f5696ae7 + +I=127 +KEY=0000000000000000000000000000000200000000000000000000000000000000 +CT=22380e8215ec5f116f04311c267ce997 + +I=128 +KEY=0000000000000000000000000000000100000000000000000000000000000000 +CT=e9ba668276b81896d093a9e67ab12036 + +I=129 +KEY=0000000000000000000000000000000080000000000000000000000000000000 +CT=34c79f703a62b02e6790efbbbeb07241 + +I=130 +KEY=0000000000000000000000000000000040000000000000000000000000000000 +CT=bfc96d59ae31369b0618fd78fc295826 + +I=131 +KEY=0000000000000000000000000000000020000000000000000000000000000000 +CT=f811a6558ce7a67bd3280ee4e3259be8 + +I=132 +KEY=0000000000000000000000000000000010000000000000000000000000000000 +CT=8c8205692ab866bcf965dd61d595bf8e + +I=133 +KEY=0000000000000000000000000000000008000000000000000000000000000000 +CT=098a85e6ca58293bd2298c07f86a8f8c + +I=134 +KEY=0000000000000000000000000000000004000000000000000000000000000000 +CT=2801da2be78057706abafaab8226fa39 + +I=135 +KEY=0000000000000000000000000000000002000000000000000000000000000000 +CT=500796a8bccee9141ab21282d6c912a8 + +I=136 +KEY=0000000000000000000000000000000001000000000000000000000000000000 +CT=80cbe789099bdf0140da3ac157d7bf47 + +I=137 +KEY=0000000000000000000000000000000000800000000000000000000000000000 +CT=8ce81e5dea464efaf01b3da5a6da5aa9 + +I=138 +KEY=0000000000000000000000000000000000400000000000000000000000000000 +CT=4aec37a4ef16b38bcdba0b01051803d1 + +I=139 +KEY=0000000000000000000000000000000000200000000000000000000000000000 +CT=e6a2f6431269aa02c93793af80436a7b + +I=140 +KEY=0000000000000000000000000000000000100000000000000000000000000000 +CT=4aa9046b1fb69a6abcb8f3351d75efbd + +I=141 +KEY=0000000000000000000000000000000000080000000000000000000000000000 +CT=66b8c45fe8c254088d62d307edb9cf51 + +I=142 +KEY=0000000000000000000000000000000000040000000000000000000000000000 +CT=fddcfb5c4da597b9d887e03b8337da0c + +I=143 +KEY=0000000000000000000000000000000000020000000000000000000000000000 +CT=69042f478d87f8b6e0d149216f2e8d93 + +I=144 +KEY=0000000000000000000000000000000000010000000000000000000000000000 +CT=ad8f00cdace047f3225a235fc2b05738 + +I=145 +KEY=0000000000000000000000000000000000008000000000000000000000000000 +CT=6a624c0f16aaa6cd4995e01988deaa3b + +I=146 +KEY=0000000000000000000000000000000000004000000000000000000000000000 +CT=7d8f824eaa7dd1657a0f59a2f27b5e0f + +I=147 +KEY=0000000000000000000000000000000000002000000000000000000000000000 +CT=7015d246b39a995c11b409485e100b51 + +I=148 +KEY=0000000000000000000000000000000000001000000000000000000000000000 +CT=cad1a2944343525c2b9da630937cf40f + +I=149 +KEY=0000000000000000000000000000000000000800000000000000000000000000 +CT=c7f24334553fe63c4ab2f3ffbf0183ab + +I=150 +KEY=0000000000000000000000000000000000000400000000000000000000000000 +CT=bf2da14eea8055f51636984e51f4a349 + +I=151 +KEY=0000000000000000000000000000000000000200000000000000000000000000 +CT=c424de5973035fad65d99e27a2ae07c0 + +I=152 +KEY=0000000000000000000000000000000000000100000000000000000000000000 +CT=3ed7b674bcedb60523386119e2cb5fbe + +I=153 +KEY=0000000000000000000000000000000000000080000000000000000000000000 +CT=f0bed60941174023ae4d07e7deb23d5f + +I=154 +KEY=0000000000000000000000000000000000000040000000000000000000000000 +CT=159a9d7e5a210dad034ea2e50cbc30e5 + +I=155 +KEY=0000000000000000000000000000000000000020000000000000000000000000 +CT=695724e11b4cea84603f935571a1f5ff + +I=156 +KEY=0000000000000000000000000000000000000010000000000000000000000000 +CT=788ac03153fad14a7a3f8322543dca64 + +I=157 +KEY=0000000000000000000000000000000000000008000000000000000000000000 +CT=1964e04df808496e530e6ab5f2182ce4 + +I=158 +KEY=0000000000000000000000000000000000000004000000000000000000000000 +CT=18a056a20724416b3ebe7f88743d8297 + +I=159 +KEY=0000000000000000000000000000000000000002000000000000000000000000 +CT=dd28593d13343349ab120f2667441d8a + +I=160 +KEY=0000000000000000000000000000000000000001000000000000000000000000 +CT=a0bf14c7d0e3336d4cd5b2b1b47f5e73 + +I=161 +KEY=0000000000000000000000000000000000000000800000000000000000000000 +CT=d467c69d25a1a02481a2e3508d014bad + +I=162 +KEY=0000000000000000000000000000000000000000400000000000000000000000 +CT=3115ecf100476954f6c185250aa099c8 + +I=163 +KEY=0000000000000000000000000000000000000000200000000000000000000000 +CT=6d1be89c5f75270a366e6dcfcf3de5ba + +I=164 +KEY=0000000000000000000000000000000000000000100000000000000000000000 +CT=4d1686baa1be780736c35914731c186e + +I=165 +KEY=0000000000000000000000000000000000000000080000000000000000000000 +CT=3c5db56a9a87347b5a804560dd2dfd97 + +I=166 +KEY=0000000000000000000000000000000000000000040000000000000000000000 +CT=24813b7d9043df69980def2dc0617d54 + +I=167 +KEY=0000000000000000000000000000000000000000020000000000000000000000 +CT=5751c2eb5dd14d8823c714fc4475459e + +I=168 +KEY=0000000000000000000000000000000000000000010000000000000000000000 +CT=5b750ced85b4169116cf4e93c37e76e0 + +I=169 +KEY=0000000000000000000000000000000000000000008000000000000000000000 +CT=4ebaddc62d252e4028bbddf02807b3b4 + +I=170 +KEY=0000000000000000000000000000000000000000004000000000000000000000 +CT=216204523a32b2dcfc612be2d974b0dd + +I=171 +KEY=0000000000000000000000000000000000000000002000000000000000000000 +CT=fe995e0532b897921552c7cefebbab91 + +I=172 +KEY=0000000000000000000000000000000000000000001000000000000000000000 +CT=354c096b0477ecb122c25c61f85e4125 + +I=173 +KEY=0000000000000000000000000000000000000000000800000000000000000000 +CT=81b0c7e94e8426f4f227fa23ee5618c1 + +I=174 +KEY=0000000000000000000000000000000000000000000400000000000000000000 +CT=85c91b3e8e1dd2dac0cd310f69286f5e + +I=175 +KEY=0000000000000000000000000000000000000000000200000000000000000000 +CT=db3c6cce550a8c72f67f59ab1b272d71 + +I=176 +KEY=0000000000000000000000000000000000000000000100000000000000000000 +CT=4fae77cd8c5fbf1a7ab49785947c564a + +I=177 +KEY=0000000000000000000000000000000000000000000080000000000000000000 +CT=986d08049ce14579b756c250ad68d56e + +I=178 +KEY=0000000000000000000000000000000000000000000040000000000000000000 +CT=a9bb29db295e7364e65f687c418f39f2 + +I=179 +KEY=0000000000000000000000000000000000000000000020000000000000000000 +CT=d425810268f0bec64400911d990bd237 + +I=180 +KEY=0000000000000000000000000000000000000000000010000000000000000000 +CT=621910144f7cd3432b0663ed18137235 + +I=181 +KEY=0000000000000000000000000000000000000000000008000000000000000000 +CT=a45cafd42aa19e21a7cc83d4a504a074 + +I=182 +KEY=0000000000000000000000000000000000000000000004000000000000000000 +CT=6cb51ae713730353acd21906a8a8cebb + +I=183 +KEY=0000000000000000000000000000000000000000000002000000000000000000 +CT=b12b97ba267a9ccdd65cef0f4c436e64 + +I=184 +KEY=0000000000000000000000000000000000000000000001000000000000000000 +CT=2711d87a5b1d5011e616975ef6d32a8f + +I=185 +KEY=0000000000000000000000000000000000000000000000800000000000000000 +CT=2911f90a41b56f53e0cafffc3923c0bc + +I=186 +KEY=0000000000000000000000000000000000000000000000400000000000000000 +CT=beb86799fcc846a7121209dcb2026add + +I=187 +KEY=0000000000000000000000000000000000000000000000200000000000000000 +CT=b9b5317d691bbef913c925e226fdb94b + +I=188 +KEY=0000000000000000000000000000000000000000000000100000000000000000 +CT=cc333ef43909a98cd6a0da7043ac3b2a + +I=189 +KEY=0000000000000000000000000000000000000000000000080000000000000000 +CT=0291cc086e364c94fdb5250e07f17685 + +I=190 +KEY=0000000000000000000000000000000000000000000000040000000000000000 +CT=d98abd571faebeaece0d65d17ac320e6 + +I=191 +KEY=0000000000000000000000000000000000000000000000020000000000000000 +CT=dd6bb22de6b4caea4e56cb09d2ec6177 + +I=192 +KEY=0000000000000000000000000000000000000000000000010000000000000000 +CT=b6bb4f3f2ae83fe4a07ba5f10c3fd267 + +I=193 +KEY=0000000000000000000000000000000000000000000000008000000000000000 +CT=8c590b173aa66854937f5e05e22c73d9 + +I=194 +KEY=0000000000000000000000000000000000000000000000004000000000000000 +CT=bdb4f7428f37c024df2af13a6296f3e9 + +I=195 +KEY=0000000000000000000000000000000000000000000000002000000000000000 +CT=51d5c74df6f71c146c835ae145aed598 + +I=196 +KEY=0000000000000000000000000000000000000000000000001000000000000000 +CT=b8b86c7a65adb388d047bdd756edfbee + +I=197 +KEY=0000000000000000000000000000000000000000000000000800000000000000 +CT=084e0d8cfcfb7ad95019336fc94293a9 + +I=198 +KEY=0000000000000000000000000000000000000000000000000400000000000000 +CT=516ea8aae87eee2b4f22a1c09852c325 + +I=199 +KEY=0000000000000000000000000000000000000000000000000200000000000000 +CT=8030de81cd83227b63b2841fd72f6066 + +I=200 +KEY=0000000000000000000000000000000000000000000000000100000000000000 +CT=c09fd5e5c061b14dfa78d90f67458ed4 + +I=201 +KEY=0000000000000000000000000000000000000000000000000080000000000000 +CT=4cc791c47060fb666a86f60b6289e0ec + +I=202 +KEY=0000000000000000000000000000000000000000000000000040000000000000 +CT=fec1a2f79535ffa094ecd4720030cd36 + +I=203 +KEY=0000000000000000000000000000000000000000000000000020000000000000 +CT=28d2784e2364f10096b516833dcb39f9 + +I=204 +KEY=0000000000000000000000000000000000000000000000000010000000000000 +CT=04d2f725d569186682e209608e25c617 + +I=205 +KEY=0000000000000000000000000000000000000000000000000008000000000000 +CT=087395ef3b31e6a948e5e2a35e2ca345 + +I=206 +KEY=0000000000000000000000000000000000000000000000000004000000000000 +CT=6351fd25f8a06beceb244026c65c10c2 + +I=207 +KEY=0000000000000000000000000000000000000000000000000002000000000000 +CT=3c61acc4a77da654cda7839816d2f385 + +I=208 +KEY=0000000000000000000000000000000000000000000000000001000000000000 +CT=c660a12d18c94d0f5c81a22ed9c7ffb5 + +I=209 +KEY=0000000000000000000000000000000000000000000000000000800000000000 +CT=1f01ebc6151c8f3ea70c423f4e2c64c9 + +I=210 +KEY=0000000000000000000000000000000000000000000000000000400000000000 +CT=5e1231b72071ce574dfbbe66f5eed01b + +I=211 +KEY=0000000000000000000000000000000000000000000000000000200000000000 +CT=da025263d62d201cad37b53dae0507cb + +I=212 +KEY=0000000000000000000000000000000000000000000000000000100000000000 +CT=1600c5e3a94b0b44a8be99c5da558fd8 + +I=213 +KEY=0000000000000000000000000000000000000000000000000000080000000000 +CT=dfef4c129ba77381194046afc87e22ff + +I=214 +KEY=0000000000000000000000000000000000000000000000000000040000000000 +CT=5a39e491cca9abe1f1436008f4a455cc + +I=215 +KEY=0000000000000000000000000000000000000000000000000000020000000000 +CT=57a5d924b055186029a2656898ad2b8d + +I=216 +KEY=0000000000000000000000000000000000000000000000000000010000000000 +CT=f7f0d88f13ee760300aced0f001b3e34 + +I=217 +KEY=0000000000000000000000000000000000000000000000000000008000000000 +CT=924b4d0d4a88e669910cd9b890f25d76 + +I=218 +KEY=0000000000000000000000000000000000000000000000000000004000000000 +CT=8168c47238ef6f1994bfcef5b9baeef9 + +I=219 +KEY=0000000000000000000000000000000000000000000000000000002000000000 +CT=b6a59008e7267eb5f5492e2283198b31 + +I=220 +KEY=0000000000000000000000000000000000000000000000000000001000000000 +CT=c706d911f2f7ac8372984c60980adfd8 + +I=221 +KEY=0000000000000000000000000000000000000000000000000000000800000000 +CT=0bde9a2a1364784d2d2da743f77c6992 + +I=222 +KEY=0000000000000000000000000000000000000000000000000000000400000000 +CT=b3bd8ce8da0d939fb59caacd8b0c452c + +I=223 +KEY=0000000000000000000000000000000000000000000000000000000200000000 +CT=4327b8cb4a6015ff9df50a4a5ca08442 + +I=224 +KEY=0000000000000000000000000000000000000000000000000000000100000000 +CT=89f64377bf1e8a46c8247044e8056a98 + +I=225 +KEY=0000000000000000000000000000000000000000000000000000000080000000 +CT=31028ff4ed7a98d2d4f72615445d7e4a + +I=226 +KEY=0000000000000000000000000000000000000000000000000000000040000000 +CT=f5e331d2036713649c8c15705a87d9f5 + +I=227 +KEY=0000000000000000000000000000000000000000000000000000000020000000 +CT=d1dca9bb950823af5a4be2fbc52ec83b + +I=228 +KEY=0000000000000000000000000000000000000000000000000000000010000000 +CT=0951a1ddbf1f268d786c7233af62f0ef + +I=229 +KEY=0000000000000000000000000000000000000000000000000000000008000000 +CT=aa23686541d98309973f3d68e242a3e2 + +I=230 +KEY=0000000000000000000000000000000000000000000000000000000004000000 +CT=ad69fca1d17ae46f423a945fa36660e1 + +I=231 +KEY=0000000000000000000000000000000000000000000000000000000002000000 +CT=98272fdd4978e941b4f68f571b899fd8 + +I=232 +KEY=0000000000000000000000000000000000000000000000000000000001000000 +CT=121952d98be02632491241b44304804a + +I=233 +KEY=0000000000000000000000000000000000000000000000000000000000800000 +CT=b16dea3eb57e5967a8b218f08842502b + +I=234 +KEY=0000000000000000000000000000000000000000000000000000000000400000 +CT=5d9bd9d06cdf97480ba073a57480fab3 + +I=235 +KEY=0000000000000000000000000000000000000000000000000000000000200000 +CT=c9a296f7f58e208252dffec1d46fb538 + +I=236 +KEY=0000000000000000000000000000000000000000000000000000000000100000 +CT=d831b2b44cd0782c94a9533c4221e4bf + +I=237 +KEY=0000000000000000000000000000000000000000000000000000000000080000 +CT=b93146526d778bae13e579c4962110ef + +I=238 +KEY=0000000000000000000000000000000000000000000000000000000000040000 +CT=2e483ad91c6aba09440d32dff6f838ac + +I=239 +KEY=0000000000000000000000000000000000000000000000000000000000020000 +CT=f650a662bee544675d15eeb6d16c5dfb + +I=240 +KEY=0000000000000000000000000000000000000000000000000000000000010000 +CT=4a0d75387c3fabe4e4b8d059e526a623 + +I=241 +KEY=0000000000000000000000000000000000000000000000000000000000008000 +CT=eaac3bade1e4886d2376b945ae19ca2c + +I=242 +KEY=0000000000000000000000000000000000000000000000000000000000004000 +CT=86392882c55672c087a978a66a162d05 + +I=243 +KEY=0000000000000000000000000000000000000000000000000000000000002000 +CT=1ba2f2b6ee41fa58119bc0c6dd7909d3 + +I=244 +KEY=0000000000000000000000000000000000000000000000000000000000001000 +CT=68d5648946c464cbcfaf9b2abb0567c3 + +I=245 +KEY=0000000000000000000000000000000000000000000000000000000000000800 +CT=a909bc4a2061b560596840e160549097 + +I=246 +KEY=0000000000000000000000000000000000000000000000000000000000000400 +CT=231665465c569176adaa126a76b893b8 + +I=247 +KEY=0000000000000000000000000000000000000000000000000000000000000200 +CT=a9814e3b420304fb5df34a79d4db7879 + +I=248 +KEY=0000000000000000000000000000000000000000000000000000000000000100 +CT=6d9fb653caedbf0091aa5a143707994f + +I=249 +KEY=0000000000000000000000000000000000000000000000000000000000000080 +CT=c0165682bd8ee32b0e3c468812aa23a2 + +I=250 +KEY=0000000000000000000000000000000000000000000000000000000000000040 +CT=5991506d96f9f27ddf74015705d4e1ea + +I=251 +KEY=0000000000000000000000000000000000000000000000000000000000000020 +CT=99443cb4450fa3c81d921e478476f365 + +I=252 +KEY=0000000000000000000000000000000000000000000000000000000000000010 +CT=a9e429527f98ef1c9cb832bcd036e00e + +I=253 +KEY=0000000000000000000000000000000000000000000000000000000000000008 +CT=b7c9b6bd6b749af86c8ed5ee57659dec + +I=254 +KEY=0000000000000000000000000000000000000000000000000000000000000004 +CT=8dcb599c6eecc7e896d73c71bf1423ad + +I=255 +KEY=0000000000000000000000000000000000000000000000000000000000000002 +CT=f0fc3a5418ec55a5bbac2f2d4a94d833 + +I=256 +KEY=0000000000000000000000000000000000000000000000000000000000000001 +CT=2fc5e1a6366cfad169343760445d88e0 + +========== + +========================= + +FILENAME: "ecb_vt.txt" + +Electronic Codebook (ECB) Mode +Variable Text Known Answer Tests + +Algorithm Name: Serpent +Principal Submitter: Ross Anderson, Eli Biham, Lars Knudsen + +========== + +KEYSIZE=128 + +KEY=00000000000000000000000000000000 + +I=1 +PT=80000000000000000000000000000000 +CT=10b5ffb720b8cb9002a1142b0ba2e94a + +I=2 +PT=40000000000000000000000000000000 +CT=91a7847ef1cd87551b5b4bf6f8e96e2c + +I=3 +PT=20000000000000000000000000000000 +CT=5d32aece8383fb2ee22cb4a6061d1429 + +I=4 +PT=10000000000000000000000000000000 +CT=b4895cad26dfa1538e9ad80599e1e62a + +I=5 +PT=08000000000000000000000000000000 +CT=3b275d40f7daf4a3f59ddfab28ff8715 + +I=6 +PT=04000000000000000000000000000000 +CT=c4831bc67e0efff9795c2fa87a2498b5 + +I=7 +PT=02000000000000000000000000000000 +CT=0f250f3b1f294e54a3e34512b0ab5d0c + +I=8 +PT=01000000000000000000000000000000 +CT=bc0abf8c2037a9263586de6ba1ceed9b + +I=9 +PT=00800000000000000000000000000000 +CT=b2b7cbfe069faa342c3bc5476cb674a1 + +I=10 +PT=00400000000000000000000000000000 +CT=f09813e536740a3ab9eb885f33273833 + +I=11 +PT=00200000000000000000000000000000 +CT=d3793fb7125f8396ae504f0fd7d7a703 + +I=12 +PT=00100000000000000000000000000000 +CT=bf6b70e9fda664962d95699702f2b9b8 + +I=13 +PT=00080000000000000000000000000000 +CT=5464988b5914ca8803065aec48e2dca7 + +I=14 +PT=00040000000000000000000000000000 +CT=75337da1c6b4e0569ac3c639d7ee211a + +I=15 +PT=00020000000000000000000000000000 +CT=f964f16dfda2840e9e0b0a76cfdb7390 + +I=16 +PT=00010000000000000000000000000000 +CT=ce523088dc42883d13d88a56853be8ce + +I=17 +PT=00008000000000000000000000000000 +CT=ff9e25a0d3e29cd3fc75a115ba401915 + +I=18 +PT=00004000000000000000000000000000 +CT=995893db8371206626e550c92a7f999f + +I=19 +PT=00002000000000000000000000000000 +CT=b0de770bfc90f6f87b36b9bff67d5b01 + +I=20 +PT=00001000000000000000000000000000 +CT=9bb96bb4f47a66499f69258559367d4a + +I=21 +PT=00000800000000000000000000000000 +CT=2c352c4d86f01ce418fc3d60fd486230 + +I=22 +PT=00000400000000000000000000000000 +CT=2f774b457113bdc1e901766290ec6713 + +I=23 +PT=00000200000000000000000000000000 +CT=4f3f9119e21c7f8d1a4d44947659fe85 + +I=24 +PT=00000100000000000000000000000000 +CT=c3f40fb50935137745a04e19e8f3ba75 + +I=25 +PT=00000080000000000000000000000000 +CT=0dc94b1df01940c03d586cca5b32b83e + +I=26 +PT=00000040000000000000000000000000 +CT=3e90867ddb27912eed7e1ca5991e0a24 + +I=27 +PT=00000020000000000000000000000000 +CT=338aef6a3fbeffdde3e240cc04afb281 + +I=28 +PT=00000010000000000000000000000000 +CT=2b28f5882fb2765a4ea3d00978437069 + +I=29 +PT=00000008000000000000000000000000 +CT=db1227fa1f4442f75c2953f2b3442ec1 + +I=30 +PT=00000004000000000000000000000000 +CT=af629e3fdbf2ab0cf8e2a128f1fbe298 + +I=31 +PT=00000002000000000000000000000000 +CT=7ae65213d3da0d0b4cd8d0b9741d2b3f + +I=32 +PT=00000001000000000000000000000000 +CT=fd2d297dc1ce0b0d2577d8847b901de5 + +I=33 +PT=00000000800000000000000000000000 +CT=c48afc3a70454a8e26e529753c06e619 + +I=34 +PT=00000000400000000000000000000000 +CT=c9da79c5d484a0aa048b09ac01bddc6d + +I=35 +PT=00000000200000000000000000000000 +CT=ec3d920e6aba87ea53a4d27cdb68c2af + +I=36 +PT=00000000100000000000000000000000 +CT=464e0f8ccc68243617ef7206e399b124 + +I=37 +PT=00000000080000000000000000000000 +CT=ff3913dca41688c7daf01e161f570cb3 + +I=38 +PT=00000000040000000000000000000000 +CT=87e81d705ee314cda5ed031315b94c21 + +I=39 +PT=00000000020000000000000000000000 +CT=fa0e1474029a15eb2553c55d4291a957 + +I=40 +PT=00000000010000000000000000000000 +CT=56a9f473ab27fed3ac6d430f63d36c85 + +I=41 +PT=00000000008000000000000000000000 +CT=4f057a42d8d5bd9746e434680ddcd5e5 + +I=42 +PT=00000000004000000000000000000000 +CT=c9763d65b200493f58414268f579b8ca + +I=43 +PT=00000000002000000000000000000000 +CT=4eb6f14893b7dad1e50c8ec0c863fe43 + +I=44 +PT=00000000001000000000000000000000 +CT=67135ad9c42bf215248b3f2f0650781d + +I=45 +PT=00000000000800000000000000000000 +CT=f226474056e317aa761c55acc086d445 + +I=46 +PT=00000000000400000000000000000000 +CT=196f606e80d9a98be468bb3de2ed0f90 + +I=47 +PT=00000000000200000000000000000000 +CT=8be67189dd26c4a654560c0881c573f5 + +I=48 +PT=00000000000100000000000000000000 +CT=372c5708d1c008d59dcf6e0b6c80af07 + +I=49 +PT=00000000000080000000000000000000 +CT=a374338be436ba8146dbf1f72f67308c + +I=50 +PT=00000000000040000000000000000000 +CT=7e40613f5dd753f6fba6c89391fa560d + +I=51 +PT=00000000000020000000000000000000 +CT=1381ee5af9de1c7ec0f0b0a770c1c008 + +I=52 +PT=00000000000010000000000000000000 +CT=16e065b53257ef73f9ec7fec947e5ff0 + +I=53 +PT=00000000000008000000000000000000 +CT=4c336bb5c473c8410c4bd9b9977f66eb + +I=54 +PT=00000000000004000000000000000000 +CT=d4133fe07662e180c5de71630c5565a0 + +I=55 +PT=00000000000002000000000000000000 +CT=57dcf6d111bc16bae83f360e0a7caccd + +I=56 +PT=00000000000001000000000000000000 +CT=3f5dd0577c58ea13bdca23bf722a79ff + +I=57 +PT=00000000000000800000000000000000 +CT=25a178f97eaabb668a5c3f1159fa6e98 + +I=58 +PT=00000000000000400000000000000000 +CT=2cb9217031b33c7c1560ca38a215cbb8 + +I=59 +PT=00000000000000200000000000000000 +CT=add8589c5abf2cd9a75b48c52a2162f2 + +I=60 +PT=00000000000000100000000000000000 +CT=563e81d5609565a3735e6717d9c654df + +I=61 +PT=00000000000000080000000000000000 +CT=7aab1fd5b60febce36ebf19a750e5d92 + +I=62 +PT=00000000000000040000000000000000 +CT=8c8d3cc26f5bfec469021970589ebc99 + +I=63 +PT=00000000000000020000000000000000 +CT=5c9545fe2243eac114257260960b38c0 + +I=64 +PT=00000000000000010000000000000000 +CT=00c4e9de9b257a232e2d3f955f1e5266 + +I=65 +PT=00000000000000008000000000000000 +CT=516680a1011636774f610a04993eb41e + +I=66 +PT=00000000000000004000000000000000 +CT=8004e202dca22430a65f8a35f49514a1 + +I=67 +PT=00000000000000002000000000000000 +CT=d9f8abf59993ea093731694ead5e4dcf + +I=68 +PT=00000000000000001000000000000000 +CT=aec7b64c80313afb6231e1205e3aac6c + +I=69 +PT=00000000000000000800000000000000 +CT=fa20fe21973588a3f5339fd43e05eebf + +I=70 +PT=00000000000000000400000000000000 +CT=f873e13044503509cbe0e2e555bfffb2 + +I=71 +PT=00000000000000000200000000000000 +CT=2cd9d5ba4ce26764179a28823ee321e5 + +I=72 +PT=00000000000000000100000000000000 +CT=3483c4eaf33b3d624a7595f801c70996 + +I=73 +PT=00000000000000000080000000000000 +CT=b5c0a55c6629518345ac81ed351e0fc8 + +I=74 +PT=00000000000000000040000000000000 +CT=65ab1efc487dbf7d8818bfe6771afe27 + +I=75 +PT=00000000000000000020000000000000 +CT=852fac011e4750a120534ff3dd44248e + +I=76 +PT=00000000000000000010000000000000 +CT=7f95744df45ad4a1d76727a60cb0b39c + +I=77 +PT=00000000000000000008000000000000 +CT=bb2b16dfbd58f56422ea050ffb5272a0 + +I=78 +PT=00000000000000000004000000000000 +CT=8128e598967018405d172207a147cd4c + +I=79 +PT=00000000000000000002000000000000 +CT=4ac0779bb0bd096f2e1d585604d8def9 + +I=80 +PT=00000000000000000001000000000000 +CT=241ef440a5b7b063f6589a6845a5a8dc + +I=81 +PT=00000000000000000000800000000000 +CT=52331740090f95f35233affbf0ba0168 + +I=82 +PT=00000000000000000000400000000000 +CT=99407bf8582ef12550886ef5b6f169b9 + +I=83 +PT=00000000000000000000200000000000 +CT=b252710d7e8434acaff5d0b668159faa + +I=84 +PT=00000000000000000000100000000000 +CT=4b159460080683c5a048cb1fe5206ba9 + +I=85 +PT=00000000000000000000080000000000 +CT=03d5b8aac57b684ac7b87665c589f3c9 + +I=86 +PT=00000000000000000000040000000000 +CT=6b5c2794e5a22123907947768238b63f + +I=87 +PT=00000000000000000000020000000000 +CT=29c2384191dc2f4f3e0d0bef223c0c16 + +I=88 +PT=00000000000000000000010000000000 +CT=4d3b1501af2ba27c0e75478ebec05a26 + +I=89 +PT=00000000000000000000008000000000 +CT=123ad27ae091cd558ec7dda24c2f84c1 + +I=90 +PT=00000000000000000000004000000000 +CT=c7719bdc9e24ea45cef48f2189587de4 + +I=91 +PT=00000000000000000000002000000000 +CT=0a1f0f7ab0cf5494e92fb52a736675fb + +I=92 +PT=00000000000000000000001000000000 +CT=c1f61bab87b12440a093b2a82709bf5f + +I=93 +PT=00000000000000000000000800000000 +CT=21e7d8886955070ee178585114c5fbcf + +I=94 +PT=00000000000000000000000400000000 +CT=f3e336c258d1ab20ff792816baee3ecd + +I=95 +PT=00000000000000000000000200000000 +CT=b90b2f56cc32bd9e89ae1d1382106df9 + +I=96 +PT=00000000000000000000000100000000 +CT=af4c1782161459998d1248476975b4bd + +I=97 +PT=00000000000000000000000080000000 +CT=5ea6c00e5b8742cdf221989be3c2e0a5 + +I=98 +PT=00000000000000000000000040000000 +CT=33b94789b40a0ea6e9a4c2a7fd7f39a1 + +I=99 +PT=00000000000000000000000020000000 +CT=83da4cff4fc689fb57f8a0131c000bf2 + +I=100 +PT=00000000000000000000000010000000 +CT=2531ffa17bb629915b5ab1320ae28ef3 + +I=101 +PT=00000000000000000000000008000000 +CT=40fe64a7ae3faf51c613e0967e36ed41 + +I=102 +PT=00000000000000000000000004000000 +CT=9622e548cbad9d0ae5891d29bd0fc355 + +I=103 +PT=00000000000000000000000002000000 +CT=d43597365f98cc5f39e4c004a4f1e73f + +I=104 +PT=00000000000000000000000001000000 +CT=09989867eb52aa560bf3a4b60215136e + +I=105 +PT=00000000000000000000000000800000 +CT=e5bc1ec33d62be8f56ff1d87916da33e + +I=106 +PT=00000000000000000000000000400000 +CT=9ec843057904a54565aba31801f16d7c + +I=107 +PT=00000000000000000000000000200000 +CT=85598be8348c344203069e393769ff1d + +I=108 +PT=00000000000000000000000000100000 +CT=079448f58270af4f7d2b4433f1e0dc87 + +I=109 +PT=00000000000000000000000000080000 +CT=8b144a5358637642c5804ce38a86efcb + +I=110 +PT=00000000000000000000000000040000 +CT=6531358baf10022e507f0b0c0ebc23df + +I=111 +PT=00000000000000000000000000020000 +CT=72d9f80ad110ec6830e02d117a2d73e9 + +I=112 +PT=00000000000000000000000000010000 +CT=7edec1dc5d17c597075b67e62b31171d + +I=113 +PT=00000000000000000000000000008000 +CT=25f263f9be5c840c099ec84973d1b00d + +I=114 +PT=00000000000000000000000000004000 +CT=c5515588ea7308550252efa5d18f12c7 + +I=115 +PT=00000000000000000000000000002000 +CT=6ef9583950338814b65ac955987f1d76 + +I=116 +PT=00000000000000000000000000001000 +CT=92d05167a4526ca60f03e1f05960401d + +I=117 +PT=00000000000000000000000000000800 +CT=948de151239262ec36b1f91d08cc2fde + +I=118 +PT=00000000000000000000000000000400 +CT=341e433e71e4b5dfdf27a511fbfb935f + +I=119 +PT=00000000000000000000000000000200 +CT=a1e3e540159746526bc538e7224f2c6c + +I=120 +PT=00000000000000000000000000000100 +CT=10b6072dc2413dbd4f22922a042ef8bf + +I=121 +PT=00000000000000000000000000000080 +CT=bbbcb8648c674426d8dd58c3e75db3a3 + +I=122 +PT=00000000000000000000000000000040 +CT=d27d9d9410bba292ff27afe0e4cfab04 + +I=123 +PT=00000000000000000000000000000020 +CT=0886d012ef370274b2f28eb79431778f + +I=124 +PT=00000000000000000000000000000010 +CT=9769ec70a6e41d5bd9c8d7e89ea61e8b + +I=125 +PT=00000000000000000000000000000008 +CT=bd2e3b263b9267170caca766cec6e3ce + +I=126 +PT=00000000000000000000000000000004 +CT=f3de05775f6d62877627adc3ff61de88 + +I=127 +PT=00000000000000000000000000000002 +CT=ae358b079ed7a0065ad1dcfa7e94dd69 + +I=128 +PT=00000000000000000000000000000001 +CT=3606b9158da0dc461156430e10faf132 + +========== + +KEYSIZE=192 + +KEY=000000000000000000000000000000000000000000000000 + +I=1 +PT=80000000000000000000000000000000 +CT=b10b271ba25257e1294f2b51f076d0d9 + +I=2 +PT=40000000000000000000000000000000 +CT=d522a3b8d6d89d4d2a124fdd88f36896 + +I=3 +PT=20000000000000000000000000000000 +CT=6faefee5f5255d5465c1befa672af1d3 + +I=4 +PT=10000000000000000000000000000000 +CT=409e1d63bc71eb0d6f7eceaa03025897 + +I=5 +PT=08000000000000000000000000000000 +CT=8a7e9feb4300a2a265f4a14e52011be1 + +I=6 +PT=04000000000000000000000000000000 +CT=c1b3fb68eef9e0eb6d3df001e57eac9b + +I=7 +PT=02000000000000000000000000000000 +CT=9dcaabb7839129739d1c6f5501624e44 + +I=8 +PT=01000000000000000000000000000000 +CT=47402e1c09e0c315b13cab5a5aa17e49 + +I=9 +PT=00800000000000000000000000000000 +CT=cde5ff61bb5659952a8c5cfedacf06a3 + +I=10 +PT=00400000000000000000000000000000 +CT=b26502ac2100f53bed68f24545631548 + +I=11 +PT=00200000000000000000000000000000 +CT=b607bf21517dbec46d95758fff5a073b + +I=12 +PT=00100000000000000000000000000000 +CT=d4d07ee9ba4512d2985453a0ae16aa8e + +I=13 +PT=00080000000000000000000000000000 +CT=139b2bf2f5f28c014a6c2f9aea71faaf + +I=14 +PT=00040000000000000000000000000000 +CT=4c35a2015688b03192dd599a3fddb893 + +I=15 +PT=00020000000000000000000000000000 +CT=24def3618142e83ba5124d914edb23ee + +I=16 +PT=00010000000000000000000000000000 +CT=4ba48c16fa165c322614a94b0f236ee7 + +I=17 +PT=00008000000000000000000000000000 +CT=251d642123ee51ac09e02026228c1414 + +I=18 +PT=00004000000000000000000000000000 +CT=35604c5d7589b042c9a2e2550b439d31 + +I=19 +PT=00002000000000000000000000000000 +CT=a921c70d25df86916bafcb0d99834d77 + +I=20 +PT=00001000000000000000000000000000 +CT=ffc85ec27dbcedfd7f7265878967ca81 + +I=21 +PT=00000800000000000000000000000000 +CT=2281b03c4aad92683b10418afd19fcbe + +I=22 +PT=00000400000000000000000000000000 +CT=5df5f94a1760883ca1e80ba88fe02dcc + +I=23 +PT=00000200000000000000000000000000 +CT=fb2a57edd5cf3d2d38ec0f185ae33549 + +I=24 +PT=00000100000000000000000000000000 +CT=0fa7045d04878611ba1ee1b89ae48fd7 + +I=25 +PT=00000080000000000000000000000000 +CT=d4bccb77a50cba2a5d3e19c39b10a95d + +I=26 +PT=00000040000000000000000000000000 +CT=0c673c63c42f40cc9c547e8ffec646bc + +I=27 +PT=00000020000000000000000000000000 +CT=914cf9c7744a56d5d5e4beabff1aa160 + +I=28 +PT=00000010000000000000000000000000 +CT=073e2f69a01ef426c14ade8f0a30dd84 + +I=29 +PT=00000008000000000000000000000000 +CT=5f0cf0ae5a8bc4d1fb37cf8f2f063437 + +I=30 +PT=00000004000000000000000000000000 +CT=c3e16559538c35da71d6a9f5c79144ea + +I=31 +PT=00000002000000000000000000000000 +CT=3a154b0a7eab802c082a4a96cc9968d4 + +I=32 +PT=00000001000000000000000000000000 +CT=205f88404d8c02bcc7c68a064c74a545 + +I=33 +PT=00000000800000000000000000000000 +CT=27d5c66ef07bff1f9f2789205ef6f54f + +I=34 +PT=00000000400000000000000000000000 +CT=7adfdd145251206f5eef7206f718c8b0 + +I=35 +PT=00000000200000000000000000000000 +CT=971a2283f2d786efceed19ca000f4d2a + +I=36 +PT=00000000100000000000000000000000 +CT=59ed88f7ee96e19469c0d5604da0e6f9 + +I=37 +PT=00000000080000000000000000000000 +CT=d970cba6992074c2f5bea1952ee82b60 + +I=38 +PT=00000000040000000000000000000000 +CT=6de2a3c48a416d9b679112fe54133fb5 + +I=39 +PT=00000000020000000000000000000000 +CT=a85b4fcf07c08c7d99fab5ffc1f7680f + +I=40 +PT=00000000010000000000000000000000 +CT=c4d174f3a6489b334a612ddf4c01903b + +I=41 +PT=00000000008000000000000000000000 +CT=f428ce9715b50860eb9dac15b475803d + +I=42 +PT=00000000004000000000000000000000 +CT=15a4c8c2ec76338fd7f4ccbc22335a67 + +I=43 +PT=00000000002000000000000000000000 +CT=78782ca4652234a2b363d8da766ccdb8 + +I=44 +PT=00000000001000000000000000000000 +CT=b9ac015cc263572caee0e34683b3f6e0 + +I=45 +PT=00000000000800000000000000000000 +CT=7990673b85f6a31660293f4b7295e296 + +I=46 +PT=00000000000400000000000000000000 +CT=32210034b38a6810f1623bdc777a5e30 + +I=47 +PT=00000000000200000000000000000000 +CT=189b8ec3470085b3da97e82ca8964e32 + +I=48 +PT=00000000000100000000000000000000 +CT=1e5c3b6e60715a4ee2397d86128feb23 + +I=49 +PT=00000000000080000000000000000000 +CT=209e0c925c6eba5ee377b3fd99dc74ec + +I=50 +PT=00000000000040000000000000000000 +CT=d6d11ea627c1fe32e1ff75f69f2ef912 + +I=51 +PT=00000000000020000000000000000000 +CT=330fa8dafe4a31dd83168f9a81c6bff8 + +I=52 +PT=00000000000010000000000000000000 +CT=733b41f6263c4669ae05eba359245528 + +I=53 +PT=00000000000008000000000000000000 +CT=462d605055949e84e16ffcc1d8ce18e0 + +I=54 +PT=00000000000004000000000000000000 +CT=eba12bd6b1bf6e263037e89a34b1468a + +I=55 +PT=00000000000002000000000000000000 +CT=cfb0119561a328e22fdaac332097a0ae + +I=56 +PT=00000000000001000000000000000000 +CT=65477c9404927a19a24dcb813012cd6b + +I=57 +PT=00000000000000800000000000000000 +CT=71c538be7c7c25ac9c9bf433c439a81c + +I=58 +PT=00000000000000400000000000000000 +CT=43ff9632b748a0e5bb93c80b7a72d1e6 + +I=59 +PT=00000000000000200000000000000000 +CT=958934c3731793b6501508488515386b + +I=60 +PT=00000000000000100000000000000000 +CT=74e629f351506259f0e5ba5616195941 + +I=61 +PT=00000000000000080000000000000000 +CT=c12671b5543b37ee8045e21738b48456 + +I=62 +PT=00000000000000040000000000000000 +CT=efeb1397a75a6d11b76c5aa522c01dd3 + +I=63 +PT=00000000000000020000000000000000 +CT=40fcf95ce176d4c0614d49836af9b7b9 + +I=64 +PT=00000000000000010000000000000000 +CT=800532e2359c581ab7375a0023e5619f + +I=65 +PT=00000000000000008000000000000000 +CT=02f4ee73fff08f688c534b8db1cf192f + +I=66 +PT=00000000000000004000000000000000 +CT=703e4282110f7d27a6571abd98152d2b + +I=67 +PT=00000000000000002000000000000000 +CT=f93b8b96d84d6457c2def803789e58fb + +I=68 +PT=00000000000000001000000000000000 +CT=3291f29dc7a8fa6bfbab3080d46c8f4e + +I=69 +PT=00000000000000000800000000000000 +CT=48a880f8db4317311f7fc7c534734c59 + +I=70 +PT=00000000000000000400000000000000 +CT=056ee1a0611b70d8b476a926a260908b + +I=71 +PT=00000000000000000200000000000000 +CT=0b22b4f0679776283a545ea4827f5d9d + +I=72 +PT=00000000000000000100000000000000 +CT=b4983ccdb7953ea334fdb51232dd607f + +I=73 +PT=00000000000000000080000000000000 +CT=84c360cdb59408fbff6c1d98b633a167 + +I=74 +PT=00000000000000000040000000000000 +CT=99370507d1c662282477ee90fa4e72b9 + +I=75 +PT=00000000000000000020000000000000 +CT=71f8ee3b5575730281c6826d80b4c46c + +I=76 +PT=00000000000000000010000000000000 +CT=33a80e4a9d495bfe8f76e07a1ea05ed0 + +I=77 +PT=00000000000000000008000000000000 +CT=3db3dbf045c4023b584e8568d25952eb + +I=78 +PT=00000000000000000004000000000000 +CT=a7a9058c51ceb88f05e6cb97a4923727 + +I=79 +PT=00000000000000000002000000000000 +CT=1e977f546daae78f553861f420e89e62 + +I=80 +PT=00000000000000000001000000000000 +CT=9f47bea3e662ca502341f727ecf64ff0 + +I=81 +PT=00000000000000000000800000000000 +CT=723c52ca0635fc08c4818a8d386bf2ca + +I=82 +PT=00000000000000000000400000000000 +CT=562ad986fc63064fed5b8e77a575a079 + +I=83 +PT=00000000000000000000200000000000 +CT=3209896941454c0d59e17df9e99ee590 + +I=84 +PT=00000000000000000000100000000000 +CT=afa1d3a3a7c49544ecd0f005fe4adf30 + +I=85 +PT=00000000000000000000080000000000 +CT=d0c15dbaa5f877a191e7ed56d1546dbf + +I=86 +PT=00000000000000000000040000000000 +CT=467e0e629df57e2af5fd7a53b286222c + +I=87 +PT=00000000000000000000020000000000 +CT=8097e51df87b86a1756436f5ec835f54 + +I=88 +PT=00000000000000000000010000000000 +CT=bc06ed199ac6a8be027a5b57e348765e + +I=89 +PT=00000000000000000000008000000000 +CT=f77d868cf760b9143a89809510ccb099 + +I=90 +PT=00000000000000000000004000000000 +CT=6ac27194ccb8b8c5a9ef91c460babc4f + +I=91 +PT=00000000000000000000002000000000 +CT=90ecb7adf91e1664d96ddfa84f3e3b7a + +I=92 +PT=00000000000000000000001000000000 +CT=c9344eaead5b2d403df0b0e23edda5db + +I=93 +PT=00000000000000000000000800000000 +CT=7b1e6b2e84a5fa629825f60885f73423 + +I=94 +PT=00000000000000000000000400000000 +CT=730f3bab94156e5835bd741bb8d85ef1 + +I=95 +PT=00000000000000000000000200000000 +CT=6685abc072c2dc93354a623446ee54a6 + +I=96 +PT=00000000000000000000000100000000 +CT=c350186035a00e5802ceda6ae90615e7 + +I=97 +PT=00000000000000000000000080000000 +CT=38f0bee5d234428ab287939be63bd400 + +I=98 +PT=00000000000000000000000040000000 +CT=59c13cf6b6608aa743a57e580a8d82bb + +I=99 +PT=00000000000000000000000020000000 +CT=60e6f6290fc3e9dc2c656bfacb387342 + +I=100 +PT=00000000000000000000000010000000 +CT=dd49442c7ab7443bd7e41b4b848662d2 + +I=101 +PT=00000000000000000000000008000000 +CT=3a18f3904cd710c501784b44b7bed928 + +I=102 +PT=00000000000000000000000004000000 +CT=8afb4f1591681cfd0ff331f5e749899d + +I=103 +PT=00000000000000000000000002000000 +CT=24093cf425ca447b76edbfc957a529b3 + +I=104 +PT=00000000000000000000000001000000 +CT=f5734b1089880f05e728cb07b4b50919 + +I=105 +PT=00000000000000000000000000800000 +CT=e53a9ff4cdf0c76a9e5d3031e8b151da + +I=106 +PT=00000000000000000000000000400000 +CT=a59d4bfa111ac6f33624aac45518094a + +I=107 +PT=00000000000000000000000000200000 +CT=46949a5758b3b4184f684358915083db + +I=108 +PT=00000000000000000000000000100000 +CT=4b3dd9621bedd5f7f54f53606737a113 + +I=109 +PT=00000000000000000000000000080000 +CT=958e939d24b0d7c9b1c237891d3b61c2 + +I=110 +PT=00000000000000000000000000040000 +CT=6930b05005417f71db709b617888b43f + +I=111 +PT=00000000000000000000000000020000 +CT=ebc7f36e81c8abece7aacd8e5dbd8905 + +I=112 +PT=00000000000000000000000000010000 +CT=a8cc6bba06b7aa9806819d7830c0c95a + +I=113 +PT=00000000000000000000000000008000 +CT=6921097106f0f151bf767e897e6bd64b + +I=114 +PT=00000000000000000000000000004000 +CT=bce445f2d14016520d49faa088c5724a + +I=115 +PT=00000000000000000000000000002000 +CT=1cebadbafac634b929a1d7c1cc5d2032 + +I=116 +PT=00000000000000000000000000001000 +CT=58461087da47ecd75993f9f64c9af774 + +I=117 +PT=00000000000000000000000000000800 +CT=8de6083068111cd9b07b17a58b421028 + +I=118 +PT=00000000000000000000000000000400 +CT=8fd00a5dd8e6f93ebb73d3ae05c26338 + +I=119 +PT=00000000000000000000000000000200 +CT=7b4dc0232880d9d7edfb4d89a07a20dd + +I=120 +PT=00000000000000000000000000000100 +CT=4fb7e947a58b192186cce9aaecc9eaa6 + +I=121 +PT=00000000000000000000000000000080 +CT=bb8a615964c174450d7e68ad32f4f523 + +I=122 +PT=00000000000000000000000000000040 +CT=e37cf906ae4c30a4a4e9f6364989cd56 + +I=123 +PT=00000000000000000000000000000020 +CT=7b223c8e3fc51b77f4f91a464fd904b6 + +I=124 +PT=00000000000000000000000000000010 +CT=02263d1d95636d0d63806875c42a85bb + +I=125 +PT=00000000000000000000000000000008 +CT=9c25b3aacdc23f99982c8dd96c209c31 + +I=126 +PT=00000000000000000000000000000004 +CT=f7e9ad85347a957d3b1e4556595971d2 + +I=127 +PT=00000000000000000000000000000002 +CT=bad13d578b19df90632a7f7c927d25d4 + +I=128 +PT=00000000000000000000000000000001 +CT=79cd7df51ac0dc8296f1f3e8dbf61076 + +========== + +KEYSIZE=256 + +KEY=0000000000000000000000000000000000000000000000000000000000000000 + +I=1 +PT=80000000000000000000000000000000 +CT=da5a7992b1b4ae6f8c004bc8a7de5520 + +I=2 +PT=40000000000000000000000000000000 +CT=f351351b823e3d7a4f3bf390c4f198cb + +I=3 +PT=20000000000000000000000000000000 +CT=a477a65d9db75c8ed7218c52b64c65bb + +I=4 +PT=10000000000000000000000000000000 +CT=f8019452cba4fe618d80a6756183b2e0 + +I=5 +PT=08000000000000000000000000000000 +CT=d43b7b981b829342fce0e3ec6f5f4c82 + +I=6 +PT=04000000000000000000000000000000 +CT=39b3342cb13ce047eccd7ce9d586929d + +I=7 +PT=02000000000000000000000000000000 +CT=0a3e7e267fbef117ce63fcb3f0092cbc + +I=8 +PT=01000000000000000000000000000000 +CT=9faa1e723be36aa803321c2383de86ad + +I=9 +PT=00800000000000000000000000000000 +CT=371b4bb870cc4bdc24d579c8692a04ae + +I=10 +PT=00400000000000000000000000000000 +CT=5ade07be303d5100c8ed911938e3036d + +I=11 +PT=00200000000000000000000000000000 +CT=8e81be84aadb0439d7a8f1b0dc076857 + +I=12 +PT=00100000000000000000000000000000 +CT=330317259c635ce4b7327815888add96 + +I=13 +PT=00080000000000000000000000000000 +CT=397a4e6ce74377398f88290b587b1a9c + +I=14 +PT=00040000000000000000000000000000 +CT=956e7e1cc42dbfe13175da3603e17fb7 + +I=15 +PT=00020000000000000000000000000000 +CT=9c2e171b8845e0a6eb89acdba6e35886 + +I=16 +PT=00010000000000000000000000000000 +CT=0cab96ff0d7b82c6c340aa85fc26fed2 + +I=17 +PT=00008000000000000000000000000000 +CT=fd2191fae67478be4439a4970d53c256 + +I=18 +PT=00004000000000000000000000000000 +CT=541e4d4d249fcc51d859f34e39a9ecaa + +I=19 +PT=00002000000000000000000000000000 +CT=57e9c829d86daac43bfe15ea1d0dbc71 + +I=20 +PT=00001000000000000000000000000000 +CT=91ce19b8fb8ac19ecb70a695a2cb7f26 + +I=21 +PT=00000800000000000000000000000000 +CT=27875893acf49a8cff09e24822c98cd1 + +I=22 +PT=00000400000000000000000000000000 +CT=296b158a415e2804725b956c464be963 + +I=23 +PT=00000200000000000000000000000000 +CT=5f45ad8d0224b977a473a710268d8a36 + +I=24 +PT=00000100000000000000000000000000 +CT=63cc2d891b1d4ada0542152c1fe510b2 + +I=25 +PT=00000080000000000000000000000000 +CT=caeed51e22052785525fdcd743b8e1ff + +I=26 +PT=00000040000000000000000000000000 +CT=c48b18f20e09d858b290aa62ce9a8b0e + +I=27 +PT=00000020000000000000000000000000 +CT=191f62de542e9700ae76c4c1be1d9696 + +I=28 +PT=00000010000000000000000000000000 +CT=6905dff0d55c2102aebd162556561aa3 + +I=29 +PT=00000008000000000000000000000000 +CT=b9ae1edb4ba213705dd56a9e6b6b31a2 + +I=30 +PT=00000004000000000000000000000000 +CT=af94edd9a5e3ca3efb7ee11353719f70 + +I=31 +PT=00000002000000000000000000000000 +CT=029589f596760b95e68e88ab7c4ca0bc + +I=32 +PT=00000001000000000000000000000000 +CT=55e5a03c73b2e94d6657e02b54b05566 + +I=33 +PT=00000000800000000000000000000000 +CT=44f2d86d30848bb4138de3543c620774 + +I=34 +PT=00000000400000000000000000000000 +CT=e3e7edae5eb0acf9512961cf13dcd6b3 + +I=35 +PT=00000000200000000000000000000000 +CT=1f8213f17c9e3a61e60ad3d3f0781330 + +I=36 +PT=00000000100000000000000000000000 +CT=7143c3bc8bf0e1a7317dabfd3576229f + +I=37 +PT=00000000080000000000000000000000 +CT=82c106c8ebcb6dfd66c30160d42086f0 + +I=38 +PT=00000000040000000000000000000000 +CT=a5334d1b8b108d78debf9c5fa4a251cf + +I=39 +PT=00000000020000000000000000000000 +CT=5976340411009f1d84c677fb46f9703e + +I=40 +PT=00000000010000000000000000000000 +CT=7cff775b3dc48e3bae0f36beb398eba3 + +I=41 +PT=00000000008000000000000000000000 +CT=f9d4bc9804070eb5477543a2d8016e4f + +I=42 +PT=00000000004000000000000000000000 +CT=ead7b36b6aa3a60a15e1848004f4804f + +I=43 +PT=00000000002000000000000000000000 +CT=0ff332ec84a3ba27ecb1cb9c54711431 + +I=44 +PT=00000000001000000000000000000000 +CT=efe740dd809552fcb90f5990ffa84d3c + +I=45 +PT=00000000000800000000000000000000 +CT=ece37dd24eff8ef3ee99a0603f8eae60 + +I=46 +PT=00000000000400000000000000000000 +CT=ea2054379bd199574e9c25f16d4d3cb3 + +I=47 +PT=00000000000200000000000000000000 +CT=a99297ae1d5d3e3b2a0fe3b18ea01b4d + +I=48 +PT=00000000000100000000000000000000 +CT=f398b0fb341f9e43d7cd93e4304df53c + +I=49 +PT=00000000000080000000000000000000 +CT=bd066966361e05202b77d6d6508295f8 + +I=50 +PT=00000000000040000000000000000000 +CT=ffc413be45708d9557a3042cd785edb4 + +I=51 +PT=00000000000020000000000000000000 +CT=f320da590b0303625360f61b83164a29 + +I=52 +PT=00000000000010000000000000000000 +CT=e668509755f116bafeab2227a1c589d1 + +I=53 +PT=00000000000008000000000000000000 +CT=7ca7223be7684fe67c20dffec148929a + +I=54 +PT=00000000000004000000000000000000 +CT=7665d7a085ff83dfd72e0df5728766cc + +I=55 +PT=00000000000002000000000000000000 +CT=2f3463dddb86183e5687d0485ea45c68 + +I=56 +PT=00000000000001000000000000000000 +CT=bd1ed7c632dfc690492fb11bbabfe8fc + +I=57 +PT=00000000000000800000000000000000 +CT=e82b71f103ff08778e0523e562755d64 + +I=58 +PT=00000000000000400000000000000000 +CT=98835b1fd0b3f96e80522dbc3baf9cfa + +I=59 +PT=00000000000000200000000000000000 +CT=d336c1454f4cd732551aae5a5038260d + +I=60 +PT=00000000000000100000000000000000 +CT=f82722e829dd87ef63f9b17694092197 + +I=61 +PT=00000000000000080000000000000000 +CT=0f049dfb7a94e0da9e81d2d5cde27a23 + +I=62 +PT=00000000000000040000000000000000 +CT=d886980ae0626848a9e857e03487a78f + +I=63 +PT=00000000000000020000000000000000 +CT=e57d3b0621f9e84b2661c69040653f98 + +I=64 +PT=00000000000000010000000000000000 +CT=78309ad9a1909186a398288a930f5f64 + +I=65 +PT=00000000000000008000000000000000 +CT=ef41bb099090ab0713596449f2a0db4d + +I=66 +PT=00000000000000004000000000000000 +CT=c9f8a33ea7ef4eef4c5335407533935d + +I=67 +PT=00000000000000002000000000000000 +CT=3c99c025b68bdad6b197d309b63412f5 + +I=68 +PT=00000000000000001000000000000000 +CT=75b69d14bf789a98d084f1415e20f50a + +I=69 +PT=00000000000000000800000000000000 +CT=0d45a84c406f71fd7bf324d92639bc0e + +I=70 +PT=00000000000000000400000000000000 +CT=e95d91858c8fb496eb5a85c757daca53 + +I=71 +PT=00000000000000000200000000000000 +CT=cd65cc5d31584be6131d6204762c8efd + +I=72 +PT=00000000000000000100000000000000 +CT=0bf30e1a0c33ccf6d5293177886912a7 + +I=73 +PT=00000000000000000080000000000000 +CT=390b6714d761cdf423ce949f4091c772 + +I=74 +PT=00000000000000000040000000000000 +CT=a28a634ef8546b8cf8ece231bcccd36a + +I=75 +PT=00000000000000000020000000000000 +CT=b35dd02e0a1eb09656e2000d2543e19f + +I=76 +PT=00000000000000000010000000000000 +CT=ace558d0c6a2935dd0b2c7e624f7bb3a + +I=77 +PT=00000000000000000008000000000000 +CT=ff5a2a042bf19f4ad8f63c32a50b3059 + +I=78 +PT=00000000000000000004000000000000 +CT=d55b206c3a6fe40c67aa1bf63ef0e94a + +I=79 +PT=00000000000000000002000000000000 +CT=1e1ce1c9a1abc317b1b74ae5c46132e3 + +I=80 +PT=00000000000000000001000000000000 +CT=104e466f5df0777af3422ac91a744eb8 + +I=81 +PT=00000000000000000000800000000000 +CT=a531fb2f370adfba929a92cf732e6d0f + +I=82 +PT=00000000000000000000400000000000 +CT=7036b2a6193c3a3e225afe2c7c480220 + +I=83 +PT=00000000000000000000200000000000 +CT=d3a9cb64c0959dfaf0c703d4142be2a9 + +I=84 +PT=00000000000000000000100000000000 +CT=79e99042817c91a89286f662eea8d3cf + +I=85 +PT=00000000000000000000080000000000 +CT=cf835ec8134a59eff0b6a80c8c2ccaae + +I=86 +PT=00000000000000000000040000000000 +CT=f4836743d8c3780a2a541f28bb774de7 + +I=87 +PT=00000000000000000000020000000000 +CT=55762a9a16d9f535a9608b6c985517b8 + +I=88 +PT=00000000000000000000010000000000 +CT=95c38d14abc643ff795a4ff39f4c96de + +I=89 +PT=00000000000000000000008000000000 +CT=27b1a85d72f1382c5eb08a334ae57c0f + +I=90 +PT=00000000000000000000004000000000 +CT=de2a81d066bb55437dd6ee268d15d8ca + +I=91 +PT=00000000000000000000002000000000 +CT=c9ef33af6265fdd27f657a056a613253 + +I=92 +PT=00000000000000000000001000000000 +CT=113b948b22741125c1d751c88ed48c30 + +I=93 +PT=00000000000000000000000800000000 +CT=548eb65b756b1367b01d887c97d9a529 + +I=94 +PT=00000000000000000000000400000000 +CT=0fc7320adb91cf075576761788b4f6c0 + +I=95 +PT=00000000000000000000000200000000 +CT=1b39074f2ce07e9a3f53b59c2018e547 + +I=96 +PT=00000000000000000000000100000000 +CT=b007732dfa0d7fa9eb5e310ed6e0d758 + +I=97 +PT=00000000000000000000000080000000 +CT=ca895ebb630af36c8caf319349d62ec0 + +I=98 +PT=00000000000000000000000040000000 +CT=c53fbb7f75242e66171ac34eb966f1b5 + +I=99 +PT=00000000000000000000000020000000 +CT=7b315fde64ae9dd9d04a6da9bd0fd217 + +I=100 +PT=00000000000000000000000010000000 +CT=4a6a1e22ff4c9e6af601b9bb60a00f32 + +I=101 +PT=00000000000000000000000008000000 +CT=19fb40ef327adfc4c05531ee7a9b253a + +I=102 +PT=00000000000000000000000004000000 +CT=ad134b411f1502b4876c686e3bfd8e02 + +I=103 +PT=00000000000000000000000002000000 +CT=8972e71a54488c8bd6dba11fc61cf6d4 + +I=104 +PT=00000000000000000000000001000000 +CT=74636c3098f0bca38645248c6ce9ccdf + +I=105 +PT=00000000000000000000000000800000 +CT=9b2dfd727cabeb35c79fccd3ff2654bd + +I=106 +PT=00000000000000000000000000400000 +CT=4014558c1c55beb49772ae029b7c3cea + +I=107 +PT=00000000000000000000000000200000 +CT=b75b9703f69eab25261f43f80c66bb11 + +I=108 +PT=00000000000000000000000000100000 +CT=d36460b67ee0edbc9c20a55b7caa66b6 + +I=109 +PT=00000000000000000000000000080000 +CT=f9874e1b3cb3bb2df9e8dd27e943d8ca + +I=110 +PT=00000000000000000000000000040000 +CT=670ac2362e4b665fe9e2045880f729ed + +I=111 +PT=00000000000000000000000000020000 +CT=d6b8ff1fd5a10706a3e1bd6ebf610f98 + +I=112 +PT=00000000000000000000000000010000 +CT=7326371926c64ac4b5079857e8197ae4 + +I=113 +PT=00000000000000000000000000008000 +CT=9f14df1d5519767a1cabeba3221b452b + +I=114 +PT=00000000000000000000000000004000 +CT=2cbb4ce03b80693258e554daae3cbe3a + +I=115 +PT=00000000000000000000000000002000 +CT=95e80f51bcd35ab3acefbddf051458df + +I=116 +PT=00000000000000000000000000001000 +CT=9c32de82b267754484f839c4dac3b345 + +I=117 +PT=00000000000000000000000000000800 +CT=c3500273ea5843ec43dd2c562bde9241 + +I=118 +PT=00000000000000000000000000000400 +CT=2e7d7e515c630f97cf162e03d810e327 + +I=119 +PT=00000000000000000000000000000200 +CT=a4ef9f4fc23600d4e18d96232aae3c57 + +I=120 +PT=00000000000000000000000000000100 +CT=fd738baeb7c2771f8fde315eb506adb4 + +I=121 +PT=00000000000000000000000000000080 +CT=6e567fcf2b853dd8ecc3d58a5e671483 + +I=122 +PT=00000000000000000000000000000040 +CT=9408dcbf05dcfac87955841a7bf63b89 + +I=123 +PT=00000000000000000000000000000020 +CT=c40d8a3673625d95a0e1b1de25832f30 + +I=124 +PT=00000000000000000000000000000010 +CT=c96c4a191ea0fe53ebdcdd116a2f7b91 + +I=125 +PT=00000000000000000000000000000008 +CT=4f0c1103298e21f339bb689253e62982 + +I=126 +PT=00000000000000000000000000000004 +CT=1f28ee6256e80cf2f7f9fae235785a93 + +I=127 +PT=00000000000000000000000000000002 +CT=da877932c672f48a5ec36203be385edf + +I=128 +PT=00000000000000000000000000000001 +CT=6a7f3b805d2ddcba49b89770ade5e507 + +========== + diff --git a/tests/twofish.aes b/tests/twofish.aes new file mode 100644 index 0000000..6cbc3e6 --- /dev/null +++ b/tests/twofish.aes @@ -0,0 +1,761 @@ + +========================= + +FILENAME: "ecb_tbl.txt" + +Electronic Codebook (ECB) Mode +Tables Known Answer Test +Tests permutation tables and MDS matrix multiply tables. + +Algorithm Name: TWOFISH +Principal Submitter: Bruce Schneier, Counterpane Systems + +========== + +KEYSIZE=128 + +I=1 +KEY=00000000000000000000000000000000 +PT=00000000000000000000000000000000 +CT=9F589F5CF6122C32B6BFEC2F2AE8C35A + +I=2 +KEY=00000000000000000000000000000000 +PT=9F589F5CF6122C32B6BFEC2F2AE8C35A +CT=D491DB16E7B1C39E86CB086B789F5419 + +I=3 +KEY=9F589F5CF6122C32B6BFEC2F2AE8C35A +PT=D491DB16E7B1C39E86CB086B789F5419 +CT=019F9809DE1711858FAAC3A3BA20FBC3 + +I=4 +KEY=D491DB16E7B1C39E86CB086B789F5419 +PT=019F9809DE1711858FAAC3A3BA20FBC3 +CT=6363977DE839486297E661C6C9D668EB + +I=5 +KEY=019F9809DE1711858FAAC3A3BA20FBC3 +PT=6363977DE839486297E661C6C9D668EB +CT=816D5BD0FAE35342BF2A7412C246F752 + +I=6 +KEY=6363977DE839486297E661C6C9D668EB +PT=816D5BD0FAE35342BF2A7412C246F752 +CT=5449ECA008FF5921155F598AF4CED4D0 + +I=7 +KEY=816D5BD0FAE35342BF2A7412C246F752 +PT=5449ECA008FF5921155F598AF4CED4D0 +CT=6600522E97AEB3094ED5F92AFCBCDD10 + +I=8 +KEY=5449ECA008FF5921155F598AF4CED4D0 +PT=6600522E97AEB3094ED5F92AFCBCDD10 +CT=34C8A5FB2D3D08A170D120AC6D26DBFA + +I=9 +KEY=6600522E97AEB3094ED5F92AFCBCDD10 +PT=34C8A5FB2D3D08A170D120AC6D26DBFA +CT=28530B358C1B42EF277DE6D4407FC591 + +I=10 +KEY=34C8A5FB2D3D08A170D120AC6D26DBFA +PT=28530B358C1B42EF277DE6D4407FC591 +CT=8A8AB983310ED78C8C0ECDE030B8DCA4 + +I=11 +KEY=28530B358C1B42EF277DE6D4407FC591 +PT=8A8AB983310ED78C8C0ECDE030B8DCA4 +CT=48C758A6DFC1DD8B259FA165E1CE2B3C + +I=12 +KEY=8A8AB983310ED78C8C0ECDE030B8DCA4 +PT=48C758A6DFC1DD8B259FA165E1CE2B3C +CT=CE73C65C101680BBC251C5C16ABCF214 + +I=13 +KEY=48C758A6DFC1DD8B259FA165E1CE2B3C +PT=CE73C65C101680BBC251C5C16ABCF214 +CT=C7ABD74AA060F78B244E24C71342BA89 + +I=14 +KEY=CE73C65C101680BBC251C5C16ABCF214 +PT=C7ABD74AA060F78B244E24C71342BA89 +CT=D0F8B3B6409EBCB666D29C916565ABFC + +I=15 +KEY=C7ABD74AA060F78B244E24C71342BA89 +PT=D0F8B3B6409EBCB666D29C916565ABFC +CT=DD42662908070054544FE09DA4263130 + +I=16 +KEY=D0F8B3B6409EBCB666D29C916565ABFC +PT=DD42662908070054544FE09DA4263130 +CT=7007BACB42F7BF989CF30F78BC50EDCA + +I=17 +KEY=DD42662908070054544FE09DA4263130 +PT=7007BACB42F7BF989CF30F78BC50EDCA +CT=57B9A18EE97D90F435A16F69F0AC6F16 + +I=18 +KEY=7007BACB42F7BF989CF30F78BC50EDCA +PT=57B9A18EE97D90F435A16F69F0AC6F16 +CT=06181F0D53267ABD8F3BB28455B198AD + +I=19 +KEY=57B9A18EE97D90F435A16F69F0AC6F16 +PT=06181F0D53267ABD8F3BB28455B198AD +CT=81A12D8449E9040BAAE7196338D8C8F2 + +I=20 +KEY=06181F0D53267ABD8F3BB28455B198AD +PT=81A12D8449E9040BAAE7196338D8C8F2 +CT=BE422651C56F2622DA0201815A95A820 + +I=21 +KEY=81A12D8449E9040BAAE7196338D8C8F2 +PT=BE422651C56F2622DA0201815A95A820 +CT=113B19F2D778473990480CEE4DA238D1 + +I=22 +KEY=BE422651C56F2622DA0201815A95A820 +PT=113B19F2D778473990480CEE4DA238D1 +CT=E6942E9A86E544CF3E3364F20BE011DF + +I=23 +KEY=113B19F2D778473990480CEE4DA238D1 +PT=E6942E9A86E544CF3E3364F20BE011DF +CT=87CDC6AA487BFD0EA70188257D9B3859 + +I=24 +KEY=E6942E9A86E544CF3E3364F20BE011DF +PT=87CDC6AA487BFD0EA70188257D9B3859 +CT=D5E2701253DD75A11A4CFB243714BD14 + +I=25 +KEY=87CDC6AA487BFD0EA70188257D9B3859 +PT=D5E2701253DD75A11A4CFB243714BD14 +CT=FD24812EEA107A9E6FAB8EABE0F0F48C + +I=26 +KEY=D5E2701253DD75A11A4CFB243714BD14 +PT=FD24812EEA107A9E6FAB8EABE0F0F48C +CT=DAFA84E31A297F372C3A807100CD783D + +I=27 +KEY=FD24812EEA107A9E6FAB8EABE0F0F48C +PT=DAFA84E31A297F372C3A807100CD783D +CT=A55ED2D955EC8950FC0CC93B76ACBF91 + +I=28 +KEY=DAFA84E31A297F372C3A807100CD783D +PT=A55ED2D955EC8950FC0CC93B76ACBF91 +CT=2ABEA2A4BF27ABDC6B6F278993264744 + +I=29 +KEY=A55ED2D955EC8950FC0CC93B76ACBF91 +PT=2ABEA2A4BF27ABDC6B6F278993264744 +CT=045383E219321D5A4435C0E491E7DE10 + +I=30 +KEY=2ABEA2A4BF27ABDC6B6F278993264744 +PT=045383E219321D5A4435C0E491E7DE10 +CT=7460A4CD4F312F32B1C7A94FA004E934 + +I=31 +KEY=045383E219321D5A4435C0E491E7DE10 +PT=7460A4CD4F312F32B1C7A94FA004E934 +CT=6BBF9186D32C2C5895649D746566050A + +I=32 +KEY=7460A4CD4F312F32B1C7A94FA004E934 +PT=6BBF9186D32C2C5895649D746566050A +CT=CDBDD19ACF40B8AC0328C80054266068 + +I=33 +KEY=6BBF9186D32C2C5895649D746566050A +PT=CDBDD19ACF40B8AC0328C80054266068 +CT=1D2836CAE4223EAB5066867A71B1A1C3 + +I=34 +KEY=CDBDD19ACF40B8AC0328C80054266068 +PT=1D2836CAE4223EAB5066867A71B1A1C3 +CT=2D7F37121D0D2416D5E2767FF202061B + +I=35 +KEY=1D2836CAE4223EAB5066867A71B1A1C3 +PT=2D7F37121D0D2416D5E2767FF202061B +CT=D70736D1ABC7427A121CC816CD66D7FF + +I=36 +KEY=2D7F37121D0D2416D5E2767FF202061B +PT=D70736D1ABC7427A121CC816CD66D7FF +CT=AC6CA71CBCBEDCC0EA849FB2E9377865 + +I=37 +KEY=D70736D1ABC7427A121CC816CD66D7FF +PT=AC6CA71CBCBEDCC0EA849FB2E9377865 +CT=307265FF145CBBC7104B3E51C6C1D6B4 + +I=38 +KEY=AC6CA71CBCBEDCC0EA849FB2E9377865 +PT=307265FF145CBBC7104B3E51C6C1D6B4 +CT=934B7DB4B3544854DBCA81C4C5DE4EB1 + +I=39 +KEY=307265FF145CBBC7104B3E51C6C1D6B4 +PT=934B7DB4B3544854DBCA81C4C5DE4EB1 +CT=18759824AD9823D5961F84377D7EAEBF + +I=40 +KEY=934B7DB4B3544854DBCA81C4C5DE4EB1 +PT=18759824AD9823D5961F84377D7EAEBF +CT=DEDDAC6029B01574D9BABB099DC6CA6C + +I=41 +KEY=18759824AD9823D5961F84377D7EAEBF +PT=DEDDAC6029B01574D9BABB099DC6CA6C +CT=5EA82EEA2244DED42CCA2F835D5615DF + +I=42 +KEY=DEDDAC6029B01574D9BABB099DC6CA6C +PT=5EA82EEA2244DED42CCA2F835D5615DF +CT=1E3853F7FFA57091771DD8CDEE9414DE + +I=43 +KEY=5EA82EEA2244DED42CCA2F835D5615DF +PT=1E3853F7FFA57091771DD8CDEE9414DE +CT=5C2EBBF75D31F30B5EA26EAC8782D8D1 + +I=44 +KEY=1E3853F7FFA57091771DD8CDEE9414DE +PT=5C2EBBF75D31F30B5EA26EAC8782D8D1 +CT=3A3CFA1F13A136C94D76E5FA4A1109FF + +I=45 +KEY=5C2EBBF75D31F30B5EA26EAC8782D8D1 +PT=3A3CFA1F13A136C94D76E5FA4A1109FF +CT=91630CF96003B8032E695797E313A553 + +I=46 +KEY=3A3CFA1F13A136C94D76E5FA4A1109FF +PT=91630CF96003B8032E695797E313A553 +CT=137A24CA47CD12BE818DF4D2F4355960 + +I=47 +KEY=91630CF96003B8032E695797E313A553 +PT=137A24CA47CD12BE818DF4D2F4355960 +CT=BCA724A54533C6987E14AA827952F921 + +I=48 +KEY=137A24CA47CD12BE818DF4D2F4355960 +PT=BCA724A54533C6987E14AA827952F921 +CT=6B459286F3FFD28D49F15B1581B08E42 + +I=49 +KEY=BCA724A54533C6987E14AA827952F921 +PT=6B459286F3FFD28D49F15B1581B08E42 +CT=5D9D4EEFFA9151575524F115815A12E0 + +========== + +KEYSIZE=192 + +I=1 +KEY=000000000000000000000000000000000000000000000000 +PT=00000000000000000000000000000000 +CT=EFA71F788965BD4453F860178FC19101 + +I=2 +KEY=000000000000000000000000000000000000000000000000 +PT=EFA71F788965BD4453F860178FC19101 +CT=88B2B2706B105E36B446BB6D731A1E88 + +I=3 +KEY=EFA71F788965BD4453F860178FC191010000000000000000 +PT=88B2B2706B105E36B446BB6D731A1E88 +CT=39DA69D6BA4997D585B6DC073CA341B2 + +I=4 +KEY=88B2B2706B105E36B446BB6D731A1E88EFA71F788965BD44 +PT=39DA69D6BA4997D585B6DC073CA341B2 +CT=182B02D81497EA45F9DAACDC29193A65 + +I=5 +KEY=39DA69D6BA4997D585B6DC073CA341B288B2B2706B105E36 +PT=182B02D81497EA45F9DAACDC29193A65 +CT=7AFF7A70CA2FF28AC31DD8AE5DAAAB63 + +I=6 +KEY=182B02D81497EA45F9DAACDC29193A6539DA69D6BA4997D5 +PT=7AFF7A70CA2FF28AC31DD8AE5DAAAB63 +CT=D1079B789F666649B6BD7D1629F1F77E + +I=7 +KEY=7AFF7A70CA2FF28AC31DD8AE5DAAAB63182B02D81497EA45 +PT=D1079B789F666649B6BD7D1629F1F77E +CT=3AF6F7CE5BD35EF18BEC6FA787AB506B + +I=8 +KEY=D1079B789F666649B6BD7D1629F1F77E7AFF7A70CA2FF28A +PT=3AF6F7CE5BD35EF18BEC6FA787AB506B +CT=AE8109BFDA85C1F2C5038B34ED691BFF + +I=9 +KEY=3AF6F7CE5BD35EF18BEC6FA787AB506BD1079B789F666649 +PT=AE8109BFDA85C1F2C5038B34ED691BFF +CT=893FD67B98C550073571BD631263FC78 + +I=10 +KEY=AE8109BFDA85C1F2C5038B34ED691BFF3AF6F7CE5BD35EF1 +PT=893FD67B98C550073571BD631263FC78 +CT=16434FC9C8841A63D58700B5578E8F67 + +I=11 +KEY=893FD67B98C550073571BD631263FC78AE8109BFDA85C1F2 +PT=16434FC9C8841A63D58700B5578E8F67 +CT=9594CF62D48ACD347A68A3161F0F3EE7 + +I=12 +KEY=16434FC9C8841A63D58700B5578E8F67893FD67B98C55007 +PT=9594CF62D48ACD347A68A3161F0F3EE7 +CT=B23E8C2C731C514017D1F2B88D77D208 + +I=13 +KEY=9594CF62D48ACD347A68A3161F0F3EE716434FC9C8841A63 +PT=B23E8C2C731C514017D1F2B88D77D208 +CT=93CC592BC96D95FA8AC32DA894F6AB89 + +I=14 +KEY=B23E8C2C731C514017D1F2B88D77D2089594CF62D48ACD34 +PT=93CC592BC96D95FA8AC32DA894F6AB89 +CT=26516E6BD4AEF86AF4F4AD58FA41A14C + +I=15 +KEY=93CC592BC96D95FA8AC32DA894F6AB89B23E8C2C731C5140 +PT=26516E6BD4AEF86AF4F4AD58FA41A14C +CT=00A8FFFAB8616BE710A6592438FC40BE + +I=16 +KEY=26516E6BD4AEF86AF4F4AD58FA41A14C93CC592BC96D95FA +PT=00A8FFFAB8616BE710A6592438FC40BE +CT=A19B811C77482D97C842EC62DB2EDCCE + +I=17 +KEY=00A8FFFAB8616BE710A6592438FC40BE26516E6BD4AEF86A +PT=A19B811C77482D97C842EC62DB2EDCCE +CT=D7FF438678D818CAA26A676342F98E8B + +I=18 +KEY=A19B811C77482D97C842EC62DB2EDCCE00A8FFFAB8616BE7 +PT=D7FF438678D818CAA26A676342F98E8B +CT=84EAFFC0C091582ABB717086E0807A5F + +I=19 +KEY=D7FF438678D818CAA26A676342F98E8BA19B811C77482D97 +PT=84EAFFC0C091582ABB717086E0807A5F +CT=5500AF1C79503FEF1BACF35A81DC2865 + +I=20 +KEY=84EAFFC0C091582ABB717086E0807A5FD7FF438678D818CA +PT=5500AF1C79503FEF1BACF35A81DC2865 +CT=7282B2F3E766C83664930A19D201D7E7 + +I=21 +KEY=5500AF1C79503FEF1BACF35A81DC286584EAFFC0C091582A +PT=7282B2F3E766C83664930A19D201D7E7 +CT=6796085C32FBDD2AB43E81EAC1262743 + +I=22 +KEY=7282B2F3E766C83664930A19D201D7E75500AF1C79503FEF +PT=6796085C32FBDD2AB43E81EAC1262743 +CT=5839F9E148B9FD2B5A52751D4F178FDC + +I=23 +KEY=6796085C32FBDD2AB43E81EAC12627437282B2F3E766C836 +PT=5839F9E148B9FD2B5A52751D4F178FDC +CT=A88F34056742E55408A7A9E7B6D4C8C0 + +I=24 +KEY=5839F9E148B9FD2B5A52751D4F178FDC6796085C32FBDD2A +PT=A88F34056742E55408A7A9E7B6D4C8C0 +CT=9C8C304CB1F937C6E42528459FA8872F + +I=25 +KEY=A88F34056742E55408A7A9E7B6D4C8C05839F9E148B9FD2B +PT=9C8C304CB1F937C6E42528459FA8872F +CT=EA3668C0D96529A7F3BF0F7C2B5C5BE2 + +I=26 +KEY=9C8C304CB1F937C6E42528459FA8872FA88F34056742E554 +PT=EA3668C0D96529A7F3BF0F7C2B5C5BE2 +CT=A8FB6EEFCAAF9C4041072D570984CED2 + +I=27 +KEY=EA3668C0D96529A7F3BF0F7C2B5C5BE29C8C304CB1F937C6 +PT=A8FB6EEFCAAF9C4041072D570984CED2 +CT=ABF4662E5D50F71B15FE3B428AFE3500 + +I=28 +KEY=A8FB6EEFCAAF9C4041072D570984CED2EA3668C0D96529A7 +PT=ABF4662E5D50F71B15FE3B428AFE3500 +CT=3B3AED23958DA6E2FA4493BCBE59A806 + +I=29 +KEY=ABF4662E5D50F71B15FE3B428AFE3500A8FB6EEFCAAF9C40 +PT=3B3AED23958DA6E2FA4493BCBE59A806 +CT=CFBF446E33C3DCD4DD5161CA00D4BA8F + +I=30 +KEY=3B3AED23958DA6E2FA4493BCBE59A806ABF4662E5D50F71B +PT=CFBF446E33C3DCD4DD5161CA00D4BA8F +CT=072ADBFA7EB962BA199AFC720339FF29 + +I=31 +KEY=CFBF446E33C3DCD4DD5161CA00D4BA8F3B3AED23958DA6E2 +PT=072ADBFA7EB962BA199AFC720339FF29 +CT=AAB346D9123A8140AC563EF17E7054C8 + +I=32 +KEY=072ADBFA7EB962BA199AFC720339FF29CFBF446E33C3DCD4 +PT=AAB346D9123A8140AC563EF17E7054C8 +CT=3C7DDC5FE6E5888FE61DEDA0C69CD320 + +I=33 +KEY=AAB346D9123A8140AC563EF17E7054C8072ADBFA7EB962BA +PT=3C7DDC5FE6E5888FE61DEDA0C69CD320 +CT=34AA645C7E3532098ADA91BB128ED821 + +I=34 +KEY=3C7DDC5FE6E5888FE61DEDA0C69CD320AAB346D9123A8140 +PT=34AA645C7E3532098ADA91BB128ED821 +CT=7A5D12E315038522DA01EC0834B1322C + +I=35 +KEY=34AA645C7E3532098ADA91BB128ED8213C7DDC5FE6E5888F +PT=7A5D12E315038522DA01EC0834B1322C +CT=86E235A1CB091FF7FE6FBBCA0D73BE58 + +I=36 +KEY=7A5D12E315038522DA01EC0834B1322C34AA645C7E353209 +PT=86E235A1CB091FF7FE6FBBCA0D73BE58 +CT=F3CE81CACE5D6BA9C558111DCDB22F5D + +I=37 +KEY=86E235A1CB091FF7FE6FBBCA0D73BE587A5D12E315038522 +PT=F3CE81CACE5D6BA9C558111DCDB22F5D +CT=FB30A5D67D5F5BE4048C77E2AD3BC9D1 + +I=38 +KEY=F3CE81CACE5D6BA9C558111DCDB22F5D86E235A1CB091FF7 +PT=FB30A5D67D5F5BE4048C77E2AD3BC9D1 +CT=31E69DD3D2D90E81C9EBFAC257E9823D + +I=39 +KEY=FB30A5D67D5F5BE4048C77E2AD3BC9D1F3CE81CACE5D6BA9 +PT=31E69DD3D2D90E81C9EBFAC257E9823D +CT=87579B3F19A9CDE12BB882FFEAF665AE + +I=40 +KEY=31E69DD3D2D90E81C9EBFAC257E9823DFB30A5D67D5F5BE4 +PT=87579B3F19A9CDE12BB882FFEAF665AE +CT=24A8572AA844FEF25F7670FAE30F1CD2 + +I=41 +KEY=87579B3F19A9CDE12BB882FFEAF665AE31E69DD3D2D90E81 +PT=24A8572AA844FEF25F7670FAE30F1CD2 +CT=0CFA32E5E33F3B2DAC9F34D25979319A + +I=42 +KEY=24A8572AA844FEF25F7670FAE30F1CD287579B3F19A9CDE1 +PT=0CFA32E5E33F3B2DAC9F34D25979319A +CT=3C64D7FC881B9B82ABA21FF122B98F54 + +I=43 +KEY=0CFA32E5E33F3B2DAC9F34D25979319A24A8572AA844FEF2 +PT=3C64D7FC881B9B82ABA21FF122B98F54 +CT=A794CAEE6756281B7A64894E4E4F70A8 + +I=44 +KEY=3C64D7FC881B9B82ABA21FF122B98F540CFA32E5E33F3B2D +PT=A794CAEE6756281B7A64894E4E4F70A8 +CT=89A9BF6B893BC5E6FEF4C77F3D0F29A6 + +I=45 +KEY=A794CAEE6756281B7A64894E4E4F70A83C64D7FC881B9B82 +PT=89A9BF6B893BC5E6FEF4C77F3D0F29A6 +CT=5DBE44032769DF543EAD7AD13A5F3310 + +I=46 +KEY=89A9BF6B893BC5E6FEF4C77F3D0F29A6A794CAEE6756281B +PT=5DBE44032769DF543EAD7AD13A5F3310 +CT=DEA4F3DA75EC7A8EAC3861A9912402CD + +I=47 +KEY=5DBE44032769DF543EAD7AD13A5F331089A9BF6B893BC5E6 +PT=DEA4F3DA75EC7A8EAC3861A9912402CD +CT=FB66522C332FCC4C042ABE32FA9E902F + +I=48 +KEY=DEA4F3DA75EC7A8EAC3861A9912402CD5DBE44032769DF54 +PT=FB66522C332FCC4C042ABE32FA9E902F +CT=F0AB73301125FA21EF70BE5385FB76B6 + +I=49 +KEY=FB66522C332FCC4C042ABE32FA9E902FDEA4F3DA75EC7A8E +PT=F0AB73301125FA21EF70BE5385FB76B6 +CT=E75449212BEEF9F4A390BD860A640941 + +========== + +KEYSIZE=256 + +I=1 +KEY=0000000000000000000000000000000000000000000000000000000000000000 +PT=00000000000000000000000000000000 +CT=57FF739D4DC92C1BD7FC01700CC8216F + +I=2 +KEY=0000000000000000000000000000000000000000000000000000000000000000 +PT=57FF739D4DC92C1BD7FC01700CC8216F +CT=D43BB7556EA32E46F2A282B7D45B4E0D + +I=3 +KEY=57FF739D4DC92C1BD7FC01700CC8216F00000000000000000000000000000000 +PT=D43BB7556EA32E46F2A282B7D45B4E0D +CT=90AFE91BB288544F2C32DC239B2635E6 + +I=4 +KEY=D43BB7556EA32E46F2A282B7D45B4E0D57FF739D4DC92C1BD7FC01700CC8216F +PT=90AFE91BB288544F2C32DC239B2635E6 +CT=6CB4561C40BF0A9705931CB6D408E7FA + +I=5 +KEY=90AFE91BB288544F2C32DC239B2635E6D43BB7556EA32E46F2A282B7D45B4E0D +PT=6CB4561C40BF0A9705931CB6D408E7FA +CT=3059D6D61753B958D92F4781C8640E58 + +I=6 +KEY=6CB4561C40BF0A9705931CB6D408E7FA90AFE91BB288544F2C32DC239B2635E6 +PT=3059D6D61753B958D92F4781C8640E58 +CT=E69465770505D7F80EF68CA38AB3A3D6 + +I=7 +KEY=3059D6D61753B958D92F4781C8640E586CB4561C40BF0A9705931CB6D408E7FA +PT=E69465770505D7F80EF68CA38AB3A3D6 +CT=5AB67A5F8539A4A5FD9F0373BA463466 + +I=8 +KEY=E69465770505D7F80EF68CA38AB3A3D63059D6D61753B958D92F4781C8640E58 +PT=5AB67A5F8539A4A5FD9F0373BA463466 +CT=DC096BCD99FC72F79936D4C748E75AF7 + +I=9 +KEY=5AB67A5F8539A4A5FD9F0373BA463466E69465770505D7F80EF68CA38AB3A3D6 +PT=DC096BCD99FC72F79936D4C748E75AF7 +CT=C5A3E7CEE0F1B7260528A68FB4EA05F2 + +I=10 +KEY=DC096BCD99FC72F79936D4C748E75AF75AB67A5F8539A4A5FD9F0373BA463466 +PT=C5A3E7CEE0F1B7260528A68FB4EA05F2 +CT=43D5CEC327B24AB90AD34A79D0469151 + +I=11 +KEY=C5A3E7CEE0F1B7260528A68FB4EA05F2DC096BCD99FC72F79936D4C748E75AF7 +PT=43D5CEC327B24AB90AD34A79D0469151 +CT=05BA7BE9BE5274FBEB4AC5FD5FAAFA10 + +I=12 +KEY=43D5CEC327B24AB90AD34A79D0469151C5A3E7CEE0F1B7260528A68FB4EA05F2 +PT=05BA7BE9BE5274FBEB4AC5FD5FAAFA10 +CT=89D513B989E3CECE4D2E3E4C15D4E01C + +I=13 +KEY=05BA7BE9BE5274FBEB4AC5FD5FAAFA1043D5CEC327B24AB90AD34A79D0469151 +PT=89D513B989E3CECE4D2E3E4C15D4E01C +CT=E56E462AE2E66F800CE2224C4CAFACBE + +I=14 +KEY=89D513B989E3CECE4D2E3E4C15D4E01C05BA7BE9BE5274FBEB4AC5FD5FAAFA10 +PT=E56E462AE2E66F800CE2224C4CAFACBE +CT=F5DBEE5414D79CA46BE17346FDC72BF5 + +I=15 +KEY=E56E462AE2E66F800CE2224C4CAFACBE89D513B989E3CECE4D2E3E4C15D4E01C +PT=F5DBEE5414D79CA46BE17346FDC72BF5 +CT=C780FC28815E667B3D224ECF1F4A7D65 + +I=16 +KEY=F5DBEE5414D79CA46BE17346FDC72BF5E56E462AE2E66F800CE2224C4CAFACBE +PT=C780FC28815E667B3D224ECF1F4A7D65 +CT=2EF17A0D75440ECEC9AF18D29ABA3CDA + +I=17 +KEY=C780FC28815E667B3D224ECF1F4A7D65F5DBEE5414D79CA46BE17346FDC72BF5 +PT=2EF17A0D75440ECEC9AF18D29ABA3CDA +CT=D653FDFF96BCF89A929F6377AB41967A + +I=18 +KEY=2EF17A0D75440ECEC9AF18D29ABA3CDAC780FC28815E667B3D224ECF1F4A7D65 +PT=D653FDFF96BCF89A929F6377AB41967A +CT=36BBAD8838380C8793A7AEA0A11D04D2 + +I=19 +KEY=D653FDFF96BCF89A929F6377AB41967A2EF17A0D75440ECEC9AF18D29ABA3CDA +PT=36BBAD8838380C8793A7AEA0A11D04D2 +CT=034EFECFC0EFC00D82C3345A8708AE78 + +I=20 +KEY=36BBAD8838380C8793A7AEA0A11D04D2D653FDFF96BCF89A929F6377AB41967A +PT=034EFECFC0EFC00D82C3345A8708AE78 +CT=EA38887307337A2934A9EB802F6CFDDD + +I=21 +KEY=034EFECFC0EFC00D82C3345A8708AE7836BBAD8838380C8793A7AEA0A11D04D2 +PT=EA38887307337A2934A9EB802F6CFDDD +CT=7C279D47775AB4C26442E8A117943DD8 + +I=22 +KEY=EA38887307337A2934A9EB802F6CFDDD034EFECFC0EFC00D82C3345A8708AE78 +PT=7C279D47775AB4C26442E8A117943DD8 +CT=E3CF581056EBC1169CF451E930308726 + +I=23 +KEY=7C279D47775AB4C26442E8A117943DD8EA38887307337A2934A9EB802F6CFDDD +PT=E3CF581056EBC1169CF451E930308726 +CT=65527B29D489C8CDDC62E5E7FFC4E924 + +I=24 +KEY=E3CF581056EBC1169CF451E9303087267C279D47775AB4C26442E8A117943DD8 +PT=65527B29D489C8CDDC62E5E7FFC4E924 +CT=3B491F930230A0170819CACB48F9030C + +I=25 +KEY=65527B29D489C8CDDC62E5E7FFC4E924E3CF581056EBC1169CF451E930308726 +PT=3B491F930230A0170819CACB48F9030C +CT=A7C8193F35AF63B51D7F9DEDCEC85866 + +I=26 +KEY=3B491F930230A0170819CACB48F9030C65527B29D489C8CDDC62E5E7FFC4E924 +PT=A7C8193F35AF63B51D7F9DEDCEC85866 +CT=009A48F9A1C27F9AA5F9BD909C848B60 + +I=27 +KEY=A7C8193F35AF63B51D7F9DEDCEC858663B491F930230A0170819CACB48F9030C +PT=009A48F9A1C27F9AA5F9BD909C848B60 +CT=3B507E987B3F827A093B26C85CDFF6C6 + +I=28 +KEY=009A48F9A1C27F9AA5F9BD909C848B60A7C8193F35AF63B51D7F9DEDCEC85866 +PT=3B507E987B3F827A093B26C85CDFF6C6 +CT=EAFB3BA6C78E37214FE908669BC24F6F + +I=29 +KEY=3B507E987B3F827A093B26C85CDFF6C6009A48F9A1C27F9AA5F9BD909C848B60 +PT=EAFB3BA6C78E37214FE908669BC24F6F +CT=2B09F10D7F2B62A4D0DAFFB9F882B980 + +I=30 +KEY=EAFB3BA6C78E37214FE908669BC24F6F3B507E987B3F827A093B26C85CDFF6C6 +PT=2B09F10D7F2B62A4D0DAFFB9F882B980 +CT=E6B9FE907009B2DC649412DD630AE576 + +I=31 +KEY=2B09F10D7F2B62A4D0DAFFB9F882B980EAFB3BA6C78E37214FE908669BC24F6F +PT=E6B9FE907009B2DC649412DD630AE576 +CT=F2E4DC89724CD58F85847BD09ED4500F + +I=32 +KEY=E6B9FE907009B2DC649412DD630AE5762B09F10D7F2B62A4D0DAFFB9F882B980 +PT=F2E4DC89724CD58F85847BD09ED4500F +CT=DC650444FCEBC2BD6E450EF4605FCABE + +I=33 +KEY=F2E4DC89724CD58F85847BD09ED4500FE6B9FE907009B2DC649412DD630AE576 +PT=DC650444FCEBC2BD6E450EF4605FCABE +CT=B7CFB31755FDA2AB0A67FBA09901A73E + +I=34 +KEY=DC650444FCEBC2BD6E450EF4605FCABEF2E4DC89724CD58F85847BD09ED4500F +PT=B7CFB31755FDA2AB0A67FBA09901A73E +CT=9C7E7578F3D2923DCDABFED0A5EF86EE + +I=35 +KEY=B7CFB31755FDA2AB0A67FBA09901A73EDC650444FCEBC2BD6E450EF4605FCABE +PT=9C7E7578F3D2923DCDABFED0A5EF86EE +CT=9465E9AE176483BD398C8033AA136F68 + +I=36 +KEY=9C7E7578F3D2923DCDABFED0A5EF86EEB7CFB31755FDA2AB0A67FBA09901A73E +PT=9465E9AE176483BD398C8033AA136F68 +CT=8551279DE9991805FCFC1937C52AE9D4 + +I=37 +KEY=9465E9AE176483BD398C8033AA136F689C7E7578F3D2923DCDABFED0A5EF86EE +PT=8551279DE9991805FCFC1937C52AE9D4 +CT=A830EB8DA52ECFF7F93B7627322CF9D7 + +I=38 +KEY=8551279DE9991805FCFC1937C52AE9D49465E9AE176483BD398C8033AA136F68 +PT=A830EB8DA52ECFF7F93B7627322CF9D7 +CT=EC89F0E5155425D4B92BD4B200C1A6E0 + +I=39 +KEY=A830EB8DA52ECFF7F93B7627322CF9D78551279DE9991805FCFC1937C52AE9D4 +PT=EC89F0E5155425D4B92BD4B200C1A6E0 +CT=8AF76A782061D38360C6C3CDDCBE1516 + +I=40 +KEY=EC89F0E5155425D4B92BD4B200C1A6E0A830EB8DA52ECFF7F93B7627322CF9D7 +PT=8AF76A782061D38360C6C3CDDCBE1516 +CT=D4EEAA6A069659D5D88590DE75515631 + +I=41 +KEY=8AF76A782061D38360C6C3CDDCBE1516EC89F0E5155425D4B92BD4B200C1A6E0 +PT=D4EEAA6A069659D5D88590DE75515631 +CT=259C021D37B077197B80FCDB07EA1AF2 + +I=42 +KEY=D4EEAA6A069659D5D88590DE755156318AF76A782061D38360C6C3CDDCBE1516 +PT=259C021D37B077197B80FCDB07EA1AF2 +CT=300CC8B4171F0E9BD75710FAD033C570 + +I=43 +KEY=259C021D37B077197B80FCDB07EA1AF2D4EEAA6A069659D5D88590DE75515631 +PT=300CC8B4171F0E9BD75710FAD033C570 +CT=5CFA5BD213A74F02E65390A4C14A1DF6 + +I=44 +KEY=300CC8B4171F0E9BD75710FAD033C570259C021D37B077197B80FCDB07EA1AF2 +PT=5CFA5BD213A74F02E65390A4C14A1DF6 +CT=A443EA1B2C5747CE7EC5F21D4FE0C147 + +I=45 +KEY=5CFA5BD213A74F02E65390A4C14A1DF6300CC8B4171F0E9BD75710FAD033C570 +PT=A443EA1B2C5747CE7EC5F21D4FE0C147 +CT=D2DED73E59319A8138E0331F0EA149EA + +I=46 +KEY=A443EA1B2C5747CE7EC5F21D4FE0C1475CFA5BD213A74F02E65390A4C14A1DF6 +PT=D2DED73E59319A8138E0331F0EA149EA +CT=2E2158BC3E5FC714C1EEECA0EA696D48 + +I=47 +KEY=D2DED73E59319A8138E0331F0EA149EAA443EA1B2C5747CE7EC5F21D4FE0C147 +PT=2E2158BC3E5FC714C1EEECA0EA696D48 +CT=248A7F3528B168ACFDD1386E3F51E30C + +I=48 +KEY=2E2158BC3E5FC714C1EEECA0EA696D48D2DED73E59319A8138E0331F0EA149EA +PT=248A7F3528B168ACFDD1386E3F51E30C +CT=431058F4DBC7F734DA4F02F04CC4F459 + +I=49 +KEY=248A7F3528B168ACFDD1386E3F51E30C2E2158BC3E5FC714C1EEECA0EA696D48 +PT=431058F4DBC7F734DA4F02F04CC4F459 +CT=37FE26FF1CF66175F5DDF4C33B97A205 + +========== + diff --git a/twofish-mktab.c b/twofish-mktab.c new file mode 100644 index 0000000..5a649f3 --- /dev/null +++ b/twofish-mktab.c @@ -0,0 +1,421 @@ +/* -*-c-*- + * + * $Id: twofish-mktab.c,v 1.1 2000/06/17 12:10:17 mdw Exp $ + * + * Build constant tables for Twofish + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: twofish-mktab.c,v $ + * Revision 1.1 2000/06/17 12:10:17 mdw + * New cipher. + * + */ + +/*----- Header files ------------------------------------------------------*/ + +#include +#include + +#include + +/*----- Data structures ---------------------------------------------------*/ + +typedef struct { octet t[4][16]; } t_tab; +typedef struct { octet q[256]; } q_tab; + +/*----- Various Twofish tables --------------------------------------------*/ + +/* --- The t-tables --- */ + +static const t_tab qt0 = {{ + { 0x8, 0x1, 0x7, 0xd, 0x6, 0xf, 0x3, 0x2, + 0x0, 0xb, 0x5, 0x9, 0xe, 0xc, 0xa, 0x4 }, + { 0xe, 0xc, 0xb, 0x8, 0x1, 0x2, 0x3, 0x5, + 0xf, 0x4, 0xa, 0x6, 0x7, 0x0, 0x9, 0xd }, + { 0xb, 0xa, 0x5, 0xe, 0x6, 0xd, 0x9, 0x0, + 0xc, 0x8, 0xf, 0x3, 0x2, 0x4, 0x7, 0x1 }, + { 0xd, 0x7, 0xf, 0x4, 0x1, 0x2, 0x6, 0xe, + 0x9, 0xb, 0x3, 0x0, 0x8, 0x5, 0xc, 0xa } +}}; + +static const t_tab qt1 = {{ + { 0x2, 0x8, 0xb, 0xd, 0xf, 0x7, 0x6, 0xe, + 0x3, 0x1, 0x9, 0x4, 0x0, 0xa, 0xc, 0x5 }, + { 0x1, 0xe, 0x2, 0xb, 0x4, 0xc, 0x3, 0x7, + 0x6, 0xd, 0xa, 0x5, 0xf, 0x9, 0x0, 0x8 }, + { 0x4, 0xc, 0x7, 0x5, 0x1, 0x6, 0x9, 0xa, + 0x0, 0xe, 0xd, 0x8, 0x2, 0xb, 0x3, 0xf }, + { 0xb, 0x9, 0x5, 0x1, 0xc, 0x3, 0xd, 0xe, + 0x6, 0x4, 0x7, 0xf, 0x2, 0x0, 0x8, 0xa } +}}; + +static q_tab q0, q1; + +/* --- The MDS and Reed-Solomon matrices --- */ + +static const octet mds[16] = { + 0x01, 0xef, 0x5b, 0x5b, + 0x5b, 0xef, 0xef, 0x01, + 0xef, 0x5b, 0x01, 0xef, + 0xef, 0x01, 0xef, 0x5b +}; + +static const octet rs[32] = { + 0x01, 0xa4, 0x55, 0x87, 0x5a, 0x58, 0xdb, 0x9e, + 0xa4, 0x56, 0x82, 0xf3, 0x1e, 0xc6, 0x68, 0xe5, + 0x02, 0xa1, 0xfc, 0xc1, 0x47, 0xae, 0x3d, 0x19, + 0xa4, 0x55, 0x87, 0x5a, 0x58, 0xdb, 0x9e, 0x03 +}; + +/*----- Magic macros ------------------------------------------------------*/ + +#define ROR4(x) ((((x) >> 1) | ((x) << 3)) & 15) + +/*----- Building and printing @q@ tables ----------------------------------*/ + +/* --- @mkq@ --- * + * + * Arguments: @q_tab *q@ = pointer to output @q@ table + * @const t_tab *t@ = pointer to input @t@ table + * @const char *name@ = name of @q@ table + * + * Returns: --- + * + * Use: Constructs a 256-entry @q@-table. + */ + +static void mkq(q_tab *q, const t_tab *t, const char *name) +{ + int i; + int ok = 1; + + /* --- Ensure the t-table is well-formed --- */ + + for (i = 0; i < 4; i++) { + octet f[16] = { 0 }; + int j; + + for (j = 0; j < 16; j++) { + if (f[t->t[i][j]]) { + fprintf(stderr, "duplicate %i in %s[%i] (col %i and %i)\n", + t->t[i][j], name, i, j, f[t->t[i][j]]); + ok = 0; + } + f[t->t[i][j]] = j; + } + } + + if (!ok) + exit(EXIT_FAILURE); + + /* --- Construct the @q@ table --- */ + + for (i = 0; i < 256; i++) { + int a = i >> 4, b = i & 15; + int aa = t->t[0][a ^ b], bb = t->t[1][a ^ ((a << 3) & 15) ^ ROR4(b)]; + a = t->t[2][aa ^ bb], b = t->t[3][aa ^ ((aa << 3) & 15) ^ ROR4(bb)]; + q->q[i] = a | (b << 4); + } + + /* Consider testing @q@ for linear and differential properties here */ +} + +/* --- @printq@ --- * + * + * Arguments: @const q_tab *t@ = pointer to table + * @const char *name@ = pointer to table name + * + * Returns: --- + * + * Use: Prints a q table. + */ + +static void printq(const q_tab *q, const char *name) +{ + int i; + int j; + + printf("\ +#define TWOFISH_%s { \\\n\ + ", name); + j = 0; + for (i = 0; i < 256; i++) { + printf("0x%02x", q->q[i]); + j = (j + 1) & 7; + if (i == 255) + fputs(" \\\n}\n\n", stdout); + else if (j == 0) + fputs(", \\\n ", stdout); + else + fputs(", ", stdout); + } +} + +/*----- GF(2^8) arithmetic ------------------------------------------------*/ + +#define MDS_MOD 0x169 +#define RS_MOD 0x14d + +/* --- @mul@ --- * + * + * Arguments: @unsigned x, y@ = polynomials over %$\mathrm{GF}(2^8)$% + * @unsigned m@ = modulus + * + * Returns: The product of two polynomials. + * + * Use: Computes a product of polynomials, quite slowly. + */ + +static unsigned mul(unsigned x, unsigned y, unsigned m) +{ + unsigned a = 0; + unsigned i; + + for (i = 0; i < 8; i++) { + if (y & 1) + a ^= x; + y >>= 1; + x <<= 1; + if (x & 0x100) + x ^= m; + } + + return (a); +} + +/* --- @mmul@ --- * + * + * Arguments: @octet *d@ = destination vector + * @const octet *p@ = matrix of bytes + * @const octet *q@ = vector from somewhere else + * @size_t r@ = size of destination or number of rows in matrix + * @size_t n@ = length of row and vector + * @unsigned m@ = modulus polynomial + * + * Returns: --- + * + * Use: Computes an inner product of matrices over the finite field + * %$\mathrm{GF}(2^8)[x]/m(x)$%. This isn't particularly rapid. + */ + +static void mmul(octet *d, const octet *p, const octet *q, + size_t r, size_t n, unsigned m) +{ + while (r) { + const octet *qq = q; + unsigned a = 0; + unsigned i; + + for (i = 0; i < n; i++) + a ^= mul(*p++, *qq++, m); + *d++ = a; + r--; + } +} + +/* --- @qrds@ --- * + * + * Arguments: --- + * + * Returns: --- + * + * Use: Prints the MDS/q table. + */ + +static void qmds(void) +{ + uint32 t[4][256]; + int i, j; + static const q_tab *q[4] = { &q1, &q0, &q1, &q0 }; + + for (i = 0; i < 4; i++) { + octet in[4] = { 0, 0, 0, 0 }; + octet out[4]; + + for (j = 0; j < 256; j++) { + in[i] = q[i]->q[j]; + mmul(out, mds, in, 4, 4, MDS_MOD); + t[i][j] = LOAD32_L(out); + } + } + + puts("\ +/* --- Expanded MDS tables --- *\n\ + *\n\ + * The table contains output vectors for computing the result of pushing\n\ + * bytes through appropriate @q@ tables and the MDS matrix.\n\ + */\n\ +\n\ +#define TWOFISH_QMDS { \\"); + for (i = 0; i < 4; i++) { + fputs(" { ", stdout); + for (j = 0; j < 256; j++) { + printf("0x%08lx", (unsigned long)t[i][j]); + if (j == 255) { + if (i == 3) + puts(" } \\\n}"); + else + puts(" }, \\\n\ + \\"); + } else if (j % 4 == 3) + fputs(", \\\n ", stdout); + else + fputs(", ", stdout); + } + } + + putchar('\n'); +} + +/* --- @rslog@ --- * + * + * Arguments: --- + * + * Returns: --- + * + * Use: Produces the log and antilog tables for doing the RS + * arithmetic efficiently. + */ + +static void rslog(void) +{ + octet rslog[256]; + octet rsexp[256]; + + unsigned x = 1; + unsigned i; + + rslog[0] = 0; + for (i = 0; i < 256; i++) { + rslog[x] = i; + rsexp[i] = x; + x <<= 1; + if (x & 0x100) + x ^= RS_MOD; + } + + x = 0; + for (i = 0; i < 32; i++) { + if (rslog[rs[i]] > x) + x = rslog[rs[i]]; + } + + fputs("\ +/* --- Reed-Solomon log tables --- *\n\ + *\n\ + * The Reed-Solomon multiplies are accelerated by using log tables.\n\ + */\n\ +\n\ +#define TWOFISH_RSLOG { \\\n\ + ", stdout); + + for (i = 0; i < 256; i++) { + printf("0x%02x", rslog[i]); + if (i == 255) + puts(" \\\n}\n"); + else if (i % 8 == 7) + fputs(", \\\n ", stdout); + else + fputs(", ", stdout); + } + + fputs("\ +#define TWOFISH_RSEXP { \\\n\ + ", stdout); + + for (i = 0; i < 255 + x + 1; i++) { + printf("0x%02x", rsexp[i % 255]); + if (i == 255 + x) + puts(" \\\n}\n"); + else if (i % 8 == 7) + fputs(", \\\n ", stdout); + else + fputs(", ", stdout); + } + + fputs("\ +/* --- Reed-Solomon matrix with log entries --- */\n\ +\n\ +#define TWOFISH_RS { \\\n\ + ", stdout); + + for (i = 0; i < 32; i++) { + printf("0x%02x", rslog[rs[i]]); + if (i == 31) + puts(" \\\n}\n"); + else if (i % 8 == 7) + fputs(", \\\n ", stdout); + else + fputs(", ", stdout); + } +} + +/*----- Main program ------------------------------------------------------*/ + +/* --- @main@ --- */ + +int main(void) +{ + fputs("\ +/* -*-c-*- + * + * Twofish q tables [generated]\n\ + */ + +#ifndef CATACOMB_TWOFISH_TAB_H +#define CATACOMB_TWOFISH_TAB_H + +", stdout); + + /* --- The q tables --- */ + + puts("\ +/* --- Precomputed @q@ tables --- */\n\ +"); + mkq(&q0, &qt0, "qt0"); + mkq(&q1, &qt1, "qt1"); + printq(&q0, "Q0"); + printq(&q1, "Q1"); + + /* --- The MDS/q tables --- */ + + qmds(); + rslog(); + + /* --- Done --- */ + + puts("#endif"); + + if (fclose(stdout)) { + fprintf(stderr, "error writing data\n"); + exit(EXIT_FAILURE); + } + + return (0); +} + +/*----- That's all, folks -------------------------------------------------*/ diff --git a/twofish.c b/twofish.c new file mode 100644 index 0000000..437a191 --- /dev/null +++ b/twofish.c @@ -0,0 +1,369 @@ +/* -*-c-*- + * + * $Id: twofish.c,v 1.1 2000/06/17 12:10:17 mdw Exp $ + * + * Implementation of the Twofish cipher + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: twofish.c,v $ + * Revision 1.1 2000/06/17 12:10:17 mdw + * New cipher. + * + */ + +/*----- Header files ------------------------------------------------------*/ + +#include + +#include + +#include "blkc.h" +#include "gcipher.h" +#include "twofish.h" +#include "twofish-tab.h" +#include "paranoia.h" + +/*----- Global variables --------------------------------------------------*/ + +const octet twofish_keysz[] = { KSZ_RANGE, TWOFISH_KEYSZ, 4, 32, 4 }; + +/*----- Important tables --------------------------------------------------*/ + +static const octet q0[256] = TWOFISH_Q0, q1[256] = TWOFISH_Q1; +static const uint32 qmds[4][256] = TWOFISH_QMDS; +static const octet rslog[] = TWOFISH_RSLOG, rsexp[] = TWOFISH_RSEXP; +static const octet rs[32] = TWOFISH_RS; + +/*----- Key initialization ------------------------------------------------*/ + +/* --- @h@ --- * + * + * Arguments: @uint32 x@ = input to the function + * @const uint32 *l@ = key values to mix in + * @unsigned k@ = number of key values there are + * + * Returns: The output of the function @h@. + * + * Use: Implements the Twofish function @h@. + */ + +static uint32 h(uint32 x, const uint32 *l, unsigned k) +{ + /* --- Apply a series of @q@ tables to an integer --- */ + +# define Q(x, qa, qb, qc, qd) \ + ((qa[((x) >> 0) & 0xff] << 0) | \ + (qb[((x) >> 8) & 0xff] << 8) | \ + (qc[((x) >> 16) & 0xff] << 16) | \ + (qd[((x) >> 24) & 0xff] << 24)) + + /* --- Grind through the tables --- */ + + switch (k) { + case 4: x = Q(x, q1, q0, q0, q1) ^ l[3]; + case 3: x = Q(x, q1, q1, q0, q0) ^ l[2]; + case 2: x = Q(x, q0, q1, q0, q1) ^ l[1]; + x = Q(x, q0, q0, q1, q1) ^ l[0]; + break; + } + +#undef Q + + /* --- Apply the MDS matrix --- */ + + return (qmds[0][U8(x >> 0)] ^ qmds[1][U8(x >> 8)] ^ + qmds[2][U8(x >> 16)] ^ qmds[3][U8(x >> 24)]); +} + +/* --- @twofish_init@ --- * + * + * Arguments: @twofish_ctx *k@ = pointer to key block to fill in + * @const void *buf@ = pointer to buffer of key material + * @size_t sz@ = size of key material + * + * Returns: --- + * + * Use: Initializes a Twofish key buffer. Twofish accepts key sizes + * of up to 256 bits (32 bytes). + */ + +void twofish_init(twofish_ctx *k, const void *buf, size_t sz) +{ +# define KMAX 4 + + uint32 mo[KMAX], me[KMAX]; + octet s[4][KMAX]; + + /* --- Expand the key into the three word arrays --- */ + + { + size_t ssz; + const octet *p, *q; + octet b[32]; + int i; + + /* --- Sort out the key size --- */ + + KSZ_ASSERT(twofish, sz); + if (sz <= 16) + ssz = 16; + else if (sz <= 24) + ssz = 24; + else if (sz <= 32) + ssz = 32; + else + assert(((void)"This can't happen (bad key size in twofish_init)", 0)); + + /* --- Extend the key if necessary --- */ + + if (sz == ssz) + p = buf; + else { + memcpy(b, buf, sz); + memset(b + sz, 0, ssz - sz); + p = b; + } + + /* --- Finally get the word count --- */ + + sz = ssz / 8; + + /* --- Extract words from the key --- * + * + * The @s@ table, constructed using the Reed-Solomon matrix, is cut into + * sequences of bytes, since this is actually more useful for computing + * the S-boxes. + */ + + q = p; + for (i = 0; i < sz; i++) { + octet ss[4]; + const octet *r = rs; + int j; + + /* --- Extract the easy subkeys --- */ + + me[i] = LOAD32_L(q); + mo[i] = LOAD32_L(q + 4); + + /* --- Now do the Reed-Solomon thing --- */ + + for (j = 0; j < 4; j++) { + const octet *qq = q; + unsigned a = 0; + int k; + + for (k = 0; k < 8; k++) { + if (*qq) + a ^= rsexp[rslog[*qq] + *r]; + qq++; + r++; + } + + s[j][sz - 1 - i] = ss[j] = a; + } + q += 8; + } + + /* --- Clear away the temporary buffer --- */ + + if (p == b) + BURN(b); + } + + /* --- Construct the expanded key --- */ + + { + uint32 p = 0x01010101; + uint32 ip = 0; + int i; + + for (i = 0; i < 40; i += 2) { + uint32 a, b; + a = h(ip, me, sz); + b = h(ip + p, mo, sz); + b = ROL32(b, 8); + a += b; b += a; + k->k[i] = U32(a); + k->k[i + 1] = ROL32(b, 9); + ip += 2 * p; + } + } + + /* --- Construct the S-box tables --- */ + + { + unsigned i; + static const octet *q[4][KMAX + 1] = { + { q1, q0, q0, q1, q1 }, + { q0, q0, q1, q1, q0 }, + { q1, q1, q0, q0, q0 }, + { q0, q1, q1, q0, q1 } + }; + + for (i = 0; i < 4; i++) { + unsigned j; + uint32 x; + + for (j = 0; j < 256; j++) { + x = j; + + /* --- Push the byte through the q tables --- */ + + switch (sz) { + case 4: x = q[i][4][x] ^ s[i][3]; + case 3: x = q[i][3][x] ^ s[i][2]; + case 2: x = q[i][2][x] ^ s[i][1]; + x = q[i][1][x] ^ s[i][0]; + break; + } + + /* --- Write it in the key schedule --- */ + + k->g[i][j] = qmds[i][x]; + } + } + } + + /* --- Clear everything away --- */ + + BURN(me); + BURN(mo); + BURN(s); +} + +/*----- Main encryption ---------------------------------------------------*/ + +/* --- Feistel function --- */ + +#define GG(k, t0, t1, x, y, kk) do { \ + t0 = (k->g[0][U8(x >> 0)] ^ \ + k->g[1][U8(x >> 8)] ^ \ + k->g[2][U8(x >> 16)] ^ \ + k->g[3][U8(x >> 24)]); \ + t1 = (k->g[1][U8(y >> 0)] ^ \ + k->g[2][U8(y >> 8)] ^ \ + k->g[3][U8(y >> 16)] ^ \ + k->g[0][U8(y >> 24)]); \ + t0 += t1; \ + t1 += t0; \ + t0 += kk[0]; \ + t1 += kk[1]; \ +} while (0) + +/* --- Round operations --- */ + +#define EROUND(k, w, x, y, z, kk) do { \ + uint32 _t0, _t1; \ + GG(k, _t0, _t1, w, x, kk); \ + kk += 2; \ + y ^= _t0; y = ROR32(y, 1); \ + z = ROL32(z, 1); z ^= _t1; \ +} while (0) + +#define DROUND(k, w, x, y, z, kk) do { \ + uint32 _t0, _t1; \ + kk -= 2; \ + GG(k, _t0, _t1, w, x, kk); \ + y = ROL32(y, 1); y ^= _t0; \ + z ^= _t1; z = ROR32(z, 1); \ +} while (0) + +/* --- Complete encryption functions --- */ + +#define EBLK(k, a, b, c, d, w, x, y, z) do { \ + const uint32 *_kk = k->k + 8; \ + uint32 _a = a, _b = b, _c = c, _d = d; \ + _a ^= k->k[0]; _b ^= k->k[1]; _c ^= k->k[2]; _d ^= k->k[3]; \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + EROUND(k, _a, _b, _c, _d, _kk); \ + EROUND(k, _c, _d, _a, _b, _kk); \ + _c ^= k->k[4]; _d ^= k->k[5]; _a ^= k->k[6]; _b ^= k->k[7]; \ + w = U32(_c); x = U32(_d); y = U32(_a); z = U32(_b); \ +} while (0) + +#define DBLK(k, a, b, c, d, w, x, y, z) do { \ + const uint32 *_kk = k->k + 40; \ + uint32 _a = a, _b = b, _c = c, _d = d; \ + _a ^= k->k[4]; _b ^= k->k[5]; _c ^= k->k[6]; _d ^= k->k[7]; \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + DROUND(k, _a, _b, _c, _d, _kk); \ + DROUND(k, _c, _d, _a, _b, _kk); \ + _c ^= k->k[0]; _d ^= k->k[1]; _a ^= k->k[2]; _b ^= k->k[3]; \ + w = U32(_c); x = U32(_d); y = U32(_a); z = U32(_b); \ +} while (0) + +/* --- @twofish_eblk@, @twofish_dblk@ --- * + * + * Arguments: @const twofish_ctx *k@ = pointer to key block + * @const uint32 s[4]@ = pointer to source block + * @uint32 d[4]@ = pointer to destination block + * + * Returns: --- + * + * Use: Low-level block encryption and decryption. + */ + +void twofish_eblk(const twofish_ctx *k, const uint32 *s, uint32 *d) +{ + EBLK(k, s[0], s[1], s[2], s[3], d[0], d[1], d[2], d[3]); +} + +void twofish_dblk(const twofish_ctx *k, const uint32 *s, uint32 *d) +{ + DBLK(k, s[0], s[1], s[2], s[3], d[0], d[1], d[2], d[3]); +} + +BLKC_TEST(TWOFISH, twofish) + +/*----- That's all, folks -------------------------------------------------*/ diff --git a/twofish.h b/twofish.h new file mode 100644 index 0000000..c941bc5 --- /dev/null +++ b/twofish.h @@ -0,0 +1,117 @@ +/* -*-c-*- + * + * $Id: twofish.h,v 1.1 2000/06/17 12:10:17 mdw Exp $ + * + * The Twofish block cipher + * + * (c) 2000 Straylight/Edgeware + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This file is part of Catacomb. + * + * Catacomb is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Catacomb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with Catacomb; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +/*----- Revision history --------------------------------------------------* + * + * $Log: twofish.h,v $ + * Revision 1.1 2000/06/17 12:10:17 mdw + * New cipher. + * + */ + +/*----- Notes on the Twofish block cipher ---------------------------------* + * + * Twofish was designed by Bruce Schneier, John Kelsey, Doug Whiting, David + * Wagner, Chris Hall and Niels Ferguson. The algorithm is unpatented and + * free for anyone to use. It is one of the five AES finalist algorithms. + * At the time of writing, the AES competition is still underway. + * + * Twofish is a complex cipher offering various space and time tradeoffs. + * This implementation has a heavy key schedule and fast bulk encryption. + */ + +#ifndef CATACOMB_TWOFISH_H +#define CATACOMB_TWOFISH_H + +#ifdef __cplusplus + extern "C" { +#endif + +/*----- Header files ------------------------------------------------------*/ + +#include + +#include + +/*----- Magical numbers ---------------------------------------------------*/ + +#define TWOFISH_BLKSZ 16 +#define TWOFISH_KEYSZ 32 +#define TWOFISH_CLASS (N, L, 128) + +extern const octet twofish_keysz[]; + +/*----- Data structures ---------------------------------------------------*/ + +typedef struct twofish_ctx { + uint32 k[40]; + uint32 g[4][256]; +} twofish_ctx; + +/*----- Functions provided ------------------------------------------------*/ + +/* --- @twofish_init@ --- * + * + * Arguments: @twofish_ctx *k@ = pointer to key block to fill in + * @const void *buf@ = pointer to buffer of key material + * @size_t sz@ = size of key material + * + * Returns: --- + * + * Use: Initializes a Twofish key buffer. Twofish accepts keys of up + * to 256 bits in length. + */ + +extern void twofish_init(twofish_ctx */*k*/, + const void */*buf*/, size_t /*sz*/); + +/* --- @twofish_eblk@, @twofish_dblk@ --- * + * + * Arguments: @const twofish_ctx *k@ = pointer to key block + * @const uint32 s[4]@ = pointer to source block + * @uint32 d[4]@ = pointer to destination block + * + * Returns: --- + * + * Use: Low-level block encryption and decryption. + */ + +extern void twofish_eblk(const twofish_ctx */*k*/, + const uint32 */*s*/, uint32 */*d*/); + +extern void twofish_dblk(const twofish_ctx */*k*/, + const uint32 */*s*/, uint32 */*d*/); + +/*----- That's all, folks -------------------------------------------------*/ + +#ifdef __cplusplus + } +#endif + +#endif -- 2.11.0