From 6284b040269809930ac9ef392eae33601d9d2b06 Mon Sep 17 00:00:00 2001 From: bg Date: Tue, 19 Jul 2011 22:53:51 +0200 Subject: [PATCH] adding grain --- grain/grain.c | 194 +++ grain/grain.h | 42 + mkfiles/grain.mk | 13 + scal/scal_grain.c | 55 + scal/scal_grain.h | 27 + test_src/main-grain-test.c | 162 ++ testvectors/grain__verified.test-vectors | 2025 ++++++++++++++++++++++ 7 files changed, 2518 insertions(+) create mode 100644 grain/grain.c create mode 100644 grain/grain.h create mode 100644 mkfiles/grain.mk create mode 100644 scal/scal_grain.c create mode 100644 scal/scal_grain.h create mode 100644 test_src/main-grain-test.c create mode 100644 testvectors/grain__verified.test-vectors diff --git a/grain/grain.c b/grain/grain.c new file mode 100644 index 0000000..7edfb1e --- /dev/null +++ b/grain/grain.c @@ -0,0 +1,194 @@ +/* grain.c */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2011 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +/** + * + * author: Daniel Otte + * email: daniel.otte@rub.de + * license: GPLv3 or later + * + */ + + +#include +#include +#include "grain.h" + + +#define GRAIN_REVERSEKEY + +/* s0, s1, s2, ..., s78, s79 */ +#define S(i) ((ctx->lfsr[9-((i)/8)])>>(7-((i)%8))) +/* b0, b1, b2, ..., b78, b79 */ +#define B(i) ((ctx->nfsr[9-((i)/8)])>>(7-((i)%8))) +#define _B(i) (((ctx->nfsr[9-((i)/8)])>>(7-((i)%8)))&1) + + +uint8_t h_lut[4] = {0x4C, 0xB6, 0xD3, 0x26}; + +#ifdef GRAIN_BADOPTIMISATION +uint8_t g_lut[128] = { + 0xF0, 0xA5, 0x0F, 0x5A, 0x0F, 0x5A, 0xF0, 0xA5, 0x0F, 0x5A, 0xF0, 0xA5, 0xF0, 0x5A, 0x0F, 0x0F, + 0xC3, 0x96, 0x3C, 0x69, 0x3C, 0x69, 0xC3, 0x96, 0x9C, 0xC9, 0x63, 0x36, 0x63, 0xC9, 0x9C, 0x9C, + 0x0F, 0x5A, 0x0F, 0x5A, 0xF0, 0xA5, 0xF0, 0x5A, 0xF0, 0xA5, 0xF0, 0xA5, 0x0F, 0xA5, 0x0F, 0xF0, + 0x3C, 0x69, 0x3C, 0x69, 0xC3, 0x96, 0xC3, 0x69, 0x63, 0x36, 0x63, 0x36, 0x9C, 0x36, 0x9C, 0x63, + 0x0F, 0xD2, 0xF0, 0x2D, 0xF0, 0x2D, 0x0F, 0xD2, 0xF0, 0x2D, 0x0F, 0xD2, 0x0F, 0x2D, 0xF0, 0x78, + 0x3C, 0xE1, 0xC3, 0x1E, 0xC3, 0x1E, 0x3C, 0xE1, 0x63, 0xBE, 0x9C, 0x41, 0x9C, 0xBE, 0x63, 0xEB, + 0x00, 0xDD, 0x00, 0xDD, 0xFF, 0x22, 0xFF, 0xDD, 0xFF, 0x22, 0xFF, 0x22, 0x00, 0x22, 0xF0, 0x87, + 0xF3, 0x2E, 0xF3, 0x2E, 0x0C, 0xD1, 0x0C, 0x2E, 0xAC, 0x71, 0xAC, 0x71, 0x53, 0x71, 0xA3, 0xD4 }; +#endif + +uint8_t grain_enc(grain_ctx_t* ctx){ + uint8_t s80, s0, c1, c2; + uint8_t i; + /* clock the LFSR */ + s0=S(0); + s80 =S(62) ^ S(51) ^ S(38) ^ S(23) ^ S(13) ^ s0; + s80 &= 1; + c1 = s80; + for(i=0; i<10; ++i){ + c2 = (ctx->lfsr[i])>>7; + ctx->lfsr[i] = ((ctx->lfsr[i])<<1) | c1; + c1 = c2; + } + /* clock the NFSR */ + uint8_t b80; +/* 778 Byte in this variant / 617 clks enc_time */ +#ifndef GRAIN_BADOPTIMISATION + uint8_t a,b,d,e; + b80 = B(62) ^ B(60) ^ B(52) ^ B(45) ^ + B(37) ^ B(33) ^ B(28) ^ B(21) ^ + B(14) ^ B( 9) ^ B( 0) ^ s0; + b80 ^= (a = B(63) & B(60)); + b80 ^= (b = B(37) & B(33)); + b80 ^= B(15) & B( 9); // c + b80 ^= (d = B(60) & B(52) & B(45)); + b80 ^= (e = B(33) & B(28) & B(21)); + b80 ^= B(63) & B(45) & B(28) & B(9); // f + /* -- */ + b80 ^= b & B(60) & B(52); // g + b80 ^= a & B(21) & B(15); // h + b80 ^= d & B(63) & B(37); // i + b80 ^= e & B(15) & B( 9); // j + b80 ^= e & B(52) & B(45) & B(37); // k +#else + /* let's reorder the bits */ + uint16_t x; + +/* + x = _B(21); x<<=1; + x |= _B(33); x<<=1; + x |= _B(9) ; x<<=1; + x |= _B(45); x<<=1; + x |= _B(52); x<<=1; + x |= _B(37); x<<=1; + x |= _B(60); x<<=1; + x |= _B(28); x<<=1; + x |= _B(15); x<<=1; + x |= _B(63); +*/ + x = ((ctx->nfsr[8])&0x41)<<1; // B15 & B09 + x |= ((ctx->nfsr[2])&0x09); // B63 & B60 +// x |= ((ctx->nfsr[4])&0x04)<<4; // B45 + x |= (((ctx->nfsr[5])&0x44) | + ((ctx->nfsr[3])&0x08) | + (((((ctx->nfsr[7])&0x04)<<3) |((ctx->nfsr[4])&0x04))<<2) )<<2; // B37 & B33 +// x |= ((ctx->nfsr[3])&0x08)<<2; // B52 + x |= ((ctx->nfsr[6])&0x08)>>1; // B28 +// x |= ((ctx->nfsr[7])&0x04)<<7; // B21 + + + b80 = (g_lut[x/8])>>(x%8); + b80 ^= s0 ^ B(62) ^ B(14) ^ B(0); +#endif + c1 = b80 & 1; + for(i=0; i<10; ++i){ + c2 = (ctx->nfsr[i])>>7; + ctx->nfsr[i] = ((ctx->nfsr[i])<<1) | c1; + c1 = c2; + } + /* now the h function */ + uint8_t h; + i = (S(2)&1) | + ((S(24)&1) << 1) | + ((S(45)&1) << 2) | + ((S(63)&1) << 3) | + ((B(62)&1) << 4); + + h = (h_lut[i/8])>>(i%8); + + h ^= B(0) ^ B(1) ^ B(3) ^ B(9) ^ B(30) ^ B(42) ^ B(55); + return (h&1); +} + +uint8_t grain_getbyte(grain_ctx_t* ctx){ + uint8_t i=0; + uint8_t r=0; + do{ + r >>= 1; + r |= grain_enc(ctx)?0x80:0x00; + }while(++i<8); + return r; +} + +#ifdef GRAIN_REVERSEKEY + +static +uint8_t reverse_bits(uint8_t a){ + uint8_t lut[16] = { + 0x0, 0x8, 0x4, 0xC, /* 0000 1000 0100 1100 */ + 0x2, 0xA, 0x6, 0xE, /* 0010 1010 0110 1110 */ + 0x1, 0x9, 0x5, 0xD, /* 0001 1001 0101 1101 */ + 0x3, 0xB, 0x7, 0xF }; /* 0011 1011 0111 1111 */ + uint8_t x; + x = ((lut[a&0xf]) << 4) | lut[a>>4]; + return x; +} +#else + +#define reverse_bits(a) (a) + +#endif + +void grain_init(const void* key, const void* iv, grain_ctx_t* ctx){ + uint8_t i,t; + + /* load the 80bit key */ + for(i=0; i<10; ++i){ + ctx->nfsr[9-i] = reverse_bits(((uint8_t*)key)[i]); + } + /* load the 64bit iv */ + for(i=0; i<8; ++i){ + ctx->lfsr[9-i] = reverse_bits(((uint8_t*)iv)[i]); + } + /* set the other bits of iv to 1 */ + ctx->lfsr[0] = ctx->lfsr[1] = 0xFF; + + /* run it 160 times */ + for(i=0; i<160; ++i){ + t = grain_enc(ctx); + (ctx->lfsr[0]) ^= t; + (ctx->nfsr[0]) ^= t; + } +} + + + + + + diff --git a/grain/grain.h b/grain/grain.h new file mode 100644 index 0000000..06e8c78 --- /dev/null +++ b/grain/grain.h @@ -0,0 +1,42 @@ +/* grain.h */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/** \file grain.h + * \author Daniel Otte + * \email daniel.otte@rub.de + * \license GPLv3 or later + * \brief implementation of the Grain streamcipher + */ + +#ifndef GRAIN_H_ +#define GRAIN_H_ + + +#include + +typedef struct gain_ctx_st{ + uint8_t lfsr[10]; + uint8_t nfsr[10]; +} grain_ctx_t; + +uint8_t grain_getbyte(grain_ctx_t* ctx); +uint8_t grain_enc(grain_ctx_t* ctx); +void grain_init(const void* key, const void* iv, grain_ctx_t* ctx); + +#endif /*GRAIN_H_*/ diff --git a/mkfiles/grain.mk b/mkfiles/grain.mk new file mode 100644 index 0000000..22ff619 --- /dev/null +++ b/mkfiles/grain.mk @@ -0,0 +1,13 @@ +# Makefile for Grain +ALGO_NAME := GRAIN + +# comment out the following line for removement of Grain from the build process +STREAM_CIPHERS += $(ALGO_NAME) + +$(ALGO_NAME)_DIR := grain/ +$(ALGO_NAME)_OBJ := grain.o +$(ALGO_NAME)_INCDIR := memxor/ scal/ +$(ALGO_NAME)_TEST_BIN := main-grain-test.o $(CLI_STD) $(SCAL_STD) scal_grain.o +$(ALGO_NAME)_NESSIE_TEST := "nessie" +$(ALGO_NAME)_PERFORMANCE_TEST := "performance" +$(ALGO_NAME)_DEF := NESSIE_ESTREAM=1 diff --git a/scal/scal_grain.c b/scal/scal_grain.c new file mode 100644 index 0000000..b79963f --- /dev/null +++ b/scal/scal_grain.c @@ -0,0 +1,55 @@ +/* scal_grain.c */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2011 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include +#include +#include "streamcipher_descriptor.h" +#include "keysize_descriptor.h" + +#include "grain.h" + +const char grain_str[] = "Grain"; + +const uint8_t grain_keysize_desc[] = { + KS_TYPE_LIST, 1, KS_INT(80), + KS_TYPE_TERMINATOR }; + +const uint8_t grain_ivsize_desc[] = { + KS_TYPE_LIST, 1, KS_INT(64), + KS_TYPE_TERMINATOR }; + +const scdesc_t grain_desc = { + SCDESC_TYPE_STREAMCIPHER, /* abstraction layer type designator */ + SC_INIT_TYPE_2|SC_GEN_TYPE_1, /* flags*/ + grain_str, /* name string pointer */ + sizeof(grain_ctx_t), /* size of context */ + 8, /* blocksize */ + {(void_fpt)grain_init}, /* init function pointer */ + {(void_fpt)grain_getbyte}, /* key stream generator function pointer */ + {(void_fpt)NULL}, /* key stream generator for random access function pointer */ + (sc_free_fpt)NULL, /* free function pointer */ + grain_keysize_desc, /* key size descriptor pointer */ + grain_ivsize_desc /* iv size descriptor pointer */ +}; + + + + + + diff --git a/scal/scal_grain.h b/scal/scal_grain.h new file mode 100644 index 0000000..a67d1d5 --- /dev/null +++ b/scal/scal_grain.h @@ -0,0 +1,27 @@ +/* scal_grain.h */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2011 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef SCAL_GRAIN_H_ +#define SCAL_GRAIN_H_ + +#include "streamcipher_descriptor.h" + +extern const scdesc_t grain_desc; + +#endif /* SCAL_GRAIN_H_ */ diff --git a/test_src/main-grain-test.c b/test_src/main-grain-test.c new file mode 100644 index 0000000..e621326 --- /dev/null +++ b/test_src/main-grain-test.c @@ -0,0 +1,162 @@ +/* main-grain-test.c */ +/* + This file is part of the ARM-Crypto-Lib. + Copyright (C) 2006-2010 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +/* + * grain test-suit + * +*/ +#include "main-test-common.h" + +#include "grain.h" +#include "scal_grain.h" +#include "scal-basic.h" +#include "scal-nessie.h" +#include "performance_test.h" + +char* algo_name = "Grain"; + +/***************************************************************************** + * additional validation-functions * + *****************************************************************************/ +void grain_genctx_dummy(uint8_t* key, uint16_t keysize_b, void* ctx){ + uint8_t iv[8]={0}; + grain_init(key, &iv, ctx); +} + +uint8_t grain_getbyte_dummy(grain_ctx_t* ctx){ + uint8_t i,ret=0; + for(i=0; i<8; ++i){ + ret<<=1; + ret |= grain_enc(ctx); + } + return ret; +} + +uint8_t grain_getbyte_dummy_rev(grain_ctx_t* ctx){ + uint8_t i,ret=0; + for(i=0; i<8; ++i){ + ret >>= 1; + ret |= grain_enc(ctx)?0x80:0x00; + } + return ret; +} + +void testrun_nessie_grain(void){ + scal_nessie_set_estream(1); + scal_nessie_run(&grain_desc); +} + + +void testrun_std_grain(void){ + grain_ctx_t ctx; + uint8_t i, key[10], iv[8], out[10]; + + /* 1 */ + memset(key, 0, 10); + memset(iv, 0, 8); + cli_putstr("\r\n=== std test ==="); + cli_putstr("\r\n key: "); + cli_hexdump(key, 10); + cli_putstr("\r\n iv: "); + cli_hexdump(key, 8); + grain_init(key, iv, &ctx); + for(i=0; i<10; ++i){ + out[i] = grain_getbyte_dummy(&ctx); + } + cli_putstr("\r\n out: "); + cli_hexdump(out, 10); + + /* 2 */ + for(i=0; i<8; ++i){ + key[i] = i*0x22+1; + } + key[8]=0x12; + key[9]=0x34; + + for(i=0; i<8; ++i){ + iv[i] = i*0x22+1; + } + cli_putstr("\r\n\r\n key: "); + cli_hexdump(key, 10); + cli_putstr("\r\n iv: "); + cli_hexdump(key, 8); + grain_init(key, iv, &ctx); + for(i=0; i<10; ++i){ + out[i] = grain_getbyte_dummy(&ctx); + } + cli_putstr("\r\n out: "); + cli_hexdump(out, 10); + + + cli_putstr("\r\n\r\n"); +} + +void testrun_performance_grain(void){ + uint64_t t; + char str[16]; + uint8_t key[10], iv[8]; + grain_ctx_t ctx; + + calibrateTimer(); + print_overhead(); + + memset(key, 0, 10); + memset(iv, 0, 8); + + startTimer(1); + grain_init(key, iv, &ctx); + t = stopTimer(); + cli_putstr("\r\n\tctx-gen time: "); + ultoa((unsigned long)t, str, 10); + cli_putstr(str); + + startTimer(1); + grain_enc(&ctx); + t = stopTimer(); + cli_putstr("\r\n\tencrypt time: "); + ultoa((unsigned long)t, str, 10); + cli_putstr(str); + + cli_putstr("\r\n"); +} + +/***************************************************************************** + * main * + *****************************************************************************/ + +const char nessie_str[] = "nessie"; +const char test_str[] = "test"; +const char performance_str[] = "performance"; +const char echo_str[] = "echo"; + +cmdlist_entry_t cmdlist[] = { + { nessie_str, NULL, testrun_nessie_grain }, + { test_str, NULL, testrun_std_grain}, + { performance_str, NULL, testrun_performance_grain}, + { echo_str, (void*)1, (void_fpt)echo_ctrl}, + { NULL, NULL, NULL} +}; + +int main (void){ + main_setup(); + + for(;;){ + welcome_msg(algo_name); + cmd_interface(cmdlist); + } +} diff --git a/testvectors/grain__verified.test-vectors b/testvectors/grain__verified.test-vectors new file mode 100644 index 0000000..32e81f2 --- /dev/null +++ b/testvectors/grain__verified.test-vectors @@ -0,0 +1,2025 @@ +******************************************************************************** +* ECRYPT Stream Cipher Project * +******************************************************************************** + +Primitive Name: Grain-v1 +======================== +Profile: ___H3 +Key size: 80 bits +IV size: 64 bits + +Test vectors -- set 1 +===================== + +(stream is generated by encrypting 512 zero bytes) + +Set 1, vector# 0: + key = 80000000000000000000 + IV = 0000000000000000 + stream[0..63] = FF7710B30F198D75A454AB7A6B92A022 + 9236B89D41A44052E0587AB77169500A + 701FE5C01518E30CF9777DDDE4CD453A + CBF5151A1EBE057AA9B4AEC3115790C1 + stream[192..255] = A927E5B1A5DD1BF788C87EA2EE006751 + 60C88F4DFB99999B885FA997FDDC31A4 + 6B78E73650AC2F7F4363A3EB4C22AE54 + A28B3916681AB700E1AC75674AA9EB92 + stream[256..319] = 4C6A430099FD36E17689ED5A12303C09 + BAD6B5FDF4E4B580E9183AA7CC493A1D + 9BF6AE8E61CADBE2CAF52C82CE1E5739 + B5408445CCA5295718F908D3F34DB4FD + stream[448..511] = A922F866F3B29802FF1B8D4C307F6FFC + 5866B54E1A35ECC4F555222A704A0A38 + 4509AC0BE8F74C2F487972201955CFCD + 3C90AE072C9495D03F45131092E27A1C + xor-digest = 515100F2E0DA1E26DD73B875D573759C + 46BA20D0363710B2F90FD6A9F6B90F4A + 74E6263328C0F1BA6786629E54508501 + 144A8ACF24DB388C3731640D6B6A3824 + +Set 1, vector# 9: + key = 00400000000000000000 + IV = 0000000000000000 + stream[0..63] = 61535B0E87FD494455C9483D4B95B73E + 1266F3A96A4D3C1C49DBA10DF095C738 + 9227D866F03B745C5C7DA892B0B323B2 + 7EA40B00D5CE4F80698039093ABC712F + stream[192..255] = 9A3F0D00DED3D501E160DF5C81E30061 + 3028AAAAF8FA1665325AF62DD853B3FA + 7E33E1BE915D23D5BB91EAB18933BB4A + 3F107A0D64E5E27809AE97B14C2E1F03 + stream[256..319] = 225AB6D0F53CD41EA01E7028F6B2113E + 847AE2DBF60BF7501C56B0DD6D3CA81D + 50FBC887F30C892515F502807F8BCF63 + A1672557A2CB5E806C729B47E3C08C47 + stream[448..511] = EF8FCF0C87DEFBF61D036C0561F44F00 + 0A3E53DD839C3BE9BE31B0D3D05AB775 + 51D7E506882A068D08C808FC0148C4E3 + 463961A5E772C0D56F00EE99F0F7C195 + xor-digest = 0D2B5D8ADA919072D0336510A0B8CAC2 + 849ACCD153CCDC65B1470E12642E0537 + A1E28B95D0FE593145221155004BE3C0 + 06942618AEBB288A9E3F6E3957650E35 + +Set 1, vector# 18: + key = 00002000000000000000 + IV = 0000000000000000 + stream[0..63] = 21E7A4D96AE1D4A090C3FA3E9270DC52 + EFDD7E089074FF36B7BCDCF72EF0880B + 962ECAE561000AF48EF1BAE8A3BF5AEE + 4134D20A4C565AD829F9E311BB99FD8F + stream[192..255] = 1890D9102B1F41D385BD9B4A47520E02 + A5421596A2B8FF12AF36B5805C5FE656 + CD049B6F5B4CF0A81B9AC6EBE2E612DD + CA5F7B08BB0FDA21B01E8578467E2C31 + stream[256..319] = 7EE30A4E9B552CA46E785E4BB7D6C3C2 + 0BA2855BA8AF54880FFF57123E61014A + 929E2675507796D3A7B0A1A0665219FB + DFD5729EDB17F61BA56CB4EC17BA8FE9 + stream[448..511] = 10A4ECA163D497F9516DB6C48CD40D1D + 223B75687B69F3592E1095F3DB0BA972 + BC7A4776821E82B7B7BCEC05AF126E57 + 761CE7886851C456BBA6A12D1F7C918A + xor-digest = 2CA5CFB3FC26287AAC9DA001F65515D0 + A2595605FF6CD3A1EFFA6A156D03783C + BF7472605A5F2F1B0F2E8C3D2BA34FB7 + 1211E672CC518A8ECB4A5C1BEEA0EABA + +Set 1, vector# 27: + key = 00000010000000000000 + IV = 0000000000000000 + stream[0..63] = 556DCD7BAE2AE72DB8580DD1B2799AE4 + 1DD6A470400144B03753B09C9CEDB0A4 + A8A9D11FABA4D3D003DADF64D67841E8 + 77A5D5B6B5F4A086CFD7EBC6D8062396 + stream[192..255] = DE7B1E782B15AA7F2A0D7B6FFE409CBD + 564AFC3E001592B49883BD1F9D30560E + B3578E8493DD3BED975EA1BB40668A4F + 67B1DCD5BFEFACF586BF0935046E1A0B + stream[256..319] = E57CEF54A4BFD05ED009D2B5376758A7 + 436BD60CB67BB7B8DDE44A4EE830211C + EC2A8EEB754CB3167BD29107B38BF176 + 48A128E90CD577D01AE91A52B580A611 + stream[448..511] = 1A589CF3EC444675451A90645BD0F7FA + 67EA4B19FC4803061915AAF8ABD3CF1B + 1033CA7B17FFE35F0D805D4B7179A037 + 3584A7E78CE096858F8EDCAB76E0611C + xor-digest = C7F64C1B23BFEC7526093AF6D0E48A3E + 69ABFA8B7E97ED1CE779C9C6229793EB + 3D3DF27B81F16E4942E185EC03FB0F62 + A6673AE1EFDA69560F1E4A4FE4CBFC13 + +Set 1, vector# 36: + key = 00000000080000000000 + IV = 0000000000000000 + stream[0..63] = FC78ABD898874B016A8BCE2D010163C0 + 8814B8130FFC7D1F67CCF137E507A9DF + 2574570097C634D3D640D44B5E3A63B1 + 4FAA7CE43E0B0B7377995443B2127E0A + stream[192..255] = B021DD6E60A9BC28D8424134255D016E + 0E2A09EF7487F8F402112B5B56A3D490 + B6CAFA4973A52C9327D23ED23FA56424 + 613D868159195AAC60B9E1E09661BB27 + stream[256..319] = 591876182C51C2E37F5810ED41E20331 + 8BA22FD3F0D9E21ED07572577F7BC0D3 + 46EEC4FF336EACAA8D6802D9763A8526 + 56A06FAC7FFABF3B62F22F68D797E7F6 + stream[448..511] = 3EE7777AFC4D58E58AB16C9F4B1FA486 + 11CB512B5BE85F91A5E3A1312029FF35 + 2B898E926118B40F55AC694BFD1DC98A + 44925BFD7979D6255D1A09578B25B3E6 + xor-digest = A36FB86AD0A4219817F9F3DED3F8C5D8 + 0BC50BC171D56DEEB55210191D374C70 + 1F4BDF35BC3C0F093B8A6898F382407E + 2E0DDF92EA5A756FD875A82E996B7997 + +Set 1, vector# 45: + key = 00000000000400000000 + IV = 0000000000000000 + stream[0..63] = CC0A9858621C5E57B204F773D33A6599 + 31D5238817B0647265818ADB7CEA3C35 + 13BA44A3C78CD77B2E8D648E23570019 + C20CC0F9F756743076C54A476B35A6D4 + stream[192..255] = C8C9E4625830BF6DA5B2AA80EA1A1D07 + 4074310AB84D4ADA471FF958FA8873A7 + 4C17DAF9F579067BCA78F4E79FD9F81F + B969F104F98DA8E09E1CAA168AE094A0 + stream[256..319] = 66D828080571E5614B2353DE3D3943D8 + 88041EEE3D2DB0347D64B4702881867E + A06BB01A840048466F2D65BC39F973F1 + 2D27A1A1F5F0AD35B7FBB8FD53E4B77F + stream[448..511] = A289E6F0FB1591316E83D07784E191F2 + D998AB609A836995CD35AEC1F7B47F38 + 82BD42B6608FA0CF01F2DE18F2DB97C4 + 4B9306D3CE1E781C9B9CD58C5A78A98E + xor-digest = 76EE32F403BBE674E8507ACAA79203E3 + 08786598AEEC01BAEB66ED0A1924790C + 27315F8EFEA79F7538A6E74A55A296AF + 7D384129E8A79B0009A3AAC050374AE0 + +Set 1, vector# 54: + key = 00000000000002000000 + IV = 0000000000000000 + stream[0..63] = 6DDE430D5F50561770BA10BF52AD8814 + 68EA382B305424A660BAC2CE3F620A73 + DD425D85FDCF4777EA38460140683432 + C61B3C1D7050A67B1F6C5456203AB3C9 + stream[192..255] = 3BF89D53B469914BDD74ED84B543F95F + 128F8E75E7048E42A86F44A58F1E9931 + E12A79F070D9843DDCEC02AEDEAD3CF3 + A4B7D254123488A30F7C803D55F77507 + stream[256..319] = 7D41DB6791A44CE6E8ABD96140FBE0F9 + ABB556B3559CD5A61D0626BEEB946A7D + 666E643F29761EF08EF4704E7F50FD9A + E2004E49D45E827FF4AE61E824495C5D + stream[448..511] = 4B2DF17C8D963732C760D7675E992650 + CF87B6D1EB44BD0FFD6C95008ACD7201 + 72CEF19494C2845FEB72E66B319F892D + 408119CD5B0FB3C0EE56EF8CEA825CB0 + xor-digest = 0E0D5D1446115843E0A651FA6F5BFA8C + 565311542E22C0C3D018D7E0CCC34EAA + 90633FE962F77B8E84750155541FEB91 + D3CF65685077D8BC04DE1EA2F3265771 + +Set 1, vector# 63: + key = 00000000000000010000 + IV = 0000000000000000 + stream[0..63] = 7909795501E3A6E4C12ED75DB29CE05E + DDD271040F7865CF5285D80C565FBC1F + FDEBA88EC6ED9A3670659A571329AB0F + A32B164139C6F6A2B3149B62C2EC4646 + stream[192..255] = 573CE5B341CA68B19BD65AD2DF93C6AC + BE7CD7C96DA9123BA9FBD779B3D83B32 + 30AE66282A72C6B80457E8AA319AA0BA + 7D36CF68ED496D58495F4764F9175191 + stream[256..319] = 9F2634EBFF225B21107EBAE25D9D6F7D + DE4ED0646949C7B4C8759A21ACF024F0 + 53263D6415E45FC9FF3F92FE88198F11 + 11EA879E3CEBB57C87032FF2DCCCE767 + stream[448..511] = F4CC0E8504C85E6B5FF40CAC03080BF1 + 8DAF25E641FE66CD7DF745186E8FC42A + AE6C20EBD5DF06DBCEE7DA98580F2508 + C8B457D981B8AA60ED21263B82F233BC + xor-digest = 9383552B70E0FFD5CBB91B74DAA52B29 + 15123FEC5BDBEC9D5A9AE087C289434F + BCE067FFCFAE9F2F6B33A8FEF1B1B5DF + 6B2D06C08AEB95AA3C3F155420EF809D + +Set 1, vector# 72: + key = 00000000000000000080 + IV = 0000000000000000 + stream[0..63] = 825E91EE86993AFDBC9CB5C15D011331 + AC112F59A6949A22E500108016D5D2ED + 7CE6B6174C2F3D048AB607E1B03564B9 + FCBEC297162374A765EABB18877727D9 + stream[192..255] = 1E40C890A344DAB132F294F21C0D0931 + 467E9F434261A440BBCC9A511E214016 + 565032A9A93B3DAE2A28512FC9B62006 + BC89E5E7B943DDBCED06168FFC8C51B9 + stream[256..319] = D13B7DBA3587595065F6730B2FEEC470 + B46A43BA9BBAC48F3127F0FE6FAA3EFB + AF6CCF64C033C36B59B5B3172F87A1EC + 5A2FFDD4B409546249C48722AE9EC90F + stream[448..511] = D139358F57E4D80607E6A577E4210763 + B630DC05D4D4A32603058F4096550DEA + 9C6C9EE09D3D0D5A2ABFC82ED0FEA4B8 + BB980958D8C6FC8074C638B011A67E22 + xor-digest = 35E27ED9A9C3C33279DFBC38CA5020B1 + 7AFB773070CEFC7638DF69E0BD294EA4 + 9795699287BC65EF524242061B329296 + BF9EA793117348F11548AB88F138FA07 + +Test vectors -- set 2 +===================== + +Set 2, vector# 0: + key = 00000000000000000000 + IV = 0000000000000000 + stream[0..63] = DEE931CF1662A72F77D02B6B6188A8F6 + A2C25AE10433ED468B1819741E326B0E + D79B2F1655AC2FB8DD6DECBC9CD301D3 + E3DA1FAE749409F09215DE1CEE756FE7 + stream[192..255] = 6BACD4115EE1ECB0410BE06632D9F590 + 4DFB590BB7C05F5765CB6D3C7F595475 + E9E7B9DD3F0FFC062CEDEAF3EE1B256B + 4D6E61604C3EDF25B9677CBEEBCFB5BE + stream[256..319] = 61A7D2B488FEC8E27F84489F8288BB3E + C171B49143DF6FA89F02F6205D70782C + F4E3F145F52F806C73EC6400A1D558B4 + E2BD400A2B6EECBFC627A8B200FD76B2 + stream[448..511] = 4B295080D161AF560D10110A11C52AFB + 6E8753FB7F11410D86D0ACB70B49AFBA + 412D6EB5E33548747700C331013C7201 + 18F352BF974BDE06668BBCEE3520270A + xor-digest = 0697470B0C2270878791C360DA4FC68F + 9C046F105D6DBE2D15191AA2B7F08D15 + 1CD002800CE2690116646B8C4B449375 + AC2B7514B0D0482E6F2536398A9E1355 + +Set 2, vector# 9: + key = 09090909090909090909 + IV = 0000000000000000 + stream[0..63] = 94B74AC48A62D882EAD987B305264147 + 49308214BB2132CEFD95825BAA03E51E + FD5300B287C2F9EBC4DA09BBF76F3D2F + 3F86E9FF99AFB0C49D946439D18E4C63 + stream[192..255] = 34900ED9429EAC7E6A2251C36CC67F6D + 4F949D5FCECB1BD8079099B1689428B4 + 8F7D8C9B9D90F56E2107E4ADB349902B + C6C432E761B3BE6148D195C1BCDC939B + stream[256..319] = A893E3B98054CAD6C5A2DD21751D4A93 + 5910A29D352AF1E65B7E5B04F2662C61 + 31F1727E1249105ECBA6CD94EA09C0EA + 48E800589A749422556483B6D820C47E + stream[448..511] = EB1EE9D5CBAEA8DE5BCDE5BEED37DC82 + 84A076D00BB0E6DF7A1E18634EB7BFD2 + 5CA10FB55E8C05EED089FEB52B1FABDE + A12FFA8F0668372328BC7E35B280633A + xor-digest = A3516E6FE2C715AC043C7448F290269E + CA8CFB77FB11DADCDA1EE1E9C20FD163 + 82A9BC5F132DF2A7F5B345C5C50C05E2 + 42D01897E08FEABDD79FB81E0222CE06 + +Set 2, vector# 18: + key = 12121212121212121212 + IV = 0000000000000000 + stream[0..63] = 55D3C9BA82577BD002684E0EBDF1F505 + BAB1474DF886B8CE583B7AC11E00C02F + 8EDB5B95D83DCAB6A50440F24B4750DE + 37E9A40659108A539B7DE1B06792C3DA + stream[192..255] = 879B91A3968937D52BB068A386FE6047 + 438B1BD77320CA8661E1AC323EB23FE8 + 25222CCCFB976153291D8FFF3E1054D3 + CC32D6A8D124DBB3890E7ABC19E2E0BC + stream[256..319] = E9EEBF1C0DCB634AEE23C13CF3812DA8 + 590AD053F70927E87A77D3E7ECA22D00 + 4584A62CB7110CAE6703060A97A58389 + CF1DB04F32FD18B64F780352508809E1 + stream[448..511] = F3E173050AB618B24A202E2163892952 + C28EB22D0646148D6DD9247F128D7867 + 84CB89F0DE0441E7D017DB56607377A5 + 09F594033090F15ED2D2139168E9DDCE + xor-digest = 911B61D654C3974A9F102D20BBE3EBA4 + 4947A8B787F16F5BBD5F6FFAE9ADE89C + 45B5F42F2C831297F008EA081FE91B63 + 725D2846FCC2DB2766A5C2A62F34E0A4 + +Set 2, vector# 27: + key = 1B1B1B1B1B1B1B1B1B1B + IV = 0000000000000000 + stream[0..63] = FB5A3BCE0884205BC239FAC5AF11CA53 + FC2822C00104C7D24390555B702ED7D6 + 2D55AF159B0CEF44BDAAA50BE1EFF99D + 082A94B504B21E46891B9D116B7028F2 + stream[192..255] = 6F751FE8C1E8125B38527D3D9891F776 + E496AECCA63ED40390D415611CA7FA96 + CD13F0F1CB9CB3CFA60F1F28975A5164 + FB8158D4E327F26E8C79777AEEBE358C + stream[256..319] = 82975DAAB81E1CDD70794E68D41D4B93 + 6131CBB9155C0EA1E81242D8D7A531C5 + 26B4A007BA32D95F6794F1A6BED75966 + 686B3AD2C24FFD277BB03BFF6734AE54 + stream[448..511] = D1F1AD3C1A72427E6EFDDA81DD65E6E8 + B5072BC1B3D12DBC44FA4597F219D784 + D7BD2CEFB8FB36EE20F140FDF3A2EE3B + 4CC7D04E4C754291FB65CF5B24AAC6EF + xor-digest = 249D55D34B2CD86839CACA6E951A8F46 + C10949FCD602F9F063CA804E5D65C9A0 + 76D2A2FB6E3B16A31B39A4543338CFD4 + 0B771E0F0A1BE0C3E1C5F8688E96D49D + +Set 2, vector# 36: + key = 24242424242424242424 + IV = 0000000000000000 + stream[0..63] = B6C6516C103EE53F99EE5879F64B1EC6 + BB9990E88ADBA477F46BBF8FED29E04E + 3C91EB3CFD6DC1E26535ABBDA731DDA5 + E2490EFD64B1EA45EB534CE7C4E252DD + stream[192..255] = 156E5C413C9255B1B10D0D778C07C1DB + 2DF6D43F685264933511DF96E545E51E + A5366E4E9A89E2622965CF2E190C692E + 39A3FC480E39A42B0EAD9389B378347D + stream[256..319] = 47E4D12E8AB96D1628EFD39A8AF786B8 + A3C55C86E6A7A02EEAD4920C073B3796 + 46E5FE00AEE67D07F17CEF50E4D65301 + 39241D09EE29D8DF4D3598ED342BE865 + stream[448..511] = E4725964F480B4ACF9160ACC82B0A071 + 8D073EB6588B39622513DFAE7F88D4E8 + A9BB68A51F0526B0133BCCBBBF5FF6DD + 163BE408EB09810DADFA97B9FBEB8202 + xor-digest = 6645C599E1512AB06970856B9C1895E9 + 9210A6E7F68BA3AE5520B47BC4139BF8 + AE3DB59E871AA933216BD98479B6B016 + 9AD8E3E9E7E2B898904B604BAF43AB8A + +Set 2, vector# 45: + key = 2D2D2D2D2D2D2D2D2D2D + IV = 0000000000000000 + stream[0..63] = 545D4BCE5331CD48C69AE3380683251F + 926B62AD99143364876311A8DD03A48C + ECF60C04D068EE504B52D24E592F6532 + 389DDB5398AD1F9E2D1C3ACF38E26D0E + stream[192..255] = 4C69FEE04CA65EA1B1D7D7D520DD8F39 + 8CA147D7AC2FD306F9172111B30D96A2 + CC32CBB32A5B9AB10257D355B3947A5F + 03D316FE8E98BFDD13B28EE30D39F4E9 + stream[256..319] = 8544591C6E2F703F6ECD1A7ECF46A3F0 + AED519E2C452AAA957B1F8242253C931 + CB3AD0781EFEA154FB0118A7E16D21CD + 97B8027961E2537176BD815F2B044D72 + stream[448..511] = CAD76834051F36B76FECCBB3ED9B78B7 + E342C7D5A58DA5794AD30329F729CD3C + 89B5AAF754C82EC88FED1BD56573CBFF + DA582FB42BD5C2B7B8FF569687C5AEB8 + xor-digest = D985AD94CFC6B0180386D1327BA69ADA + BDF18D909841A620C53B69FAA94E5616 + 9551F0B1B17F5032E4231B9A41BC3433 + 867FC3BCF287E48110347A3B23C67C1A + +Set 2, vector# 54: + key = 36363636363636363636 + IV = 0000000000000000 + stream[0..63] = 9F4D064EB54E41B1A46FC20A93F3A8F3 + B7C7EFD36E40BF79972A25C50C16F062 + 40206CD4D3C63E76390EE06F4ACE2F1F + 642FCAB56F8A8A932D129C595885236F + stream[192..255] = 8D60B0CFB3E40DC24A334A307A7417EE + 1E514D5A0C01A3A4382CD946E9E9D074 + FA3F439AEE27A11E4D5F7B29F632537D + 18854538D624ABB56B65C53EF4FBA47A + stream[256..319] = D6E29D581A1C60A8A13433825F7C65EE + 43101A099263FAD17FE8EBB9A4A46B33 + 350103C3C2C7A5D7EC87921BA0D32256 + D22C4BC6DA8A9B62A3D9FEF0DD7143CB + stream[448..511] = D0D666907EA61C36D85DB96F489B6CF0 + A1778848243C77C3D749229A5932D9D9 + C1CC949C9FA17207B02816F9EE34D5E5 + 204E42D595A2CCA1B7209122CE0A5763 + xor-digest = 1F990C916FFB2F991C1ED9CC9F0BE528 + C3113C0965AE90F4482674B513EE9481 + A39DFA5878D826D5D21BEC54D829A4FD + 24A4C74F7990CEE19C9570C8E56EA1A5 + +Set 2, vector# 63: + key = 3F3F3F3F3F3F3F3F3F3F + IV = 0000000000000000 + stream[0..63] = B9A28855F3835E500E07F19D922452EF + 7FF1D57C3962AFA97FE5A9686568018F + E0B46057B45FC00FA8DAD496D9431516 + 397B3739ECF56A8646D844A23301A59E + stream[192..255] = 600EA58D2E3A4500CB91ABCE66C83D24 + 1070A320FAC5989FEEA4688355F177B6 + 039977E7551E62D59932B180F5465C6A + FDD9FE29AE9718881CBEE5805F074997 + stream[256..319] = 15DC80297AC57C73FF3FB59D572D34B4 + 0D6446C08DC9F5E7C5B663CED35CE337 + 7CA0DDCD2A57C0F70D05F6109290B5A1 + 43BBB083140FECEE5E7BC8877592E334 + stream[448..511] = 75E75F64CC52194F861F859DE897EA81 + 3EFAD5FC14319BAC1BEFEB4642A70950 + 2AAD9175A0BDD87AC4BD9B9858760B32 + C000D9EEE1598CEF56B776BF221C264F + xor-digest = 0E6F1632EDF5DAB70320A27AA7389896 + B6383EA99B49EF55FCF261FA43D34CC3 + 2AF0EEEE947C031A90119ED03DA7890D + 17FC8C3E96E1F2158E271C98BDB8E452 + +Set 2, vector# 72: + key = 48484848484848484848 + IV = 0000000000000000 + stream[0..63] = FE775D885BD381F68A87BABFC34BE76D + 072DBAE89A9B058DA81655D964C0BE21 + 233C6A37EB109ACD86711625FEB8B907 + 52F16351DA53E2B7414754EB8A3AB764 + stream[192..255] = E2FB568245765B4C25A42F6367137441 + E13456B75251B95609ECAB4606F2488B + 6F6FAE269ACD6DBC4A9E572D6CFAF215 + D821D0A1AE8ED7A0B422461D15F09204 + stream[256..319] = F7966E83F2EE0423E45AE70155C718BF + A57E188DBD85BE01A7FB60882D78696E + D7BC54A5CF0C45F5127133292743E81B + F4BD594A5819CC29D00A56617F3095B0 + stream[448..511] = F38DF1966C03FF4FA523AE0986597F05 + BD4534161EFAC2262843BDE84A82775C + 59F4AE52944E67B9BF1F4BB441A6935F + DA4DF8D79405BEDC035BEE98AC889AA9 + xor-digest = 7652833F744A3165036A09D7DE22DB06 + 74CEEBADA0DA7C516AB6D31A6628B189 + BB9D7A8CE76385EE2C27FABC3C99484A + B55CB1301AE2137A7E24096C4B9A5EFA + +Set 2, vector# 81: + key = 51515151515151515151 + IV = 0000000000000000 + stream[0..63] = C08ACF645B04ACA55955B90C4459E4C6 + 9973D2C63CB7300F338431D861AF170F + 01816BECCD077CCBD9EDD29A399AA695 + D92A2EA0D68C4759E7F685AD8B045685 + stream[192..255] = 55DD83EF34FC97503592A7DE36D59D20 + D97429A41BD11241885272A52A0BC84F + 76E61F9E846E7A20CD52B38175CF72A9 + 42798F59B25641366BF50D13A167C2C8 + stream[256..319] = 9C5838E87E1D0B9B27DE1B7B04FCD049 + 1674835E1C8DF6D23311A9F40BC32718 + E111B7696C2319C109AD4FD3BBE1FA66 + 4FE5EBD3EC1E0620573E1AF8F40BDB88 + stream[448..511] = 34C0E87133977F08AA06636A48FF05FC + 727B433AD617DD0CDCC630F75D7E9B7D + 5406B8579973932109F987B3013417F7 + 4736302F4464298427FE46C08CAD664A + xor-digest = 0BE3D13F354DA15931D129E9736CE112 + F667A344C37C410E07F9B4908C403D70 + 9C84C5F7DEE4A1874146AD4CA0985B30 + 8143AB70B924E2FCDDE7F3F1937A18AC + +Set 2, vector# 90: + key = 5A5A5A5A5A5A5A5A5A5A + IV = 0000000000000000 + stream[0..63] = C02A2C469E4DEEACA45F3BC23C4EAFC8 + B9492861D2CEF6C6C966A93491BD4FC1 + 1D2ABFD689BE3541AE5403944E02F067 + 7C161E1035701EB7335A66C7798FDE16 + stream[192..255] = CCF15BFEEA5B611CBF0E48A8201D6F37 + 11BBE0D6D4851C3DD1F128BFA12797A8 + B7C078BBEB44B39947EEE806AE0F626B + 473E09E3677A7E81563BE84A6DA6FB75 + stream[256..319] = 37379A54F42155E58B740E1FCDD2B09A + D888C4B613AB946AA19EA46717DBA8A1 + 0A70C4B170F73A36B3ADAB956479BA13 + 565467D57D0ED0F39B415865226BDE1A + stream[448..511] = 3A37C1EB5B8088B4452B96AE03375824 + 81B161DC5F975A74729219B97F087938 + 1F72AACEACD77A9B93EA3FA26FE0878F + 9686CA15B37CA66A8A5899FD468DF533 + xor-digest = 7DEC3F43618BFF381734C42F6659828A + DFBD896ADF9A9E868971D9A2712F8E53 + 6B053B591458739DA42E4640A9D063F3 + 6D93E20476D1D77928D8E3D237657A0B + +Set 2, vector# 99: + key = 63636363636363636363 + IV = 0000000000000000 + stream[0..63] = 5FCD2DEEF0AD2455029316617D1BAA1B + 276DFC47A719D59AB5F99A62F563938F + D8C51977D14635B4E07555316C4C6E18 + D77412CEE9864C79C47F98F8F41F45DF + stream[192..255] = 83339332C6E6F095D8D6CC4D9A8ADD62 + 61243D1BDA39EE9A17D6C6EE921EA1CC + 275D4B7EDB0F9A1AF19752A14089ED2B + C2A34C9DBD1DC0724EF715BE0926B37E + stream[256..319] = B96A6C26571F74C09CF56BA8635D4204 + CB9FE739C54039BB18255E99CCD6F844 + A097EE18C98882D5F461AF11C4A6E09B + 72AA91009425551D175180B700F21EBA + stream[448..511] = 8C8F42F416422FE088CBB756545F74EC + 30AAAF5295D4B9F2807C36836A5CB6C3 + 75970D7919118B723138A5B278B950E4 + 1091F6CC0283EE4462ABAE3E1CA873AB + xor-digest = D994B8A47B503ADE6713F612D1633BD2 + 5A1F4D5702525ABECBB557108119B8A7 + A0D43D115E8E310873B00BD1F430E7AB + 33645CC7DC905EA4D17610573C574D1D + +Set 2, vector#108: + key = 6C6C6C6C6C6C6C6C6C6C + IV = 0000000000000000 + stream[0..63] = 3F4275432583E8F728C943FCDDABBBF7 + 643AFFDD7608F86F0D06F97640AED064 + A0B319993D1056750D9C8B23573C45E8 + 6ACEF27A4F630C66A0DE675FFC88BF1A + stream[192..255] = 01F80F97EFE46888D9E65A500F459878 + C3791CFFB219079037409393CA79626D + E2FB1F6BC1F1BF29D3CA0CC140338602 + 3B27F63F8DB233E4B669F3678804B8B9 + stream[256..319] = 0CF3D1CD7B3A83F08165E55E54ED508D + 1E8958835CBD34E757B45367B5763981 + 22112BC37F2F6308FF4AFCCE3DE1BA5E + 117E3D4190049158432E345089F17248 + stream[448..511] = C0605F17602BE61B12195830BF8EAB60 + 136D446C71E11B2CC525762402329092 + E3466F13B0B97BE0404E3B963A0E23DE + 0880897C077D6C704486238DCBA6B4DC + xor-digest = C07A9A42C29441133C2E45AA4157E3E3 + B2B57FC5C360623A890FCCE03976435C + 0A6170F3D9F2BA896441286F27EFE5E9 + 44BC3CAE2C8D3A9AF625601FFABD45DB + +Set 2, vector#117: + key = 75757575757575757575 + IV = 0000000000000000 + stream[0..63] = E8AB04EA96652E3D29ADE98DF42F028D + F1264E0FCA53B29E0B625BA9FCC5E4BC + D67463F8DEA05EE94A65B6E8AB34A950 + F16BEF662280477D1383E8E7D09AA811 + stream[192..255] = 55E9E0A3D7894ADD948B7F58C54DDE32 + 2585BCAC3E8B804114FDA15824DBEB62 + 3A28F0068845DED9707C74BDFB874537 + 35C41D2BA1B6BA52C82B5A826C92B604 + stream[256..319] = 1537CDE2732A0B32462CA4B553672598 + 0CA28CEABA248F4234951D2E28FEAF66 + DDAF214136E87FAEEE3967F63AA6D476 + F8B6B8884C30F9E059E67AA6487B15E1 + stream[448..511] = A719DE3CE164DD047C22529B81B4C26A + 3061FFDEF292F7CB8C2D4A84D1FD7195 + B83CD71339E6630CD8E5E700E5A780A1 + 49FD7CF16D09794A433F6D97FA7B67DA + xor-digest = 499C86B5992543832E3EF92848FD169C + EEE6E444D6F0543AEB7DE6B618FC3E7A + DB0DD4361693AAE8BC7A1361ECBF0C30 + 699947A51AB87B0DDAF7106C8048F70C + +Set 2, vector#126: + key = 7E7E7E7E7E7E7E7E7E7E + IV = 0000000000000000 + stream[0..63] = 83E09B6A0A4516CD45FAD6EFDD9056B6 + A398102F1E6E1CBD7EDDAAE19E66B2AC + 49F39ACD1D6696DE6CFF26CD0506BBC7 + D72256208AB15C0E4DA6238ECA07C622 + stream[192..255] = 4D0B2546B85B63E23FC87BA38F20A60B + 8FDC19D893978DA648BF1D3C488886B4 + C7A4F808F3E24D0ECBBCEBAB7CDF7DC1 + F557E8C38E4CC1589439BC7B9B33746E + stream[256..319] = 829265E34EFB6B266B2A99D1D8AC1E8F + CEE9FAC20A16136F9980B1D5CDB01E45 + BDFD437F94F9FBB43C7857B51A072053 + C9E43DB5498794196D88A617092B83F6 + stream[448..511] = 6773B40CE1F0AC6DAE4E1739956E9D81 + 86AE9D15CE10B4F622D8F4C75DA9E445 + 0499A9564831C3F708F29CF7EC2F6B4B + 4C6FAB561B08114BB3058B3EBB20FDFE + xor-digest = A8221DA33C4786DF8585AD76DFDC8575 + 1F5EE703B19253405FAA5D7D5B93EADF + 9F454F74DF92D2CB6301406B7D3D98A6 + 7941CD6BC768961F2434BC60118CC659 + +Set 2, vector#135: + key = 87878787878787878787 + IV = 0000000000000000 + stream[0..63] = F227AE31CCB6BC96546D0676606B514F + DEAA269E5452AEAD3BBD40C4EAD6B8D1 + FC7581FE7A5D05E1B1D30CD2F6467596 + 94B878B329924682DE38C4170A8A77A4 + stream[192..255] = 195F4619C0ADA93326195FD51DD71628 + 06678055EAFB41F12CDA1385C89AEC8F + E6FA755EBA3E6CBE47F9124BD8976FB5 + 6C500A4EAF51FDA9C35A40CEA3DAED40 + stream[256..319] = BBB7811AD772675A691EE6A5554EF4C9 + 2489A26670E9391B7121A574D1B7D154 + 8E67F6E191E197CDCFBD526EC6ED742A + F97D61695DBDAB1776D370E6DD1652A8 + stream[448..511] = 43275C8074E4DB49C347764C10AC3543 + BC090429CB1661ED4E403488E7EDB210 + F55FAB356988584A6F94CD83FED5185F + F2F38CFAFBE8DAE5A77BC6E8F1CDE784 + xor-digest = EE7CAC49FF6ACE9C9136996C9328CF5A + CDDC12F177F3EE8B73D86C46860573B3 + 486C837EA08C7D722208D055C3454161 + 9759E27856F1AC10A0B0CE327A8798EB + +Set 2, vector#144: + key = 90909090909090909090 + IV = 0000000000000000 + stream[0..63] = 0B83E2A6888B32679EC377FD850318AC + 12D8D8021C02816D7F3DCD418E88C314 + 5B70383035C46FE4FDE686E0B6196DF0 + 0DAF2CC0EBC56551B1F4C0093F7B8437 + stream[192..255] = 5BF7EC05D9F7870871893A44C0CBF5CE + CB539912FA67ACE4B751B02F1F0EE430 + 818F031A14F1243372B3F8E7523A9952 + 4064093592224AE0813F9A5E968A01F2 + stream[256..319] = 84EBC26B26877378E2EA7D86A4DDE76F + 2147DE4A8EF84624D7C054FF79A79B00 + 28B6CE55736EF7D4637A889EEADD426C + 77490E3A650FF83DED05434E02C4A7E0 + stream[448..511] = BE113B099806808D8897B118A44A0E43 + 55BEC50BF1E21F306E4D5A4763DBEE45 + 542424B84F9969FCEBFAFE0A036BD754 + 1EAC37B6DA0D579293718D3A3A27830D + xor-digest = 51DBCE10874AA20699CF9A9D5AC7F535 + 1F181BB8B564C7BDC7A60F3CFD31A609 + 5A1BDD17E5CE9394798088F459DE9126 + 42EAE9D9AD8A6546DF6F2AFA144E585C + +Set 2, vector#153: + key = 99999999999999999999 + IV = 0000000000000000 + stream[0..63] = 23F6BCF725CC0F9977612F1E628BADBC + 2DF7BC49C18909D65ACD40110E262082 + 845EC8E9CC426FB8BE5B5EF9F4080456 + 90045153A85AA953112A34ECFA3E228C + stream[192..255] = DE93214CAE340EC5724F17DB430CCAC2 + E9E89C04543692DBCA33D93A635B4AEE + 407ECB350867996C7167CB470FEDC6CC + 3D661630A76B5AF16F917C5EEBE62B99 + stream[256..319] = A252CFE498A228F959F13CEDFF7582B7 + 97585E46BF4149BEC4DB791531F0AF61 + 1264A71763D32E054C5EE0B2A589E990 + 6929F9A3E98BD63285000AE6F260D088 + stream[448..511] = 1852B57759CF872AB91DD9DA02E10E40 + 31D494F1E34DC8D52751829EB1717222 + D545E27535C063DABC1792B400A950D5 + 18257C77339506D77BC2518CD63BD8A6 + xor-digest = F106F87C540B32273A3E11E1155FACAA + 114B394DB1827EBC1D75AF0FD807497D + B4894CCA38CEFDDFC371F4A2613964D6 + B1968EC95857FD09BA9DAC6A38D08097 + +Set 2, vector#162: + key = A2A2A2A2A2A2A2A2A2A2 + IV = 0000000000000000 + stream[0..63] = B581D885F3D86316284CC1EBE73308EB + A14BD6BF1FF4F057A930AD29C1BFCEAB + B82748DB930254574D83AE94C068130C + 85205E0993B772B38E1F051D7E4906CB + stream[192..255] = 85B66B1EB0C125E3F9865639F5F58DA0 + FB5635203CCCEB24267A169CDDACDC26 + 56D9D3F1B7C37A1AC12C2D4591A25581 + 8056F4CE1EA322823B46E1D0262AF9C1 + stream[256..319] = 5EF8664F0D06597FC9F9615A97707F5E + 6A13F64AB0EC392245BBC6EB57866470 + 4C7B5DE5CCFAA645C87D740DE8ABD85C + 7EB436863ED9993A93C83E2E9B502AA2 + stream[448..511] = 2B1E5C9F6F8579CCF2AC47462A3FA027 + 54EF9674BD9DF7853846691FF3069B6B + 632A076A6F0A599DBA87D98345ACC1E0 + E69887B877BE34203ECAA7BB61FE2848 + xor-digest = F45D46E4C03BD623708DBEB7199CE4BA + D1B134CF1A64003D13BE5ACA78B93FD1 + A7051E31EDD29950474EDFD0F5F39F77 + 98C3E31AB21B13749CE04D5A71E761C5 + +Set 2, vector#171: + key = ABABABABABABABABABAB + IV = 0000000000000000 + stream[0..63] = 19699AFBFEB858C0B8FDE8ED3132092E + EB1BFD1EE952B5EF12E5B5BACE963F19 + A7534D093CFBA03CB4200BC711F78D32 + 755BF79315A54B71E6275950C1103B7E + stream[192..255] = 3E7852EAD87C927D69D5BD3D2A5776F3 + BB5256FDAC06D4CB580E2C5FB89CF37A + EA0ABCEA82FFC6A8C3DDD1494DFC4212 + 530163F093CC2F7E4919C10B710FDCF2 + stream[256..319] = AB4C66A62D981BA1D331C0EF0CDFA1DF + C57A6BFFBEFC9CF69A01057C7A8F00DA + 870A4F0F0B998E63EE31AE412B552709 + CC7EBFD12D4B0956DA7BF136CD0CE676 + stream[448..511] = 8969756E01B11938494961BD210547DF + D71E7ED8C51E481E3AA87A909FDFEB6C + BA724E9D99C69AEA298F77EEFBB0C339 + 826D47FD1D733BE09554A4EE5C556C6F + xor-digest = AAA5D74271D7CB5A2C60ACC6D6CFDF45 + CEBE408B8F2D6AFB4E029399980E17C0 + C4ECE5F11262DAE4AA26C40D1F6635C5 + E86A009165A026414F43A8A4672C1820 + +Set 2, vector#180: + key = B4B4B4B4B4B4B4B4B4B4 + IV = 0000000000000000 + stream[0..63] = 43777E64FA8A46B37A148622C5D239DC + 576E432903C5C3FCB1FF70E9FE2B4A2E + 2DAC79AD1D6CC96E3E1E917DC8E226C2 + C2B9918E031193E57A8E4A1553576F39 + stream[192..255] = 585B293D093A7B98439402B5F1D11625 + 6718BA7590E162090684E445DB3D3254 + 1DDD4388DF0E258F3681EE2CB745F90A + 6EA56D301CBD44B5F5D087CB20960566 + stream[256..319] = C720A67CD72EB12344F4097392093C33 + DE31762D6D881C1A53B84D8EDCCDC277 + CBB7C4DE72CD3E2C7D577164E3BD4831 + A0C60E36AA3A908E096915AA05DF1084 + stream[448..511] = BBB07CB2CFBE366D730A5E332E957410 + 9CBD268FD322F32AD71442CDC86C86F4 + E97F719DB9F8AD638AA7426E5805B9A5 + F6F7FACD46037F83FBF96DA2848F2485 + xor-digest = B940ABA5810883736827F2B2AA4561E8 + 6735521C4FA428840DDEDE4FBC961049 + 51F5F4CDBECDBFD3969A92E1A6AC2471 + 2B9279258A6F6099CB4DCB55E507D3B3 + +Set 2, vector#189: + key = BDBDBDBDBDBDBDBDBDBD + IV = 0000000000000000 + stream[0..63] = 259D98A66976655F6F3395E80F30AF2F + 8480B5D8BA9BDB0750CEF022C4C756F0 + 5E3771B22C1E4F438C4B0F54ED105E44 + 9242E11835635BADB4D580E22B065E75 + stream[192..255] = 2107132E373A80316A8B3CF0DD8C3BE7 + 670D5E0ACC11089B14A09E0DD327B9D9 + D75180EEFA9AC8C8D7F3C02D36AD2488 + 2BABCBCA98342A854F1FC0B5C5875E7B + stream[256..319] = 0C7AF847C78251495920232F828708F5 + 6FCEE66E86BFBA6F279A10B304C26AD5 + F0F9A82419BE0AC24A89B73AEDD93178 + 48A6F5B1ABAC11B8A212BE2C49D9CA09 + stream[448..511] = F24D06FAE6168D7C9E869909249A8A2A + 9D9A4B424440533BE9A5818F97E8993A + 4D735514406957159DAEF80CD3B78EAF + 2AB7463F16A7FDBA493DC9CEA2C3803D + xor-digest = 75A447CCBF9C30A9B0B84A58D76C1B3B + 8C7A1BC1FFC040620117B7228E77406F + F0BC5D8A802B5E6C041541EF64E87DCC + 9A043AA3C57B19F0EAF73E49809AD1A3 + +Set 2, vector#198: + key = C6C6C6C6C6C6C6C6C6C6 + IV = 0000000000000000 + stream[0..63] = FC4A245C0ED0C18A4F1ECCF448EB6B49 + 1DD5E6A13ED37AFBD9BBE377665E2C61 + 13038F2A36A01A6CDC3B92C579D7D5C6 + CC9F940828EF8F2DF1E7BDE3099826B8 + stream[192..255] = 31EC51814A2833E03EAAA143A1C7C146 + FA40B3860A714204C030DAB1AA6D9B8E + 2678A0D76BB1990349B251E169E89C50 + 309EE8C97E1C232A4E4D047098978A1C + stream[256..319] = 3188B2D434D8CB0A678FB5493071E65D + 738403F6B680D66496E414EAB8653F88 + 73EDEB11814DFC4819874B93AB7EB97F + 7B5E9DD167B50874A73D2EC6B8CF68B0 + stream[448..511] = 12490C2A7A6DECB0050B492C616C2470 + 42F6123A8EF50812B1C9B92EA0F64302 + 7E307966757D26D57F0422981BA3F0AD + FA7D833599EA568A6B97FD7A4C7AB521 + xor-digest = 9842463FE7F17039C945E9C3793EF70C + 33D6A23D8CECEA14689B8AB6C8FF2904 + 09940FB0BF3B3100241D199EFFAF5C98 + 1199D1933CB900F5E77B199099AE62B5 + +Set 2, vector#207: + key = CFCFCFCFCFCFCFCFCFCF + IV = 0000000000000000 + stream[0..63] = 1171EF6F03C07484C36B36A172DB23E3 + D76AB8158828483294EA2F04570B081E + E26FDFF0B8D5CB66DABD23C56EB31D47 + 763E5500F8DFC1A9ECF7FACAB545EA3B + stream[192..255] = 01AC754D09BF80977FB2B7C204F94293 + D4C03F0DDF0170B47C4A6393124AA488 + 067FF64B889EE19AF4C70F2610905B7F + D1462510F9CBF99133EBB156E2C4A82B + stream[256..319] = 3F84732DD5777698D4C866DD24A22F18 + 6932450358104EFC4ED9CCBDB47C6412 + 2355F8DCF3BDE0C3955E9CF2BDF4D710 + 5F2E366B9F35CA387BF7F82A6CA2B96C + stream[448..511] = AB734E41F683C601C35F29EE3B1F7BE4 + 424463EF75E5FC72F4E9006A10DD7472 + 8CAC3D2A0CA402315D6438E692B35A04 + F4CE4739D5900C2702FCEC475B36FAE5 + xor-digest = 887A1880D92B4A537DA27B0DFEF24577 + 6AEA48D8181765FBE0B8FCE1AC31F1DD + C708E27BABE370A9917BBB1A04D5C5F5 + 0CE80D8AFA1D0B973656E31BFBE7A9C0 + +Set 2, vector#216: + key = D8D8D8D8D8D8D8D8D8D8 + IV = 0000000000000000 + stream[0..63] = 0F4C6BBAC43D9E2462011B425B2AF0AA + F4F4472749219FF58527694610F805D0 + 7F4C123A22A0197EB83F9A57998E1AB5 + 8842166B0C0E5043EF09C8D722C708F0 + stream[192..255] = AB5FDFC97BCE171542082239F53EA898 + 04BC492CA2B553DAE61E21EBC93B5F66 + 2137CD694C3E5DA06EE7261D85D3AF6E + 8E22D3C9875712F32973CA0ED1AE3A78 + stream[256..319] = CB76B3D0FB156CC9FE83D12A2ABA5151 + 2C93E39421D047949C711CD4DF1F0CF4 + 3543E43D30B05F9CB43305BBC0AA283D + D6319D394D28454D6234A7F7FAAEF816 + stream[448..511] = 8E5834B84AA99477DEBDACD3A2E4C976 + 052724F43BE308F9BBDD60D4745DF427 + 2A3DA5158254CDA83CED7184ABBB16C2 + 1E3625395B5DC4E319300CADE2E77D96 + xor-digest = 9FF217552AA3F9DA75CEBBB092910F4B + 6FEE6498DE03A0A4DB78128B054D167F + 4E8F823254CA917436E953BD67D5C240 + A819E7DFC920347704D6794F82DCA205 + +Set 2, vector#225: + key = E1E1E1E1E1E1E1E1E1E1 + IV = 0000000000000000 + stream[0..63] = 40C7B4C41AB6C3E2179CF25DC2276CCA + D584A4E951579A65677605E1303C923C + 786808E552200C8E18BAC59824AA0A54 + B7A6397A3294D9CA7F9DB39D4E9E541E + stream[192..255] = 498540F22935E1A2FAC6A35A0AC09157 + 08F0C080EDB69722C13155AC6B9388D4 + 18283BB36140B18F8DC26A1B63B9CDB3 + A5A7EA22C22A8B24D43D51EE7759F077 + stream[256..319] = 0C9E0357AB612238E736132E1C1E6E43 + ECBC8C673AFB1BBF384ED3E0C9FA19C7 + 4D78A10D8FE077FA235CF70809F0725C + 5893A78D1C0189DED7BB545C5D2063C4 + stream[448..511] = B70C2A4129EF227A54629595601F6B2A + 3DD3C6C0758D4990B7DF370DCBC64E85 + 519755E40413ECF512CB7B0043659DB4 + 1BE20D5131CCF8F7361E64ACF5C31C1A + xor-digest = BB8038D54EE67191F226FF34CCC34B9E + 2145F0C0BDF4BF87A42AA8AD79C7CD86 + 32ADA42422C430EA072391904BD47162 + 88C2CC61CED32E82DFAFF670F78412C7 + +Set 2, vector#234: + key = EAEAEAEAEAEAEAEAEAEA + IV = 0000000000000000 + stream[0..63] = 6C2F2E1D7A0337D560F641506E8D60D8 + 999BBD4DD4F8FC9D7DCB38E916CF8E0E + EA6E55808BB5B495B61EA490C4DF9324 + EFCF9FD16A4853734F8AF24049E300D8 + stream[192..255] = 57BE8A966F934529B03162936FEF4323 + 0A34BC00466703C175D84C7DF011D06F + 422AEE49B038D7C4914E9C5BCDC3D208 + 1ADED025425759C5EB158216E7A8E67F + stream[256..319] = 88C5E2EF4F373FE7FF4CF0CBDDE0ED64 + FB5F508C96396A7FCBFB7D167BD6EC42 + 25D77AD6C5123BE34A323DC89D89EF26 + FC57DD710C0E726711F1F06F4857F85D + stream[448..511] = 08846A7AD09A950A70A6ECDC7C8DD7B4 + 6776A0F53A7F5479F10DCDC99232B97D + 27D9D0B98882DD886792326A04287A22 + 7CFE1EC7A1575CAA637CB7EEB768CD38 + xor-digest = D4A7213EAFB88345DA7163E4B80C3D0D + C3DFD8DA99D54618958CD4274119A929 + C7C2E2EFB81FAAD6FDFF27BA2CA7455B + C906134F123C63266657AC934F48CDD8 + +Set 2, vector#243: + key = F3F3F3F3F3F3F3F3F3F3 + IV = 0000000000000000 + stream[0..63] = 917AA15D45025A23C5B9E2F47932C2E3 + C3F97B69547775A433A9224E6CB9EE8E + 16EF22299310E184BFF5BEDF77A9F9B8 + 9F3D60D7D9FFE0ED1EABD48E1928A84B + stream[192..255] = 11FD219FFA07E90DF1FFB53DC198238A + 30057C16D107F03A8C2A2218649205CF + CC8487DA92FC7A8DEB012583E2387BA6 + 3FA386A94C2E838C37ADF1152DC3BEE0 + stream[256..319] = E75DC42230CC855974AB1F25FA9A7780 + 2EC221892C6DCCD8A4E7000973AF53A6 + 62720CA6478271CC40812BDB8BC5FBB1 + 2887FC6B2061B32DE0B7ED5D483EF675 + stream[448..511] = 1571D95A132DE14F942A4D59EAC49B24 + 621B254ADAEFDD177C8BF6EDC8BC73CF + D7824CAA8B11F8AF349A033A77FE446D + F1DAADFE4AE98C114DC5CE3FDD4174C5 + xor-digest = 0B6C52D155921E579F8015A416DA729A + BD8189C24CA90060AF514622B23C66A5 + 1C126171758DF78E839DF446350919CF + 47BAB610004447492960340FA86DDC4B + +Set 2, vector#252: + key = FCFCFCFCFCFCFCFCFCFC + IV = 0000000000000000 + stream[0..63] = 899263A9CE37E955EF92925D42E169EC + 6AD615497E64ECBB0B74EAE669E07D5E + E51589ACC4A532C39800B9E7D0CEC6C2 + 148E739188611621187262E7325E6394 + stream[192..255] = 27FA737AD5CFEB8CFF53C59676BDF696 + C871F29929936C20C79718E7E8931F2F + 6794DF5022A4C2F107ABB5055B289E01 + A4F38B9A7F97F9808B0499C6E3B135FE + stream[256..319] = 2A19F77A9046A7AE2F58231BA31F6D10 + 2911262F25DD812CE4FFBD41FC1AC736 + A60CAFDAA43CE81A4E5A93319C58937E + 7DC7770FCFA3342FC86D257BAD5E3B6D + stream[448..511] = B940EEFC92CD38E1A9879B60BE3F29CD + 44A821817D2E0741418BBF0CFF82CB7A + 71F13E41FF6F8514617EC7F0169C5B1C + 1877F13B8EE2E8AAD858EC140DA115D5 + xor-digest = 180290ABAA4037BF689D655BD8DD6502 + 613B775AF0292E2E9F62E801FDD79DA8 + 1FF10467658850F906120A068A087A09 + 0642A8C1FF4BA0AB489EE1970E1F8829 + +Test vectors -- set 3 +===================== + +Set 3, vector# 0: + key = 00010203040506070809 + IV = 0000000000000000 + stream[0..63] = 8FBB05938890C28EBE13198462538950 + 92F406DD9041C3CD66377E3F6D485E50 + 7D72DA710BF895BE5BE52BB35AF1CF13 + 666ACF4EA054C6C9246306C9B3258E28 + stream[192..255] = 62E317BEEDF69791916694AD3792292F + 8675CCE8DB535B2199FE93D5C128577C + EF22210F1DE65AF3B89612CD708B23D2 + 21A8ED85B7FC23076B10EE089DA913DE + stream[256..319] = D51EA2973D8E0AB49ABCF8BFEE3769B2 + 844A67CBDBD78F91ECB11B3CB3353B24 + 8238DA823816F061D88544E46B91F1ED + 2ED4B1A4F051DFE9D96F5BFD748FCF1F + stream[448..511] = 642F22F11E3E2F6E5D866D5031F22177 + 7443EA532911427A7A1FE9084D1BBD3A + 8C45638E83E5C75B20929BE96CF19902 + C3DB6990C5CDD8ABC8E9BD2B3532EABF + xor-digest = 8169B575A5D7E2599C592D4DC87F12D7 + CCA4C0145C5CA5A1C7E85233AA2FA8D3 + 911130F4650FC273AF1EE563DA881D45 + 4356629746514BA4249C92723E5247CC + +Set 3, vector# 9: + key = 090A0B0C0D0E0F101112 + IV = 0000000000000000 + stream[0..63] = B456ED402C2D0BA0A67187E36991AFD6 + FD45B256507998B6CB272DFDF27581AD + AC07CCC11EDA08C21B69B550E8814470 + EAB44C98B526996719575822FACB0A37 + stream[192..255] = DC6FD0F484C129D6AF7EF43DC7CCD9AE + 6D0486865CE19F36143F15A3D95FEB36 + A7E7ABC8102C5AEEC675CDF06BB05B40 + 4A8766E95CD7AB9D596458D996D37771 + stream[256..319] = D34F788A453B2BD77EC6C59EA34A3CDD + 11B64AD8162CE48B3608E385D5C61C64 + C0046D196A1014C436FE8B5A18A4D7D1 + E324D4A59A4FC05CE42FD6B6BB299463 + stream[448..511] = 58230440A10F16A04B3C4C12B52BE3C6 + F07AD9B3036BE38965AAC8D35FB68E8D + 62547D73B756BA51A354BE3FB86B5879 + 9F1542E4BD89A7B465284DAD409BD89F + xor-digest = F83F29EF76CABC8BE7AD0B7BFFF6593F + 98FBECFDB72F155970034C71D8CA8819 + ACB39A39F296750DD348BB6E9E112E69 + 2C4291A5EA1F470581CCB2F1A70A3B71 + +Set 3, vector# 18: + key = 12131415161718191A1B + IV = 0000000000000000 + stream[0..63] = 67BE253929BD2FDC177967719D13AC28 + 23A963D64868570A3943D1372E9D5670 + 010EA80FEA3D4853C931C6B50D335618 + F568EE0C1AC01C5C4A037D3B0221B8CE + stream[192..255] = 1C6F72A97CD629942A038CA2082D7169 + 71891185735FC85C70CF4C8615A7456D + 1DF9DB6AF9610C4768BB09D0F076B2A6 + BEB583690E65DC810BD7F3A7A3688C98 + stream[256..319] = 6FCF9DA032B499E0C29481906D4A9858 + E267A063113E212A81142E18F5E446B7 + AAC30FDB58E41FA7B3DE4FD5B53C32CD + 0014362FE73D8F9B5ACC3DBB571A42EF + stream[448..511] = EA420FA6DE60166F78E3979342202D0A + 825756DF62BCA0990EF7AD9F3A917FB0 + BB4E9A11374F3583EC78A531EBB11559 + 8680FB37D40ED4AE586EF3B33C235A16 + xor-digest = 5FAD3E75389305841D7376B549304404 + F13118F31447D9AA2528AB5A7ED9A7DB + A8F2682E96EE38F450200964EC80F253 + F9D9210E22D590AC4D903AB51585D868 + +Set 3, vector# 27: + key = 1B1C1D1E1F2021222324 + IV = 0000000000000000 + stream[0..63] = 9414A3FDE5CE63191CDF4977FC1B722A + A8F1F76C76CAC1CB420BCA2BFF44467B + DE51B248375C9544BD144ACD71D2C797 + FB32C4F02765CEFFD7AD6968E8561F23 + stream[192..255] = B24CE417EF0C1F74675CC4FE8551C280 + E557A12B44ECEA330068C34401CFC3D2 + 76448BB7348D50D72FEA430DE424259D + 8F911E2A3CCE5FDB4D52BB7A0292DBFE + stream[256..319] = 865EAEBC52AFE97606D6F088CB55FB96 + 65647478E0DC588BAF60DE33D2DB9CD3 + B62E584FE307C974256C1BD9817DD0AD + 24127181247EB65B76ABF199F1BF42C8 + stream[448..511] = BB1A64FD78257D141084ABE20C6D9AE2 + 4E8A6F985E19A82B538F1E54E3E1BE75 + 2C8C1044DF633BF8326CF6D4972AD66A + FF7B3EE201861E9C89139D422B420AC6 + xor-digest = 9713E0E5704FA43A3E9EB406A5C13FF3 + D20EE8E84D33BEFC8264CF160425E231 + B849E18D7BBB26A63E375352E0D1C1CE + F9BC8B468B6C856C22AF0D4C7AD59EC2 + +Set 3, vector# 36: + key = 2425262728292A2B2C2D + IV = 0000000000000000 + stream[0..63] = 728FC5D8E9DB75D401696EDC029B6DBA + E66E3F74D203A1CEA43CDAA79F71D0D3 + 8BE427C4A20CC18F5FC7EA025563E2C1 + 613C3FDE0FAF52109E000C3119DCC42E + stream[192..255] = 2CBF3985AADF34A4FA76CA990753C801 + C71B161C59445C70EDFEF6DDA8E2452A + E1B66C43685F5457DB8B0CB38609C5A7 + 9B131F6A0A28F103352C0809054608E5 + stream[256..319] = B7451EC620EC92E0B23F0F8BD813F0AA + 33CC865A7EE5AAC215A9001E15BA87F7 + 026D78F00C8038A56FE29047D6A1B532 + 5E75A79154F419ABE45E63CFE46C719A + stream[448..511] = E79F738A940D21613AEDE8F5159D60AA + 3ACC145439ADDB9340CC6A80C67764E6 + F091E6E9D7F0F1624561122A34F718C0 + FA18D9DC9CA6EAB169AD64A63039F2B8 + xor-digest = 548F20CD49881DDCA90E3A48FAD586B8 + 1BBEF350CF2E0907BC57B11FD61457AA + 240984080A805743FBA5AAE7524E26B8 + 995F848DD3A7CE843CDC1EB23B0C55BF + +Set 3, vector# 45: + key = 2D2E2F30313233343536 + IV = 0000000000000000 + stream[0..63] = 77F2C518041023126A69CE4EC79CF615 + 8DC085790135C0148C5F57208740DE6F + 02CEAEF71ADD6CE94239978496C653F1 + A84B7AB0D3C4530877FCA886971CF6AB + stream[192..255] = B592A4799B92D84EFEF8101B9393D214 + 3C4574421A3DEE6D52D7B411AB94199B + 521F860F75421A26DD7A40C61EA27726 + D20563A86A9C545DE1641BC8876954AF + stream[256..319] = 6B5CF0A2E44329C41C6FBE0CC38B264A + BFA99C27E4C8C04A98CAE3DBBB028B0B + 98CC3184432EEA1327EF9EDEFE8F4B25 + C4C2ECCD624BDE98C32968C3437855F6 + stream[448..511] = A3F48AEBE55DD8D0EF7034B969FEE52B + 159A8E1B64D8D322F1F7230C98E4FEE9 + 4087ABB7E83078260584D32845A499F7 + 6466CC0375579EA68BF233B708597752 + xor-digest = 60F5543EAA07A4C209F7A2913B0424A4 + 109FD4D36B9FF2BE37CA04976E094A48 + A4020BEC3B8150CEE281FB86C3EBAE0F + 1B0A80FD785ADCF153FE8FC048D52C20 + +Set 3, vector# 54: + key = 363738393A3B3C3D3E3F + IV = 0000000000000000 + stream[0..63] = 7162A7EFD5F94FF52F861C7635F37F42 + 6BAA72657B2F062265247E6FC540B840 + 461018118515F0F40250F014E6C51252 + 54A31A9EEBAB6C68CA269A03DA673C30 + stream[192..255] = EBAFF76EBA8D7CC62E7F0D663A5D8806 + 788D3ADE006CACA5402D000062A35EA8 + F007EE0859A4132C19E15E423F07A6DD + DF81232C51E6AA7B7B8A9D5CD65F27DC + stream[256..319] = 40E2ABF3A038D695708FABE6DF6534C5 + D10E54CE7F34F89D16852183E0F9F8E1 + 867C10B45B6D7820FAE61067EE1A2B41 + 0829345A403456367FB8222110C4C687 + stream[448..511] = 17F7D977F1CB048938FE517A73DAE10B + 7811EBF3EE2C6DC4D9951358BB168DAF + 9A339D7A90597C862E971FA89B7EBBCD + 0F1CD3E9962A44D4E9DB67CE6CAF3B5B + xor-digest = 14B19F2825BB22EA0A1FBBF953647A22 + 25575FBA5E159D8D01384AB2369AC76F + 59BA29828FAB3CCDD8E133CF83FB4C24 + C76FA7FE8AAC72E629EB764B50814E4D + +Set 3, vector# 63: + key = 3F404142434445464748 + IV = 0000000000000000 + stream[0..63] = 2F2A5B1D3258CFA82BAD69EE8E8B5259 + 8E7ED89CA7A6DF55EC65BB6EC6E83CA5 + 0A29D8AD54761C3B6CB952DD39539500 + 867B783939F4A64627357604D48369C8 + stream[192..255] = ACE1C17F6154D45CE752CBB8DB7EF01A + 2CA4D6D37D92DC25003DBC4ABFAC22CA + 9E252BDE213DC7ACDBA695C1141192F4 + C09EDBA198B5C08DEC404F622A27A5B7 + stream[256..319] = E7BC2187BD3EF07557DBAD24935D7EB1 + 3AF246EFB93113068296C96A87902384 + EA3357AF49D17643E48EED5F47350D68 + CED7AC49CACAEAD33D96DA05716E79FC + stream[448..511] = E639BC49D5FD94E06C9E75D2D910B7C1 + ADE5EE5F04A7C3654468FC362CB537E4 + B90146B60E78D7B08B08AE483CB80DE6 + C111707356968B3A10C44DB148CDBDE4 + xor-digest = 4E4C67CEF3BA5C443BDAFA309AF1F3EE + 69B0D59A260B8B263C71565C4B16A1A6 + F31E038D0507DB40ECFC6213F20ACAF9 + F2B33E024290E85B54A03CB8FB8A7958 + +Set 3, vector# 72: + key = 48494A4B4C4D4E4F5051 + IV = 0000000000000000 + stream[0..63] = 11E6E5763F2AFD0ACCE3E6B7F4188205 + 2DEBA7B14C276BAF3ACEC85D3FB1C30E + 3BDD2EF764723DE7932900C098DB4C76 + 4236FC6F45A1256A0DAD7EBAFE9FF19D + stream[192..255] = CCBEFD20B01C85029525FE88B4BB2004 + 2DE2052F83179401A37713801F113179 + 5C98527C34E57E397FB380B32A5587A2 + 58DD1F869AD6BA38F6CF208F714447E6 + stream[256..319] = 82DCF2E56CD51574F71CC3B78088D004 + 01CF5E2CD2A1E7709B27EC0968ED1958 + 4CA99E721982BF8D199C047FE7D9226F + 2FE0110A75B3CE589D1C6DA527A74425 + stream[448..511] = 15AAF46C6F14E02FCA8DDF91F07E5104 + 7D0D8F4B6FC44694D7834B6BD09736CC + F7722BD45A3265841981164B7CB95F0D + 280E306467318E37875425B41377F41D + xor-digest = 17595C45C3502CA757C005B36B101F29 + 75DBB29A38F0AB5207F3C07F498DB9F5 + 2673A976174408AB5B63B1F4BD8E659E + EB9AC5D9EF903C701C8CFF8E98C633EF + +Set 3, vector# 81: + key = 5152535455565758595A + IV = 0000000000000000 + stream[0..63] = 15B36A37BE08F56B2756A595919A4099 + CE131F6515F976DB648550F4BF77511C + 57CED51989270339E281DC2630B761FA + FEA435DBBCBBB5D54A290C42C40821D3 + stream[192..255] = C2D48928A3EA49B9EB641DD6698D0A43 + 4A91E81C69DFA82561B3659E0AC2EB12 + 33C489F79120A31DCD57E47478C11E4A + CC15BE6BE3A78CD54D502F392A8E2B9A + stream[256..319] = 904C54A47DA194D017FCFDA84A0A6917 + FA85BCF4A692D5B8F286CDB0D55C6C10 + 4D5341AFE9BED71B48C265D1006E3C73 + BD757D95F5B0796620CFEF13637CDE67 + stream[448..511] = A046675131EE800C6FF1017FCFBC463A + 2C475563BC2423548C794F8453E57E16 + F1ECB9635A35D3AC64B1BDCACE1B0CC5 + 62EABB2D351C5D7F8B08CA0C82BED1EA + xor-digest = A4D226F44A8815D2C6A83AE8DBE601E1 + CDBF010EC2224CC3F27BFC06718EFA66 + 64022CAD04E73BA0ADE44E4B2979AB27 + D794B0D723D598C6DA6011C8B1D42A3E + +Set 3, vector# 90: + key = 5A5B5C5D5E5F60616263 + IV = 0000000000000000 + stream[0..63] = 15A6AAF067B88A6BD5B4A66BDD6E2760 + 04E0EAAF79927E54663BCE6EF016AEBA + FBDBC85030FC8AB22C074DE4B608D822 + DB06846B4FDD62AD64051579F80268F0 + stream[192..255] = F8F308A3AB7F4A87E3DCBAE1E52BCBE5 + 4AD50851F7CCD498BD23EA01AA8F181E + 37EE849F9E5DB749D4A3F31EA010FA99 + BC36E0031D384D803BE00A60712B69AB + stream[256..319] = D64771E1A9E4FDFD12010DD24087F046 + 0087D138FC9F28D4EE99049BDE073E90 + 121405A76BF8B465C73595C43EDBFA3A + 669098F409919036E7A8C2177B37B3E5 + stream[448..511] = C6F9901654A9229AED8A65FA98194DCB + E32FD084D4D79B59C8C4FE383757FDA9 + E890CF0C4A7A1A9EAE91E148A12C6194 + 2B76E4726F0C47E5C07EED8C4F04F1F6 + xor-digest = 5C7D6B728EC920772CE3AF1759BA8DC2 + 42C8E35A4E498BB87B5802432F71E1C8 + 8D2C5C01DAB4F0F9C5F88FDCDE9AF13D + 5DF1EE60BF98479BD9D130A319ED4DB7 + +Set 3, vector# 99: + key = 636465666768696A6B6C + IV = 0000000000000000 + stream[0..63] = 0AD5708246A177C95B49CF625665BB4D + 90E82CB734693BF97D455BBC443ACDB4 + D1AFE534F14150409019A00C61B3059E + A257A4E70F4A211181BDFBF3D9243A46 + stream[192..255] = E17DA0C501B8DC177BD62E2E98FB044E + C18B2BE05816B2C0CBAA580354C93FC8 + 29B694F706202FD8A717D3F8EDDF3173 + BE27B60FE1481DAF8608456BA40A2B45 + stream[256..319] = EB15011A7EA818F63D3CCB5B64ED5FA9 + F322142927F6B7351F4FAFD40A7844BC + 9FBF450C6432FBD80D901BF650C852B9 + 824CBD66B820214EB11576C19545FFA7 + stream[448..511] = 3034ACE6B026090C1EEDB6B8A13E888A + BAAC4A1AEEF976536253BE061A704F61 + 43EE4D320E917E468FB87EF5731BEC9E + EE87462C59324A34EB002C8999135CA4 + xor-digest = 99C46E0265CD539081CBE47BD2E6480B + 6403A97E6C5E1BEC41FE75D90F823AF0 + CE0E3A1402468DE669A642E7A68C70A7 + 247DAA556628008016E03CC6D6D562B6 + +Set 3, vector#108: + key = 6C6D6E6F707172737475 + IV = 0000000000000000 + stream[0..63] = 18A90F5C4E94A1E97D4CD19D225FFF4A + BE6F82CDB7C898339D551AFA1D0775CB + CB73423260FCFD5EAB8964971C396656 + 4287D1D7B2CD4668AAA7B49E04771E0A + stream[192..255] = 8207D25C36F5922FBC667897D557F1A3 + 533A4A17B4EE8709BFE1AD84A6A4136D + 45163B13098A2B2C5611D618EA253374 + 1543A6DF88F0F59DD4952DC8770D7161 + stream[256..319] = 978CFCD34FB5147D5C2857302C5CF77D + 9071F292B491E63075695A2D057419CC + A5BB58BC2D5A0CC0768CEE290AEB9973 + 565E67E2E2E90D7EE74025FAE3C651BF + stream[448..511] = FAC21AF2EF250348F87C73FE2E7D4A80 + 6C79052C516BCE0712E3DF268032D476 + DFCE4BBF856B9A4D266F84D98D710D85 + 960FB9D235325994F6625DB6A2481BCB + xor-digest = 8E8A446199FD7F7B2C70781379CE0D1F + CE2A20420B409E7E51A5A0FFE036D6D1 + 111477462A598161B9F8C8DB2D8B5FA5 + B9690C2A1375C83FFCA14E3609F2562B + +Set 3, vector#117: + key = 75767778797A7B7C7D7E + IV = 0000000000000000 + stream[0..63] = 6FD19988C036138C2208713FDDB256DF + 3A82D2B644F1086AB7658CA1D9A907E7 + 12035F301B748EC61879118E218BEEF3 + 39ED631DEF5B52936C58DFD2E278E82B + stream[192..255] = 3CCA0595C340CB3A21F3B68BE4C8A2D7 + 7EE6420C30BF2640E394661BBB20B94C + 7F257005DCC24DCACAAE7B4E366F8B0E + C50CD5D55A78B4C9613397D925AB7740 + stream[256..319] = D68D23E413C47390647810DD30D99358 + 8A909FEA63BB74DE6BCD4D78C43E2614 + 84EEB3943AED8837A91631EABE18E395 + 26D164D4C36AD18835F5B9D2C7B8B839 + stream[448..511] = 2417E102F0BB6D3092047474AC9A0D74 + E5308B7EE9A31C1EB06E73A44FA8ABE9 + 61DBF175CF8952FA810435288549F712 + E81AE7C5C65F10680093B4200F591550 + xor-digest = 3739985F5BDCFFEE160E9B1687DAB5FE + 236578BFD9B56082F2B1A557B6463DF8 + CD017789EFFB4A115A73D56D84D0EEA6 + C7DA5FB7979BFE3DB94476D543985FCC + +Set 3, vector#126: + key = 7E7F8081828384858687 + IV = 0000000000000000 + stream[0..63] = 3B427E33024635136A0E83BD9647D8DB + E4F69563632C1AD0629711EEADE4A078 + DC9E4038F72AC4240D0AB7A478453C23 + 9EB0983B6EEBC9301B1B734C50A5358C + stream[192..255] = 4DE9DDE00CB99D194BD42AEFA1B4CEEC + 673E8771281909EE7B21FE320B9F157E + 53477EBADB39E1C533CB542ABBEC949E + 7DD75E2CDF4F8953CFE2658391A975D3 + stream[256..319] = E13306970335C1BC94190C578BDFD236 + 079E03794C42F3E3924DC10329E58F9A + EF1A0E1642ADB6CC172BA9EC06ECB8AA + F4AAE185EBB735AA7878B4DFB4D70F73 + stream[448..511] = 95758DCA555D7FB0DC4E315837C8D009 + 67AC5F307EF77EE40E4D44E2B6EC0899 + 074428A478900DAF4DF9BCD6791D891A + 8BD84C81A74C04947E282AE40BA16DE4 + xor-digest = 0147757DC10372B87DFE9CE3BE85EDBD + B172239F075A84821C5911095D95DA72 + 34BB74F4E9E8167AADA47C5F3C60BB11 + E999080F233C9413D4DE1725D5F4732C + +Set 3, vector#135: + key = 8788898A8B8C8D8E8F90 + IV = 0000000000000000 + stream[0..63] = 1B9857EF439C34749ABA9CE02055DF15 + 9AD34187D97F0C3D56F3C3CB60891968 + 2F6393137AB98C1723ECB29B760C3028 + 6744DDD6C62DFAE05B17F01F2DC1B48C + stream[192..255] = 8057723D83EAEE1AC388EFFA606BEEA2 + C8AE9C04A53C6EEDDA04A903539A7522 + BF406997C5BF2A182E0BCFE96290CFDB + C2DF72A10B1E89B7702459E752FAFD9C + stream[256..319] = BB727DEC7647FDACC6FECD8B1218C26F + 5BA1781072852F4907EB3BAE57344629 + 09D4266A7571D1B3379BB62E58B8B024 + 49327F7C4B5A6C873E1EC4B2BD67A396 + stream[448..511] = 139D2F15D86271EAE4978A8CFFA6358A + 402E3AA43EF47A3E3FAA90A5AF4CFD57 + 8693393F9EB42ED8A5889BBF48F2554A + 6D7CCC1520E32DB2388C6AFAD4EFADD6 + xor-digest = 9C7353A84717D9F41EA7C71316826B51 + 9029F1849C29E87528191CD8CB412C64 + 5D1A35EFF919C75146B0D98D075CBB2C + E49C005F1DA8AA30EC5E9B3A4F9978C6 + +Set 3, vector#144: + key = 90919293949596979899 + IV = 0000000000000000 + stream[0..63] = 8F40F554126F135C3EE44BEC9E17813B + A17C482EB34DAC1AD2B0D7809F4E70A2 + 2C652CDFAF80AF56E871E30F6E4A2C2E + 2C228579CDD0BAFB27212584217BC1E7 + stream[192..255] = B84B4DFB637A1DDA0EABED599196D06A + D4A1C7BEFB03C751B05DF05E632167CA + 27055D454734A4DB771E8625B9BC0623 + DF054B30AFE0238837AB8744D559E3F6 + stream[256..319] = 21FC131A504B2C161172AD4FFF4795DD + 0AF26EA5DE0853FEAC20624B30075B8F + A920BE1E60AA2C3CD774EEB1280CB89C + 61241551D7CCC9E6B7B5864FDD8E4D40 + stream[448..511] = 220F42D646E5790016C95924CDFDAD87 + 913574CF985FEA3079A7D4A0CC4A9009 + F811EE91258B81C7EABB401153E5AC61 + 55FC7A61309AB7C3A2D00A88DD23CADB + xor-digest = 7558D5AB744B5B6319CBD471D9A5223C + 63657D7DCB4F4B2FEED1C954AE4A5FB1 + 20E8F969E3403F18CAFF35A63E1FEFA3 + 40D39504FEC642008B625B4C3B6EC2FC + +Set 3, vector#153: + key = 999A9B9C9D9E9FA0A1A2 + IV = 0000000000000000 + stream[0..63] = 65CD1BFDA3AD37E86331BB02D1AFE4D8 + 484772C9EC97FE691F9A43C13181E039 + DB2AE113EF2CCF17988F2FB8940D06BF + E995833254544BACAB4EC85B3BAC57A0 + stream[192..255] = 2A104806AE18383DE8F11F71B084BEBF + 4408310FB140940E7451286BD8EC46EF + 05CBE3BD8A2962B111E456F637F0BDB8 + 0424A126F0B783722FB3D2C3EC91EBC9 + stream[256..319] = 88BDED3D8843A8FEF37C2236C214C912 + B8ABE628BFF17A5705CA86B4444F85B4 + 00DD84E173F69640ED5CE98F0D48B4B5 + 8A9F45EFCB94A9A4FDEAD493ED8C6968 + stream[448..511] = D2C8FBE1EE356CDA60DA9CD517B685E7 + C74208369F6515D1C1B5BB7A038D92C2 + 7E4C0236031C2B76264E57D28973EEC7 + 0C3996B4C4AE8D9D19DB6C1302A14EFE + xor-digest = E5D2DB5200D4249D8685739DEF194796 + E64DDCC5A3B13DA2ED999C6597B1CC06 + F4466BE3ED2FE4D6532F95179F7D8AD5 + 8E41BC081291A131081067391AA921FD + +Set 3, vector#162: + key = A2A3A4A5A6A7A8A9AAAB + IV = 0000000000000000 + stream[0..63] = FC745B2ACEEE3E0C67A57FA3E0D61AF4 + B0C7D6CDD3B7D671169A1ACA514FCF03 + 60B35CB1AB0A21635E4662F413A3060D + E7B8537FD6F821B5E42B476F929E7945 + stream[192..255] = F37E34F6138D6C3BDEE7BEB5A924DE80 + 8E61913F2294E88EE3637D0EC58206BD + AECC26A34640B0B72440A54254E06BC5 + B73AE768030342D118961F38C9B3528F + stream[256..319] = 1E4D276E37A8757B463E0EE802C82282 + DA0361DFC75FB10E2391E3745CA89C82 + 91281F442A123CCDB8FC320D4CDE071A + 4B9DCD91042F359D60D8CF63426D5689 + stream[448..511] = 4B0D95B6C37BB873C51306ABDD966608 + 7DA067CA3DBB57E4E9C226CFB3D92277 + B9397C42D9178448F2264A7147C97BE4 + F4014308CEE9ED7F5ADC1DB51225BE44 + xor-digest = 28FE5EC64458B95E564A01BB6290889C + 031744B80E7C27262002172F1B724A23 + EE50B4406A01C127DBECD04F4B8AC9E5 + 31B7791FB4FE84EC24CA404AD57C902F + +Set 3, vector#171: + key = ABACADAEAFB0B1B2B3B4 + IV = 0000000000000000 + stream[0..63] = 41215B1F02C2D912E82584631C5F85A4 + 4987127584E5CCB8C01E26A2BEE5065C + 84A3FEBB392F859516E6728F43308E6F + 0CD08C5023AD5017FB87C879E589F129 + stream[192..255] = 22C9AD380AE1D1EF211BA57DB5D39E5F + 834E95A418907E4D89697EDEEC748392 + E6B98A7302A2B615419951C5F646FD8A + E000B5472FA1E83A0B68A7974A081471 + stream[256..319] = FD35879DB6122BCAC0B8B9268EFDE167 + 2A28F624097865E62EC7CB8920DF8975 + BC1B3A960870D882740B7BD00F3B4B80 + 84D62D7FCE3935FB45DB37F7F45A11B2 + stream[448..511] = 6ADEB3F5C0B0C301B1DEDADBD90E1CA4 + CF751C99E7021CA911D5E70E06738515 + 5EF540B02B81CD51A6E8B8FFA9A6B9F4 + B2DADDE52E63ABFCF3A76BF7449424FB + xor-digest = 525C8A60B8824E0D270760CCDE345C15 + 10E2B70729AFE7193EB82E46F9210181 + A81E9AB5ABCF5B35FF0640CD6444C05B + EAFDE2D10F1370494A8B1EA7F8618839 + +Set 3, vector#180: + key = B4B5B6B7B8B9BABBBCBD + IV = 0000000000000000 + stream[0..63] = 0903EF2F01532E4314EF63AC651CE737 + A22E6296506DD8411A4028680D40BC63 + 1947E4F5E0B1D3DFA75EBAFB5D59FED7 + F84830610B28CE1651A8B54F5CC68814 + stream[192..255] = DC4F70265E8D9BC30CFF73545B48A9E6 + 5C4B0F5F2B196013226A97BED640C341 + 236971D5AB0A484E9C183FF0B40A9D23 + 47785DD6B14C6BA7E543DE0FBE72E4D3 + stream[256..319] = 9CD784CE89D4B9A686BC024A2522D887 + 748768CA545895ADD33AA464A35BBE8E + CC0F718793A947F24E46DEA47F0D3375 + B6DDE773383214C176C8ADC2B90C5F5C + stream[448..511] = A7EEE91CBAF14F5EA320B527B5A8CCC2 + 418085671A4C07CB7A5B23E325B9C2BF + 4D0A14D07A90CD801DB63D7928173D43 + 9DBE661E2FF8C4D9527A4C9B01DA16AB + xor-digest = EFCEAB4A86ABC046C243EEB978E7A868 + 61278939C65E6E5111A54710D13F4B64 + 912499A79BBCE0626992428A9288A827 + 7A795AC84F0278909424371295158243 + +Set 3, vector#189: + key = BDBEBFC0C1C2C3C4C5C6 + IV = 0000000000000000 + stream[0..63] = C547FDEB9B21D27387DED1CE013D0A46 + 10A94591337307D8490D084FB06BD1AD + B2801FECCAC1A76F96E89BEC2E7FCE4A + E83BC212CF1FA03E027D6F8D4078C12C + stream[192..255] = 16348EDFB0B34556E129351D6C032BB3 + 3E546782156ACDEC901DFAD6957F4DDB + 40DB1EEB4DBDE6766E345CED3977E27E + FE7558277CA6D731B46C2EAAA730AAAC + stream[256..319] = EBB90ABA8A69AF960E2B34DA73808CB1 + EA579C94AB52F2C6810FC6286091FFED + 966895AE0AA12786365D03982969B594 + D17AD0034E2DE3B8F6C40F2E18484896 + stream[448..511] = 614EF59DA86EA61EB83ED7B1522C7180 + CF698E9AFF4BC3592F096029A54161D5 + 0C5583ED6E61FB62787EB5B452B60A5B + 13378D503564A7BF2A46EE3DD31C3ADB + xor-digest = 8EC82878F9636990BDDBF035B73BE82E + 2E9A8EE901B30983CC733915292200F1 + 42ABC0C1C8BD959699019913036E1C19 + 021AB686C731F3A3081D5234E59A0CD2 + +Set 3, vector#198: + key = C6C7C8C9CACBCCCDCECF + IV = 0000000000000000 + stream[0..63] = A3AA3180C990066993F39878F1C3609B + E8C1A940EE843F258215DB1E515A594F + 2BF9313400DE866DA29E79EC8D76D156 + 1A4CDF04BF3291EFF33ABAF0E87B0B74 + stream[192..255] = 30EE63F80C38B7C0A565E2DED188BDED + 0DF23A2CA3443A4A9C4845720F983098 + E044E71A847014E62F4A1B25842115CA + E95687AC67FDCA4D93413B241E651449 + stream[256..319] = C8010EC7569B93F56F200F6C27022972 + 5EB75A4CB48C1CF776EA343D0141B458 + 174BF25A6A0C25BE0A0497CC2EDFA356 + 5C10CEDB828AE79006C6F1745EB89508 + stream[448..511] = 3B1D508608645DF5BD9CE94A87F67EB1 + 3005F4C18DE8A1E8164CD671A7DF9949 + A0B2136489F5F48BA768A97031A3CACF + 14EB106AC087AC2FFA7C67592309030B + xor-digest = 575EC3CEB730350112AB5528E185FB41 + 54AC64F2B9F74E4D86D23313F6954751 + 3302710988AEF31F7E99C3585F48FD81 + 4A35CD4129352076E78D389BA6F278A1 + +Set 3, vector#207: + key = CFD0D1D2D3D4D5D6D7D8 + IV = 0000000000000000 + stream[0..63] = FFC6F717F60B07582C65A6365B391AEE + 04CD8F7EC56134CA8C3C9DC4590E30A9 + AAF7AD4311EA954BBE34E966C3A6309D + F888D72D8D52B9598A2F023F9EBC7A43 + stream[192..255] = 06D1C4ABBA55E7CA94B37F4D00BE5C0E + 6C10F86AEC2ACFB15646EB109D2B048A + F3F0F40505E9A9819891444D41BDA588 + C0599C921483303BE10A62A734D6F0FA + stream[256..319] = 5DC3E96DEF5DD5C68F2E93EB92D73583 + DEA71E96998C8B67DD0896B5C1C16902 + A8DDD6FC3D072EA2DE7702F99E66E200 + 52617CE8F873935B71EC5A4FBBEF97DA + stream[448..511] = A3752A840A93216F829D08201E09302B + 81925CC40ECC085306C40333CEB273C3 + 2ECB967D0DE00991B18B2FF280D7A114 + 143FE8E90627F24A3EAD10865EC9FDAA + xor-digest = CCC29583E0EC7D40F0FDAB552B8BFA8B + 2B79A5E5252C984105C7F7BFBA759E40 + BFF9FEEBD02731C6BBBF7DEC542F98E8 + B4E65389B2B5B8F03B5F00FD12B82C55 + +Set 3, vector#216: + key = D8D9DADBDCDDDEDFE0E1 + IV = 0000000000000000 + stream[0..63] = 812F8E9A650A8CF16BB3AB184FD1D31F + EF4F252AA4F8050EB6716B4620354966 + 3A8766FE627246B0665AB010B6DC843C + A3FE354F8DAD348EE89B55F93A0CAA5F + stream[192..255] = CD4AD6EBAF1493FBFBA932ECE192404B + 9859E57EC5D0FD9EC0D3DA356B710311 + C829D0B04E0FD491E71620BFCC3E2EF1 + 8637149B228D6A23354A5171E966DC46 + stream[256..319] = D6D774BEF485D061D088CA338F5B13CF + 4DF38A632C2DA74746ABD1FC91DBC754 + 35D43B9001CD277BD563CCF9F7778D65 + A70BA9C7EDCA2F4E79F69E488A17D9FF + stream[448..511] = 4DB232C6939080D89B8F7CACF259EF30 + B0BCE358E534925BB562E06FF4D45C88 + 3F83BEFCDA513914EBBAA9413B2B54C4 + B3E8BD223B5971D94B994A8002DF458B + xor-digest = 083204226062916C19CB55172BE9F5E3 + C4E6FE98226A76BC1DED82964708FFEB + 72C95CFE1CF517865788A60882775E24 + B1027305B967F9F323688383C854AEA0 + +Set 3, vector#225: + key = E1E2E3E4E5E6E7E8E9EA + IV = 0000000000000000 + stream[0..63] = FCD78F73AD6A042862F97BFE0F51B9D8 + 7C4BE8AB997A29624437F3618AE0A115 + 4AFF626D1587F74D2B8BA9A06A61AD07 + 6B3E42A4CAB56F17B5BAEEA76BC3A08C + stream[192..255] = 1E6C4761AE88601B90EF63B5B4498CAC + D3BB8D5787944C4AE2701ADE032062A7 + 787200929F2C8D14F7FA0129342C98DE + C9392A2A3A613533295B9CB6AD607A7F + stream[256..319] = BB3E18E8D7027B75FFF944DD47C1B4EC + A7CD931CFCCB66217FC57CE56D8C3175 + F276C40708F1A1BE26D4653F16310C4E + 34213FB05498BC21E61D6426475E2FEA + stream[448..511] = D152DF128114D2B0EFA12B75EE2944FE + F4264757AE149B805B5454F2058DE5D3 + 55DDFA7EFFFD52178AB9F3D9DA4A5D3A + 37588C226B91D670839DD4838B30BE9C + xor-digest = 27EE15ED913084724C1D9B55FA4868D4 + 1129E570E32122F169517AE9FC6EA1BA + 74015F35EA6D0DA3003D88B43967C902 + 0B889CE7549E0E635D56A7ECB44D5F57 + +Set 3, vector#234: + key = EAEBECEDEEEFF0F1F2F3 + IV = 0000000000000000 + stream[0..63] = B897FF96C8D82DEB8649C1CCE2859956 + 26F5835FD5FC74DB54E4B0CFEB0ED422 + B2B46C663524CDA4127DAFCE96FD5E31 + 05DCD4BB8A87576D08E80EB150F8079D + stream[192..255] = 67116467718A3A55597CEF13533345CE + 40388A0D291DEB8B1A2B89DE4B7BCC37 + EB872293EB46DB23F894686DEC4F9BEA + 2164F912987FF1E8883D002BF09BECE2 + stream[256..319] = 243EB369F15474FF7118A0EE6FCEFEC5 + 4E1ED102389910B43232368D6C1D18C8 + B6E8DE66BB679D5F88CBCF5E307824C8 + 0B41E7E6B6E2CC13C4BF328616897F51 + stream[448..511] = 8BEBB5F5E1FD4A62B2EB4D59659DDA2B + 9A7158A94DACAE33950AAC2BA5A5B347 + B0EBE24BBDEFF78B20BDAA58A1C9D52F + 905CE1FE91FFC030D744970C267C59AD + xor-digest = DFD8322810D23F5C847D32EEC51240CC + C6FC1D32B9E9CDDB34F9346A845D3C18 + B7797FC07DF1D752DC1AB9921F6C6B15 + 8C57336AC2308412B735BD1142378FCF + +Set 3, vector#243: + key = F3F4F5F6F7F8F9FAFBFC + IV = 0000000000000000 + stream[0..63] = 1C871DC649871E394E06E10BC4BD1109 + BCB5FEB1DB50E67DD3C9F60BCB00C391 + 32FF718C1A31396FE8EDD041B91A2822 + D7BEB69849F88C03C0367F0CF38D7E07 + stream[192..255] = 4702CFBB4DFF8A6E3EE9ECED3B463A45 + ED09B02AA51C595107144B92B07B37E9 + AAE451D87A7AB1EC6A899830606EB9D1 + BDC01206ACFC06A6C01410E65AA2E608 + stream[256..319] = 708E1580E3275E976B6EFA0C6320087A + F63A4881A79638DA73BEF3298F95BC2D + E72C517A87DA44DC6949A15B0F0DEA5C + A33F0B2B7FD5120BD62A86CE21CC9069 + stream[448..511] = F393BB1916B9C1846B168482320617BF + 5E24A778C01BD0967C16D5FB68F47257 + D59E20BA0F80DF8E04DD366FD5244A70 + 834A41FE82EF8B8443A110DA21027DE7 + xor-digest = D952F236DA536B3313CCD1007FFC19D9 + 6D4CF0F5C1A61879C131D01A5469376D + C77F61A3381A96B7FB452AA2D6FBCC73 + 18A6BDDF17620E8054561E2ABE026752 + +Set 3, vector#252: + key = FCFDFEFF000102030405 + IV = 0000000000000000 + stream[0..63] = A154B44BB36F0C2D49096E4308BB2642 + 5A925F4CD962DBBE344922607D2685C0 + 30C82EB1C55D8D27BBD61474705C1977 + B65AB09302D11AD4004E8F17152F36FA + stream[192..255] = 70971E5964AC6AA08A2C4203796AB670 + 747AB4FD9FE3014F4E180AE501A61A39 + C064B32E022C1485700FB66DAE518EFD + 6A52E8C1242CB954FBF546131435941F + stream[256..319] = B646DD32962E795ED39927BB004BBECF + 2864F7FDC8D4212897764B66A5972BC2 + 7A41BD9C63958E928B3843FCE8C9C028 + 7EA928F1691E23BAA73C8F95A4DDD836 + stream[448..511] = 2A7A3CD8E7A105DFE3C5F2122482B151 + 42B67BE331DE9C8E7A3D65F382E06973 + 41024651FE92B9934C63591D6DFF5C44 + 96C65ACF76E9152050FF0D18223A2C8E + xor-digest = C1B0B06DD274D92A5B00BCB0C57B61EB + AA427051C21C0624B9F3240693F1C165 + 394B8DAF24641D83E68358539B65B2EB + 75DCC25D76A7A8DB00B1E613749EC709 + +Test vectors -- set 4 +===================== + +Set 4, vector# 0: + key = 0053A6F94C9FF24598EB + IV = 0000000000000000 + stream[0..63] = 5091E9C5398B2017021686B85F60CDAB + 9166DD09184E1532CC3FB5392734D8AE + 88A2ADECEEB7E07077677E5F8D732CF7 + 1BB5F632336FDFB9BDE053CAEB5DFA89 + stream[65472..65535] = A3066681B7F312D413BD83310875393F + 14CE89C2BAC9D6A0F999FE7420CD9C53 + ACA21441864BC9DB96139D89B8535FD7 + 6F6664D0A8664D7D223F4523231276D0 + stream[65536..65599] = 7A1CE5BB334302FD4B35AB01217A70CC + 82CF8767A7FD8DAE98FA60960B61C10B + 5ECE8F1E86F9B74E0D6E2BABD8A05CA3 + D27E2A8171C754A22C410EDDA7FD50AD + stream[131008..131071] = C2C50D9680447CFDB8AD39B7A00F1FFD + C10FE646BEF2A83F0660CBB28BB3F515 + 9E09429683A23CD6639E8C72666FAFAB + BCEC9E6FDC3C8D94C4EC09AD33CEEFC2 + xor-digest = C186F30DABD38213B944837AD59E1EEB + C9EBAB630C6212D1B1A9A1E735F6BAEE + BA74B319B9A0F6A38136C9AC2F0D51E0 + B047BA3B738F2874E5FA40CBC38CAAA3 + +Set 4, vector# 1: + key = 0558ABFE51A4F74A9DF0 + IV = 0000000000000000 + stream[0..63] = 063040D057814B53C4D186F91EEFE7CF + 2EDB193AD1DF81D921127B4FDB6E54A0 + E60231FECC69AF6E09A1B2B4A6A706C1 + D7D6041EB8EEC9567426A9CD8FBDF17C + stream[65472..65535] = 14ED5B564DE0839D907143A967616601 + 0876E6A1AAE760B1C4B2699FC8A87EC5 + DA77BCC701B4D117C870142E423A9B3D + 6E533EC3DE2266172AD9174C315822D3 + stream[65536..65599] = 7923588C931BAF745BEAAC8F6C9DE5A4 + CB7E8F37E3E76DD3C37E68C70D81DC25 + 85E27E9CDD9452517B9DC87A2E114D91 + 333D38167E766E4D14BBC44F33E0F046 + stream[131008..131071] = 2FB8BB39AF99A63E543EFBFE4190604D + 2EBB71C61EB11243AE70138DA3B2A4CF + 226D877F4AB000C749086D8BB9B5ABF6 + 6B8E83E1468BE7E7BDA2925601C1AA0B + xor-digest = AB23E288CB130159CFA385B369AE6A27 + 94CB2290E349E6C7A98BF9886E90FEC9 + 768633EB20387AC4337FA9963E284F42 + F780B6AA51A56358E72C23D31030C605 + +Set 4, vector# 2: + key = 0A5DB00356A9FC4FA2F5 + IV = 0000000000000000 + stream[0..63] = F349C56AA219721FA1EB8E8996E5FE7D + A666381C900336FA802A2F723D159507 + A3FDE25857E2A9B389EBA34928F7853D + 2E91E15ED13B7BC4BFB976C35B5B7C6B + stream[65472..65535] = C685BE3DF2E83C17874CC6480BBCFF5D + 89EB77DF2DE4E6BF870B7D07D9EA61E7 + E5FC735A26E0DDBD4920E32825A3204F + 876DDA6E715710986397712B1E702722 + stream[65536..65599] = ABD8A78BDC89C14B11FBA875CC5A1C23 + 96B4D794BE8C25591BBBD12506347605 + 43D28CB4163E378058D38CAEA78C9A65 + B2859E9A8E461C15B344EEB7B151195B + stream[131008..131071] = 029F6DA29DE987BBE7C58C8961D4E011 + 4E9D4E964C8C5F13BF23470C50E87BAB + 9159F357180C4684F4168E139D44D66C + 09BE1A9A1B0DF8B5951096A30EC39884 + xor-digest = 6A33A26D0A501D413CBCDFAF457FC559 + 15674937012D4694335BCB406461B7FE + 8904AD30E86CBA067C8FE9C273DC9BF2 + C1EA484791F6B21A35CCA4067F6365E3 + +Set 4, vector# 3: + key = 0F62B5085BAE0154A7FA + IV = 0000000000000000 + stream[0..63] = F8363E0806F60AF02604D15B7FB9B2B8 + 8D5710669C4808C6C3428ACEF5D42719 + DA055FEFCF3735B40BCFA9591A9DF4DC + ECD278BB6C70FE04AEACB0889EC7277C + stream[65472..65535] = 71D7DAB292A1BECDAC0419DF4B06A8D7 + 1988BF35FB4D6A1011BE97F430916744 + F7A7BBED491E9027B53DE9C669DB9C08 + CBFD4F9AC1B609C602973C35ECE9D5A6 + stream[65536..65599] = E3A8353979EEEFAF0ACCADA7F0BAC959 + 95DE46A90035924AF94C5FF9E554149B + DFF0753207C61915FAEB9B3189577CF4 + 39DE3F888E269DB9C717CB86354666B5 + stream[131008..131071] = 608D85CCAA3D106C95F03F5647FBB7BD + A0DA6FE65CE865304116D80FE60D4F85 + 069AB65F9E353010567DC57D2DE184C8 + 51430B9B9664555FD9C06AB7A2D2686D + xor-digest = 42E0912C4DCE205FB1A12DECFA68D058 + 3AC741EBE567BC0F255E746DD46C0A76 + 96B3F9920D666F25A6106E2D46595ECA + E09A34D4EACB2D83E8E87AF93CEE1F75 + +Test vectors -- set 5 +===================== + +Set 5, vector# 0: + key = 00000000000000000000 + IV = 8000000000000000 + stream[0..63] = AA31003C39BBC0D415E0D00CFB0040D4 + CF12A2CA751958774124D23BD83D7BCB + E9C3D6A85F6CBA4DC2C1344FB1F49AC2 + 0EF62690FE8C164CC899E41756C5F00D + stream[192..255] = 4FA6A5F7B33631E3C6CFFEC037703A1F + 9BBDC35ADF72E95D2D48539B88F7C19B + 57146E906F6EE50AAF6E88968FEFACF3 + 614149BD4C91DF2F1779B06A92B78E7C + stream[256..319] = 5BF9FB7D0A00E7379D234B44B4A68270 + 1DE56877A924086C6CF8FA66EB6C89F7 + E88A8219182241794DC96145962BCDA8 + 22AAA1AB437FE9B1E6B1C020C548F599 + stream[448..511] = 3989BF325BAF276F2C334ED2AA764EFB + 319163D6C70577348479D5A8C480EA92 + FC28E8909A2C4C7D4623CBEAC289B2E5 + DC095E039620235A3ECAE3394387CAB3 + xor-digest = 5FB0B317607EC61E7BB97528B7AF49AF + 76A347C68A2D37549308569969353925 + 0B697879FEC80FF4A4DB42C9E54B5239 + 26507E5C31E267E04635A53834FE82D6 + +Set 5, vector# 9: + key = 00000000000000000000 + IV = 0040000000000000 + stream[0..63] = EDCF6E2DFB1F02241830309B14A02FD6 + BB071C6B319E26D205DE01982F98D507 + 9336FAA86D61DC33AC9FC84F8D6E18C0 + 1BBDCB53F7160B7F8A31DDE9C964FC5D + stream[192..255] = 425F35E48B8557127FBED09EA3E4542C + 059E9DFCBBCA0576B9D0740F3770AB08 + 2D106DE7DFA8363F7D889D027F95E429 + C10741B421EA331EC3DB64ADCF1691C7 + stream[256..319] = 58CB65CDA3AF9955F04FBCB082D93875 + A55921392ACF2037370734005896E5B7 + F15C3427D7A05BD0F82487BD1B545A15 + 5814C17570F62AC37CF33C4F2BB5D6D9 + stream[448..511] = 05CFBC5F2DC9AA8222E6ACC0326EDDE6 + 9F96BB7F6A7B61D38EC64C9191C4B3BB + B86C9E7CB7C79F6C8D9E56316D32D12C + 281AF66E76D45FE8FAC4CD97EE4F3713 + xor-digest = 1D0FA1F8CA6B06A0F95D5A848778879B + 660E2DB9985102BDE85C18FA615122A7 + EC0AC5BC43DADBBD9F40AABB0902314B + E0FD31658F83F5283DF3D9017414E071 + +Set 5, vector# 18: + key = 00000000000000000000 + IV = 0000200000000000 + stream[0..63] = AA830DFD314BE843F988DD7FFFB04C19 + 4B9760305818B8D940E5C1B793D8F73D + A73D9F81B6BA1FA56D5F98108FDE0E8B + 080094B8035D9B5319CA0609E57D97F7 + stream[192..255] = AB0607CADE88E52F6BB8B4729B00E6C7 + DCDBF0BA25DB5832D026D4E9BCE90972 + 264D939F82CE281DA6C2E4871B7EFA07 + 368FDDD6AFEEAF88C40B0FA8BEEC2801 + stream[256..319] = EDCCF48CD8C613F2BB2CC08B6A8F0538 + A2A5F741D3519B2C600F2AEEC0CF9856 + 73E7CFD1EF17E24D35F9F9F5E658205F + A0D0D38BC30F8F39426A64102C501BFE + stream[448..511] = 7C26191CB34F9629EF58FFD7CEA9ADC0 + FA86786E15FD04ED0DF3E297E8E8BECA + 23B7567628D9EA8B0AFC82B764571516 + CA3B819C2EE5380BD26849109E424A8F + xor-digest = 64ACCE84D649704CC3896D792CA30BAA + F16B81FC164A33407454771D50A893B2 + C35DB0177268C666DA8AA6A01E66A880 + 3CCA39993BC179F1E6F0703F641F1661 + +Set 5, vector# 27: + key = 00000000000000000000 + IV = 0000001000000000 + stream[0..63] = D80CA9F2391BB88AE73439F213225129 + 625C52777CD5357C9E568CDD4A378370 + C80D1C8013B14B819A37306FAE73DE29 + 1CE782955D22307540BFAF708C9E3DE9 + stream[192..255] = 75CCD48F91EFD9C88B19E20933BD361E + 8DE89295A535738B360A070A116928AF + A5BDB489E6D285D953C4DE394687E660 + 8ED2E353245838A75F959EEEFA3EE02C + stream[256..319] = D77FBEFA74992D2C7C15EB25748AFB1D + F1D50C1D77FBA2AD784345E4A87541A0 + 3ED9150710C5699CA712130C7FF5694B + 23F6CDCD36BF475C12DBF9B7C6743DF8 + stream[448..511] = 6F9BFC6BD5B73A7401009A530FCB5883 + D38864178D6460287CB58C41D0392099 + A6BA3D0A7B4A1A6805924C30E3DEE87C + A83C090E903F7B8B5C9F4FA7F50D4649 + xor-digest = 09888ECB9B3B42A7B1C505D725EE16D8 + 4835C46129A2655DA8AE7AECDF1984B1 + 2F3BF1B1D1BE0E92D241AAF75D21ACB7 + CB8B3360F1A06717DEDDD1750640D2B1 + +Set 5, vector# 36: + key = 00000000000000000000 + IV = 0000000008000000 + stream[0..63] = 9746378BAA4BA9EB639320E3D2E116E6 + 4150CFEE6D1B7A9AB21645565214892B + BF43351C91AAF149A8148D19A5418732 + 49335938CF2243A4CFEF34C83D7BC831 + stream[192..255] = C18F8F48F24AD9DF5871E333A7B6FDCD + B5233F46D4250213C87BD37C19D0DCC5 + 0FFB8E945D36ED071003C3807757E1EC + B8B8BFD0C892E6DD649F5E0CED7B283A + stream[256..319] = 42C046C617AD85FBB5A4DC805FAE5463 + 90F5CBCCF1AB9867E3AB22EDB59DAA8C + 00A7C2767B58724477D2A106C3C49F3D + B580CE0D00CBE5A6849AD15E635286A8 + stream[448..511] = B80AF7EFB65058A9F78CCA279160A8FE + 56347CC44AE11404DAA704EE51BD35C6 + E80A9F2FD4FEBE72BE96B5E841F4AEBB + 44FDF2638312578D89CAB1E1D43ACA8E + xor-digest = CB7327C3D0EF3FF2786E256B47C2E7D2 + CFF895850C487A8AF75D984EE80FCA83 + B08EC9F929B9C51A3511E2AD43626707 + F84A35783EF1C2C7E1FD3E06D8A73DC1 + +Set 5, vector# 45: + key = 00000000000000000000 + IV = 0000000000040000 + stream[0..63] = 41502AA6BB25EA190C4504A881AD89B3 + 7D80388F2CF9AF4C61E9B12FB211F523 + A4EB9C768FB4DDB0F01D198E4E3AD6BF + D84631AB11368B52BE0741332F52BA58 + stream[192..255] = 97BAD42000E5D922197EB5310603D1FF + F8BB3F46BD950562AB04CDAB243146AC + B52B4C037A5FA0F5C0A13A1C1F67D9DD + 4CF251DEF7443758A01F9A8EFD35E3BB + stream[256..319] = 496E6896CF2293878863E405DBB92BD0 + 35CB640447FD71651A9BCA9A1CDD5B8A + 3E17EC74A4F9995AD69C5EE5B0EFF6A4 + E08F64EF130C3E7D8526654BAD4AD38C + stream[448..511] = 235A255598E2C31DDFE49470FC091545 + F66AA90741E583831B66D333602741E8 + F680228393AE9B9A408929B6C7CE1E6B + 80ED6774546EF51C6A02604B960232FC + xor-digest = F7EBC32DBFFEEB8DE747947442906010 + 6520C75A5D8502286557E2388D22862F + D4A308861F381A7D64458A09870982DE + BD801DE5CFE02C300570C3CDFE81D062 + +Set 5, vector# 54: + key = 00000000000000000000 + IV = 0000000000000200 + stream[0..63] = ED151DCEDD9F1F783F8C893B82CD83CB + 91E69D41F88042BB7262B6002B8C4CFE + 350012645CC6DDDE3D6E031EBC0FB2CE + 6A04589C30D059575A7C8169A7948D5B + stream[192..255] = 2DAA44EA6467284B875C6DFB1167DFB8 + 17E70D4A0ECDBA8F37735858E5A5CD0B + 24A0382D6DA70A7E5FF1ADF0BCA15B0E + A3704D8E58910F6B299F454624C46C07 + stream[256..319] = 06FC81FB36BB519AD57AE6B5874BDAB4 + 0C97EF3FC9D11905B03BFB259B909316 + 48B149A42DDE6A11D5EA7CC272731BFA + 9DF5BF2AC62E16C7CAD3DB9EA307E343 + stream[448..511] = 641689788115C42FD7CB38D295063BA5 + E78C56E56C8AA132BB086AC418664C74 + 05AC6F1FADE55B32B56B55DE3FD9EBF5 + 9A316813E314491733A61CE8A6267570 + xor-digest = A56A14246435F872248A5223A448EC09 + E0E120B89E63642FA575AC40DA19447C + D19216050400A747E25978028E05E97B + 9819B6B4197110C61A305E47441D2964 + +Set 5, vector# 63: + key = 00000000000000000000 + IV = 0000000000000001 + stream[0..63] = 5629A5B12B8569521F16AA0A6B02A9D5 + 14DD1A3699818A73EFC0DCC08D10AF43 + AD1E9DC32764E142A506AE39CDE4EE17 + C594C60AE66475EDD564EF9D394C85D7 + stream[192..255] = 817B3F1AB1F1908281659B8B6A6E763E + 4516626DDD267C92CBCEDBD3F03AE1A1 + 0115E5F1AE3AD94823453035EE9A302A + 49D7E6F182EE680E325F3398CFD1B7C0 + stream[256..319] = 6D4E4DCC30C00ADF6D552B1BDAF3EA47 + 62D62BB29071E8FD4B3B6C6D621BD148 + 94ABDD3445F046D79CC3B6A683249F94 + 42C22DCA9FCD7C197A7C359F8F426F38 + stream[448..511] = 8C18799D3880C4A5604201B2DCD37F34 + B4007CDD94D46F9D46F79382D6E511BC + A797B3641DFE6B07F75666D9617A5E68 + 0BD19AAFC94239D4233BA68EF43D664B + xor-digest = 20AD20207AA2FAD0B4360B1F3DF1ABB4 + 29D8013C0B6E388A7A36D20D0D60E991 + 2E393FE4E7D063B40C7E0CD727163B9E + 5CFCC6E132B9603A792343728AA10706 + +Test vectors -- set 6 +===================== + +Set 6, vector# 0: + key = 0053A6F94C9FF24598EB + IV = 0D74DB42A91077DE + stream[0..63] = 44C9A6EEDF1CFABF9AA1EE1B078E5AD0 + 8CFC65E8ED81A5F14024EA247921D778 + F321C2C64E47434177204BDCD3A797E3 + 45E75B6538657CD976975B9D403421A6 + stream[65472..65535] = F9C956C6627B067579FEB50D4E564174 + 3ABB723F333754C1B0D9582DD49B65F0 + 820011AD0283C090B063C41BBD31AA3B + 6A7367F04E56786B8DCB01E799E98D67 + stream[65536..65599] = FC022915EE1042E10FD3C63E7AF02416 + 044A4EAACBB9CC92F4119484CBFA4E2D + 4D1BB4E87D7B05D314B098981E1545DC + 85D04E67B776D3F9B1ED25C14C8F8B19 + stream[131008..131071] = F9B3E21FD02852138306AF19F428F9F9 + 4EBFA95EE3170C5442E7749A87C8456D + F0E5ACA727A64EFF7D8C083072665099 + 5C5022C5137478DD757C32B3759D5399 + xor-digest = 9C97C07E5A95FDD0301C8B13C4DAE4E9 + C7115C403CE3FCE6B0BA1045C3C34934 + 2168378B62E93A5FD6187528CC67C2A2 + 3815757847DA917083A8CEB097106D18 + +Set 6, vector# 1: + key = 0558ABFE51A4F74A9DF0 + IV = 167DE44BB21980E7 + stream[0..63] = 801C4B9D53B0CC1ED89245FF17AC3479 + 6564BCD985C88FD1ABEBEE2AA6F938CE + 1A7A55B85FAEDBD56BEA3B33E031034F + 11A80E94207A0A2C260D7BBFC0583F59 + stream[65472..65535] = 65D6B5431068ED625E3C2E4A4FA3B130 + 0EE46304E80E7573858EFE0D887437F9 + 5183D22B4B109E143CBA408503982B7D + 9E1AAB2C49319B14B1EA502F56CA3E6B + stream[65536..65599] = BBB3489076C28F413C8084723BE20E77 + D47EB3073571DADDEF13807136C9AB8C + 2CAF21DCB979FD5102091CB955966400 + 83BEDCB05B70F009D002E35CF10EF506 + stream[131008..131071] = 844C1C60C0FCF6FBD548D674873FE985 + 54DD396D6AB48A86E66EAE650882B4CC + BF37799E6FBDAFD2321E2EA0DB3C144D + 7B0FD3D487835C02661F9D74C780F8AD + xor-digest = 33671463C35BD5A17C5AA95C76DE4FF3 + E22308F7C1C8BEA262F6481D2F299B90 + E97C1641D20B40E8CBCB0A684000C428 + 6FECBD754F160651833F4575C9881B1F + +Set 6, vector# 2: + key = 0A5DB00356A9FC4FA2F5 + IV = 1F86ED54BB2289F0 + stream[0..63] = 19080DFB74B357983C45F72C0FB7AC6F + 919CB22C518D409F3EA0780DA423A1F1 + 007B8FEEDE0AE9561CC595B591BFF7F5 + EC6AEE6285FB4A0B1245A9298A082CF9 + stream[65472..65535] = 23ADAECB4360025B6F56DBA4CF122EE1 + BDB0A72B1D0CB8CA155EF06E3FD89A4E + B001B4D468A858BE294CF18CA1CF9C9B + 5B9610EFADE2F7DA4A43765F7A7ADBDF + stream[65536..65599] = 276C1B647795D3B14ACEDF31D19BBAAA + F74A570CFE99E786908C378E05938A86 + B84E89AA863A510D3CC2A9F7B9CA4BEB + 068BD354BB791E0D6082CA93B0282300 + stream[131008..131071] = E88AA2BD2F64E7F294B52A15BBF5B0DD + EFF62DF0F5A3DA9DCA04EC6DAA353494 + F4D99FFDC333A5257C3BD0088AA298BD + 5D306484FD213633E59A76BF7468E499 + xor-digest = 753A31EA8C198D447EDB0F5AA8FA16D6 + 678459FDDA091461D6022F138AD28ADE + 49D540E803D3E79BDEE5C54604EC7086 + D1EFBB5C22964542917FF7AF7A39382A + +Set 6, vector# 3: + key = 0F62B5085BAE0154A7FA + IV = 288FF65DC42B92F9 + stream[0..63] = 017D13ECB20AE0C9ACF784CB06525F72 + CE6D52BEBB948F124668C35064559024 + 49EEA505C19F3EE4D052C3D19DA9C4D1 + B92DBC7F07AFEA6A3D845DE60D8471FD + stream[65472..65535] = E35D6F2E060A4CDB3269870555C6DEFC + B75330E6915AA39236464E428238AE31 + 6D97BDDD3DE9A556B01C13575B6B007C + 27CAC12B2ABDCF488E6825C5F8D89FB7 + stream[65536..65599] = 833FB4385A8B3E8D6A464E64511805FD + 2417C89BDE6A73112AB9DFA21CDAF0AF + 08BE79B6AA5883851158B9486A7E5925 + 4670830B30A2E9FD97B2A528AEC0AA3B + stream[131008..131071] = DED91BE816A7F5A920DDA7EA30400FFC + 695CE6301CB05BDD1D743C1A16E3F610 + 7C655886670209CF0B75F2FAC499C0E9 + 9E619BA80E3D0C0A57A903A127671A74 + xor-digest = 7741874A0EF5E5637FE9779CD2375C21 + 88822B9584CB09A3B82E77CE65A2CB39 + 97D73244F3B5F06F0406B0697CD26EA4 + 8A11A02B69D706DB1D52456A06C3C18E + + + +End of test vectors -- 2.39.5