#-------------------------------------------------------------------------------
# inclusion of make stubs
+include mkfiles/0*.mk
include mkfiles/*.mk
#-------------------------------------------------------------------------------
ALGORITHMS = $(BLOCK_CIPHERS) $(STREAM_CIPHERS) $(HASHES) $(PRNGS) $(MACS) \
$(ENCODINGS) $(SIGNATURE) $(PK_CIPHERS) $(AUX)
ALGORITHMS_OBJ = $(patsubst %,%_OBJ, $(ALGORITHMS))
-ALGORITHMS_TEST_BIN = $(patsubst %,%_TEST_BIN, $(ALGORITHMS))
+ALGORITHMS_TESTBIN = $(patsubst %,%_TESTBIN, $(ALGORITHMS))
#-------------------------------------------------------------------------------
# define binary object in $(BIN_DIR)$(ALGO)/<obj>
$(foreach a, $(ALGORITHMS), $(eval $(call Assert_Template, \
$(a)_TESTBINOBJ, \
- $(addprefix $(BIN_DIR)$(call lc,$(a))/$(TEST_DIR),$($(a)_TEST_BIN)) \
+ $(addprefix $(BIN_DIR)$(call lc,$(a))/$(TEST_DIR),$($(a)_TESTBIN)) \
)))
@$(CC) $(CFLAGS_A) $(addprefix -I./,$(3)) $(addprefix -D, $(4)) -c -o $(1) $(2)
endef
+
+
+define TargetSourceList_Template
+$(1): $(2)
+ @echo "[cc]: $(1) <-- $(2)"
+ @mkdir -p $(dir $(1))
+ @$(CC) $(CFLAGS_A) $(addprefix -I./,$(3)) $(addprefix -D, $(4)) $(LIST_OPT) -c -o /dev/null $(2) > $(1)
+endef
+
# ----------------------------------------------------------------------------
# Function: find_source_file
# Arguments: 1: name of the binary file (.o extension) to search
)
$(foreach a, $(ALGORITHMS), \
- $(foreach b, $($(a)_TEST_BIN), \
+ $(foreach b, $($(a)_TESTBIN), \
$(eval $(call TargetSource_Template, \
$(BIN_DIR)$(call lc, $(a))/$(TEST_DIR)$(b), \
$(call find_source_file, $(b), $($(a)_DIR) $($(a)_INCDIR) $(GLOBAL_INCDIR) ),\
) \
)
+
+$(foreach a, $(ALGORITHMS), \
+ $(foreach b, $($(a)_OBJ), \
+ $(eval $(call TargetSourceList_Template, \
+ $(LIST_DIR)$(call lc, $(a))/$(patsubst %.o,%.s,$(b)), \
+ $(call find_source_file, $(b), $($(a)_DIR) $($(a)_INCDIR) $(GLOBAL_INCDIR) ),\
+ $($(a)_DIR) $($(a)_INCDIR) $(GLOBAL_INCDIR), \
+ $($(a)_DEF), \
+ )) \
+ ) \
+)
+
#-------------------------------------------------------------------------------
define MainTestElf_Template
$(1): $(2) $(3)
+ @mkdir -p $(dir $(1))
@echo "[ld]: $(1)"
@$(CC) $(CFLAGS_A) $(LDFLAGS)$(patsubst %.elf,%.map,$(1)) -o \
$(1) \
#-------------------------------------------------------------------------------
+define Listing_TEMPLATE
+$(1)_LIST: $(2)
+endef
+
+$(foreach algo, $(ALGORITHMS), $(eval $(call Listing_TEMPLATE, \
+ $(algo), \
+ $(foreach obj,$($(algo)_OBJ), $(LIST_DIR)$(call lc, $(algo))/$(obj:.o=.s)) \
+)))
+
+#-------------------------------------------------------------------------------
+
%.hex: %.elf
@echo "[objcopy]: $@"
@$(OBJCOPY) -j .text -j .data -O ihex $< $@
#-------------------------------------------------------------------------------
.PHONY: tests
-tests: $(foreach a, $(ALGORITHMS), $(a)_TEST_BIN)
+tests: $(foreach a, $(ALGORITHMS), $(a)_TESTBIN)
#-------------------------------------------------------------------------------
define TestRun_Template
$(1)_TESTRUN: $(1)_FLASH
+ @echo "[reset]"
+ @sleep 3
+ @$(RESETCMD)
+ @sleep 1
@echo "[test]: $(1)"
$(RUBY) $(GET_TEST) $(TESTPORT) $(TESTPORTBAUDR) 8 1 nessie $(TESTLOG_DIR)$(TESTPREFIX) $(2)
endef
#include <stdint.h>
#include <avr/pgmspace.h>
-uint8_t aes_invsbox[256] PROGMEM = {
+const uint8_t aes_invsbox[256] PROGMEM = {
0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,
0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,
0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,
((uint8_t*)a)[3] = t;
}
-uint8_t rc_tab[] PROGMEM = { 0x01, 0x02, 0x04, 0x08,
+const uint8_t rc_tab[] PROGMEM = { 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80,
0x1b, 0x36 };
#include <stdint.h>
#include <avr/pgmspace.h>
-uint8_t aes_sbox[256] PROGMEM = {
+const uint8_t aes_sbox[256] PROGMEM = {
0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
void arcfour_init(const void *key, uint16_t length_b, arcfour_ctx_t *ctx){
uint8_t t;
- uint8_t length_B = length_b/8;
+ const uint8_t length_B = length_b/8;
+ uint8_t nidx = length_B;
uint8_t x=0,y=0;
- uint8_t *kptr=key;
+ const uint8_t *kptr = (const uint8_t*)key;
do{
ctx->s[x]=x;
- }while(++x);
+ }while((uint8_t)++x);
do{
y += ctx->s[x] + *kptr++;
- if(x==length_B){
- kptr = key;
+ if(!--nidx){
+ kptr = (const uint8_t*)key;
+ nidx = length_B;
}
y &= 0xff;
/* ctx->s[y] <--> ctx->s[x] */
t = ctx->s[y];
ctx->s[y] = ctx->s[x];
ctx->s[x] = t;
- }while(++x);
+ }while((uint8_t)++x);
ctx->i = ctx->j = 0;
}
-MCU_TARGET = atmega644
-F_CPU = 20000000
+MCU_TARGET = atmega128
+F_CPU = 14745600
OPTIMIZE = -Os # -Os
DEBUG = -gdwarf-2
-WARNING = -pedantic -Wall -Wstrict-prototypes
-PROGRAMMER = avr911
-PROG_PORT = /dev/ttyUSB0
+WARNING = -pedantic -Wall -Werror -Wstrict-prototypes
+PROGRAMMER = jtagmkII
+PROG_PORT = usb
DEFS = -D$(call uc, $(MCU_TARGET)) -DF_CPU=$(F_CPU)
FLASHCMD = avrdude -p $(MCU_TARGET) -P $(PROG_PORT) -c $(PROGRAMMER) -U flash:w:# no space at the end
#FLASHCMD = avrdude -p $(MCU_TARGET) -c usbasp -U flash:w:# no space at the end
-RESETCMD = avrdude -p $(MCU_TARGET) -P $(PROG_PORT) -c $(PROGRAMMER)
+#RESETCMD = avrdude -p $(MCU_TARGET) -P $(PROG_PORT) -c $(PROGRAMMER)
+RESETCMD = avarice -2 -R -j usb
DEP_DIR = deps/
TEST_DIR = test/
BIN_DIR = bin/
TESTSRC_DIR = test_src/
#uisp -dprog=bsd -dlpt=/dev/parport1 --upload if=$(PRG).hex
ERASECMD =
-TESTPORT = /dev/ttyUSB1
+TESTPORT = /dev/ttyUSB0
TESTPORTBAUDR = 115200
TESTLOG_DIR = testlog/#
TESTPREFIX = nessie-
SPEEDCMD = performance
SIZE_DIR = size_log/#
LIST_DIR = listings/#
+LIST_OPT = -Wa,-adhln -g
STAT_DIR = stats/#
AUTOASM_DIR = autoasm/#
AUTOASM_OPT = -S
-CC = avr-gcc
+CC = avr-gcc
CSTD = c99
override CFLAGS_A = -MMD -MF$(DEP_DIR)$(patsubst %.o,%.d,$(notdir $(1))) $(DEBUG) $(WARNING) -std=$(CSTD) $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)
override CFLAGS = -MMD -MF$(DEP_DIR)$(patsubst %.o,%.d,$(notdir $@)) $(DEBUG) $(WARNING) -std=$(CSTD) $(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)
-override LDFLAGS = -gdwarf-2 -Wl,-Map,
+override LDFLAGS = -gdwarf-2 -Wl,-Map,#
override ASFLAGS = -mmcu=$(MCU_TARGET) -Wa,--gdwarf-2
SIZESTAT_FILE = sizestats.txt
#if 1
#include <avr/pgmspace.h>
-char base64_alphabet[64] PROGMEM = {
+const char base64_alphabet[64] PROGMEM = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
}
-void bcal_nessie_multiple(const bcdesc_t** bcd_list){
+void bcal_nessie_multiple(const bcdesc_t* const* bcd_list){
const bcdesc_t* bcd;
for(;;){
bcd = (void*)pgm_read_word(bcd_list);
#include "blockcipher_descriptor.h"
void bcal_nessie(const bcdesc_t* bcd);
-void bcal_nessie_multiple(const bcdesc_t** bcd_list);
+void bcal_nessie_multiple(const bcdesc_t* const* bcd_list);
#endif /* BCALNESSIE_H_ */
}
}
-void bcal_performance_multiple(const bcdesc_t** bcd_list){
+void bcal_performance_multiple(const bcdesc_t* const* bcd_list){
const bcdesc_t* bcd;
for(;;){
bcd = (void*)pgm_read_word(bcd_list);
#include "blockcipher_descriptor.h"
void bcal_performance(const bcdesc_t* hd);
-void bcal_performance_multiple(const bcdesc_t** hd_list);
+void bcal_performance_multiple(const bcdesc_t* const* hd_list);
#endif /* BCAL_PERFORMANCE_H_ */
const bcdesc_t camellia128_desc PROGMEM = {
BCDESC_TYPE_BLOCKCIPHER,
- BC_INIT_TYPE_2,
+ BC_INIT_TYPE_1,
camellia128_str,
sizeof(camellia128_ctx_t),
128,
BC_INIT_TYPE_2,
cast5_str,
sizeof(cast5_ctx_t),
- 128,
+ 64,
{(void_fpt)cast5_init},
{(void_fpt)cast5_enc},
{(void_fpt)cast5_dec},
BC_INIT_TYPE_1,
des_str,
8,
- 128,
+ 64,
{(void_fpt)NULL},
{(void_fpt)des_dummy_enc},
{(void_fpt)des_dummy_dec},
#include "keysize_descriptor.h"
const char serpent_str[] PROGMEM = "serpent";
+/*
+const uint8_t serpent_keysize_desc[] PROGMEM = { KS_TYPE_RANGE, KS_INT(1), KS_INT(256),
+ KS_TYPE_TERMINATOR };
-const uint8_t serpent_keysize_desc[] PROGMEM = { KS_TYPE_RANGE, KS_INT(1), KS_INT(256),
+*/
+const uint8_t serpent_keysize_desc[] PROGMEM = { KS_TYPE_LIST, 3, KS_INT(128), KS_INT(192), KS_INT(256),
KS_TYPE_TERMINATOR };
const bcdesc_t serpent_desc PROGMEM = {
#include <stdint.h>
#include <avr/pgmspace.h>
-uint8_t blake_sigma[] PROGMEM = {
+const uint8_t blake_sigma[] PROGMEM = {
0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xEA, 0x48, 0x9F, 0xD6, 0x1C, 0x02, 0xB7, 0x53,
0xB8, 0xC0, 0x52, 0xFD, 0xAE, 0x36, 0x71, 0x94,
0xA2, 0x84, 0x76, 0x15, 0xFB, 0x9E, 0x3C, 0xD0,
};
-uint8_t blake_index_lut[] PROGMEM = {
+const uint8_t blake_index_lut[] PROGMEM = {
0x0, 0x4, 0x8, 0xC,
0x1, 0x5, 0x9, 0xD,
0x2, 0x6, 0xA, 0xE,
#include "blake_common.h"
static
-uint64_t pgm_read_qword(void* p){
+uint64_t pgm_read_qword(const void* p){
union{
uint64_t v64;
uint32_t v32[2];
}
static
-uint64_t blake_c[] PROGMEM = {
+const uint64_t blake_c[] PROGMEM = {
0x243F6A8885A308D3LL, 0x13198A2E03707344LL,
0xA4093822299F31D0LL, 0x082EFA98EC4E6C89LL,
0x452821E638D01377LL, 0xBE5466CF34E90C6CLL,
}
-uint64_t blake512_iv[] PROGMEM = {
+const uint64_t blake512_iv[] PROGMEM = {
0x6A09E667F3BCC908LL, 0xBB67AE8584CAA73BLL,
0x3C6EF372FE94F82BLL, 0xA54FF53A5F1D36F1LL,
0x510E527FADE682D1LL, 0x9B05688C2B3E6C1FLL,
ctx->appendone = 1;
}
-uint64_t blake384_iv[] PROGMEM = {
+const uint64_t blake384_iv[] PROGMEM = {
0xCBBB9D5DC1059ED8LL, 0x629A292A367CD507LL,
0x9159015A3070DD17LL, 0x152FECD8F70E5939LL,
0x67332667FFC00B31LL, 0x8EB44A8768581511LL,
#include "blake_common.h"
static
-uint32_t blake_c[] PROGMEM = {
+const uint32_t blake_c[] PROGMEM = {
0x243F6A88, 0x85A308D3,
0x13198A2E, 0x03707344,
0xA4093822, 0x299F31D0,
}
-uint32_t blake256_iv[] PROGMEM = {
+const uint32_t blake256_iv[] PROGMEM = {
0x6A09E667L, 0xBB67AE85,
0x3C6EF372L, 0xA54FF53A,
0x510E527FL, 0x9B05688C,
ctx->appendone = 1;
}
-uint32_t blake224_iv[] PROGMEM = {
+const uint32_t blake224_iv[] PROGMEM = {
0xC1059ED8, 0x367CD507,
0x3070DD17, 0xF70E5939,
0xFFC00B31, 0x68581511,
#define K 0x0555555555555555LL
#define MASK 0xFFFFFFFFFFFFFFFFLL
static
-uint64_t k_lut[] PROGMEM = {
+const uint64_t k_lut[] PROGMEM = {
16LL*K, 17LL*K, 18LL*K, 19LL*K,
20LL*K, 21LL*K, 22LL*K, 23LL*K,
24LL*K, 25LL*K, 26LL*K, 27LL*K,
*/
/* the same as above but precomputed to avoid compiler warnings */
static
-uint64_t k_lut[] PROGMEM = {
+const uint64_t k_lut[] PROGMEM = {
0x5555555555555550LL, 0x5aaaaaaaaaaaaaa5LL, 0x5ffffffffffffffaLL,
0x655555555555554fLL, 0x6aaaaaaaaaaaaaa4LL, 0x6ffffffffffffff9LL,
0x755555555555554eLL, 0x7aaaaaaaaaaaaaa3LL, 0x7ffffffffffffff8LL,
#if F0_HACK==2
/* to understand this implementation take a look at f0-opt-table.txt */
-static uint16_t hack_table[5] PROGMEM = { 0x0311, 0xDDB3, 0x2A79, 0x07AA, 0x51C2 };
-static uint8_t offset_table[5] PROGMEM = { 4+16, 6+16, 9+16, 12+16, 13+16 };
+static const uint16_t hack_table[5] PROGMEM = { 0x0311, 0xDDB3, 0x2A79, 0x07AA, 0x51C2 };
+static const uint8_t offset_table[5] PROGMEM = { 4+16, 6+16, 9+16, 12+16, 13+16 };
static
#if F0_HACK==1
static
-uint8_t f0_lut[] PROGMEM ={
+const uint8_t f0_lut[] PROGMEM ={
5<<1, ( 7<<1)+1, (10<<1)+0, (13<<1)+0, (14<<1)+0,
6<<1, ( 8<<1)+1, (11<<1)+0, (14<<1)+0, (15<<1)+1,
0<<1, ( 7<<1)+0, ( 9<<1)+0, (12<<1)+1, (15<<1)+0,
/*
#define K 0x05555555L
static
-uint32_t k_lut[] PROGMEM = {
+const uint32_t k_lut[] PROGMEM = {
16L*K, 17L*K, 18L*K, 19L*K, 20L*K, 21L*K, 22L*K, 23L*K,
24L*K, 25L*K, 26L*K, 27L*K, 28L*K, 29L*K, 30L*K, 31L*K
};
/* same as above but precomputed to avoid compiler warnings */
static
-uint32_t k_lut[] PROGMEM = {
+const uint32_t k_lut[] PROGMEM = {
0x55555550L, 0x5aaaaaa5L, 0x5ffffffaL,
0x6555554fL, 0x6aaaaaa4L, 0x6ffffff9L,
0x7555554eL, 0x7aaaaaa3L, 0x7ffffff8L,
#if F0_HACK==2
/* to understand this implementation take a look at f0-opt-table.txt */
-static uint16_t hack_table[5] PROGMEM = { 0x0311, 0xDDB3, 0x2A79, 0x07AA, 0x51C2 };
-static uint8_t offset_table[5] PROGMEM = { 4+16, 6+16, 9+16, 12+16, 13+16 };
+static const uint16_t hack_table[5] PROGMEM = { 0x0311, 0xDDB3, 0x2A79, 0x07AA, 0x51C2 };
+static const uint8_t offset_table[5] PROGMEM = { 4+16, 6+16, 9+16, 12+16, 13+16 };
static
void bmw_small_f0(uint32_t* q, uint32_t* h, const void* m){
#if F0_HACK==1
static
-uint8_t f0_lut[] PROGMEM = {
+const uint8_t f0_lut[] PROGMEM = {
5<<1, ( 7<<1)+1, (10<<1)+0, (13<<1)+0, (14<<1)+0,
6<<1, ( 8<<1)+1, (11<<1)+0, (14<<1)+0, (15<<1)+1,
0<<1, ( 7<<1)+0, ( 9<<1)+0, (12<<1)+1, (15<<1)+0,
0xB05688C2B3E6C1FDLL
};
*/
-uint32_t PROGMEM camellia_sigma[12]={ /* 48 byte table */
+const uint32_t camellia_sigma[12] PROGMEM = { /* 48 byte table */
0x3BCC908BL, 0xA09E667FL,
0x4CAA73B2L, 0xB67AE858L,
0xE94F82BEL, 0xC6EF372FL,
/* an ugly macro to load an entry form the table above */
/*
-#define SIGMA(p) (( ((uint64_t)(pgm_read_dword((prog_uint32_t*)camellia_sigma+2*(p)+1)))<<32) | \
- ((uint64_t)(pgm_read_dword((prog_uint32_t*)camellia_sigma+2*(p)+0))) )
+#define SIGMA(p) (( ((uint64_t)(pgm_read_dword((uint32_t*)camellia_sigma+2*(p)+1)))<<32) | \
+ ((uint64_t)(pgm_read_dword((uint32_t*)camellia_sigma+2*(p)+0))) )
*/
-#define SIGMA(p) (( ((uint64_t)(pgm_read_dword(&(((prog_uint32_t*)camellia_sigma)[2*(p)+1]))))<<32) | \
- ((uint64_t)(pgm_read_dword(&(((prog_uint32_t*)camellia_sigma)[2*(p)+0])))) )
+#define SIGMA(p) (( ((uint64_t)(pgm_read_dword(&(((uint32_t*)camellia_sigma)[2*(p)+1]))))<<32) | \
+ ((uint64_t)(pgm_read_dword(&(((uint32_t*)camellia_sigma)[2*(p)+0])))) )
}
*/
/*****************************************************************************/
-/* extern prog_uint64_t camellia_sigma[6]; */
+/* extern uint64_t camellia_sigma[6]; */
void camellia128_init(const void* key, camellia128_ctx_t* s){
uint8_t i;
#endif
/*****************************************************************************/
-uint8_t rol(uint8_t a, uint8_t n){return ((a<<n) | (a>>(8-n)));}
+static
+uint8_t rol(uint8_t a, uint8_t n){
+ return ((a<<n) | (a>>(8-n)));
+}
/*****************************************************************************/
-uint8_t ror(uint8_t a, uint8_t n){return ((a<<(8-n)) | (a>>n));}
+static
+uint8_t ror(uint8_t a, uint8_t n){
+ return ((a<<(8-n)) | (a>>n));
+}
/*****************************************************************************/
+static
uint32_t rol32(uint32_t a, uint8_t n){
return ((a<<n)|(a>>(32-n)));
}
/*****************************************************************************/
-
+/*
+static
uint64_t rol64(uint64_t a, uint8_t n){
return ((a<<n)|(a>>(64-n)));
}
-
+*/
/*****************************************************************************/
-uint8_t camellia_s1_table[256] PROGMEM = {
+static
+const uint8_t camellia_s1_table[256] PROGMEM = {
112, 130, 44, 236, 179, 39, 192, 229, 228, 133, 87, 53, 234, 12, 174, 65,
35, 239, 107, 147, 69, 25, 165, 33, 237, 14, 79, 78, 29, 101, 146, 189,
134, 184, 175, 143, 124, 235, 31, 206, 62, 48, 220, 95, 94, 197, 11, 26,
/*****************************************************************************/
+static
uint8_t camellia_s1(uint8_t b){
- return pgm_read_byte_near(&(camellia_s1_table[b]));
+ return pgm_read_byte(&(camellia_s1_table[b]));
}
/*****************************************************************************/
+static
uint8_t camellia_s2(uint8_t b){
- return rol(pgm_read_byte_near(&(camellia_s1_table[b])),1);
+ return rol(pgm_read_byte(&(camellia_s1_table[b])),1);
}
/*****************************************************************************/
+static
uint8_t camellia_s3(uint8_t b){
- return ror(pgm_read_byte_near(&(camellia_s1_table[b])),1);
+ return ror(pgm_read_byte(&(camellia_s1_table[b])),1);
}
/*****************************************************************************/
+static
uint8_t camellia_s4(uint8_t b){
- return pgm_read_byte_near(&(camellia_s1_table[rol(b,1)]));
+ return pgm_read_byte(&(camellia_s1_table[rol(b,1)]));
}
/*****************************************************************************/
+static
uint64_t camellia_s(uint64_t d){
// cli_putstr("\n\r S von "); cli_hexdump(&(d), 8);
#define D ((uint8_t*)(&d))
/*****************************************************************************/
+static
uint64_t camellia_p(uint64_t d){
uint64_t z=0;
#define D ((uint8_t*)(&d))
/*****************************************************************************/
+static
uint64_t camellia_f(uint64_t x, uint64_t k){
uint64_t y;
y = camellia_p(camellia_s(x ^ k));
/*****************************************************************************/
+static
uint64_t camellia_fl(uint64_t x, uint64_t k){
// uint64_t lx, lk, y;
uint32_t lx[2], lk[2], yr, yl;
/*****************************************************************************/
+static
uint64_t camellia_fl_inv(uint64_t y, uint64_t k){
//volatile uint32_t xl, xr;
uint32_t ly[2], lk[2], x[2];
/*****************************************************************************/
-uint64_t camellia_sigma[6]={
+static
+const uint64_t camellia_sigma_table[6] PROGMEM = {
0xA09E667F3BCC908BLL,
0xB67AE8584CAA73B2LL,
0xC6EF372FE94F82BELL,
}
#endif
/*****************************************************************************/
+static
+uint64_t camellia_sigma(uint8_t idx){
+ union{
+ uint32_t v32[2];
+ uint64_t v64;
+ } r;
+ r.v32[0] = pgm_read_dword((uint8_t*)camellia_sigma_table + idx * 8);
+ r.v32[1] = pgm_read_dword((uint8_t*)camellia_sigma_table + idx * 8 + 4);
+ return r.v64;
+}
+/*****************************************************************************/
void camellia128_init(const void* key, camellia128_ctx_t* s){
uint8_t i;
s->kal = s->kll;
s->kar = s->klr;
- s->kar ^= camellia_f(s->kal, camellia_sigma[0]);
- s->kal ^= camellia_f(s->kar, camellia_sigma[1]);
+ s->kar ^= camellia_f(s->kal, camellia_sigma(0));
+ s->kal ^= camellia_f(s->kar, camellia_sigma(1));
s->kal ^= s->kll;
s->kar ^= s->klr;
- s->kar ^= camellia_f(s->kal, camellia_sigma[2]);
- s->kal ^= camellia_f(s->kar, camellia_sigma[3]);
+ s->kar ^= camellia_f(s->kal, camellia_sigma(2));
+ s->kal ^= camellia_f(s->kar, camellia_sigma(3));
/**/
// cli_putstr("\n\r----------------init finished--------------------");
}
/*****************************************************************************/
+static
void camellia128_keyop(camellia128_ctx_t* s, int8_t q){
/* first we do 16 bit left-rols for kl and ka (128bit each) */
uint32_t temp;
/*****************************************************************************/
+static
void camellia128_keyop_inv(camellia128_ctx_t* s, int8_t q){
/* first we do 16 bit right-rols for kl and ka (128bit each) */
uint32_t temp;
#define KEY_ROL17 0x08
#define KEY_ROL15 0x00
+static
void camellia_6rounds(const camellia128_ctx_t* s, uint64_t* bl, uint64_t* br, uint8_t roundop, uint8_t keychoice){
uint8_t i;
uint64_t* k[4];
/*****************************************************************************/
+static
void change_endian(void* data, uint8_t length){
uint8_t i,a;
for(i=0; i<length/2; ++i){
--- /dev/null
+/* cast5-sbox.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 <http://www.gnu.org/licenses/>.
+*/
+/*
+ * File: cast5-sbox.h
+ * Author: Daniel Otte
+ * Date: 26.07.2006
+ * License: GPL
+ * Description: sboxes for CAST5 (aka CAST-128) cipher algorithm as described in RFC 2144.
+ *
+ */
+
+#ifndef CAST5_SBOX_H_
+#define CAST5_SBOX_H_
+
+#include <avr/pgmspace.h>
+#include <stdint.h>
+
+#ifndef BIG_ENDIAN
+
+const uint32_t s1[] PROGMEM = {
+0x30fb40d4UL, 0x9fa0ff0bUL, 0x6beccd2fUL, 0x3f258c7aUL, 0x1e213f2fUL, 0x9c004dd3UL, 0x6003e540UL, 0xcf9fc949UL,
+0xbfd4af27UL, 0x88bbbdb5UL, 0xe2034090UL, 0x98d09675UL, 0x6e63a0e0UL, 0x15c361d2UL, 0xc2e7661dUL, 0x22d4ff8eUL,
+0x28683b6fUL, 0xc07fd059UL, 0xff2379c8UL, 0x775f50e2UL, 0x43c340d3UL, 0xdf2f8656UL, 0x887ca41aUL, 0xa2d2bd2dUL,
+0xa1c9e0d6UL, 0x346c4819UL, 0x61b76d87UL, 0x22540f2fUL, 0x2abe32e1UL, 0xaa54166bUL, 0x22568e3aUL, 0xa2d341d0UL,
+0x66db40c8UL, 0xa784392fUL, 0x004dff2fUL, 0x2db9d2deUL, 0x97943facUL, 0x4a97c1d8UL, 0x527644b7UL, 0xb5f437a7UL,
+0xb82cbaefUL, 0xd751d159UL, 0x6ff7f0edUL, 0x5a097a1fUL, 0x827b68d0UL, 0x90ecf52eUL, 0x22b0c054UL, 0xbc8e5935UL,
+0x4b6d2f7fUL, 0x50bb64a2UL, 0xd2664910UL, 0xbee5812dUL, 0xb7332290UL, 0xe93b159fUL, 0xb48ee411UL, 0x4bff345dUL,
+0xfd45c240UL, 0xad31973fUL, 0xc4f6d02eUL, 0x55fc8165UL, 0xd5b1caadUL, 0xa1ac2daeUL, 0xa2d4b76dUL, 0xc19b0c50UL,
+0x882240f2UL, 0x0c6e4f38UL, 0xa4e4bfd7UL, 0x4f5ba272UL, 0x564c1d2fUL, 0xc59c5319UL, 0xb949e354UL, 0xb04669feUL,
+0xb1b6ab8aUL, 0xc71358ddUL, 0x6385c545UL, 0x110f935dUL, 0x57538ad5UL, 0x6a390493UL, 0xe63d37e0UL, 0x2a54f6b3UL,
+0x3a787d5fUL, 0x6276a0b5UL, 0x19a6fcdfUL, 0x7a42206aUL, 0x29f9d4d5UL, 0xf61b1891UL, 0xbb72275eUL, 0xaa508167UL,
+0x38901091UL, 0xc6b505ebUL, 0x84c7cb8cUL, 0x2ad75a0fUL, 0x874a1427UL, 0xa2d1936bUL, 0x2ad286afUL, 0xaa56d291UL,
+0xd7894360UL, 0x425c750dUL, 0x93b39e26UL, 0x187184c9UL, 0x6c00b32dUL, 0x73e2bb14UL, 0xa0bebc3cUL, 0x54623779UL,
+0x64459eabUL, 0x3f328b82UL, 0x7718cf82UL, 0x59a2cea6UL, 0x04ee002eUL, 0x89fe78e6UL, 0x3fab0950UL, 0x325ff6c2UL,
+0x81383f05UL, 0x6963c5c8UL, 0x76cb5ad6UL, 0xd49974c9UL, 0xca180dcfUL, 0x380782d5UL, 0xc7fa5cf6UL, 0x8ac31511UL,
+0x35e79e13UL, 0x47da91d0UL, 0xf40f9086UL, 0xa7e2419eUL, 0x31366241UL, 0x051ef495UL, 0xaa573b04UL, 0x4a805d8dUL,
+0x548300d0UL, 0x00322a3cUL, 0xbf64cddfUL, 0xba57a68eUL, 0x75c6372bUL, 0x50afd341UL, 0xa7c13275UL, 0x915a0bf5UL,
+0x6b54bfabUL, 0x2b0b1426UL, 0xab4cc9d7UL, 0x449ccd82UL, 0xf7fbf265UL, 0xab85c5f3UL, 0x1b55db94UL, 0xaad4e324UL,
+0xcfa4bd3fUL, 0x2deaa3e2UL, 0x9e204d02UL, 0xc8bd25acUL, 0xeadf55b3UL, 0xd5bd9e98UL, 0xe31231b2UL, 0x2ad5ad6cUL,
+0x954329deUL, 0xadbe4528UL, 0xd8710f69UL, 0xaa51c90fUL, 0xaa786bf6UL, 0x22513f1eUL, 0xaa51a79bUL, 0x2ad344ccUL,
+0x7b5a41f0UL, 0xd37cfbadUL, 0x1b069505UL, 0x41ece491UL, 0xb4c332e6UL, 0x032268d4UL, 0xc9600accUL, 0xce387e6dUL,
+0xbf6bb16cUL, 0x6a70fb78UL, 0x0d03d9c9UL, 0xd4df39deUL, 0xe01063daUL, 0x4736f464UL, 0x5ad328d8UL, 0xb347cc96UL,
+0x75bb0fc3UL, 0x98511bfbUL, 0x4ffbcc35UL, 0xb58bcf6aUL, 0xe11f0abcUL, 0xbfc5fe4aUL, 0xa70aec10UL, 0xac39570aUL,
+0x3f04442fUL, 0x6188b153UL, 0xe0397a2eUL, 0x5727cb79UL, 0x9ceb418fUL, 0x1cacd68dUL, 0x2ad37c96UL, 0x0175cb9dUL,
+0xc69dff09UL, 0xc75b65f0UL, 0xd9db40d8UL, 0xec0e7779UL, 0x4744ead4UL, 0xb11c3274UL, 0xdd24cb9eUL, 0x7e1c54bdUL,
+0xf01144f9UL, 0xd2240eb1UL, 0x9675b3fdUL, 0xa3ac3755UL, 0xd47c27afUL, 0x51c85f4dUL, 0x56907596UL, 0xa5bb15e6UL,
+0x580304f0UL, 0xca042cf1UL, 0x011a37eaUL, 0x8dbfaadbUL, 0x35ba3e4aUL, 0x3526ffa0UL, 0xc37b4d09UL, 0xbc306ed9UL,
+0x98a52666UL, 0x5648f725UL, 0xff5e569dUL, 0x0ced63d0UL, 0x7c63b2cfUL, 0x700b45e1UL, 0xd5ea50f1UL, 0x85a92872UL,
+0xaf1fbda7UL, 0xd4234870UL, 0xa7870bf3UL, 0x2d3b4d79UL, 0x42e04198UL, 0x0cd0ede7UL, 0x26470db8UL, 0xf881814cUL,
+0x474d6ad7UL, 0x7c0c5e5cUL, 0xd1231959UL, 0x381b7298UL, 0xf5d2f4dbUL, 0xab838653UL, 0x6e2f1e23UL, 0x83719c9eUL,
+0xbd91e046UL, 0x9a56456eUL, 0xdc39200cUL, 0x20c8c571UL, 0x962bda1cUL, 0xe1e696ffUL, 0xb141ab08UL, 0x7cca89b9UL,
+0x1a69e783UL, 0x02cc4843UL, 0xa2f7c579UL, 0x429ef47dUL, 0x427b169cUL, 0x5ac9f049UL, 0xdd8f0f00UL, 0x5c8165bfUL};
+
+const uint32_t s2[] PROGMEM = {
+0x1f201094UL, 0xef0ba75bUL, 0x69e3cf7eUL, 0x393f4380UL, 0xfe61cf7aUL, 0xeec5207aUL, 0x55889c94UL, 0x72fc0651UL,
+0xada7ef79UL, 0x4e1d7235UL, 0xd55a63ceUL, 0xde0436baUL, 0x99c430efUL, 0x5f0c0794UL, 0x18dcdb7dUL, 0xa1d6eff3UL,
+0xa0b52f7bUL, 0x59e83605UL, 0xee15b094UL, 0xe9ffd909UL, 0xdc440086UL, 0xef944459UL, 0xba83ccb3UL, 0xe0c3cdfbUL,
+0xd1da4181UL, 0x3b092ab1UL, 0xf997f1c1UL, 0xa5e6cf7bUL, 0x01420ddbUL, 0xe4e7ef5bUL, 0x25a1ff41UL, 0xe180f806UL,
+0x1fc41080UL, 0x179bee7aUL, 0xd37ac6a9UL, 0xfe5830a4UL, 0x98de8b7fUL, 0x77e83f4eUL, 0x79929269UL, 0x24fa9f7bUL,
+0xe113c85bUL, 0xacc40083UL, 0xd7503525UL, 0xf7ea615fUL, 0x62143154UL, 0x0d554b63UL, 0x5d681121UL, 0xc866c359UL,
+0x3d63cf73UL, 0xcee234c0UL, 0xd4d87e87UL, 0x5c672b21UL, 0x071f6181UL, 0x39f7627fUL, 0x361e3084UL, 0xe4eb573bUL,
+0x602f64a4UL, 0xd63acd9cUL, 0x1bbc4635UL, 0x9e81032dUL, 0x2701f50cUL, 0x99847ab4UL, 0xa0e3df79UL, 0xba6cf38cUL,
+0x10843094UL, 0x2537a95eUL, 0xf46f6ffeUL, 0xa1ff3b1fUL, 0x208cfb6aUL, 0x8f458c74UL, 0xd9e0a227UL, 0x4ec73a34UL,
+0xfc884f69UL, 0x3e4de8dfUL, 0xef0e0088UL, 0x3559648dUL, 0x8a45388cUL, 0x1d804366UL, 0x721d9bfdUL, 0xa58684bbUL,
+0xe8256333UL, 0x844e8212UL, 0x128d8098UL, 0xfed33fb4UL, 0xce280ae1UL, 0x27e19ba5UL, 0xd5a6c252UL, 0xe49754bdUL,
+0xc5d655ddUL, 0xeb667064UL, 0x77840b4dUL, 0xa1b6a801UL, 0x84db26a9UL, 0xe0b56714UL, 0x21f043b7UL, 0xe5d05860UL,
+0x54f03084UL, 0x066ff472UL, 0xa31aa153UL, 0xdadc4755UL, 0xb5625dbfUL, 0x68561be6UL, 0x83ca6b94UL, 0x2d6ed23bUL,
+0xeccf01dbUL, 0xa6d3d0baUL, 0xb6803d5cUL, 0xaf77a709UL, 0x33b4a34cUL, 0x397bc8d6UL, 0x5ee22b95UL, 0x5f0e5304UL,
+0x81ed6f61UL, 0x20e74364UL, 0xb45e1378UL, 0xde18639bUL, 0x881ca122UL, 0xb96726d1UL, 0x8049a7e8UL, 0x22b7da7bUL,
+0x5e552d25UL, 0x5272d237UL, 0x79d2951cUL, 0xc60d894cUL, 0x488cb402UL, 0x1ba4fe5bUL, 0xa4b09f6bUL, 0x1ca815cfUL,
+0xa20c3005UL, 0x8871df63UL, 0xb9de2fcbUL, 0x0cc6c9e9UL, 0x0beeff53UL, 0xe3214517UL, 0xb4542835UL, 0x9f63293cUL,
+0xee41e729UL, 0x6e1d2d7cUL, 0x50045286UL, 0x1e6685f3UL, 0xf33401c6UL, 0x30a22c95UL, 0x31a70850UL, 0x60930f13UL,
+0x73f98417UL, 0xa1269859UL, 0xec645c44UL, 0x52c877a9UL, 0xcdff33a6UL, 0xa02b1741UL, 0x7cbad9a2UL, 0x2180036fUL,
+0x50d99c08UL, 0xcb3f4861UL, 0xc26bd765UL, 0x64a3f6abUL, 0x80342676UL, 0x25a75e7bUL, 0xe4e6d1fcUL, 0x20c710e6UL,
+0xcdf0b680UL, 0x17844d3bUL, 0x31eef84dUL, 0x7e0824e4UL, 0x2ccb49ebUL, 0x846a3baeUL, 0x8ff77888UL, 0xee5d60f6UL,
+0x7af75673UL, 0x2fdd5cdbUL, 0xa11631c1UL, 0x30f66f43UL, 0xb3faec54UL, 0x157fd7faUL, 0xef8579ccUL, 0xd152de58UL,
+0xdb2ffd5eUL, 0x8f32ce19UL, 0x306af97aUL, 0x02f03ef8UL, 0x99319ad5UL, 0xc242fa0fUL, 0xa7e3ebb0UL, 0xc68e4906UL,
+0xb8da230cUL, 0x80823028UL, 0xdcdef3c8UL, 0xd35fb171UL, 0x088a1bc8UL, 0xbec0c560UL, 0x61a3c9e8UL, 0xbca8f54dUL,
+0xc72feffaUL, 0x22822e99UL, 0x82c570b4UL, 0xd8d94e89UL, 0x8b1c34bcUL, 0x301e16e6UL, 0x273be979UL, 0xb0ffeaa6UL,
+0x61d9b8c6UL, 0x00b24869UL, 0xb7ffce3fUL, 0x08dc283bUL, 0x43daf65aUL, 0xf7e19798UL, 0x7619b72fUL, 0x8f1c9ba4UL,
+0xdc8637a0UL, 0x16a7d3b1UL, 0x9fc393b7UL, 0xa7136eebUL, 0xc6bcc63eUL, 0x1a513742UL, 0xef6828bcUL, 0x520365d6UL,
+0x2d6a77abUL, 0x3527ed4bUL, 0x821fd216UL, 0x095c6e2eUL, 0xdb92f2fbUL, 0x5eea29cbUL, 0x145892f5UL, 0x91584f7fUL,
+0x5483697bUL, 0x2667a8ccUL, 0x85196048UL, 0x8c4baceaUL, 0x833860d4UL, 0x0d23e0f9UL, 0x6c387e8aUL, 0x0ae6d249UL,
+0xb284600cUL, 0xd835731dUL, 0xdcb1c647UL, 0xac4c56eaUL, 0x3ebd81b3UL, 0x230eabb0UL, 0x6438bc87UL, 0xf0b5b1faUL,
+0x8f5ea2b3UL, 0xfc184642UL, 0x0a036b7aUL, 0x4fb089bdUL, 0x649da589UL, 0xa345415eUL, 0x5c038323UL, 0x3e5d3bb9UL,
+0x43d79572UL, 0x7e6dd07cUL, 0x06dfdf1eUL, 0x6c6cc4efUL, 0x7160a539UL, 0x73bfbe70UL, 0x83877605UL, 0x4523ecf1UL};
+
+const uint32_t s3[] PROGMEM = {
+0x8defc240UL, 0x25fa5d9fUL, 0xeb903dbfUL, 0xe810c907UL, 0x47607fffUL, 0x369fe44bUL, 0x8c1fc644UL, 0xaececa90UL,
+0xbeb1f9bfUL, 0xeefbcaeaUL, 0xe8cf1950UL, 0x51df07aeUL, 0x920e8806UL, 0xf0ad0548UL, 0xe13c8d83UL, 0x927010d5UL,
+0x11107d9fUL, 0x07647db9UL, 0xb2e3e4d4UL, 0x3d4f285eUL, 0xb9afa820UL, 0xfade82e0UL, 0xa067268bUL, 0x8272792eUL,
+0x553fb2c0UL, 0x489ae22bUL, 0xd4ef9794UL, 0x125e3fbcUL, 0x21fffceeUL, 0x825b1bfdUL, 0x9255c5edUL, 0x1257a240UL,
+0x4e1a8302UL, 0xbae07fffUL, 0x528246e7UL, 0x8e57140eUL, 0x3373f7bfUL, 0x8c9f8188UL, 0xa6fc4ee8UL, 0xc982b5a5UL,
+0xa8c01db7UL, 0x579fc264UL, 0x67094f31UL, 0xf2bd3f5fUL, 0x40fff7c1UL, 0x1fb78dfcUL, 0x8e6bd2c1UL, 0x437be59bUL,
+0x99b03dbfUL, 0xb5dbc64bUL, 0x638dc0e6UL, 0x55819d99UL, 0xa197c81cUL, 0x4a012d6eUL, 0xc5884a28UL, 0xccc36f71UL,
+0xb843c213UL, 0x6c0743f1UL, 0x8309893cUL, 0x0feddd5fUL, 0x2f7fe850UL, 0xd7c07f7eUL, 0x02507fbfUL, 0x5afb9a04UL,
+0xa747d2d0UL, 0x1651192eUL, 0xaf70bf3eUL, 0x58c31380UL, 0x5f98302eUL, 0x727cc3c4UL, 0x0a0fb402UL, 0x0f7fef82UL,
+0x8c96fdadUL, 0x5d2c2aaeUL, 0x8ee99a49UL, 0x50da88b8UL, 0x8427f4a0UL, 0x1eac5790UL, 0x796fb449UL, 0x8252dc15UL,
+0xefbd7d9bUL, 0xa672597dUL, 0xada840d8UL, 0x45f54504UL, 0xfa5d7403UL, 0xe83ec305UL, 0x4f91751aUL, 0x925669c2UL,
+0x23efe941UL, 0xa903f12eUL, 0x60270df2UL, 0x0276e4b6UL, 0x94fd6574UL, 0x927985b2UL, 0x8276dbcbUL, 0x02778176UL,
+0xf8af918dUL, 0x4e48f79eUL, 0x8f616ddfUL, 0xe29d840eUL, 0x842f7d83UL, 0x340ce5c8UL, 0x96bbb682UL, 0x93b4b148UL,
+0xef303cabUL, 0x984faf28UL, 0x779faf9bUL, 0x92dc560dUL, 0x224d1e20UL, 0x8437aa88UL, 0x7d29dc96UL, 0x2756d3dcUL,
+0x8b907ceeUL, 0xb51fd240UL, 0xe7c07ce3UL, 0xe566b4a1UL, 0xc3e9615eUL, 0x3cf8209dUL, 0x6094d1e3UL, 0xcd9ca341UL,
+0x5c76460eUL, 0x00ea983bUL, 0xd4d67881UL, 0xfd47572cUL, 0xf76cedd9UL, 0xbda8229cUL, 0x127dadaaUL, 0x438a074eUL,
+0x1f97c090UL, 0x081bdb8aUL, 0x93a07ebeUL, 0xb938ca15UL, 0x97b03cffUL, 0x3dc2c0f8UL, 0x8d1ab2ecUL, 0x64380e51UL,
+0x68cc7bfbUL, 0xd90f2788UL, 0x12490181UL, 0x5de5ffd4UL, 0xdd7ef86aUL, 0x76a2e214UL, 0xb9a40368UL, 0x925d958fUL,
+0x4b39fffaUL, 0xba39aee9UL, 0xa4ffd30bUL, 0xfaf7933bUL, 0x6d498623UL, 0x193cbcfaUL, 0x27627545UL, 0x825cf47aUL,
+0x61bd8ba0UL, 0xd11e42d1UL, 0xcead04f4UL, 0x127ea392UL, 0x10428db7UL, 0x8272a972UL, 0x9270c4a8UL, 0x127de50bUL,
+0x285ba1c8UL, 0x3c62f44fUL, 0x35c0eaa5UL, 0xe805d231UL, 0x428929fbUL, 0xb4fcdf82UL, 0x4fb66a53UL, 0x0e7dc15bUL,
+0x1f081fabUL, 0x108618aeUL, 0xfcfd086dUL, 0xf9ff2889UL, 0x694bcc11UL, 0x236a5caeUL, 0x12deca4dUL, 0x2c3f8cc5UL,
+0xd2d02dfeUL, 0xf8ef5896UL, 0xe4cf52daUL, 0x95155b67UL, 0x494a488cUL, 0xb9b6a80cUL, 0x5c8f82bcUL, 0x89d36b45UL,
+0x3a609437UL, 0xec00c9a9UL, 0x44715253UL, 0x0a874b49UL, 0xd773bc40UL, 0x7c34671cUL, 0x02717ef6UL, 0x4feb5536UL,
+0xa2d02fffUL, 0xd2bf60c4UL, 0xd43f03c0UL, 0x50b4ef6dUL, 0x07478cd1UL, 0x006e1888UL, 0xa2e53f55UL, 0xb9e6d4bcUL,
+0xa2048016UL, 0x97573833UL, 0xd7207d67UL, 0xde0f8f3dUL, 0x72f87b33UL, 0xabcc4f33UL, 0x7688c55dUL, 0x7b00a6b0UL,
+0x947b0001UL, 0x570075d2UL, 0xf9bb88f8UL, 0x8942019eUL, 0x4264a5ffUL, 0x856302e0UL, 0x72dbd92bUL, 0xee971b69UL,
+0x6ea22fdeUL, 0x5f08ae2bUL, 0xaf7a616dUL, 0xe5c98767UL, 0xcf1febd2UL, 0x61efc8c2UL, 0xf1ac2571UL, 0xcc8239c2UL,
+0x67214cb8UL, 0xb1e583d1UL, 0xb7dc3e62UL, 0x7f10bdceUL, 0xf90a5c38UL, 0x0ff0443dUL, 0x606e6dc6UL, 0x60543a49UL,
+0x5727c148UL, 0x2be98a1dUL, 0x8ab41738UL, 0x20e1be24UL, 0xaf96da0fUL, 0x68458425UL, 0x99833be5UL, 0x600d457dUL,
+0x282f9350UL, 0x8334b362UL, 0xd91d1120UL, 0x2b6d8da0UL, 0x642b1e31UL, 0x9c305a00UL, 0x52bce688UL, 0x1b03588aUL,
+0xf7baefd5UL, 0x4142ed9cUL, 0xa4315c11UL, 0x83323ec5UL, 0xdfef4636UL, 0xa133c501UL, 0xe9d3531cUL, 0xee353783UL};
+
+const uint32_t s4[] PROGMEM = {
+0x9db30420UL, 0x1fb6e9deUL, 0xa7be7befUL, 0xd273a298UL, 0x4a4f7bdbUL, 0x64ad8c57UL, 0x85510443UL, 0xfa020ed1UL,
+0x7e287affUL, 0xe60fb663UL, 0x095f35a1UL, 0x79ebf120UL, 0xfd059d43UL, 0x6497b7b1UL, 0xf3641f63UL, 0x241e4adfUL,
+0x28147f5fUL, 0x4fa2b8cdUL, 0xc9430040UL, 0x0cc32220UL, 0xfdd30b30UL, 0xc0a5374fUL, 0x1d2d00d9UL, 0x24147b15UL,
+0xee4d111aUL, 0x0fca5167UL, 0x71ff904cUL, 0x2d195ffeUL, 0x1a05645fUL, 0x0c13fefeUL, 0x081b08caUL, 0x05170121UL,
+0x80530100UL, 0xe83e5efeUL, 0xac9af4f8UL, 0x7fe72701UL, 0xd2b8ee5fUL, 0x06df4261UL, 0xbb9e9b8aUL, 0x7293ea25UL,
+0xce84ffdfUL, 0xf5718801UL, 0x3dd64b04UL, 0xa26f263bUL, 0x7ed48400UL, 0x547eebe6UL, 0x446d4ca0UL, 0x6cf3d6f5UL,
+0x2649abdfUL, 0xaea0c7f5UL, 0x36338cc1UL, 0x503f7e93UL, 0xd3772061UL, 0x11b638e1UL, 0x72500e03UL, 0xf80eb2bbUL,
+0xabe0502eUL, 0xec8d77deUL, 0x57971e81UL, 0xe14f6746UL, 0xc9335400UL, 0x6920318fUL, 0x081dbb99UL, 0xffc304a5UL,
+0x4d351805UL, 0x7f3d5ce3UL, 0xa6c866c6UL, 0x5d5bcca9UL, 0xdaec6feaUL, 0x9f926f91UL, 0x9f46222fUL, 0x3991467dUL,
+0xa5bf6d8eUL, 0x1143c44fUL, 0x43958302UL, 0xd0214eebUL, 0x022083b8UL, 0x3fb6180cUL, 0x18f8931eUL, 0x281658e6UL,
+0x26486e3eUL, 0x8bd78a70UL, 0x7477e4c1UL, 0xb506e07cUL, 0xf32d0a25UL, 0x79098b02UL, 0xe4eabb81UL, 0x28123b23UL,
+0x69dead38UL, 0x1574ca16UL, 0xdf871b62UL, 0x211c40b7UL, 0xa51a9ef9UL, 0x0014377bUL, 0x041e8ac8UL, 0x09114003UL,
+0xbd59e4d2UL, 0xe3d156d5UL, 0x4fe876d5UL, 0x2f91a340UL, 0x557be8deUL, 0x00eae4a7UL, 0x0ce5c2ecUL, 0x4db4bba6UL,
+0xe756bdffUL, 0xdd3369acUL, 0xec17b035UL, 0x06572327UL, 0x99afc8b0UL, 0x56c8c391UL, 0x6b65811cUL, 0x5e146119UL,
+0x6e85cb75UL, 0xbe07c002UL, 0xc2325577UL, 0x893ff4ecUL, 0x5bbfc92dUL, 0xd0ec3b25UL, 0xb7801ab7UL, 0x8d6d3b24UL,
+0x20c763efUL, 0xc366a5fcUL, 0x9c382880UL, 0x0ace3205UL, 0xaac9548aUL, 0xeca1d7c7UL, 0x041afa32UL, 0x1d16625aUL,
+0x6701902cUL, 0x9b757a54UL, 0x31d477f7UL, 0x9126b031UL, 0x36cc6fdbUL, 0xc70b8b46UL, 0xd9e66a48UL, 0x56e55a79UL,
+0x026a4cebUL, 0x52437effUL, 0x2f8f76b4UL, 0x0df980a5UL, 0x8674cde3UL, 0xedda04ebUL, 0x17a9be04UL, 0x2c18f4dfUL,
+0xb7747f9dUL, 0xab2af7b4UL, 0xefc34d20UL, 0x2e096b7cUL, 0x1741a254UL, 0xe5b6a035UL, 0x213d42f6UL, 0x2c1c7c26UL,
+0x61c2f50fUL, 0x6552daf9UL, 0xd2c231f8UL, 0x25130f69UL, 0xd8167fa2UL, 0x0418f2c8UL, 0x001a96a6UL, 0x0d1526abUL,
+0x63315c21UL, 0x5e0a72ecUL, 0x49bafefdUL, 0x187908d9UL, 0x8d0dbd86UL, 0x311170a7UL, 0x3e9b640cUL, 0xcc3e10d7UL,
+0xd5cad3b6UL, 0x0caec388UL, 0xf73001e1UL, 0x6c728affUL, 0x71eae2a1UL, 0x1f9af36eUL, 0xcfcbd12fUL, 0xc1de8417UL,
+0xac07be6bUL, 0xcb44a1d8UL, 0x8b9b0f56UL, 0x013988c3UL, 0xb1c52fcaUL, 0xb4be31cdUL, 0xd8782806UL, 0x12a3a4e2UL,
+0x6f7de532UL, 0x58fd7eb6UL, 0xd01ee900UL, 0x24adffc2UL, 0xf4990fc5UL, 0x9711aac5UL, 0x001d7b95UL, 0x82e5e7d2UL,
+0x109873f6UL, 0x00613096UL, 0xc32d9521UL, 0xada121ffUL, 0x29908415UL, 0x7fbb977fUL, 0xaf9eb3dbUL, 0x29c9ed2aUL,
+0x5ce2a465UL, 0xa730f32cUL, 0xd0aa3fe8UL, 0x8a5cc091UL, 0xd49e2ce7UL, 0x0ce454a9UL, 0xd60acd86UL, 0x015f1919UL,
+0x77079103UL, 0xdea03af6UL, 0x78a8565eUL, 0xdee356dfUL, 0x21f05cbeUL, 0x8b75e387UL, 0xb3c50651UL, 0xb8a5c3efUL,
+0xd8eeb6d2UL, 0xe523be77UL, 0xc2154529UL, 0x2f69efdfUL, 0xafe67afbUL, 0xf470c4b2UL, 0xf3e0eb5bUL, 0xd6cc9876UL,
+0x39e4460cUL, 0x1fda8538UL, 0x1987832fUL, 0xca007367UL, 0xa99144f8UL, 0x296b299eUL, 0x492fc295UL, 0x9266beabUL,
+0xb5676e69UL, 0x9bd3dddaUL, 0xdf7e052fUL, 0xdb25701cUL, 0x1b5e51eeUL, 0xf65324e6UL, 0x6afce36cUL, 0x0316cc04UL,
+0x8644213eUL, 0xb7dc59d0UL, 0x7965291fUL, 0xccd6fd43UL, 0x41823979UL, 0x932bcdf6UL, 0xb657c34dUL, 0x4edfd282UL,
+0x7ae5290cUL, 0x3cb9536bUL, 0x851e20feUL, 0x9833557eUL, 0x13ecf0b0UL, 0xd3ffb372UL, 0x3f85c5c1UL, 0x0aef7ed2UL};
+
+#else
+
+const uint32_t s1[] PROGMEM = {
+0xd440fb30UL, 0x0bffa09fUL, 0x2fcdec6bUL, 0x7a8c253fUL, 0x2f3f211eUL, 0xd34d009cUL, 0x40e50360UL, 0x49c99fcfUL,
+0x27afd4bfUL, 0xb5bdbb88UL, 0x904003e2UL, 0x7596d098UL, 0xe0a0636eUL, 0xd261c315UL, 0x1d66e7c2UL, 0x8effd422UL,
+0x6f3b6828UL, 0x59d07fc0UL, 0xc87923ffUL, 0xe2505f77UL, 0xd340c343UL, 0x56862fdfUL, 0x1aa47c88UL, 0x2dbdd2a2UL,
+0xd6e0c9a1UL, 0x19486c34UL, 0x876db761UL, 0x2f0f5422UL, 0xe132be2aUL, 0x6b1654aaUL, 0x3a8e5622UL, 0xd041d3a2UL,
+0xc840db66UL, 0x2f3984a7UL, 0x2fff4d00UL, 0xded2b92dUL, 0xac3f9497UL, 0xd8c1974aUL, 0xb7447652UL, 0xa737f4b5UL,
+0xefba2cb8UL, 0x59d151d7UL, 0xedf0f76fUL, 0x1f7a095aUL, 0xd0687b82UL, 0x2ef5ec90UL, 0x54c0b022UL, 0x35598ebcUL,
+0x7f2f6d4bUL, 0xa264bb50UL, 0x104966d2UL, 0x2d81e5beUL, 0x902233b7UL, 0x9f153be9UL, 0x11e48eb4UL, 0x5d34ff4bUL,
+0x40c245fdUL, 0x3f9731adUL, 0x2ed0f6c4UL, 0x6581fc55UL, 0xadcab1d5UL, 0xae2daca1UL, 0x6db7d4a2UL, 0x500c9bc1UL,
+0xf2402288UL, 0x384f6e0cUL, 0xd7bfe4a4UL, 0x72a25b4fUL, 0x2f1d4c56UL, 0x19539cc5UL, 0x54e349b9UL, 0xfe6946b0UL,
+0x8aabb6b1UL, 0xdd5813c7UL, 0x45c58563UL, 0x5d930f11UL, 0xd58a5357UL, 0x9304396aUL, 0xe0373de6UL, 0xb3f6542aUL,
+0x5f7d783aUL, 0xb5a07662UL, 0xdffca619UL, 0x6a20427aUL, 0xd5d4f929UL, 0x91181bf6UL, 0x5e2772bbUL, 0x678150aaUL,
+0x91109038UL, 0xeb05b5c6UL, 0x8ccbc784UL, 0x0f5ad72aUL, 0x27144a87UL, 0x6b93d1a2UL, 0xaf86d22aUL, 0x91d256aaUL,
+0x604389d7UL, 0x0d755c42UL, 0x269eb393UL, 0xc9847118UL, 0x2db3006cUL, 0x14bbe273UL, 0x3cbcbea0UL, 0x79376254UL,
+0xab9e4564UL, 0x828b323fUL, 0x82cf1877UL, 0xa6cea259UL, 0x2e00ee04UL, 0xe678fe89UL, 0x5009ab3fUL, 0xc2f65f32UL,
+0x053f3881UL, 0xc8c56369UL, 0xd65acb76UL, 0xc97499d4UL, 0xcf0d18caUL, 0xd5820738UL, 0xf65cfac7UL, 0x1115c38aUL,
+0x139ee735UL, 0xd091da47UL, 0x86900ff4UL, 0x9e41e2a7UL, 0x41623631UL, 0x95f41e05UL, 0x043b57aaUL, 0x8d5d804aUL,
+0xd0008354UL, 0x3c2a3200UL, 0xdfcd64bfUL, 0x8ea657baUL, 0x2b37c675UL, 0x41d3af50UL, 0x7532c1a7UL, 0xf50b5a91UL,
+0xabbf546bUL, 0x26140b2bUL, 0xd7c94cabUL, 0x82cd9c44UL, 0x65f2fbf7UL, 0xf3c585abUL, 0x94db551bUL, 0x24e3d4aaUL,
+0x3fbda4cfUL, 0xe2a3ea2dUL, 0x024d209eUL, 0xac25bdc8UL, 0xb355dfeaUL, 0x989ebdd5UL, 0xb23112e3UL, 0x6cadd52aUL,
+0xde294395UL, 0x2845beadUL, 0x690f71d8UL, 0x0fc951aaUL, 0xf66b78aaUL, 0x1e3f5122UL, 0x9ba751aaUL, 0xcc44d32aUL,
+0xf0415a7bUL, 0xadfb7cd3UL, 0x0595061bUL, 0x91e4ec41UL, 0xe632c3b4UL, 0xd4682203UL, 0xcc0a60c9UL, 0x6d7e38ceUL,
+0x6cb16bbfUL, 0x78fb706aUL, 0xc9d9030dUL, 0xde39dfd4UL, 0xda6310e0UL, 0x64f43647UL, 0xd828d35aUL, 0x96cc47b3UL,
+0xc30fbb75UL, 0xfb1b5198UL, 0x35ccfb4fUL, 0x6acf8bb5UL, 0xbc0a1fe1UL, 0x4afec5bfUL, 0x10ec0aa7UL, 0x0a5739acUL,
+0x2f44043fUL, 0x53b18861UL, 0x2e7a39e0UL, 0x79cb2757UL, 0x8f41eb9cUL, 0x8dd6ac1cUL, 0x967cd32aUL, 0x9dcb7501UL,
+0x09ff9dc6UL, 0xf0655bc7UL, 0xd840dbd9UL, 0x79770eecUL, 0xd4ea4447UL, 0x74321cb1UL, 0x9ecb24ddUL, 0xbd541c7eUL,
+0xf94411f0UL, 0xb10e24d2UL, 0xfdb37596UL, 0x5537aca3UL, 0xaf277cd4UL, 0x4d5fc851UL, 0x96759056UL, 0xe615bba5UL,
+0xf0040358UL, 0xf12c04caUL, 0xea371a01UL, 0xdbaabf8dUL, 0x4a3eba35UL, 0xa0ff2635UL, 0x094d7bc3UL, 0xd96e30bcUL,
+0x6626a598UL, 0x25f74856UL, 0x9d565effUL, 0xd063ed0cUL, 0xcfb2637cUL, 0xe1450b70UL, 0xf150ead5UL, 0x7228a985UL,
+0xa7bd1fafUL, 0x704823d4UL, 0xf30b87a7UL, 0x794d3b2dUL, 0x9841e042UL, 0xe7edd00cUL, 0xb80d4726UL, 0x4c8181f8UL,
+0xd76a4d47UL, 0x5c5e0c7cUL, 0x591923d1UL, 0x98721b38UL, 0xdbf4d2f5UL, 0x538683abUL, 0x231e2f6eUL, 0x9e9c7183UL,
+0x46e091bdUL, 0x6e45569aUL, 0x0c2039dcUL, 0x71c5c820UL, 0x1cda2b96UL, 0xff96e6e1UL, 0x08ab41b1UL, 0xb989ca7cUL,
+0x83e7691aUL, 0x4348cc02UL, 0x79c5f7a2UL, 0x7df49e42UL, 0x9c167b42UL, 0x49f0c95aUL, 0x000f8fddUL, 0xbf65815cUL};
+
+const uint32_t s2[] PROGMEM = {
+0x9410201fUL, 0x5ba70befUL, 0x7ecfe369UL, 0x80433f39UL, 0x7acf61feUL, 0x7a20c5eeUL, 0x949c8855UL, 0x5106fc72UL,
+0x79efa7adUL, 0x35721d4eUL, 0xce635ad5UL, 0xba3604deUL, 0xef30c499UL, 0x94070c5fUL, 0x7ddbdc18UL, 0xf3efd6a1UL,
+0x7b2fb5a0UL, 0x0536e859UL, 0x94b015eeUL, 0x09d9ffe9UL, 0x860044dcUL, 0x594494efUL, 0xb3cc83baUL, 0xfbcdc3e0UL,
+0x8141dad1UL, 0xb12a093bUL, 0xc1f197f9UL, 0x7bcfe6a5UL, 0xdb0d4201UL, 0x5befe7e4UL, 0x41ffa125UL, 0x06f880e1UL,
+0x8010c41fUL, 0x7aee9b17UL, 0xa9c67ad3UL, 0xa43058feUL, 0x7f8bde98UL, 0x4e3fe877UL, 0x69929279UL, 0x7b9ffa24UL,
+0x5bc813e1UL, 0x8300c4acUL, 0x253550d7UL, 0x5f61eaf7UL, 0x54311462UL, 0x634b550dUL, 0x2111685dUL, 0x59c366c8UL,
+0x73cf633dUL, 0xc034e2ceUL, 0x877ed8d4UL, 0x212b675cUL, 0x81611f07UL, 0x7f62f739UL, 0x84301e36UL, 0x3b57ebe4UL,
+0xa4642f60UL, 0x9ccd3ad6UL, 0x3546bc1bUL, 0x2d03819eUL, 0x0cf50127UL, 0xb47a8499UL, 0x79dfe3a0UL, 0x8cf36cbaUL,
+0x94308410UL, 0x5ea93725UL, 0xfe6f6ff4UL, 0x1f3bffa1UL, 0x6afb8c20UL, 0x748c458fUL, 0x27a2e0d9UL, 0x343ac74eUL,
+0x694f88fcUL, 0xdfe84d3eUL, 0x88000eefUL, 0x8d645935UL, 0x8c38458aUL, 0x6643801dUL, 0xfd9b1d72UL, 0xbb8486a5UL,
+0x336325e8UL, 0x12824e84UL, 0x98808d12UL, 0xb43fd3feUL, 0xe10a28ceUL, 0xa59be127UL, 0x52c2a6d5UL, 0xbd5497e4UL,
+0xdd55d6c5UL, 0x647066ebUL, 0x4d0b8477UL, 0x01a8b6a1UL, 0xa926db84UL, 0x1467b5e0UL, 0xb743f021UL, 0x6058d0e5UL,
+0x8430f054UL, 0x72f46f06UL, 0x53a11aa3UL, 0x5547dcdaUL, 0xbf5d62b5UL, 0xe61b5668UL, 0x946bca83UL, 0x3bd26e2dUL,
+0xdb01cfecUL, 0xbad0d3a6UL, 0x5c3d80b6UL, 0x09a777afUL, 0x4ca3b433UL, 0xd6c87b39UL, 0x952be25eUL, 0x04530e5fUL,
+0x616fed81UL, 0x6443e720UL, 0x78135eb4UL, 0x9b6318deUL, 0x22a11c88UL, 0xd12667b9UL, 0xe8a74980UL, 0x7bdab722UL,
+0x252d555eUL, 0x37d27252UL, 0x1c95d279UL, 0x4c890dc6UL, 0x02b48c48UL, 0x5bfea41bUL, 0x6b9fb0a4UL, 0xcf15a81cUL,
+0x05300ca2UL, 0x63df7188UL, 0xcb2fdeb9UL, 0xe9c9c60cUL, 0x53ffee0bUL, 0x174521e3UL, 0x352854b4UL, 0x3c29639fUL,
+0x29e741eeUL, 0x7c2d1d6eUL, 0x86520450UL, 0xf385661eUL, 0xc60134f3UL, 0x952ca230UL, 0x5008a731UL, 0x130f9360UL,
+0x1784f973UL, 0x599826a1UL, 0x445c64ecUL, 0xa977c852UL, 0xa633ffcdUL, 0x41172ba0UL, 0xa2d9ba7cUL, 0x6f038021UL,
+0x089cd950UL, 0x61483fcbUL, 0x65d76bc2UL, 0xabf6a364UL, 0x76263480UL, 0x7b5ea725UL, 0xfcd1e6e4UL, 0xe610c720UL,
+0x80b6f0cdUL, 0x3b4d8417UL, 0x4df8ee31UL, 0xe424087eUL, 0xeb49cb2cUL, 0xae3b6a84UL, 0x8878f78fUL, 0xf6605deeUL,
+0x7356f77aUL, 0xdb5cdd2fUL, 0xc13116a1UL, 0x436ff630UL, 0x54ecfab3UL, 0xfad77f15UL, 0xcc7985efUL, 0x58de52d1UL,
+0x5efd2fdbUL, 0x19ce328fUL, 0x7af96a30UL, 0xf83ef002UL, 0xd59a3199UL, 0x0ffa42c2UL, 0xb0ebe3a7UL, 0x06498ec6UL,
+0x0c23dab8UL, 0x28308280UL, 0xc8f3dedcUL, 0x71b15fd3UL, 0xc81b8a08UL, 0x60c5c0beUL, 0xe8c9a361UL, 0x4df5a8bcUL,
+0xfaef2fc7UL, 0x992e8222UL, 0xb470c582UL, 0x894ed9d8UL, 0xbc341c8bUL, 0xe6161e30UL, 0x79e93b27UL, 0xa6eaffb0UL,
+0xc6b8d961UL, 0x6948b200UL, 0x3fceffb7UL, 0x3b28dc08UL, 0x5af6da43UL, 0x9897e1f7UL, 0x2fb71976UL, 0xa49b1c8fUL,
+0xa03786dcUL, 0xb1d3a716UL, 0xb793c39fUL, 0xeb6e13a7UL, 0x3ec6bcc6UL, 0x4237511aUL, 0xbc2868efUL, 0xd6650352UL,
+0xab776a2dUL, 0x4bed2735UL, 0x16d21f82UL, 0x2e6e5c09UL, 0xfbf292dbUL, 0xcb29ea5eUL, 0xf5925814UL, 0x7f4f5891UL,
+0x7b698354UL, 0xcca86726UL, 0x48601985UL, 0xeaac4b8cUL, 0xd4603883UL, 0xf9e0230dUL, 0x8a7e386cUL, 0x49d2e60aUL,
+0x0c6084b2UL, 0x1d7335d8UL, 0x47c6b1dcUL, 0xea564cacUL, 0xb381bd3eUL, 0xb0ab0e23UL, 0x87bc3864UL, 0xfab1b5f0UL,
+0xb3a25e8fUL, 0x424618fcUL, 0x7a6b030aUL, 0xbd89b04fUL, 0x89a59d64UL, 0x5e4145a3UL, 0x2383035cUL, 0xb93b5d3eUL,
+0x7295d743UL, 0x7cd06d7eUL, 0x1edfdf06UL, 0xefc46c6cUL, 0x39a56071UL, 0x70bebf73UL, 0x05768783UL, 0xf1ec2345UL};
+
+const uint32_t s3[] PROGMEM = {
+0x40c2ef8dUL, 0x9f5dfa25UL, 0xbf3d90ebUL, 0x07c910e8UL, 0xff7f6047UL, 0x4be49f36UL, 0x44c61f8cUL, 0x90caceaeUL,
+0xbff9b1beUL, 0xeacafbeeUL, 0x5019cfe8UL, 0xae07df51UL, 0x06880e92UL, 0x4805adf0UL, 0x838d3ce1UL, 0xd5107092UL,
+0x9f7d1011UL, 0xb97d6407UL, 0xd4e4e3b2UL, 0x5e284f3dUL, 0x20a8afb9UL, 0xe082defaUL, 0x8b2667a0UL, 0x2e797282UL,
+0xc0b23f55UL, 0x2be29a48UL, 0x9497efd4UL, 0xbc3f5e12UL, 0xeefcff21UL, 0xfd1b5b82UL, 0xedc55592UL, 0x40a25712UL,
+0x02831a4eUL, 0xff7fe0baUL, 0xe7468252UL, 0x0e14578eUL, 0xbff77333UL, 0x88819f8cUL, 0xe84efca6UL, 0xa5b582c9UL,
+0xb71dc0a8UL, 0x64c29f57UL, 0x314f0967UL, 0x5f3fbdf2UL, 0xc1f7ff40UL, 0xfc8db71fUL, 0xc1d26b8eUL, 0x9be57b43UL,
+0xbf3db099UL, 0x4bc6dbb5UL, 0xe6c08d63UL, 0x999d8155UL, 0x1cc897a1UL, 0x6e2d014aUL, 0x284a88c5UL, 0x716fc3ccUL,
+0x13c243b8UL, 0xf143076cUL, 0x3c890983UL, 0x5fdded0fUL, 0x50e87f2fUL, 0x7e7fc0d7UL, 0xbf7f5002UL, 0x049afb5aUL,
+0xd0d247a7UL, 0x2e195116UL, 0x3ebf70afUL, 0x8013c358UL, 0x2e30985fUL, 0xc4c37c72UL, 0x02b40f0aUL, 0x82ef7f0fUL,
+0xadfd968cUL, 0xae2a2c5dUL, 0x499ae98eUL, 0xb888da50UL, 0xa0f42784UL, 0x9057ac1eUL, 0x49b46f79UL, 0x15dc5282UL,
+0x9b7dbdefUL, 0x7d5972a6UL, 0xd840a8adUL, 0x0445f545UL, 0x03745dfaUL, 0x05c33ee8UL, 0x1a75914fUL, 0xc2695692UL,
+0x41e9ef23UL, 0x2ef103a9UL, 0xf20d2760UL, 0xb6e47602UL, 0x7465fd94UL, 0xb2857992UL, 0xcbdb7682UL, 0x76817702UL,
+0x8d91aff8UL, 0x9ef7484eUL, 0xdf6d618fUL, 0x0e849de2UL, 0x837d2f84UL, 0xc8e50c34UL, 0x82b6bb96UL, 0x48b1b493UL,
+0xab3c30efUL, 0x28af4f98UL, 0x9baf9f77UL, 0x0d56dc92UL, 0x201e4d22UL, 0x88aa3784UL, 0x96dc297dUL, 0xdcd35627UL,
+0xee7c908bUL, 0x40d21fb5UL, 0xe37cc0e7UL, 0xa1b466e5UL, 0x5e61e9c3UL, 0x9d20f83cUL, 0xe3d19460UL, 0x41a39ccdUL,
+0x0e46765cUL, 0x3b98ea00UL, 0x8178d6d4UL, 0x2c5747fdUL, 0xd9ed6cf7UL, 0x9c22a8bdUL, 0xaaad7d12UL, 0x4e078a43UL,
+0x90c0971fUL, 0x8adb1b08UL, 0xbe7ea093UL, 0x15ca38b9UL, 0xff3cb097UL, 0xf8c0c23dUL, 0xecb21a8dUL, 0x510e3864UL,
+0xfb7bcc68UL, 0x88270fd9UL, 0x81014912UL, 0xd4ffe55dUL, 0x6af87eddUL, 0x14e2a276UL, 0x6803a4b9UL, 0x8f955d92UL,
+0xfaff394bUL, 0xe9ae39baUL, 0x0bd3ffa4UL, 0x3b93f7faUL, 0x2386496dUL, 0xfabc3c19UL, 0x45756227UL, 0x7af45c82UL,
+0xa08bbd61UL, 0xd1421ed1UL, 0xf404adceUL, 0x92a37e12UL, 0xb78d4210UL, 0x72a97282UL, 0xa8c47092UL, 0x0be57d12UL,
+0xc8a15b28UL, 0x4ff4623cUL, 0xa5eac035UL, 0x31d205e8UL, 0xfb298942UL, 0x82dffcb4UL, 0x536ab64fUL, 0x5bc17d0eUL,
+0xab1f081fUL, 0xae188610UL, 0x6d08fdfcUL, 0x8928fff9UL, 0x11cc4b69UL, 0xae5c6a23UL, 0x4dcade12UL, 0xc58c3f2cUL,
+0xfe2dd0d2UL, 0x9658eff8UL, 0xda52cfe4UL, 0x675b1595UL, 0x8c484a49UL, 0x0ca8b6b9UL, 0xbc828f5cUL, 0x456bd389UL,
+0x3794603aUL, 0xa9c900ecUL, 0x53527144UL, 0x494b870aUL, 0x40bc73d7UL, 0x1c67347cUL, 0xf67e7102UL, 0x3655eb4fUL,
+0xff2fd0a2UL, 0xc460bfd2UL, 0xc0033fd4UL, 0x6defb450UL, 0xd18c4707UL, 0x88186e00UL, 0x553fe5a2UL, 0xbcd4e6b9UL,
+0x168004a2UL, 0x33385797UL, 0x677d20d7UL, 0x3d8f0fdeUL, 0x337bf872UL, 0x334fccabUL, 0x5dc58876UL, 0xb0a6007bUL,
+0x01007b94UL, 0xd2750057UL, 0xf888bbf9UL, 0x9e014289UL, 0xffa56442UL, 0xe0026385UL, 0x2bd9db72UL, 0x691b97eeUL,
+0xde2fa26eUL, 0x2bae085fUL, 0x6d617aafUL, 0x6787c9e5UL, 0xd2eb1fcfUL, 0xc2c8ef61UL, 0x7125acf1UL, 0xc23982ccUL,
+0xb84c2167UL, 0xd183e5b1UL, 0x623edcb7UL, 0xcebd107fUL, 0x385c0af9UL, 0x3d44f00fUL, 0xc66d6e60UL, 0x493a5460UL,
+0x48c12757UL, 0x1d8ae92bUL, 0x3817b48aUL, 0x24bee120UL, 0x0fda96afUL, 0x25844568UL, 0xe53b8399UL, 0x7d450d60UL,
+0x50932f28UL, 0x62b33483UL, 0x20111dd9UL, 0xa08d6d2bUL, 0x311e2b64UL, 0x005a309cUL, 0x88e6bc52UL, 0x8a58031bUL,
+0xd5efbaf7UL, 0x9ced4241UL, 0x115c31a4UL, 0xc53e3283UL, 0x3646efdfUL, 0x01c533a1UL, 0x1c53d3e9UL, 0x833735eeUL};
+
+const uint32_t s4[] PROGMEM = {
+0x2004b39dUL, 0xdee9b61fUL, 0xef7bbea7UL, 0x98a273d2UL, 0xdb7b4f4aUL, 0x578cad64UL, 0x43045185UL, 0xd10e02faUL,
+0xff7a287eUL, 0x63b60fe6UL, 0xa1355f09UL, 0x20f1eb79UL, 0x439d05fdUL, 0xb1b79764UL, 0x631f64f3UL, 0xdf4a1e24UL,
+0x5f7f1428UL, 0xcdb8a24fUL, 0x400043c9UL, 0x2022c30cUL, 0x300bd3fdUL, 0x4f37a5c0UL, 0xd9002d1dUL, 0x157b1424UL,
+0x1a114deeUL, 0x6751ca0fUL, 0x4c90ff71UL, 0xfe5f192dUL, 0x5f64051aUL, 0xfefe130cUL, 0xca081b08UL, 0x21011705UL,
+0x00015380UL, 0xfe5e3ee8UL, 0xf8f49aacUL, 0x0127e77fUL, 0x5feeb8d2UL, 0x6142df06UL, 0x8a9b9ebbUL, 0x25ea9372UL,
+0xdfff84ceUL, 0x018871f5UL, 0x044bd63dUL, 0x3b266fa2UL, 0x0084d47eUL, 0xe6eb7e54UL, 0xa04c6d44UL, 0xf5d6f36cUL,
+0xdfab4926UL, 0xf5c7a0aeUL, 0xc18c3336UL, 0x937e3f50UL, 0x612077d3UL, 0xe138b611UL, 0x030e5072UL, 0xbbb20ef8UL,
+0x2e50e0abUL, 0xde778decUL, 0x811e9757UL, 0x46674fe1UL, 0x005433c9UL, 0x8f312069UL, 0x99bb1d08UL, 0xa504c3ffUL,
+0x0518354dUL, 0xe35c3d7fUL, 0xc666c8a6UL, 0xa9cc5b5dUL, 0xea6fecdaUL, 0x916f929fUL, 0x2f22469fUL, 0x7d469139UL,
+0x8e6dbfa5UL, 0x4fc44311UL, 0x02839543UL, 0xeb4e21d0UL, 0xb8832002UL, 0x0c18b63fUL, 0x1e93f818UL, 0xe6581628UL,
+0x3e6e4826UL, 0x708ad78bUL, 0xc1e47774UL, 0x7ce006b5UL, 0x250a2df3UL, 0x028b0979UL, 0x81bbeae4UL, 0x233b1228UL,
+0x38adde69UL, 0x16ca7415UL, 0x621b87dfUL, 0xb7401c21UL, 0xf99e1aa5UL, 0x7b371400UL, 0xc88a1e04UL, 0x03401109UL,
+0xd2e459bdUL, 0xd556d1e3UL, 0xd576e84fUL, 0x40a3912fUL, 0xdee87b55UL, 0xa7e4ea00UL, 0xecc2e50cUL, 0xa6bbb44dUL,
+0xffbd56e7UL, 0xac6933ddUL, 0x35b017ecUL, 0x27235706UL, 0xb0c8af99UL, 0x91c3c856UL, 0x1c81656bUL, 0x1961145eUL,
+0x75cb856eUL, 0x02c007beUL, 0x775532c2UL, 0xecf43f89UL, 0x2dc9bf5bUL, 0x253becd0UL, 0xb71a80b7UL, 0x243b6d8dUL,
+0xef63c720UL, 0xfca566c3UL, 0x8028389cUL, 0x0532ce0aUL, 0x8a54c9aaUL, 0xc7d7a1ecUL, 0x32fa1a04UL, 0x5a62161dUL,
+0x2c900167UL, 0x547a759bUL, 0xf777d431UL, 0x31b02691UL, 0xdb6fcc36UL, 0x468b0bc7UL, 0x486ae6d9UL, 0x795ae556UL,
+0xeb4c6a02UL, 0xff7e4352UL, 0xb4768f2fUL, 0xa580f90dUL, 0xe3cd7486UL, 0xeb04daedUL, 0x04bea917UL, 0xdff4182cUL,
+0x9d7f74b7UL, 0xb4f72aabUL, 0x204dc3efUL, 0x7c6b092eUL, 0x54a24117UL, 0x35a0b6e5UL, 0xf6423d21UL, 0x267c1c2cUL,
+0x0ff5c261UL, 0xf9da5265UL, 0xf831c2d2UL, 0x690f1325UL, 0xa27f16d8UL, 0xc8f21804UL, 0xa6961a00UL, 0xab26150dUL,
+0x215c3163UL, 0xec720a5eUL, 0xfdfeba49UL, 0xd9087918UL, 0x86bd0d8dUL, 0xa7701131UL, 0x0c649b3eUL, 0xd7103eccUL,
+0xb6d3cad5UL, 0x88c3ae0cUL, 0xe10130f7UL, 0xff8a726cUL, 0xa1e2ea71UL, 0x6ef39a1fUL, 0x2fd1cbcfUL, 0x1784dec1UL,
+0x6bbe07acUL, 0xd8a144cbUL, 0x560f9b8bUL, 0xc3883901UL, 0xca2fc5b1UL, 0xcd31beb4UL, 0x062878d8UL, 0xe2a4a312UL,
+0x32e57d6fUL, 0xb67efd58UL, 0x00e91ed0UL, 0xc2ffad24UL, 0xc50f99f4UL, 0xc5aa1197UL, 0x957b1d00UL, 0xd2e7e582UL,
+0xf6739810UL, 0x96306100UL, 0x21952dc3UL, 0xff21a1adUL, 0x15849029UL, 0x7f97bb7fUL, 0xdbb39eafUL, 0x2aedc929UL,
+0x65a4e25cUL, 0x2cf330a7UL, 0xe83faad0UL, 0x91c05c8aUL, 0xe72c9ed4UL, 0xa954e40cUL, 0x86cd0ad6UL, 0x19195f01UL,
+0x03910777UL, 0xf63aa0deUL, 0x5e56a878UL, 0xdf56e3deUL, 0xbe5cf021UL, 0x87e3758bUL, 0x5106c5b3UL, 0xefc3a5b8UL,
+0xd2b6eed8UL, 0x77be23e5UL, 0x294515c2UL, 0xdfef692fUL, 0xfb7ae6afUL, 0xb2c470f4UL, 0x5bebe0f3UL, 0x7698ccd6UL,
+0x0c46e439UL, 0x3885da1fUL, 0x2f838719UL, 0x677300caUL, 0xf84491a9UL, 0x9e296b29UL, 0x95c22f49UL, 0xabbe6692UL,
+0x696e67b5UL, 0xdaddd39bUL, 0x2f057edfUL, 0x1c7025dbUL, 0xee515e1bUL, 0xe62453f6UL, 0x6ce3fc6aUL, 0x04cc1603UL,
+0x3e214486UL, 0xd059dcb7UL, 0x1f296579UL, 0x43fdd6ccUL, 0x79398241UL, 0xf6cd2b93UL, 0x4dc357b6UL, 0x82d2df4eUL,
+0x0c29e57aUL, 0x6b53b93cUL, 0xfe201e85UL, 0x7e553398UL, 0xb0f0ec13UL, 0x72b3ffd3UL, 0xc1c5853fUL, 0xd27eef0aUL};
+
+#endif
+
+/*********************************************************************************************************/
+
+#ifdef BIG_ENDIAN
+
+const uint32_t s5[] PROGMEM = {
+0x7ec90c04UL, 0x2c6e74b9UL, 0x9b0e66dfUL, 0xa6337911UL, 0xb86a7fffUL, 0x1dd358f5UL, 0x44dd9d44UL, 0x1731167fUL,
+0x08fbf1faUL, 0xe7f511ccUL, 0xd2051b00UL, 0x735aba00UL, 0x2ab722d8UL, 0x386381cbUL, 0xacf6243aUL, 0x69befd7aUL,
+0xe6a2e77fUL, 0xf0c720cdUL, 0xc4494816UL, 0xccf5c180UL, 0x38851640UL, 0x15b0a848UL, 0xe68b18cbUL, 0x4caadeffUL,
+0x5f480a01UL, 0x0412b2aaUL, 0x259814fcUL, 0x41d0efe2UL, 0x4e40b48dUL, 0x248eb6fbUL, 0x8dba1cfeUL, 0x41a99b02UL,
+0x1a550a04UL, 0xba8f65cbUL, 0x7251f4e7UL, 0x95a51725UL, 0xc106ecd7UL, 0x97a5980aUL, 0xc539b9aaUL, 0x4d79fe6aUL,
+0xf2f3f763UL, 0x68af8040UL, 0xed0c9e56UL, 0x11b4958bUL, 0xe1eb5a88UL, 0x8709e6b0UL, 0xd7e07156UL, 0x4e29fea7UL,
+0x6366e52dUL, 0x02d1c000UL, 0xc4ac8e05UL, 0x9377f571UL, 0x0c05372aUL, 0x578535f2UL, 0x2261be02UL, 0xd642a0c9UL,
+0xdf13a280UL, 0x74b55bd2UL, 0x682199c0UL, 0xd421e5ecUL, 0x53fb3ce8UL, 0xc8adedb3UL, 0x28a87fc9UL, 0x3d959981UL,
+0x5c1ff900UL, 0xfe38d399UL, 0x0c4eff0bUL, 0x062407eaUL, 0xaa2f4fb1UL, 0x4fb96976UL, 0x90c79505UL, 0xb0a8a774UL,
+0xef55a1ffUL, 0xe59ca2c2UL, 0xa6b62d27UL, 0xe66a4263UL, 0xdf65001fUL, 0x0ec50966UL, 0xdfdd55bcUL, 0x29de0655UL,
+0x911e739aUL, 0x17af8975UL, 0x32c7911cUL, 0x89f89468UL, 0x0d01e980UL, 0x524755f4UL, 0x03b63cc9UL, 0x0cc844b2UL,
+0xbcf3f0aaUL, 0x87ac36e9UL, 0xe53a7426UL, 0x01b3d82bUL, 0x1a9e7449UL, 0x64ee2d7eUL, 0xcddbb1daUL, 0x01c94910UL,
+0xb868bf80UL, 0x0d26f3fdUL, 0x9342ede7UL, 0x04a5c284UL, 0x636737b6UL, 0x50f5b616UL, 0xf24766e3UL, 0x8eca36c1UL,
+0x136e05dbUL, 0xfef18391UL, 0xfb887a37UL, 0xd6e7f7d4UL, 0xc7fb7dc9UL, 0x3063fcdfUL, 0xb6f589deUL, 0xec2941daUL,
+0x26e46695UL, 0xb7566419UL, 0xf654efc5UL, 0xd08d58b7UL, 0x48925401UL, 0xc1bacb7fUL, 0xe5ff550fUL, 0xb6083049UL,
+0x5bb5d0e8UL, 0x87d72e5aUL, 0xab6a6ee1UL, 0x223a66ceUL, 0xc62bf3cdUL, 0x9e0885f9UL, 0x68cb3e47UL, 0x086c010fUL,
+0xa21de820UL, 0xd18b69deUL, 0xf3f65777UL, 0xfa02c3f6UL, 0x407edac3UL, 0xcbb3d550UL, 0x1793084dUL, 0xb0d70ebaUL,
+0x0ab378d5UL, 0xd951fb0cUL, 0xded7da56UL, 0x4124bbe4UL, 0x94ca0b56UL, 0x0f5755d1UL, 0xe0e1e56eUL, 0x6184b5beUL,
+0x580a249fUL, 0x94f74bc0UL, 0xe327888eUL, 0x9f7b5561UL, 0xc3dc0280UL, 0x05687715UL, 0x646c6bd7UL, 0x44904db3UL,
+0x66b4f0a3UL, 0xc0f1648aUL, 0x697ed5afUL, 0x49e92ff6UL, 0x309e374fUL, 0x2cb6356aUL, 0x85808573UL, 0x4991f840UL,
+0x76f0ae02UL, 0x083be84dUL, 0x28421c9aUL, 0x44489406UL, 0x736e4cb8UL, 0xc1092910UL, 0x8bc95fc6UL, 0x7d869cf4UL,
+0x134f616fUL, 0x2e77118dUL, 0xb31b2be1UL, 0xaa90b472UL, 0x3ca5d717UL, 0x7d161bbaUL, 0x9cad9010UL, 0xaf462ba2UL,
+0x9fe459d2UL, 0x45d34559UL, 0xd9f2da13UL, 0xdbc65487UL, 0xf3e4f94eUL, 0x176d486fUL, 0x097c13eaUL, 0x631da5c7UL,
+0x445f7382UL, 0x175683f4UL, 0xcdc66a97UL, 0x70be0288UL, 0xb3cdcf72UL, 0x6e5dd2f3UL, 0x20936079UL, 0x459b80a5UL,
+0xbe60e2dbUL, 0xa9c23101UL, 0xeba5315cUL, 0x224e42f2UL, 0x1c5c1572UL, 0xf6721b2cUL, 0x1ad2fff3UL, 0x8c25404eUL,
+0x324ed72fUL, 0x4067b7fdUL, 0x0523138eUL, 0x5ca3bc78UL, 0xdc0fd66eUL, 0x75922283UL, 0x784d6b17UL, 0x58ebb16eUL,
+0x44094f85UL, 0x3f481d87UL, 0xfcfeae7bUL, 0x77b5ff76UL, 0x8c2302bfUL, 0xaaf47556UL, 0x5f46b02aUL, 0x2b092801UL,
+0x3d38f5f7UL, 0x0ca81f36UL, 0x52af4a8aUL, 0x66d5e7c0UL, 0xdf3b0874UL, 0x95055110UL, 0x1b5ad7a8UL, 0xf61ed5adUL,
+0x6cf6e479UL, 0x20758184UL, 0xd0cefa65UL, 0x88f7be58UL, 0x4a046826UL, 0x0ff6f8f3UL, 0xa09c7f70UL, 0x5346aba0UL,
+0x5ce96c28UL, 0xe176eda3UL, 0x6bac307fUL, 0x376829d2UL, 0x85360fa9UL, 0x17e3fe2aUL, 0x24b79767UL, 0xf5a96b20UL,
+0xd6cd2595UL, 0x68ff1ebfUL, 0x7555442cUL, 0xf19f06beUL, 0xf9e0659aUL, 0xeeb9491dUL, 0x34010718UL, 0xbb30cab8UL,
+0xe822fe15UL, 0x88570983UL, 0x750e6249UL, 0xda627e55UL, 0x5e76ffa8UL, 0xb1534546UL, 0x6d47de08UL, 0xefe9e7d4UL};
+
+
+const uint32_t s6[] PROGMEM = {
+0xf6fa8f9dUL, 0x2cac6ce1UL, 0x4ca34867UL, 0xe2337f7cUL, 0x95db08e7UL, 0x016843b4UL, 0xeced5cbcUL, 0x325553acUL,
+0xbf9f0960UL, 0xdfa1e2edUL, 0x83f0579dUL, 0x63ed86b9UL, 0x1ab6a6b8UL, 0xde5ebe39UL, 0xf38ff732UL, 0x8989b138UL,
+0x33f14961UL, 0xc01937bdUL, 0xf506c6daUL, 0xe4625e7eUL, 0xa308ea99UL, 0x4e23e33cUL, 0x79cbd7ccUL, 0x48a14367UL,
+0xa3149619UL, 0xfec94bd5UL, 0xa114174aUL, 0xeaa01866UL, 0xa084db2dUL, 0x09a8486fUL, 0xa888614aUL, 0x2900af98UL,
+0x01665991UL, 0xe1992863UL, 0xc8f30c60UL, 0x2e78ef3cUL, 0xd0d51932UL, 0xcf0fec14UL, 0xf7ca07d2UL, 0xd0a82072UL,
+0xfd41197eUL, 0x9305a6b0UL, 0xe86be3daUL, 0x74bed3cdUL, 0x372da53cUL, 0x4c7f4448UL, 0xdab5d440UL, 0x6dba0ec3UL,
+0x083919a7UL, 0x9fbaeed9UL, 0x49dbcfb0UL, 0x4e670c53UL, 0x5c3d9c01UL, 0x64bdb941UL, 0x2c0e636aUL, 0xba7dd9cdUL,
+0xea6f7388UL, 0xe70bc762UL, 0x35f29adbUL, 0x5c4cdd8dUL, 0xf0d48d8cUL, 0xb88153e2UL, 0x08a19866UL, 0x1ae2eac8UL,
+0x284caf89UL, 0xaa928223UL, 0x9334be53UL, 0x3b3a21bfUL, 0x16434be3UL, 0x9aea3906UL, 0xefe8c36eUL, 0xf890cdd9UL,
+0x80226daeUL, 0xc340a4a3UL, 0xdf7e9c09UL, 0xa694a807UL, 0x5b7c5eccUL, 0x221db3a6UL, 0x9a69a02fUL, 0x68818a54UL,
+0xceb2296fUL, 0x53c0843aUL, 0xfe893655UL, 0x25bfe68aUL, 0xb4628abcUL, 0xcf222ebfUL, 0x25ac6f48UL, 0xa9a99387UL,
+0x53bddb65UL, 0xe76ffbe7UL, 0xe967fd78UL, 0x0ba93563UL, 0x8e342bc1UL, 0xe8a11be9UL, 0x4980740dUL, 0xc8087dfcUL,
+0x8de4bf99UL, 0xa11101a0UL, 0x7fd37975UL, 0xda5a26c0UL, 0xe81f994fUL, 0x9528cd89UL, 0xfd339fedUL, 0xb87834bfUL,
+0x5f04456dUL, 0x22258698UL, 0xc9c4c83bUL, 0x2dc156beUL, 0x4f628daaUL, 0x57f55ec5UL, 0xe2220abeUL, 0xd2916ebfUL,
+0x4ec75b95UL, 0x24f2c3c0UL, 0x42d15d99UL, 0xcd0d7fa0UL, 0x7b6e27ffUL, 0xa8dc8af0UL, 0x7345c106UL, 0xf41e232fUL,
+0x35162386UL, 0xe6ea8926UL, 0x3333b094UL, 0x157ec6f2UL, 0x372b74afUL, 0x692573e4UL, 0xe9a9d848UL, 0xf3160289UL,
+0x3a62ef1dUL, 0xa787e238UL, 0xf3a5f676UL, 0x74364853UL, 0x20951063UL, 0x4576698dUL, 0xb6fad407UL, 0x592af950UL,
+0x36f73523UL, 0x4cfb6e87UL, 0x7da4cec0UL, 0x6c152daaUL, 0xcb0396a8UL, 0xc50dfe5dUL, 0xfcd707abUL, 0x0921c42fUL,
+0x89dff0bbUL, 0x5fe2be78UL, 0x448f4f33UL, 0x754613c9UL, 0x2b05d08dUL, 0x48b9d585UL, 0xdc049441UL, 0xc8098f9bUL,
+0x7dede786UL, 0xc39a3373UL, 0x42410005UL, 0x6a091751UL, 0x0ef3c8a6UL, 0x890072d6UL, 0x28207682UL, 0xa9a9f7beUL,
+0xbf32679dUL, 0xd45b5b75UL, 0xb353fd00UL, 0xcbb0e358UL, 0x830f220aUL, 0x1f8fb214UL, 0xd372cf08UL, 0xcc3c4a13UL,
+0x8cf63166UL, 0x061c87beUL, 0x88c98f88UL, 0x6062e397UL, 0x47cf8e7aUL, 0xb6c85283UL, 0x3cc2acfbUL, 0x3fc06976UL,
+0x4e8f0252UL, 0x64d8314dUL, 0xda3870e3UL, 0x1e665459UL, 0xc10908f0UL, 0x513021a5UL, 0x6c5b68b7UL, 0x822f8aa0UL,
+0x3007cd3eUL, 0x74719eefUL, 0xdc872681UL, 0x073340d4UL, 0x7e432fd9UL, 0x0c5ec241UL, 0x8809286cUL, 0xf592d891UL,
+0x08a930f6UL, 0x957ef305UL, 0xb7fbffbdUL, 0xc266e96fUL, 0x6fe4ac98UL, 0xb173ecc0UL, 0xbc60b42aUL, 0x953498daUL,
+0xfba1ae12UL, 0x2d4bd736UL, 0x0f25faabUL, 0xa4f3fcebUL, 0xe2969123UL, 0x257f0c3dUL, 0x9348af49UL, 0x361400bcUL,
+0xe8816f4aUL, 0x3814f200UL, 0xa3f94043UL, 0x9c7a54c2UL, 0xbc704f57UL, 0xda41e7f9UL, 0xc25ad33aUL, 0x54f4a084UL,
+0xb17f5505UL, 0x59357cbeUL, 0xedbd15c8UL, 0x7f97c5abUL, 0xba5ac7b5UL, 0xb6f6deafUL, 0x3a479c3aUL, 0x5302da25UL,
+0x653d7e6aUL, 0x54268d49UL, 0x51a477eaUL, 0x5017d55bUL, 0xd7d25d88UL, 0x44136c76UL, 0x0404a8c8UL, 0xb8e5a121UL,
+0xb81a928aUL, 0x60ed5869UL, 0x97c55b96UL, 0xeaec991bUL, 0x29935913UL, 0x01fdb7f1UL, 0x088e8dfaUL, 0x9ab6f6f5UL,
+0x3b4cbf9fUL, 0x4a5de3abUL, 0xe6051d35UL, 0xa0e1d855UL, 0xd36b4cf1UL, 0xf544edebUL, 0xb0e93524UL, 0xbebb8fbdUL,
+0xa2d762cfUL, 0x49c92f54UL, 0x38b5f331UL, 0x7128a454UL, 0x48392905UL, 0xa65b1db8UL, 0x851c97bdUL, 0xd675cf2fUL};
+
+
+const uint32_t s7[] PROGMEM = {
+0x85e04019UL, 0x332bf567UL, 0x662dbfffUL, 0xcfc65693UL, 0x2a8d7f6fUL, 0xab9bc912UL, 0xde6008a1UL, 0x2028da1fUL,
+0x0227bce7UL, 0x4d642916UL, 0x18fac300UL, 0x50f18b82UL, 0x2cb2cb11UL, 0xb232e75cUL, 0x4b3695f2UL, 0xb28707deUL,
+0xa05fbcf6UL, 0xcd4181e9UL, 0xe150210cUL, 0xe24ef1bdUL, 0xb168c381UL, 0xfde4e789UL, 0x5c79b0d8UL, 0x1e8bfd43UL,
+0x4d495001UL, 0x38be4341UL, 0x913cee1dUL, 0x92a79c3fUL, 0x089766beUL, 0xbaeeadf4UL, 0x1286becfUL, 0xb6eacb19UL,
+0x2660c200UL, 0x7565bde4UL, 0x64241f7aUL, 0x8248dca9UL, 0xc3b3ad66UL, 0x28136086UL, 0x0bd8dfa8UL, 0x356d1cf2UL,
+0x107789beUL, 0xb3b2e9ceUL, 0x0502aa8fUL, 0x0bc0351eUL, 0x166bf52aUL, 0xeb12ff82UL, 0xe3486911UL, 0xd34d7516UL,
+0x4e7b3affUL, 0x5f43671bUL, 0x9cf6e037UL, 0x4981ac83UL, 0x334266ceUL, 0x8c9341b7UL, 0xd0d854c0UL, 0xcb3a6c88UL,
+0x47bc2829UL, 0x4725ba37UL, 0xa66ad22bUL, 0x7ad61f1eUL, 0x0c5cbafaUL, 0x4437f107UL, 0xb6e79962UL, 0x42d2d816UL,
+0x0a961288UL, 0xe1a5c06eUL, 0x13749e67UL, 0x72fc081aUL, 0xb1d139f7UL, 0xf9583745UL, 0xcf19df58UL, 0xbec3f756UL,
+0xc06eba30UL, 0x07211b24UL, 0x45c28829UL, 0xc95e317fUL, 0xbc8ec511UL, 0x38bc46e9UL, 0xc6e6fa14UL, 0xbae8584aUL,
+0xad4ebc46UL, 0x468f508bUL, 0x7829435fUL, 0xf124183bUL, 0x821dba9fUL, 0xaff60ff4UL, 0xea2c4e6dUL, 0x16e39264UL,
+0x92544a8bUL, 0x009b4fc3UL, 0xaba68cedUL, 0x9ac96f78UL, 0x06a5b79aUL, 0xb2856e6eUL, 0x1aec3ca9UL, 0xbe838688UL,
+0x0e0804e9UL, 0x55f1be56UL, 0xe7e5363bUL, 0xb3a1f25dUL, 0xf7debb85UL, 0x61fe033cUL, 0x16746233UL, 0x3c034c28UL,
+0xda6d0c74UL, 0x79aac56cUL, 0x3ce4e1adUL, 0x51f0c802UL, 0x98f8f35aUL, 0x1626a49fUL, 0xeed82b29UL, 0x1d382fe3UL,
+0x0c4fb99aUL, 0xbb325778UL, 0x3ec6d97bUL, 0x6e77a6a9UL, 0xcb658b5cUL, 0xd45230c7UL, 0x2bd1408bUL, 0x60c03eb7UL,
+0xb9068d78UL, 0xa33754f4UL, 0xf430c87dUL, 0xc8a71302UL, 0xb96d8c32UL, 0xebd4e7beUL, 0xbe8b9d2dUL, 0x7979fb06UL,
+0xe7225308UL, 0x8b75cf77UL, 0x11ef8da4UL, 0xe083c858UL, 0x8d6b786fUL, 0x5a6317a6UL, 0xfa5cf7a0UL, 0x5dda0033UL,
+0xf28ebfb0UL, 0xf5b9c310UL, 0xa0eac280UL, 0x08b9767aUL, 0xa3d9d2b0UL, 0x79d34217UL, 0x021a718dUL, 0x9ac6336aUL,
+0x2711fd60UL, 0x438050e3UL, 0x069908a8UL, 0x3d7fedc4UL, 0x826d2befUL, 0x4eeb8476UL, 0x488dcf25UL, 0x36c9d566UL,
+0x28e74e41UL, 0xc2610acaUL, 0x3d49a9cfUL, 0xbae3b9dfUL, 0xb65f8de6UL, 0x92aeaf64UL, 0x3ac7d5e6UL, 0x9ea80509UL,
+0xf22b017dUL, 0xa4173f70UL, 0xdd1e16c3UL, 0x15e0d7f9UL, 0x50b1b887UL, 0x2b9f4fd5UL, 0x625aba82UL, 0x6a017962UL,
+0x2ec01b9cUL, 0x15488aa9UL, 0xd716e740UL, 0x40055a2cUL, 0x93d29a22UL, 0xe32dbf9aUL, 0x058745b9UL, 0x3453dc1eUL,
+0xd699296eUL, 0x496cff6fUL, 0x1c9f4986UL, 0xdfe2ed07UL, 0xb87242d1UL, 0x19de7eaeUL, 0x053e561aUL, 0x15ad6f8cUL,
+0x66626c1cUL, 0x7154c24cUL, 0xea082b2aUL, 0x93eb2939UL, 0x17dcb0f0UL, 0x58d4f2aeUL, 0x9ea294fbUL, 0x52cf564cUL,
+0x9883fe66UL, 0x2ec40581UL, 0x763953c3UL, 0x01d6692eUL, 0xd3a0c108UL, 0xa1e7160eUL, 0xe4f2dfa6UL, 0x693ed285UL,
+0x74904698UL, 0x4c2b0eddUL, 0x4f757656UL, 0x5d393378UL, 0xa132234fUL, 0x3d321c5dUL, 0xc3f5e194UL, 0x4b269301UL,
+0xc79f022fUL, 0x3c997e7eUL, 0x5e4f9504UL, 0x3ffafbbdUL, 0x76f7ad0eUL, 0x296693f4UL, 0x3d1fce6fUL, 0xc61e45beUL,
+0xd3b5ab34UL, 0xf72bf9b7UL, 0x1b0434c0UL, 0x4e72b567UL, 0x5592a33dUL, 0xb5229301UL, 0xcfd2a87fUL, 0x60aeb767UL,
+0x1814386bUL, 0x30bcc33dUL, 0x38a0c07dUL, 0xfd1606f2UL, 0xc363519bUL, 0x589dd390UL, 0x5479f8e6UL, 0x1cb8d647UL,
+0x97fd61a9UL, 0xea7759f4UL, 0x2d57539dUL, 0x569a58cfUL, 0xe84e63adUL, 0x462e1b78UL, 0x6580f87eUL, 0xf3817914UL,
+0x91da55f4UL, 0x40a230f3UL, 0xd1988f35UL, 0xb6e318d2UL, 0x3ffa50bcUL, 0x3d40f021UL, 0xc3c0bdaeUL, 0x4958c24cUL,
+0x518f36b2UL, 0x84b1d370UL, 0x0fedce83UL, 0x878ddadaUL, 0xf2a279c7UL, 0x94e01be8UL, 0x90716f4bUL, 0x954b8aa3UL};
+
+
+const uint32_t s8[] PROGMEM = {
+0xe216300dUL, 0xbbddfffcUL, 0xa7ebdabdUL, 0x35648095UL, 0x7789f8b7UL, 0xe6c1121bUL, 0x0e241600UL, 0x052ce8b5UL,
+0x11a9cfb0UL, 0xe5952f11UL, 0xece7990aUL, 0x9386d174UL, 0x2a42931cUL, 0x76e38111UL, 0xb12def3aUL, 0x37ddddfcUL,
+0xde9adeb1UL, 0x0a0cc32cUL, 0xbe197029UL, 0x84a00940UL, 0xbb243a0fUL, 0xb4d137cfUL, 0xb44e79f0UL, 0x049eedfdUL,
+0x0b15a15dUL, 0x480d3168UL, 0x8bbbde5aUL, 0x669ded42UL, 0xc7ece831UL, 0x3f8f95e7UL, 0x72df191bUL, 0x7580330dUL,
+0x94074251UL, 0x5c7dcdfaUL, 0xabbe6d63UL, 0xaa402164UL, 0xb301d40aUL, 0x02e7d1caUL, 0x53571daeUL, 0x7a3182a2UL,
+0x12a8ddecUL, 0xfdaa335dUL, 0x176f43e8UL, 0x71fb46d4UL, 0x38129022UL, 0xce949ad4UL, 0xb84769adUL, 0x965bd862UL,
+0x82f3d055UL, 0x66fb9767UL, 0x15b80b4eUL, 0x1d5b47a0UL, 0x4cfde06fUL, 0xc28ec4b8UL, 0x57e8726eUL, 0x647a78fcUL,
+0x99865d44UL, 0x608bd593UL, 0x6c200e03UL, 0x39dc5ff6UL, 0x5d0b00a3UL, 0xae63aff2UL, 0x7e8bd632UL, 0x70108c0cUL,
+0xbbd35049UL, 0x2998df04UL, 0x980cf42aUL, 0x9b6df491UL, 0x9e7edd53UL, 0x06918548UL, 0x58cb7e07UL, 0x3b74ef2eUL,
+0x522fffb1UL, 0xd24708ccUL, 0x1c7e27cdUL, 0xa4eb215bUL, 0x3cf1d2e2UL, 0x19b47a38UL, 0x424f7618UL, 0x35856039UL,
+0x9d17dee7UL, 0x27eb35e6UL, 0xc9aff67bUL, 0x36baf5b8UL, 0x09c467cdUL, 0xc18910b1UL, 0xe11dbf7bUL, 0x06cd1af8UL,
+0x7170c608UL, 0x2d5e3354UL, 0xd4de495aUL, 0x64c6d006UL, 0xbcc0c62cUL, 0x3dd00db3UL, 0x708f8f34UL, 0x77d51b42UL,
+0x264f620fUL, 0x24b8d2bfUL, 0x15c1b79eUL, 0x46a52564UL, 0xf8d7e54eUL, 0x3e378160UL, 0x7895cda5UL, 0x859c15a5UL,
+0xe6459788UL, 0xc37bc75fUL, 0xdb07ba0cUL, 0x0676a3abUL, 0x7f229b1eUL, 0x31842e7bUL, 0x24259fd7UL, 0xf8bef472UL,
+0x835ffcb8UL, 0x6df4c1f2UL, 0x96f5b195UL, 0xfd0af0fcUL, 0xb0fe134cUL, 0xe2506d3dUL, 0x4f9b12eaUL, 0xf215f225UL,
+0xa223736fUL, 0x9fb4c428UL, 0x25d04979UL, 0x34c713f8UL, 0xc4618187UL, 0xea7a6e98UL, 0x7cd16efcUL, 0x1436876cUL,
+0xf1544107UL, 0xbedeee14UL, 0x56e9af27UL, 0xa04aa441UL, 0x3cf7c899UL, 0x92ecbae6UL, 0xdd67016dUL, 0x151682ebUL,
+0xa842eedfUL, 0xfdba60b4UL, 0xf1907b75UL, 0x20e3030fUL, 0x24d8c29eUL, 0xe139673bUL, 0xefa63fb8UL, 0x71873054UL,
+0xb6f2cf3bUL, 0x9f326442UL, 0xcb15a4ccUL, 0xb01a4504UL, 0xf1e47d8dUL, 0x844a1be5UL, 0xbae7dfdcUL, 0x42cbda70UL,
+0xcd7dae0aUL, 0x57e85b7aUL, 0xd53f5af6UL, 0x20cf4d8cUL, 0xcea4d428UL, 0x79d130a4UL, 0x3486ebfbUL, 0x33d3cddcUL,
+0x77853b53UL, 0x37effcb5UL, 0xc5068778UL, 0xe580b3e6UL, 0x4e68b8f4UL, 0xc5c8b37eUL, 0x0d809ea2UL, 0x398feb7cUL,
+0x132a4f94UL, 0x43b7950eUL, 0x2fee7d1cUL, 0x223613bdUL, 0xdd06caa2UL, 0x37df932bUL, 0xc4248289UL, 0xacf3ebc3UL,
+0x5715f6b7UL, 0xef3478ddUL, 0xf267616fUL, 0xc148cbe4UL, 0x9052815eUL, 0x5e410fabUL, 0xb48a2465UL, 0x2eda7fa4UL,
+0xe87b40e4UL, 0xe98ea084UL, 0x5889e9e1UL, 0xefd390fcUL, 0xdd07d35bUL, 0xdb485694UL, 0x38d7e5b2UL, 0x57720101UL,
+0x730edebcUL, 0x5b643113UL, 0x94917e4fUL, 0x503c2fbaUL, 0x646f1282UL, 0x7523d24aUL, 0xe0779695UL, 0xf9c17a8fUL,
+0x7a5b2121UL, 0xd187b896UL, 0x29263a4dUL, 0xba510cdfUL, 0x81f47c9fUL, 0xad1163edUL, 0xea7b5965UL, 0x1a00726eUL,
+0x11403092UL, 0x00da6d77UL, 0x4a0cdd61UL, 0xad1f4603UL, 0x605bdfb0UL, 0x9eedc364UL, 0x22ebe6a8UL, 0xcee7d28aUL,
+0xa0e736a0UL, 0x5564a6b9UL, 0x10853209UL, 0xc7eb8f37UL, 0x2de705caUL, 0x8951570fUL, 0xdf09822bUL, 0xbd691a6cUL,
+0xaa12e4f2UL, 0x87451c0fUL, 0xe0f6a27aUL, 0x3ada4819UL, 0x4cf1764fUL, 0x0d771c2bUL, 0x67cdb156UL, 0x350d8384UL,
+0x5938fa0fUL, 0x42399ef3UL, 0x36997b07UL, 0x0e84093dUL, 0x4aa93e61UL, 0x8360d87bUL, 0x1fa98b0cUL, 0x1149382cUL,
+0xe97625a5UL, 0x0614d1b7UL, 0x0e25244bUL, 0x0c768347UL, 0x589e8d82UL, 0x0d2059d1UL, 0xa466bb1eUL, 0xf8da0a82UL,
+0x04f19130UL, 0xba6e4ec0UL, 0x99265164UL, 0x1ee7230dUL, 0x50b2ad80UL, 0xeaee6801UL, 0x8db2a283UL, 0xea8bf59eUL};
+
+#else
+
+const uint32_t s5[] PROGMEM = {
+0x040cc97eUL, 0xb9746e2cUL, 0xdf660e9bUL, 0x117933a6UL, 0xff7f6ab8UL, 0xf558d31dUL, 0x449ddd44UL, 0x7f163117UL,
+0xfaf1fb08UL, 0xcc11f5e7UL, 0x001b05d2UL, 0x00ba5a73UL, 0xd822b72aUL, 0xcb816338UL, 0x3a24f6acUL, 0x7afdbe69UL,
+0x7fe7a2e6UL, 0xcd20c7f0UL, 0x164849c4UL, 0x80c1f5ccUL, 0x40168538UL, 0x48a8b015UL, 0xcb188be6UL, 0xffdeaa4cUL,
+0x010a485fUL, 0xaab21204UL, 0xfc149825UL, 0xe2efd041UL, 0x8db4404eUL, 0xfbb68e24UL, 0xfe1cba8dUL, 0x029ba941UL,
+0x040a551aUL, 0xcb658fbaUL, 0xe7f45172UL, 0x2517a595UL, 0xd7ec06c1UL, 0x0a98a597UL, 0xaab939c5UL, 0x6afe794dUL,
+0x63f7f3f2UL, 0x4080af68UL, 0x569e0cedUL, 0x8b95b411UL, 0x885aebe1UL, 0xb0e60987UL, 0x5671e0d7UL, 0xa7fe294eUL,
+0x2de56663UL, 0x00c0d102UL, 0x058eacc4UL, 0x71f57793UL, 0x2a37050cUL, 0xf2358557UL, 0x02be6122UL, 0xc9a042d6UL,
+0x80a213dfUL, 0xd25bb574UL, 0xc0992168UL, 0xece521d4UL, 0xe83cfb53UL, 0xb3edadc8UL, 0xc97fa828UL, 0x8199953dUL,
+0x00f91f5cUL, 0x99d338feUL, 0x0bff4e0cUL, 0xea072406UL, 0xb14f2faaUL, 0x7669b94fUL, 0x0595c790UL, 0x74a7a8b0UL,
+0xffa155efUL, 0xc2a29ce5UL, 0x272db6a6UL, 0x63426ae6UL, 0x1f0065dfUL, 0x6609c50eUL, 0xbc55dddfUL, 0x5506de29UL,
+0x9a731e91UL, 0x7589af17UL, 0x1c91c732UL, 0x6894f889UL, 0x80e9010dUL, 0xf4554752UL, 0xc93cb603UL, 0xb244c80cUL,
+0xaaf0f3bcUL, 0xe936ac87UL, 0x26743ae5UL, 0x2bd8b301UL, 0x49749e1aUL, 0x7e2dee64UL, 0xdab1dbcdUL, 0x1049c901UL,
+0x80bf68b8UL, 0xfdf3260dUL, 0xe7ed4293UL, 0x84c2a504UL, 0xb6376763UL, 0x16b6f550UL, 0xe36647f2UL, 0xc136ca8eUL,
+0xdb056e13UL, 0x9183f1feUL, 0x377a88fbUL, 0xd4f7e7d6UL, 0xc97dfbc7UL, 0xdffc6330UL, 0xde89f5b6UL, 0xda4129ecUL,
+0x9566e426UL, 0x196456b7UL, 0xc5ef54f6UL, 0xb7588dd0UL, 0x01549248UL, 0x7fcbbac1UL, 0x0f55ffe5UL, 0x493008b6UL,
+0xe8d0b55bUL, 0x5a2ed787UL, 0xe16e6aabUL, 0xce663a22UL, 0xcdf32bc6UL, 0xf985089eUL, 0x473ecb68UL, 0x0f016c08UL,
+0x20e81da2UL, 0xde698bd1UL, 0x7757f6f3UL, 0xf6c302faUL, 0xc3da7e40UL, 0x50d5b3cbUL, 0x4d089317UL, 0xba0ed7b0UL,
+0xd578b30aUL, 0x0cfb51d9UL, 0x56dad7deUL, 0xe4bb2441UL, 0x560bca94UL, 0xd155570fUL, 0x6ee5e1e0UL, 0xbeb58461UL,
+0x9f240a58UL, 0xc04bf794UL, 0x8e8827e3UL, 0x61557b9fUL, 0x8002dcc3UL, 0x15776805UL, 0xd76b6c64UL, 0xb34d9044UL,
+0xa3f0b466UL, 0x8a64f1c0UL, 0xafd57e69UL, 0xf62fe949UL, 0x4f379e30UL, 0x6a35b62cUL, 0x73858085UL, 0x40f89149UL,
+0x02aef076UL, 0x4de83b08UL, 0x9a1c4228UL, 0x06944844UL, 0xb84c6e73UL, 0x102909c1UL, 0xc65fc98bUL, 0xf49c867dUL,
+0x6f614f13UL, 0x8d11772eUL, 0xe12b1bb3UL, 0x72b490aaUL, 0x17d7a53cUL, 0xba1b167dUL, 0x1090ad9cUL, 0xa22b46afUL,
+0xd259e49fUL, 0x5945d345UL, 0x13daf2d9UL, 0x8754c6dbUL, 0x4ef9e4f3UL, 0x6f486d17UL, 0xea137c09UL, 0xc7a51d63UL,
+0x82735f44UL, 0xf4835617UL, 0x976ac6cdUL, 0x8802be70UL, 0x72cfcdb3UL, 0xf3d25d6eUL, 0x79609320UL, 0xa5809b45UL,
+0xdbe260beUL, 0x0131c2a9UL, 0x5c31a5ebUL, 0xf2424e22UL, 0x72155c1cUL, 0x2c1b72f6UL, 0xf3ffd21aUL, 0x4e40258cUL,
+0x2fd74e32UL, 0xfdb76740UL, 0x8e132305UL, 0x78bca35cUL, 0x6ed60fdcUL, 0x83229275UL, 0x176b4d78UL, 0x6eb1eb58UL,
+0x854f0944UL, 0x871d483fUL, 0x7baefefcUL, 0x76ffb577UL, 0xbf02238cUL, 0x5675f4aaUL, 0x2ab0465fUL, 0x0128092bUL,
+0xf7f5383dUL, 0x361fa80cUL, 0x8a4aaf52UL, 0xc0e7d566UL, 0x74083bdfUL, 0x10510595UL, 0xa8d75a1bUL, 0xadd51ef6UL,
+0x79e4f66cUL, 0x84817520UL, 0x65faced0UL, 0x58bef788UL, 0x2668044aUL, 0xf3f8f60fUL, 0x707f9ca0UL, 0xa0ab4653UL,
+0x286ce95cUL, 0xa3ed76e1UL, 0x7f30ac6bUL, 0xd2296837UL, 0xa90f3685UL, 0x2afee317UL, 0x6797b724UL, 0x206ba9f5UL,
+0x9525cdd6UL, 0xbf1eff68UL, 0x2c445575UL, 0xbe069ff1UL, 0x9a65e0f9UL, 0x1d49b9eeUL, 0x18070134UL, 0xb8ca30bbUL,
+0x15fe22e8UL, 0x83095788UL, 0x49620e75UL, 0x557e62daUL, 0xa8ff765eUL, 0x464553b1UL, 0x08de476dUL, 0xd4e7e9efUL};
+
+
+const uint32_t s6[] PROGMEM = {
+0x9d8ffaf6UL, 0xe16cac2cUL, 0x6748a34cUL, 0x7c7f33e2UL, 0xe708db95UL, 0xb4436801UL, 0xbc5cedecUL, 0xac535532UL,
+0x60099fbfUL, 0xede2a1dfUL, 0x9d57f083UL, 0xb986ed63UL, 0xb8a6b61aUL, 0x39be5edeUL, 0x32f78ff3UL, 0x38b18989UL,
+0x6149f133UL, 0xbd3719c0UL, 0xdac606f5UL, 0x7e5e62e4UL, 0x99ea08a3UL, 0x3ce3234eUL, 0xccd7cb79UL, 0x6743a148UL,
+0x199614a3UL, 0xd54bc9feUL, 0x4a1714a1UL, 0x6618a0eaUL, 0x2ddb84a0UL, 0x6f48a809UL, 0x4a6188a8UL, 0x98af0029UL,
+0x91596601UL, 0x632899e1UL, 0x600cf3c8UL, 0x3cef782eUL, 0x3219d5d0UL, 0x14ec0fcfUL, 0xd207caf7UL, 0x7220a8d0UL,
+0x7e1941fdUL, 0xb0a60593UL, 0xdae36be8UL, 0xcdd3be74UL, 0x3ca52d37UL, 0x48447f4cUL, 0x40d4b5daUL, 0xc30eba6dUL,
+0xa7193908UL, 0xd9eeba9fUL, 0xb0cfdb49UL, 0x530c674eUL, 0x019c3d5cUL, 0x41b9bd64UL, 0x6a630e2cUL, 0xcdd97dbaUL,
+0x88736feaUL, 0x62c70be7UL, 0xdb9af235UL, 0x8ddd4c5cUL, 0x8c8dd4f0UL, 0xe25381b8UL, 0x6698a108UL, 0xc8eae21aUL,
+0x89af4c28UL, 0x238292aaUL, 0x53be3493UL, 0xbf213a3bUL, 0xe34b4316UL, 0x0639ea9aUL, 0x6ec3e8efUL, 0xd9cd90f8UL,
+0xae6d2280UL, 0xa3a440c3UL, 0x099c7edfUL, 0x07a894a6UL, 0xcc5e7c5bUL, 0xa6b31d22UL, 0x2fa0699aUL, 0x548a8168UL,
+0x6f29b2ceUL, 0x3a84c053UL, 0x553689feUL, 0x8ae6bf25UL, 0xbc8a62b4UL, 0xbf2e22cfUL, 0x486fac25UL, 0x8793a9a9UL,
+0x65dbbd53UL, 0xe7fb6fe7UL, 0x78fd67e9UL, 0x6335a90bUL, 0xc12b348eUL, 0xe91ba1e8UL, 0x0d748049UL, 0xfc7d08c8UL,
+0x99bfe48dUL, 0xa00111a1UL, 0x7579d37fUL, 0xc0265adaUL, 0x4f991fe8UL, 0x89cd2895UL, 0xed9f33fdUL, 0xbf3478b8UL,
+0x6d45045fUL, 0x98862522UL, 0x3bc8c4c9UL, 0xbe56c12dUL, 0xaa8d624fUL, 0xc55ef557UL, 0xbe0a22e2UL, 0xbf6e91d2UL,
+0x955bc74eUL, 0xc0c3f224UL, 0x995dd142UL, 0xa07f0dcdUL, 0xff276e7bUL, 0xf08adca8UL, 0x06c14573UL, 0x2f231ef4UL,
+0x86231635UL, 0x2689eae6UL, 0x94b03333UL, 0xf2c67e15UL, 0xaf742b37UL, 0xe4732569UL, 0x48d8a9e9UL, 0x890216f3UL,
+0x1def623aUL, 0x38e287a7UL, 0x76f6a5f3UL, 0x53483674UL, 0x63109520UL, 0x8d697645UL, 0x07d4fab6UL, 0x50f92a59UL,
+0x2335f736UL, 0x876efb4cUL, 0xc0cea47dUL, 0xaa2d156cUL, 0xa89603cbUL, 0x5dfe0dc5UL, 0xab07d7fcUL, 0x2fc42109UL,
+0xbbf0df89UL, 0x78bee25fUL, 0x334f8f44UL, 0xc9134675UL, 0x8dd0052bUL, 0x85d5b948UL, 0x419404dcUL, 0x9b8f09c8UL,
+0x86e7ed7dUL, 0x73339ac3UL, 0x05004142UL, 0x5117096aUL, 0xa6c8f30eUL, 0xd6720089UL, 0x82762028UL, 0xbef7a9a9UL,
+0x9d6732bfUL, 0x755b5bd4UL, 0x00fd53b3UL, 0x58e3b0cbUL, 0x0a220f83UL, 0x14b28f1fUL, 0x08cf72d3UL, 0x134a3cccUL,
+0x6631f68cUL, 0xbe871c06UL, 0x888fc988UL, 0x97e36260UL, 0x7a8ecf47UL, 0x8352c8b6UL, 0xfbacc23cUL, 0x7669c03fUL,
+0x52028f4eUL, 0x4d31d864UL, 0xe37038daUL, 0x5954661eUL, 0xf00809c1UL, 0xa5213051UL, 0xb7685b6cUL, 0xa08a2f82UL,
+0x3ecd0730UL, 0xef9e7174UL, 0x812687dcUL, 0xd4403307UL, 0xd92f437eUL, 0x41c25e0cUL, 0x6c280988UL, 0x91d892f5UL,
+0xf630a908UL, 0x05f37e95UL, 0xbdfffbb7UL, 0x6fe966c2UL, 0x98ace46fUL, 0xc0ec73b1UL, 0x2ab460bcUL, 0xda983495UL,
+0x12aea1fbUL, 0x36d74b2dUL, 0xabfa250fUL, 0xebfcf3a4UL, 0x239196e2UL, 0x3d0c7f25UL, 0x49af4893UL, 0xbc001436UL,
+0x4a6f81e8UL, 0x00f21438UL, 0x4340f9a3UL, 0xc2547a9cUL, 0x574f70bcUL, 0xf9e741daUL, 0x3ad35ac2UL, 0x84a0f454UL,
+0x05557fb1UL, 0xbe7c3559UL, 0xc815bdedUL, 0xabc5977fUL, 0xb5c75abaUL, 0xafdef6b6UL, 0x3a9c473aUL, 0x25da0253UL,
+0x6a7e3d65UL, 0x498d2654UL, 0xea77a451UL, 0x5bd51750UL, 0x885dd2d7UL, 0x766c1344UL, 0xc8a80404UL, 0x21a1e5b8UL,
+0x8a921ab8UL, 0x6958ed60UL, 0x965bc597UL, 0x1b99eceaUL, 0x13599329UL, 0xf1b7fd01UL, 0xfa8d8e08UL, 0xf5f6b69aUL,
+0x9fbf4c3bUL, 0xabe35d4aUL, 0x351d05e6UL, 0x55d8e1a0UL, 0xf14c6bd3UL, 0xebed44f5UL, 0x2435e9b0UL, 0xbd8fbbbeUL,
+0xcf62d7a2UL, 0x542fc949UL, 0x31f3b538UL, 0x54a42871UL, 0x05293948UL, 0xb81d5ba6UL, 0xbd971c85UL, 0x2fcf75d6UL};
+
+
+const uint32_t s7[] PROGMEM = {
+0x1940e085UL, 0x67f52b33UL, 0xffbf2d66UL, 0x9356c6cfUL, 0x6f7f8d2aUL, 0x12c99babUL, 0xa10860deUL, 0x1fda2820UL,
+0xe7bc2702UL, 0x1629644dUL, 0x00c3fa18UL, 0x828bf150UL, 0x11cbb22cUL, 0x5ce732b2UL, 0xf295364bUL, 0xde0787b2UL,
+0xf6bc5fa0UL, 0xe98141cdUL, 0x0c2150e1UL, 0xbdf14ee2UL, 0x81c368b1UL, 0x89e7e4fdUL, 0xd8b0795cUL, 0x43fd8b1eUL,
+0x0150494dUL, 0x4143be38UL, 0x1dee3c91UL, 0x3f9ca792UL, 0xbe669708UL, 0xf4adeebaUL, 0xcfbe8612UL, 0x19cbeab6UL,
+0x00c26026UL, 0xe4bd6575UL, 0x7a1f2464UL, 0xa9dc4882UL, 0x66adb3c3UL, 0x86601328UL, 0xa8dfd80bUL, 0xf21c6d35UL,
+0xbe897710UL, 0xcee9b2b3UL, 0x8faa0205UL, 0x1e35c00bUL, 0x2af56b16UL, 0x82ff12ebUL, 0x116948e3UL, 0x16754dd3UL,
+0xff3a7b4eUL, 0x1b67435fUL, 0x37e0f69cUL, 0x83ac8149UL, 0xce664233UL, 0xb741938cUL, 0xc054d8d0UL, 0x886c3acbUL,
+0x2928bc47UL, 0x37ba2547UL, 0x2bd26aa6UL, 0x1e1fd67aUL, 0xfaba5c0cUL, 0x07f13744UL, 0x6299e7b6UL, 0x16d8d242UL,
+0x8812960aUL, 0x6ec0a5e1UL, 0x679e7413UL, 0x1a08fc72UL, 0xf739d1b1UL, 0x453758f9UL, 0x58df19cfUL, 0x56f7c3beUL,
+0x30ba6ec0UL, 0x241b2107UL, 0x2988c245UL, 0x7f315ec9UL, 0x11c58ebcUL, 0xe946bc38UL, 0x14fae6c6UL, 0x4a58e8baUL,
+0x46bc4eadUL, 0x8b508f46UL, 0x5f432978UL, 0x3b1824f1UL, 0x9fba1d82UL, 0xf40ff6afUL, 0x6d4e2ceaUL, 0x6492e316UL,
+0x8b4a5492UL, 0xc34f9b00UL, 0xed8ca6abUL, 0x786fc99aUL, 0x9ab7a506UL, 0x6e6e85b2UL, 0xa93cec1aUL, 0x888683beUL,
+0xe904080eUL, 0x56bef155UL, 0x3b36e5e7UL, 0x5df2a1b3UL, 0x85bbdef7UL, 0x3c03fe61UL, 0x33627416UL, 0x284c033cUL,
+0x740c6ddaUL, 0x6cc5aa79UL, 0xade1e43cUL, 0x02c8f051UL, 0x5af3f898UL, 0x9fa42616UL, 0x292bd8eeUL, 0xe32f381dUL,
+0x9ab94f0cUL, 0x785732bbUL, 0x7bd9c63eUL, 0xa9a6776eUL, 0x5c8b65cbUL, 0xc73052d4UL, 0x8b40d12bUL, 0xb73ec060UL,
+0x788d06b9UL, 0xf45437a3UL, 0x7dc830f4UL, 0x0213a7c8UL, 0x328c6db9UL, 0xbee7d4ebUL, 0x2d9d8bbeUL, 0x06fb7979UL,
+0x085322e7UL, 0x77cf758bUL, 0xa48def11UL, 0x58c883e0UL, 0x6f786b8dUL, 0xa617635aUL, 0xa0f75cfaUL, 0x3300da5dUL,
+0xb0bf8ef2UL, 0x10c3b9f5UL, 0x80c2eaa0UL, 0x7a76b908UL, 0xb0d2d9a3UL, 0x1742d379UL, 0x8d711a02UL, 0x6a33c69aUL,
+0x60fd1127UL, 0xe3508043UL, 0xa8089906UL, 0xc4ed7f3dUL, 0xef2b6d82UL, 0x7684eb4eUL, 0x25cf8d48UL, 0x66d5c936UL,
+0x414ee728UL, 0xca0a61c2UL, 0xcfa9493dUL, 0xdfb9e3baUL, 0xe68d5fb6UL, 0x64afae92UL, 0xe6d5c73aUL, 0x0905a89eUL,
+0x7d012bf2UL, 0x703f17a4UL, 0xc3161eddUL, 0xf9d7e015UL, 0x87b8b150UL, 0xd54f9f2bUL, 0x82ba5a62UL, 0x6279016aUL,
+0x9c1bc02eUL, 0xa98a4815UL, 0x40e716d7UL, 0x2c5a0540UL, 0x229ad293UL, 0x9abf2de3UL, 0xb9458705UL, 0x1edc5334UL,
+0x6e2999d6UL, 0x6fff6c49UL, 0x86499f1cUL, 0x07ede2dfUL, 0xd14272b8UL, 0xae7ede19UL, 0x1a563e05UL, 0x8c6fad15UL,
+0x1c6c6266UL, 0x4cc25471UL, 0x2a2b08eaUL, 0x3929eb93UL, 0xf0b0dc17UL, 0xaef2d458UL, 0xfb94a29eUL, 0x4c56cf52UL,
+0x66fe8398UL, 0x8105c42eUL, 0xc3533976UL, 0x2e69d601UL, 0x08c1a0d3UL, 0x0e16e7a1UL, 0xa6dff2e4UL, 0x85d23e69UL,
+0x98469074UL, 0xdd0e2b4cUL, 0x5676754fUL, 0x7833395dUL, 0x4f2332a1UL, 0x5d1c323dUL, 0x94e1f5c3UL, 0x0193264bUL,
+0x2f029fc7UL, 0x7e7e993cUL, 0x04954f5eUL, 0xbdfbfa3fUL, 0x0eadf776UL, 0xf4936629UL, 0x6fce1f3dUL, 0xbe451ec6UL,
+0x34abb5d3UL, 0xb7f92bf7UL, 0xc034041bUL, 0x67b5724eUL, 0x3da39255UL, 0x019322b5UL, 0x7fa8d2cfUL, 0x67b7ae60UL,
+0x6b381418UL, 0x3dc3bc30UL, 0x7dc0a038UL, 0xf20616fdUL, 0x9b5163c3UL, 0x90d39d58UL, 0xe6f87954UL, 0x47d6b81cUL,
+0xa961fd97UL, 0xf45977eaUL, 0x9d53572dUL, 0xcf589a56UL, 0xad634ee8UL, 0x781b2e46UL, 0x7ef88065UL, 0x147981f3UL,
+0xf455da91UL, 0xf330a240UL, 0x358f98d1UL, 0xd218e3b6UL, 0xbc50fa3fUL, 0x21f0403dUL, 0xaebdc0c3UL, 0x4cc25849UL,
+0xb2368f51UL, 0x70d3b184UL, 0x83ceed0fUL, 0xdada8d87UL, 0xc779a2f2UL, 0xe81be094UL, 0x4b6f7190UL, 0xa38a4b95UL};
+
+
+const uint32_t s8[] PROGMEM = {
+0x0d3016e2UL, 0xfcffddbbUL, 0xbddaeba7UL, 0x95806435UL, 0xb7f88977UL, 0x1b12c1e6UL, 0x0016240eUL, 0xb5e82c05UL,
+0xb0cfa911UL, 0x112f95e5UL, 0x0a99e7ecUL, 0x74d18693UL, 0x1c93422aUL, 0x1181e376UL, 0x3aef2db1UL, 0xfcdddd37UL,
+0xb1de9adeUL, 0x2cc30c0aUL, 0x297019beUL, 0x4009a084UL, 0x0f3a24bbUL, 0xcf37d1b4UL, 0xf0794eb4UL, 0xfded9e04UL,
+0x5da1150bUL, 0x68310d48UL, 0x5adebb8bUL, 0x42ed9d66UL, 0x31e8ecc7UL, 0xe7958f3fUL, 0x1b19df72UL, 0x0d338075UL,
+0x51420794UL, 0xfacd7d5cUL, 0x636dbeabUL, 0x642140aaUL, 0x0ad401b3UL, 0xcad1e702UL, 0xae1d5753UL, 0xa282317aUL,
+0xecdda812UL, 0x5d33aafdUL, 0xe8436f17UL, 0xd446fb71UL, 0x22901238UL, 0xd49a94ceUL, 0xad6947b8UL, 0x62d85b96UL,
+0x55d0f382UL, 0x6797fb66UL, 0x4e0bb815UL, 0xa0475b1dUL, 0x6fe0fd4cUL, 0xb8c48ec2UL, 0x6e72e857UL, 0xfc787a64UL,
+0x445d8699UL, 0x93d58b60UL, 0x030e206cUL, 0xf65fdc39UL, 0xa3000b5dUL, 0xf2af63aeUL, 0x32d68b7eUL, 0x0c8c1070UL,
+0x4950d3bbUL, 0x04df9829UL, 0x2af40c98UL, 0x91f46d9bUL, 0x53dd7e9eUL, 0x48859106UL, 0x077ecb58UL, 0x2eef743bUL,
+0xb1ff2f52UL, 0xcc0847d2UL, 0xcd277e1cUL, 0x5b21eba4UL, 0xe2d2f13cUL, 0x387ab419UL, 0x18764f42UL, 0x39608535UL,
+0xe7de179dUL, 0xe635eb27UL, 0x7bf6afc9UL, 0xb8f5ba36UL, 0xcd67c409UL, 0xb11089c1UL, 0x7bbf1de1UL, 0xf81acd06UL,
+0x08c67071UL, 0x54335e2dUL, 0x5a49ded4UL, 0x06d0c664UL, 0x2cc6c0bcUL, 0xb30dd03dUL, 0x348f8f70UL, 0x421bd577UL,
+0x0f624f26UL, 0xbfd2b824UL, 0x9eb7c115UL, 0x6425a546UL, 0x4ee5d7f8UL, 0x6081373eUL, 0xa5cd9578UL, 0xa5159c85UL,
+0x889745e6UL, 0x5fc77bc3UL, 0x0cba07dbUL, 0xaba37606UL, 0x1e9b227fUL, 0x7b2e8431UL, 0xd79f2524UL, 0x72f4bef8UL,
+0xb8fc5f83UL, 0xf2c1f46dUL, 0x95b1f596UL, 0xfcf00afdUL, 0x4c13feb0UL, 0x3d6d50e2UL, 0xea129b4fUL, 0x25f215f2UL,
+0x6f7323a2UL, 0x28c4b49fUL, 0x7949d025UL, 0xf813c734UL, 0x878161c4UL, 0x986e7aeaUL, 0xfc6ed17cUL, 0x6c873614UL,
+0x074154f1UL, 0x14eedebeUL, 0x27afe956UL, 0x41a44aa0UL, 0x99c8f73cUL, 0xe6baec92UL, 0x6d0167ddUL, 0xeb821615UL,
+0xdfee42a8UL, 0xb460bafdUL, 0x757b90f1UL, 0x0f03e320UL, 0x9ec2d824UL, 0x3b6739e1UL, 0xb83fa6efUL, 0x54308771UL,
+0x3bcff2b6UL, 0x4264329fUL, 0xcca415cbUL, 0x04451ab0UL, 0x8d7de4f1UL, 0xe51b4a84UL, 0xdcdfe7baUL, 0x70dacb42UL,
+0x0aae7dcdUL, 0x7a5be857UL, 0xf65a3fd5UL, 0x8c4dcf20UL, 0x28d4a4ceUL, 0xa430d179UL, 0xfbeb8634UL, 0xdccdd333UL,
+0x533b8577UL, 0xb5fcef37UL, 0x788706c5UL, 0xe6b380e5UL, 0xf4b8684eUL, 0x7eb3c8c5UL, 0xa29e800dUL, 0x7ceb8f39UL,
+0x944f2a13UL, 0x0e95b743UL, 0x1c7dee2fUL, 0xbd133622UL, 0xa2ca06ddUL, 0x2b93df37UL, 0x898224c4UL, 0xc3ebf3acUL,
+0xb7f61557UL, 0xdd7834efUL, 0x6f6167f2UL, 0xe4cb48c1UL, 0x5e815290UL, 0xab0f415eUL, 0x65248ab4UL, 0xa47fda2eUL,
+0xe4407be8UL, 0x84a08ee9UL, 0xe1e98958UL, 0xfc90d3efUL, 0x5bd307ddUL, 0x945648dbUL, 0xb2e5d738UL, 0x01017257UL,
+0xbcde0e73UL, 0x1331645bUL, 0x4f7e9194UL, 0xba2f3c50UL, 0x82126f64UL, 0x4ad22375UL, 0x959677e0UL, 0x8f7ac1f9UL,
+0x21215b7aUL, 0x96b887d1UL, 0x4d3a2629UL, 0xdf0c51baUL, 0x9f7cf481UL, 0xed6311adUL, 0x65597beaUL, 0x6e72001aUL,
+0x92304011UL, 0x776dda00UL, 0x61dd0c4aUL, 0x03461fadUL, 0xb0df5b60UL, 0x64c3ed9eUL, 0xa8e6eb22UL, 0x8ad2e7ceUL,
+0xa036e7a0UL, 0xb9a66455UL, 0x09328510UL, 0x378febc7UL, 0xca05e72dUL, 0x0f575189UL, 0x2b8209dfUL, 0x6c1a69bdUL,
+0xf2e412aaUL, 0x0f1c4587UL, 0x7aa2f6e0UL, 0x1948da3aUL, 0x4f76f14cUL, 0x2b1c770dUL, 0x56b1cd67UL, 0x84830d35UL,
+0x0ffa3859UL, 0xf39e3942UL, 0x077b9936UL, 0x3d09840eUL, 0x613ea94aUL, 0x7bd86083UL, 0x0c8ba91fUL, 0x2c384911UL,
+0xa52576e9UL, 0xb7d11406UL, 0x4b24250eUL, 0x4783760cUL, 0x828d9e58UL, 0xd159200dUL, 0x1ebb66a4UL, 0x820adaf8UL,
+0x3091f104UL, 0xc04e6ebaUL, 0x64512699UL, 0x0d23e71eUL, 0x80adb250UL, 0x0168eeeaUL, 0x83a2b28dUL, 0x9ef58beaUL};
+
+
+#endif
+
+
+#endif
+
#ifndef CAST5_SBOX_H_
#define CAST5_SBOX_H_
-#include <avr/pgmspace.h>
#include <stdint.h>
-#ifndef BIG_ENDIAN
-
-uint32_t s1[] PROGMEM = {
-0x30fb40d4UL, 0x9fa0ff0bUL, 0x6beccd2fUL, 0x3f258c7aUL, 0x1e213f2fUL, 0x9c004dd3UL, 0x6003e540UL, 0xcf9fc949UL,
-0xbfd4af27UL, 0x88bbbdb5UL, 0xe2034090UL, 0x98d09675UL, 0x6e63a0e0UL, 0x15c361d2UL, 0xc2e7661dUL, 0x22d4ff8eUL,
-0x28683b6fUL, 0xc07fd059UL, 0xff2379c8UL, 0x775f50e2UL, 0x43c340d3UL, 0xdf2f8656UL, 0x887ca41aUL, 0xa2d2bd2dUL,
-0xa1c9e0d6UL, 0x346c4819UL, 0x61b76d87UL, 0x22540f2fUL, 0x2abe32e1UL, 0xaa54166bUL, 0x22568e3aUL, 0xa2d341d0UL,
-0x66db40c8UL, 0xa784392fUL, 0x004dff2fUL, 0x2db9d2deUL, 0x97943facUL, 0x4a97c1d8UL, 0x527644b7UL, 0xb5f437a7UL,
-0xb82cbaefUL, 0xd751d159UL, 0x6ff7f0edUL, 0x5a097a1fUL, 0x827b68d0UL, 0x90ecf52eUL, 0x22b0c054UL, 0xbc8e5935UL,
-0x4b6d2f7fUL, 0x50bb64a2UL, 0xd2664910UL, 0xbee5812dUL, 0xb7332290UL, 0xe93b159fUL, 0xb48ee411UL, 0x4bff345dUL,
-0xfd45c240UL, 0xad31973fUL, 0xc4f6d02eUL, 0x55fc8165UL, 0xd5b1caadUL, 0xa1ac2daeUL, 0xa2d4b76dUL, 0xc19b0c50UL,
-0x882240f2UL, 0x0c6e4f38UL, 0xa4e4bfd7UL, 0x4f5ba272UL, 0x564c1d2fUL, 0xc59c5319UL, 0xb949e354UL, 0xb04669feUL,
-0xb1b6ab8aUL, 0xc71358ddUL, 0x6385c545UL, 0x110f935dUL, 0x57538ad5UL, 0x6a390493UL, 0xe63d37e0UL, 0x2a54f6b3UL,
-0x3a787d5fUL, 0x6276a0b5UL, 0x19a6fcdfUL, 0x7a42206aUL, 0x29f9d4d5UL, 0xf61b1891UL, 0xbb72275eUL, 0xaa508167UL,
-0x38901091UL, 0xc6b505ebUL, 0x84c7cb8cUL, 0x2ad75a0fUL, 0x874a1427UL, 0xa2d1936bUL, 0x2ad286afUL, 0xaa56d291UL,
-0xd7894360UL, 0x425c750dUL, 0x93b39e26UL, 0x187184c9UL, 0x6c00b32dUL, 0x73e2bb14UL, 0xa0bebc3cUL, 0x54623779UL,
-0x64459eabUL, 0x3f328b82UL, 0x7718cf82UL, 0x59a2cea6UL, 0x04ee002eUL, 0x89fe78e6UL, 0x3fab0950UL, 0x325ff6c2UL,
-0x81383f05UL, 0x6963c5c8UL, 0x76cb5ad6UL, 0xd49974c9UL, 0xca180dcfUL, 0x380782d5UL, 0xc7fa5cf6UL, 0x8ac31511UL,
-0x35e79e13UL, 0x47da91d0UL, 0xf40f9086UL, 0xa7e2419eUL, 0x31366241UL, 0x051ef495UL, 0xaa573b04UL, 0x4a805d8dUL,
-0x548300d0UL, 0x00322a3cUL, 0xbf64cddfUL, 0xba57a68eUL, 0x75c6372bUL, 0x50afd341UL, 0xa7c13275UL, 0x915a0bf5UL,
-0x6b54bfabUL, 0x2b0b1426UL, 0xab4cc9d7UL, 0x449ccd82UL, 0xf7fbf265UL, 0xab85c5f3UL, 0x1b55db94UL, 0xaad4e324UL,
-0xcfa4bd3fUL, 0x2deaa3e2UL, 0x9e204d02UL, 0xc8bd25acUL, 0xeadf55b3UL, 0xd5bd9e98UL, 0xe31231b2UL, 0x2ad5ad6cUL,
-0x954329deUL, 0xadbe4528UL, 0xd8710f69UL, 0xaa51c90fUL, 0xaa786bf6UL, 0x22513f1eUL, 0xaa51a79bUL, 0x2ad344ccUL,
-0x7b5a41f0UL, 0xd37cfbadUL, 0x1b069505UL, 0x41ece491UL, 0xb4c332e6UL, 0x032268d4UL, 0xc9600accUL, 0xce387e6dUL,
-0xbf6bb16cUL, 0x6a70fb78UL, 0x0d03d9c9UL, 0xd4df39deUL, 0xe01063daUL, 0x4736f464UL, 0x5ad328d8UL, 0xb347cc96UL,
-0x75bb0fc3UL, 0x98511bfbUL, 0x4ffbcc35UL, 0xb58bcf6aUL, 0xe11f0abcUL, 0xbfc5fe4aUL, 0xa70aec10UL, 0xac39570aUL,
-0x3f04442fUL, 0x6188b153UL, 0xe0397a2eUL, 0x5727cb79UL, 0x9ceb418fUL, 0x1cacd68dUL, 0x2ad37c96UL, 0x0175cb9dUL,
-0xc69dff09UL, 0xc75b65f0UL, 0xd9db40d8UL, 0xec0e7779UL, 0x4744ead4UL, 0xb11c3274UL, 0xdd24cb9eUL, 0x7e1c54bdUL,
-0xf01144f9UL, 0xd2240eb1UL, 0x9675b3fdUL, 0xa3ac3755UL, 0xd47c27afUL, 0x51c85f4dUL, 0x56907596UL, 0xa5bb15e6UL,
-0x580304f0UL, 0xca042cf1UL, 0x011a37eaUL, 0x8dbfaadbUL, 0x35ba3e4aUL, 0x3526ffa0UL, 0xc37b4d09UL, 0xbc306ed9UL,
-0x98a52666UL, 0x5648f725UL, 0xff5e569dUL, 0x0ced63d0UL, 0x7c63b2cfUL, 0x700b45e1UL, 0xd5ea50f1UL, 0x85a92872UL,
-0xaf1fbda7UL, 0xd4234870UL, 0xa7870bf3UL, 0x2d3b4d79UL, 0x42e04198UL, 0x0cd0ede7UL, 0x26470db8UL, 0xf881814cUL,
-0x474d6ad7UL, 0x7c0c5e5cUL, 0xd1231959UL, 0x381b7298UL, 0xf5d2f4dbUL, 0xab838653UL, 0x6e2f1e23UL, 0x83719c9eUL,
-0xbd91e046UL, 0x9a56456eUL, 0xdc39200cUL, 0x20c8c571UL, 0x962bda1cUL, 0xe1e696ffUL, 0xb141ab08UL, 0x7cca89b9UL,
-0x1a69e783UL, 0x02cc4843UL, 0xa2f7c579UL, 0x429ef47dUL, 0x427b169cUL, 0x5ac9f049UL, 0xdd8f0f00UL, 0x5c8165bfUL};
-
-uint32_t s2[] PROGMEM = {
-0x1f201094UL, 0xef0ba75bUL, 0x69e3cf7eUL, 0x393f4380UL, 0xfe61cf7aUL, 0xeec5207aUL, 0x55889c94UL, 0x72fc0651UL,
-0xada7ef79UL, 0x4e1d7235UL, 0xd55a63ceUL, 0xde0436baUL, 0x99c430efUL, 0x5f0c0794UL, 0x18dcdb7dUL, 0xa1d6eff3UL,
-0xa0b52f7bUL, 0x59e83605UL, 0xee15b094UL, 0xe9ffd909UL, 0xdc440086UL, 0xef944459UL, 0xba83ccb3UL, 0xe0c3cdfbUL,
-0xd1da4181UL, 0x3b092ab1UL, 0xf997f1c1UL, 0xa5e6cf7bUL, 0x01420ddbUL, 0xe4e7ef5bUL, 0x25a1ff41UL, 0xe180f806UL,
-0x1fc41080UL, 0x179bee7aUL, 0xd37ac6a9UL, 0xfe5830a4UL, 0x98de8b7fUL, 0x77e83f4eUL, 0x79929269UL, 0x24fa9f7bUL,
-0xe113c85bUL, 0xacc40083UL, 0xd7503525UL, 0xf7ea615fUL, 0x62143154UL, 0x0d554b63UL, 0x5d681121UL, 0xc866c359UL,
-0x3d63cf73UL, 0xcee234c0UL, 0xd4d87e87UL, 0x5c672b21UL, 0x071f6181UL, 0x39f7627fUL, 0x361e3084UL, 0xe4eb573bUL,
-0x602f64a4UL, 0xd63acd9cUL, 0x1bbc4635UL, 0x9e81032dUL, 0x2701f50cUL, 0x99847ab4UL, 0xa0e3df79UL, 0xba6cf38cUL,
-0x10843094UL, 0x2537a95eUL, 0xf46f6ffeUL, 0xa1ff3b1fUL, 0x208cfb6aUL, 0x8f458c74UL, 0xd9e0a227UL, 0x4ec73a34UL,
-0xfc884f69UL, 0x3e4de8dfUL, 0xef0e0088UL, 0x3559648dUL, 0x8a45388cUL, 0x1d804366UL, 0x721d9bfdUL, 0xa58684bbUL,
-0xe8256333UL, 0x844e8212UL, 0x128d8098UL, 0xfed33fb4UL, 0xce280ae1UL, 0x27e19ba5UL, 0xd5a6c252UL, 0xe49754bdUL,
-0xc5d655ddUL, 0xeb667064UL, 0x77840b4dUL, 0xa1b6a801UL, 0x84db26a9UL, 0xe0b56714UL, 0x21f043b7UL, 0xe5d05860UL,
-0x54f03084UL, 0x066ff472UL, 0xa31aa153UL, 0xdadc4755UL, 0xb5625dbfUL, 0x68561be6UL, 0x83ca6b94UL, 0x2d6ed23bUL,
-0xeccf01dbUL, 0xa6d3d0baUL, 0xb6803d5cUL, 0xaf77a709UL, 0x33b4a34cUL, 0x397bc8d6UL, 0x5ee22b95UL, 0x5f0e5304UL,
-0x81ed6f61UL, 0x20e74364UL, 0xb45e1378UL, 0xde18639bUL, 0x881ca122UL, 0xb96726d1UL, 0x8049a7e8UL, 0x22b7da7bUL,
-0x5e552d25UL, 0x5272d237UL, 0x79d2951cUL, 0xc60d894cUL, 0x488cb402UL, 0x1ba4fe5bUL, 0xa4b09f6bUL, 0x1ca815cfUL,
-0xa20c3005UL, 0x8871df63UL, 0xb9de2fcbUL, 0x0cc6c9e9UL, 0x0beeff53UL, 0xe3214517UL, 0xb4542835UL, 0x9f63293cUL,
-0xee41e729UL, 0x6e1d2d7cUL, 0x50045286UL, 0x1e6685f3UL, 0xf33401c6UL, 0x30a22c95UL, 0x31a70850UL, 0x60930f13UL,
-0x73f98417UL, 0xa1269859UL, 0xec645c44UL, 0x52c877a9UL, 0xcdff33a6UL, 0xa02b1741UL, 0x7cbad9a2UL, 0x2180036fUL,
-0x50d99c08UL, 0xcb3f4861UL, 0xc26bd765UL, 0x64a3f6abUL, 0x80342676UL, 0x25a75e7bUL, 0xe4e6d1fcUL, 0x20c710e6UL,
-0xcdf0b680UL, 0x17844d3bUL, 0x31eef84dUL, 0x7e0824e4UL, 0x2ccb49ebUL, 0x846a3baeUL, 0x8ff77888UL, 0xee5d60f6UL,
-0x7af75673UL, 0x2fdd5cdbUL, 0xa11631c1UL, 0x30f66f43UL, 0xb3faec54UL, 0x157fd7faUL, 0xef8579ccUL, 0xd152de58UL,
-0xdb2ffd5eUL, 0x8f32ce19UL, 0x306af97aUL, 0x02f03ef8UL, 0x99319ad5UL, 0xc242fa0fUL, 0xa7e3ebb0UL, 0xc68e4906UL,
-0xb8da230cUL, 0x80823028UL, 0xdcdef3c8UL, 0xd35fb171UL, 0x088a1bc8UL, 0xbec0c560UL, 0x61a3c9e8UL, 0xbca8f54dUL,
-0xc72feffaUL, 0x22822e99UL, 0x82c570b4UL, 0xd8d94e89UL, 0x8b1c34bcUL, 0x301e16e6UL, 0x273be979UL, 0xb0ffeaa6UL,
-0x61d9b8c6UL, 0x00b24869UL, 0xb7ffce3fUL, 0x08dc283bUL, 0x43daf65aUL, 0xf7e19798UL, 0x7619b72fUL, 0x8f1c9ba4UL,
-0xdc8637a0UL, 0x16a7d3b1UL, 0x9fc393b7UL, 0xa7136eebUL, 0xc6bcc63eUL, 0x1a513742UL, 0xef6828bcUL, 0x520365d6UL,
-0x2d6a77abUL, 0x3527ed4bUL, 0x821fd216UL, 0x095c6e2eUL, 0xdb92f2fbUL, 0x5eea29cbUL, 0x145892f5UL, 0x91584f7fUL,
-0x5483697bUL, 0x2667a8ccUL, 0x85196048UL, 0x8c4baceaUL, 0x833860d4UL, 0x0d23e0f9UL, 0x6c387e8aUL, 0x0ae6d249UL,
-0xb284600cUL, 0xd835731dUL, 0xdcb1c647UL, 0xac4c56eaUL, 0x3ebd81b3UL, 0x230eabb0UL, 0x6438bc87UL, 0xf0b5b1faUL,
-0x8f5ea2b3UL, 0xfc184642UL, 0x0a036b7aUL, 0x4fb089bdUL, 0x649da589UL, 0xa345415eUL, 0x5c038323UL, 0x3e5d3bb9UL,
-0x43d79572UL, 0x7e6dd07cUL, 0x06dfdf1eUL, 0x6c6cc4efUL, 0x7160a539UL, 0x73bfbe70UL, 0x83877605UL, 0x4523ecf1UL};
-
-uint32_t s3[] PROGMEM = {
-0x8defc240UL, 0x25fa5d9fUL, 0xeb903dbfUL, 0xe810c907UL, 0x47607fffUL, 0x369fe44bUL, 0x8c1fc644UL, 0xaececa90UL,
-0xbeb1f9bfUL, 0xeefbcaeaUL, 0xe8cf1950UL, 0x51df07aeUL, 0x920e8806UL, 0xf0ad0548UL, 0xe13c8d83UL, 0x927010d5UL,
-0x11107d9fUL, 0x07647db9UL, 0xb2e3e4d4UL, 0x3d4f285eUL, 0xb9afa820UL, 0xfade82e0UL, 0xa067268bUL, 0x8272792eUL,
-0x553fb2c0UL, 0x489ae22bUL, 0xd4ef9794UL, 0x125e3fbcUL, 0x21fffceeUL, 0x825b1bfdUL, 0x9255c5edUL, 0x1257a240UL,
-0x4e1a8302UL, 0xbae07fffUL, 0x528246e7UL, 0x8e57140eUL, 0x3373f7bfUL, 0x8c9f8188UL, 0xa6fc4ee8UL, 0xc982b5a5UL,
-0xa8c01db7UL, 0x579fc264UL, 0x67094f31UL, 0xf2bd3f5fUL, 0x40fff7c1UL, 0x1fb78dfcUL, 0x8e6bd2c1UL, 0x437be59bUL,
-0x99b03dbfUL, 0xb5dbc64bUL, 0x638dc0e6UL, 0x55819d99UL, 0xa197c81cUL, 0x4a012d6eUL, 0xc5884a28UL, 0xccc36f71UL,
-0xb843c213UL, 0x6c0743f1UL, 0x8309893cUL, 0x0feddd5fUL, 0x2f7fe850UL, 0xd7c07f7eUL, 0x02507fbfUL, 0x5afb9a04UL,
-0xa747d2d0UL, 0x1651192eUL, 0xaf70bf3eUL, 0x58c31380UL, 0x5f98302eUL, 0x727cc3c4UL, 0x0a0fb402UL, 0x0f7fef82UL,
-0x8c96fdadUL, 0x5d2c2aaeUL, 0x8ee99a49UL, 0x50da88b8UL, 0x8427f4a0UL, 0x1eac5790UL, 0x796fb449UL, 0x8252dc15UL,
-0xefbd7d9bUL, 0xa672597dUL, 0xada840d8UL, 0x45f54504UL, 0xfa5d7403UL, 0xe83ec305UL, 0x4f91751aUL, 0x925669c2UL,
-0x23efe941UL, 0xa903f12eUL, 0x60270df2UL, 0x0276e4b6UL, 0x94fd6574UL, 0x927985b2UL, 0x8276dbcbUL, 0x02778176UL,
-0xf8af918dUL, 0x4e48f79eUL, 0x8f616ddfUL, 0xe29d840eUL, 0x842f7d83UL, 0x340ce5c8UL, 0x96bbb682UL, 0x93b4b148UL,
-0xef303cabUL, 0x984faf28UL, 0x779faf9bUL, 0x92dc560dUL, 0x224d1e20UL, 0x8437aa88UL, 0x7d29dc96UL, 0x2756d3dcUL,
-0x8b907ceeUL, 0xb51fd240UL, 0xe7c07ce3UL, 0xe566b4a1UL, 0xc3e9615eUL, 0x3cf8209dUL, 0x6094d1e3UL, 0xcd9ca341UL,
-0x5c76460eUL, 0x00ea983bUL, 0xd4d67881UL, 0xfd47572cUL, 0xf76cedd9UL, 0xbda8229cUL, 0x127dadaaUL, 0x438a074eUL,
-0x1f97c090UL, 0x081bdb8aUL, 0x93a07ebeUL, 0xb938ca15UL, 0x97b03cffUL, 0x3dc2c0f8UL, 0x8d1ab2ecUL, 0x64380e51UL,
-0x68cc7bfbUL, 0xd90f2788UL, 0x12490181UL, 0x5de5ffd4UL, 0xdd7ef86aUL, 0x76a2e214UL, 0xb9a40368UL, 0x925d958fUL,
-0x4b39fffaUL, 0xba39aee9UL, 0xa4ffd30bUL, 0xfaf7933bUL, 0x6d498623UL, 0x193cbcfaUL, 0x27627545UL, 0x825cf47aUL,
-0x61bd8ba0UL, 0xd11e42d1UL, 0xcead04f4UL, 0x127ea392UL, 0x10428db7UL, 0x8272a972UL, 0x9270c4a8UL, 0x127de50bUL,
-0x285ba1c8UL, 0x3c62f44fUL, 0x35c0eaa5UL, 0xe805d231UL, 0x428929fbUL, 0xb4fcdf82UL, 0x4fb66a53UL, 0x0e7dc15bUL,
-0x1f081fabUL, 0x108618aeUL, 0xfcfd086dUL, 0xf9ff2889UL, 0x694bcc11UL, 0x236a5caeUL, 0x12deca4dUL, 0x2c3f8cc5UL,
-0xd2d02dfeUL, 0xf8ef5896UL, 0xe4cf52daUL, 0x95155b67UL, 0x494a488cUL, 0xb9b6a80cUL, 0x5c8f82bcUL, 0x89d36b45UL,
-0x3a609437UL, 0xec00c9a9UL, 0x44715253UL, 0x0a874b49UL, 0xd773bc40UL, 0x7c34671cUL, 0x02717ef6UL, 0x4feb5536UL,
-0xa2d02fffUL, 0xd2bf60c4UL, 0xd43f03c0UL, 0x50b4ef6dUL, 0x07478cd1UL, 0x006e1888UL, 0xa2e53f55UL, 0xb9e6d4bcUL,
-0xa2048016UL, 0x97573833UL, 0xd7207d67UL, 0xde0f8f3dUL, 0x72f87b33UL, 0xabcc4f33UL, 0x7688c55dUL, 0x7b00a6b0UL,
-0x947b0001UL, 0x570075d2UL, 0xf9bb88f8UL, 0x8942019eUL, 0x4264a5ffUL, 0x856302e0UL, 0x72dbd92bUL, 0xee971b69UL,
-0x6ea22fdeUL, 0x5f08ae2bUL, 0xaf7a616dUL, 0xe5c98767UL, 0xcf1febd2UL, 0x61efc8c2UL, 0xf1ac2571UL, 0xcc8239c2UL,
-0x67214cb8UL, 0xb1e583d1UL, 0xb7dc3e62UL, 0x7f10bdceUL, 0xf90a5c38UL, 0x0ff0443dUL, 0x606e6dc6UL, 0x60543a49UL,
-0x5727c148UL, 0x2be98a1dUL, 0x8ab41738UL, 0x20e1be24UL, 0xaf96da0fUL, 0x68458425UL, 0x99833be5UL, 0x600d457dUL,
-0x282f9350UL, 0x8334b362UL, 0xd91d1120UL, 0x2b6d8da0UL, 0x642b1e31UL, 0x9c305a00UL, 0x52bce688UL, 0x1b03588aUL,
-0xf7baefd5UL, 0x4142ed9cUL, 0xa4315c11UL, 0x83323ec5UL, 0xdfef4636UL, 0xa133c501UL, 0xe9d3531cUL, 0xee353783UL};
-
-uint32_t s4[] PROGMEM = {
-0x9db30420UL, 0x1fb6e9deUL, 0xa7be7befUL, 0xd273a298UL, 0x4a4f7bdbUL, 0x64ad8c57UL, 0x85510443UL, 0xfa020ed1UL,
-0x7e287affUL, 0xe60fb663UL, 0x095f35a1UL, 0x79ebf120UL, 0xfd059d43UL, 0x6497b7b1UL, 0xf3641f63UL, 0x241e4adfUL,
-0x28147f5fUL, 0x4fa2b8cdUL, 0xc9430040UL, 0x0cc32220UL, 0xfdd30b30UL, 0xc0a5374fUL, 0x1d2d00d9UL, 0x24147b15UL,
-0xee4d111aUL, 0x0fca5167UL, 0x71ff904cUL, 0x2d195ffeUL, 0x1a05645fUL, 0x0c13fefeUL, 0x081b08caUL, 0x05170121UL,
-0x80530100UL, 0xe83e5efeUL, 0xac9af4f8UL, 0x7fe72701UL, 0xd2b8ee5fUL, 0x06df4261UL, 0xbb9e9b8aUL, 0x7293ea25UL,
-0xce84ffdfUL, 0xf5718801UL, 0x3dd64b04UL, 0xa26f263bUL, 0x7ed48400UL, 0x547eebe6UL, 0x446d4ca0UL, 0x6cf3d6f5UL,
-0x2649abdfUL, 0xaea0c7f5UL, 0x36338cc1UL, 0x503f7e93UL, 0xd3772061UL, 0x11b638e1UL, 0x72500e03UL, 0xf80eb2bbUL,
-0xabe0502eUL, 0xec8d77deUL, 0x57971e81UL, 0xe14f6746UL, 0xc9335400UL, 0x6920318fUL, 0x081dbb99UL, 0xffc304a5UL,
-0x4d351805UL, 0x7f3d5ce3UL, 0xa6c866c6UL, 0x5d5bcca9UL, 0xdaec6feaUL, 0x9f926f91UL, 0x9f46222fUL, 0x3991467dUL,
-0xa5bf6d8eUL, 0x1143c44fUL, 0x43958302UL, 0xd0214eebUL, 0x022083b8UL, 0x3fb6180cUL, 0x18f8931eUL, 0x281658e6UL,
-0x26486e3eUL, 0x8bd78a70UL, 0x7477e4c1UL, 0xb506e07cUL, 0xf32d0a25UL, 0x79098b02UL, 0xe4eabb81UL, 0x28123b23UL,
-0x69dead38UL, 0x1574ca16UL, 0xdf871b62UL, 0x211c40b7UL, 0xa51a9ef9UL, 0x0014377bUL, 0x041e8ac8UL, 0x09114003UL,
-0xbd59e4d2UL, 0xe3d156d5UL, 0x4fe876d5UL, 0x2f91a340UL, 0x557be8deUL, 0x00eae4a7UL, 0x0ce5c2ecUL, 0x4db4bba6UL,
-0xe756bdffUL, 0xdd3369acUL, 0xec17b035UL, 0x06572327UL, 0x99afc8b0UL, 0x56c8c391UL, 0x6b65811cUL, 0x5e146119UL,
-0x6e85cb75UL, 0xbe07c002UL, 0xc2325577UL, 0x893ff4ecUL, 0x5bbfc92dUL, 0xd0ec3b25UL, 0xb7801ab7UL, 0x8d6d3b24UL,
-0x20c763efUL, 0xc366a5fcUL, 0x9c382880UL, 0x0ace3205UL, 0xaac9548aUL, 0xeca1d7c7UL, 0x041afa32UL, 0x1d16625aUL,
-0x6701902cUL, 0x9b757a54UL, 0x31d477f7UL, 0x9126b031UL, 0x36cc6fdbUL, 0xc70b8b46UL, 0xd9e66a48UL, 0x56e55a79UL,
-0x026a4cebUL, 0x52437effUL, 0x2f8f76b4UL, 0x0df980a5UL, 0x8674cde3UL, 0xedda04ebUL, 0x17a9be04UL, 0x2c18f4dfUL,
-0xb7747f9dUL, 0xab2af7b4UL, 0xefc34d20UL, 0x2e096b7cUL, 0x1741a254UL, 0xe5b6a035UL, 0x213d42f6UL, 0x2c1c7c26UL,
-0x61c2f50fUL, 0x6552daf9UL, 0xd2c231f8UL, 0x25130f69UL, 0xd8167fa2UL, 0x0418f2c8UL, 0x001a96a6UL, 0x0d1526abUL,
-0x63315c21UL, 0x5e0a72ecUL, 0x49bafefdUL, 0x187908d9UL, 0x8d0dbd86UL, 0x311170a7UL, 0x3e9b640cUL, 0xcc3e10d7UL,
-0xd5cad3b6UL, 0x0caec388UL, 0xf73001e1UL, 0x6c728affUL, 0x71eae2a1UL, 0x1f9af36eUL, 0xcfcbd12fUL, 0xc1de8417UL,
-0xac07be6bUL, 0xcb44a1d8UL, 0x8b9b0f56UL, 0x013988c3UL, 0xb1c52fcaUL, 0xb4be31cdUL, 0xd8782806UL, 0x12a3a4e2UL,
-0x6f7de532UL, 0x58fd7eb6UL, 0xd01ee900UL, 0x24adffc2UL, 0xf4990fc5UL, 0x9711aac5UL, 0x001d7b95UL, 0x82e5e7d2UL,
-0x109873f6UL, 0x00613096UL, 0xc32d9521UL, 0xada121ffUL, 0x29908415UL, 0x7fbb977fUL, 0xaf9eb3dbUL, 0x29c9ed2aUL,
-0x5ce2a465UL, 0xa730f32cUL, 0xd0aa3fe8UL, 0x8a5cc091UL, 0xd49e2ce7UL, 0x0ce454a9UL, 0xd60acd86UL, 0x015f1919UL,
-0x77079103UL, 0xdea03af6UL, 0x78a8565eUL, 0xdee356dfUL, 0x21f05cbeUL, 0x8b75e387UL, 0xb3c50651UL, 0xb8a5c3efUL,
-0xd8eeb6d2UL, 0xe523be77UL, 0xc2154529UL, 0x2f69efdfUL, 0xafe67afbUL, 0xf470c4b2UL, 0xf3e0eb5bUL, 0xd6cc9876UL,
-0x39e4460cUL, 0x1fda8538UL, 0x1987832fUL, 0xca007367UL, 0xa99144f8UL, 0x296b299eUL, 0x492fc295UL, 0x9266beabUL,
-0xb5676e69UL, 0x9bd3dddaUL, 0xdf7e052fUL, 0xdb25701cUL, 0x1b5e51eeUL, 0xf65324e6UL, 0x6afce36cUL, 0x0316cc04UL,
-0x8644213eUL, 0xb7dc59d0UL, 0x7965291fUL, 0xccd6fd43UL, 0x41823979UL, 0x932bcdf6UL, 0xb657c34dUL, 0x4edfd282UL,
-0x7ae5290cUL, 0x3cb9536bUL, 0x851e20feUL, 0x9833557eUL, 0x13ecf0b0UL, 0xd3ffb372UL, 0x3f85c5c1UL, 0x0aef7ed2UL};
-
-#else
-
-uint32_t s1[] PROGMEM = {
-0xd440fb30UL, 0x0bffa09fUL, 0x2fcdec6bUL, 0x7a8c253fUL, 0x2f3f211eUL, 0xd34d009cUL, 0x40e50360UL, 0x49c99fcfUL,
-0x27afd4bfUL, 0xb5bdbb88UL, 0x904003e2UL, 0x7596d098UL, 0xe0a0636eUL, 0xd261c315UL, 0x1d66e7c2UL, 0x8effd422UL,
-0x6f3b6828UL, 0x59d07fc0UL, 0xc87923ffUL, 0xe2505f77UL, 0xd340c343UL, 0x56862fdfUL, 0x1aa47c88UL, 0x2dbdd2a2UL,
-0xd6e0c9a1UL, 0x19486c34UL, 0x876db761UL, 0x2f0f5422UL, 0xe132be2aUL, 0x6b1654aaUL, 0x3a8e5622UL, 0xd041d3a2UL,
-0xc840db66UL, 0x2f3984a7UL, 0x2fff4d00UL, 0xded2b92dUL, 0xac3f9497UL, 0xd8c1974aUL, 0xb7447652UL, 0xa737f4b5UL,
-0xefba2cb8UL, 0x59d151d7UL, 0xedf0f76fUL, 0x1f7a095aUL, 0xd0687b82UL, 0x2ef5ec90UL, 0x54c0b022UL, 0x35598ebcUL,
-0x7f2f6d4bUL, 0xa264bb50UL, 0x104966d2UL, 0x2d81e5beUL, 0x902233b7UL, 0x9f153be9UL, 0x11e48eb4UL, 0x5d34ff4bUL,
-0x40c245fdUL, 0x3f9731adUL, 0x2ed0f6c4UL, 0x6581fc55UL, 0xadcab1d5UL, 0xae2daca1UL, 0x6db7d4a2UL, 0x500c9bc1UL,
-0xf2402288UL, 0x384f6e0cUL, 0xd7bfe4a4UL, 0x72a25b4fUL, 0x2f1d4c56UL, 0x19539cc5UL, 0x54e349b9UL, 0xfe6946b0UL,
-0x8aabb6b1UL, 0xdd5813c7UL, 0x45c58563UL, 0x5d930f11UL, 0xd58a5357UL, 0x9304396aUL, 0xe0373de6UL, 0xb3f6542aUL,
-0x5f7d783aUL, 0xb5a07662UL, 0xdffca619UL, 0x6a20427aUL, 0xd5d4f929UL, 0x91181bf6UL, 0x5e2772bbUL, 0x678150aaUL,
-0x91109038UL, 0xeb05b5c6UL, 0x8ccbc784UL, 0x0f5ad72aUL, 0x27144a87UL, 0x6b93d1a2UL, 0xaf86d22aUL, 0x91d256aaUL,
-0x604389d7UL, 0x0d755c42UL, 0x269eb393UL, 0xc9847118UL, 0x2db3006cUL, 0x14bbe273UL, 0x3cbcbea0UL, 0x79376254UL,
-0xab9e4564UL, 0x828b323fUL, 0x82cf1877UL, 0xa6cea259UL, 0x2e00ee04UL, 0xe678fe89UL, 0x5009ab3fUL, 0xc2f65f32UL,
-0x053f3881UL, 0xc8c56369UL, 0xd65acb76UL, 0xc97499d4UL, 0xcf0d18caUL, 0xd5820738UL, 0xf65cfac7UL, 0x1115c38aUL,
-0x139ee735UL, 0xd091da47UL, 0x86900ff4UL, 0x9e41e2a7UL, 0x41623631UL, 0x95f41e05UL, 0x043b57aaUL, 0x8d5d804aUL,
-0xd0008354UL, 0x3c2a3200UL, 0xdfcd64bfUL, 0x8ea657baUL, 0x2b37c675UL, 0x41d3af50UL, 0x7532c1a7UL, 0xf50b5a91UL,
-0xabbf546bUL, 0x26140b2bUL, 0xd7c94cabUL, 0x82cd9c44UL, 0x65f2fbf7UL, 0xf3c585abUL, 0x94db551bUL, 0x24e3d4aaUL,
-0x3fbda4cfUL, 0xe2a3ea2dUL, 0x024d209eUL, 0xac25bdc8UL, 0xb355dfeaUL, 0x989ebdd5UL, 0xb23112e3UL, 0x6cadd52aUL,
-0xde294395UL, 0x2845beadUL, 0x690f71d8UL, 0x0fc951aaUL, 0xf66b78aaUL, 0x1e3f5122UL, 0x9ba751aaUL, 0xcc44d32aUL,
-0xf0415a7bUL, 0xadfb7cd3UL, 0x0595061bUL, 0x91e4ec41UL, 0xe632c3b4UL, 0xd4682203UL, 0xcc0a60c9UL, 0x6d7e38ceUL,
-0x6cb16bbfUL, 0x78fb706aUL, 0xc9d9030dUL, 0xde39dfd4UL, 0xda6310e0UL, 0x64f43647UL, 0xd828d35aUL, 0x96cc47b3UL,
-0xc30fbb75UL, 0xfb1b5198UL, 0x35ccfb4fUL, 0x6acf8bb5UL, 0xbc0a1fe1UL, 0x4afec5bfUL, 0x10ec0aa7UL, 0x0a5739acUL,
-0x2f44043fUL, 0x53b18861UL, 0x2e7a39e0UL, 0x79cb2757UL, 0x8f41eb9cUL, 0x8dd6ac1cUL, 0x967cd32aUL, 0x9dcb7501UL,
-0x09ff9dc6UL, 0xf0655bc7UL, 0xd840dbd9UL, 0x79770eecUL, 0xd4ea4447UL, 0x74321cb1UL, 0x9ecb24ddUL, 0xbd541c7eUL,
-0xf94411f0UL, 0xb10e24d2UL, 0xfdb37596UL, 0x5537aca3UL, 0xaf277cd4UL, 0x4d5fc851UL, 0x96759056UL, 0xe615bba5UL,
-0xf0040358UL, 0xf12c04caUL, 0xea371a01UL, 0xdbaabf8dUL, 0x4a3eba35UL, 0xa0ff2635UL, 0x094d7bc3UL, 0xd96e30bcUL,
-0x6626a598UL, 0x25f74856UL, 0x9d565effUL, 0xd063ed0cUL, 0xcfb2637cUL, 0xe1450b70UL, 0xf150ead5UL, 0x7228a985UL,
-0xa7bd1fafUL, 0x704823d4UL, 0xf30b87a7UL, 0x794d3b2dUL, 0x9841e042UL, 0xe7edd00cUL, 0xb80d4726UL, 0x4c8181f8UL,
-0xd76a4d47UL, 0x5c5e0c7cUL, 0x591923d1UL, 0x98721b38UL, 0xdbf4d2f5UL, 0x538683abUL, 0x231e2f6eUL, 0x9e9c7183UL,
-0x46e091bdUL, 0x6e45569aUL, 0x0c2039dcUL, 0x71c5c820UL, 0x1cda2b96UL, 0xff96e6e1UL, 0x08ab41b1UL, 0xb989ca7cUL,
-0x83e7691aUL, 0x4348cc02UL, 0x79c5f7a2UL, 0x7df49e42UL, 0x9c167b42UL, 0x49f0c95aUL, 0x000f8fddUL, 0xbf65815cUL};
-
-uint32_t s2[] PROGMEM = {
-0x9410201fUL, 0x5ba70befUL, 0x7ecfe369UL, 0x80433f39UL, 0x7acf61feUL, 0x7a20c5eeUL, 0x949c8855UL, 0x5106fc72UL,
-0x79efa7adUL, 0x35721d4eUL, 0xce635ad5UL, 0xba3604deUL, 0xef30c499UL, 0x94070c5fUL, 0x7ddbdc18UL, 0xf3efd6a1UL,
-0x7b2fb5a0UL, 0x0536e859UL, 0x94b015eeUL, 0x09d9ffe9UL, 0x860044dcUL, 0x594494efUL, 0xb3cc83baUL, 0xfbcdc3e0UL,
-0x8141dad1UL, 0xb12a093bUL, 0xc1f197f9UL, 0x7bcfe6a5UL, 0xdb0d4201UL, 0x5befe7e4UL, 0x41ffa125UL, 0x06f880e1UL,
-0x8010c41fUL, 0x7aee9b17UL, 0xa9c67ad3UL, 0xa43058feUL, 0x7f8bde98UL, 0x4e3fe877UL, 0x69929279UL, 0x7b9ffa24UL,
-0x5bc813e1UL, 0x8300c4acUL, 0x253550d7UL, 0x5f61eaf7UL, 0x54311462UL, 0x634b550dUL, 0x2111685dUL, 0x59c366c8UL,
-0x73cf633dUL, 0xc034e2ceUL, 0x877ed8d4UL, 0x212b675cUL, 0x81611f07UL, 0x7f62f739UL, 0x84301e36UL, 0x3b57ebe4UL,
-0xa4642f60UL, 0x9ccd3ad6UL, 0x3546bc1bUL, 0x2d03819eUL, 0x0cf50127UL, 0xb47a8499UL, 0x79dfe3a0UL, 0x8cf36cbaUL,
-0x94308410UL, 0x5ea93725UL, 0xfe6f6ff4UL, 0x1f3bffa1UL, 0x6afb8c20UL, 0x748c458fUL, 0x27a2e0d9UL, 0x343ac74eUL,
-0x694f88fcUL, 0xdfe84d3eUL, 0x88000eefUL, 0x8d645935UL, 0x8c38458aUL, 0x6643801dUL, 0xfd9b1d72UL, 0xbb8486a5UL,
-0x336325e8UL, 0x12824e84UL, 0x98808d12UL, 0xb43fd3feUL, 0xe10a28ceUL, 0xa59be127UL, 0x52c2a6d5UL, 0xbd5497e4UL,
-0xdd55d6c5UL, 0x647066ebUL, 0x4d0b8477UL, 0x01a8b6a1UL, 0xa926db84UL, 0x1467b5e0UL, 0xb743f021UL, 0x6058d0e5UL,
-0x8430f054UL, 0x72f46f06UL, 0x53a11aa3UL, 0x5547dcdaUL, 0xbf5d62b5UL, 0xe61b5668UL, 0x946bca83UL, 0x3bd26e2dUL,
-0xdb01cfecUL, 0xbad0d3a6UL, 0x5c3d80b6UL, 0x09a777afUL, 0x4ca3b433UL, 0xd6c87b39UL, 0x952be25eUL, 0x04530e5fUL,
-0x616fed81UL, 0x6443e720UL, 0x78135eb4UL, 0x9b6318deUL, 0x22a11c88UL, 0xd12667b9UL, 0xe8a74980UL, 0x7bdab722UL,
-0x252d555eUL, 0x37d27252UL, 0x1c95d279UL, 0x4c890dc6UL, 0x02b48c48UL, 0x5bfea41bUL, 0x6b9fb0a4UL, 0xcf15a81cUL,
-0x05300ca2UL, 0x63df7188UL, 0xcb2fdeb9UL, 0xe9c9c60cUL, 0x53ffee0bUL, 0x174521e3UL, 0x352854b4UL, 0x3c29639fUL,
-0x29e741eeUL, 0x7c2d1d6eUL, 0x86520450UL, 0xf385661eUL, 0xc60134f3UL, 0x952ca230UL, 0x5008a731UL, 0x130f9360UL,
-0x1784f973UL, 0x599826a1UL, 0x445c64ecUL, 0xa977c852UL, 0xa633ffcdUL, 0x41172ba0UL, 0xa2d9ba7cUL, 0x6f038021UL,
-0x089cd950UL, 0x61483fcbUL, 0x65d76bc2UL, 0xabf6a364UL, 0x76263480UL, 0x7b5ea725UL, 0xfcd1e6e4UL, 0xe610c720UL,
-0x80b6f0cdUL, 0x3b4d8417UL, 0x4df8ee31UL, 0xe424087eUL, 0xeb49cb2cUL, 0xae3b6a84UL, 0x8878f78fUL, 0xf6605deeUL,
-0x7356f77aUL, 0xdb5cdd2fUL, 0xc13116a1UL, 0x436ff630UL, 0x54ecfab3UL, 0xfad77f15UL, 0xcc7985efUL, 0x58de52d1UL,
-0x5efd2fdbUL, 0x19ce328fUL, 0x7af96a30UL, 0xf83ef002UL, 0xd59a3199UL, 0x0ffa42c2UL, 0xb0ebe3a7UL, 0x06498ec6UL,
-0x0c23dab8UL, 0x28308280UL, 0xc8f3dedcUL, 0x71b15fd3UL, 0xc81b8a08UL, 0x60c5c0beUL, 0xe8c9a361UL, 0x4df5a8bcUL,
-0xfaef2fc7UL, 0x992e8222UL, 0xb470c582UL, 0x894ed9d8UL, 0xbc341c8bUL, 0xe6161e30UL, 0x79e93b27UL, 0xa6eaffb0UL,
-0xc6b8d961UL, 0x6948b200UL, 0x3fceffb7UL, 0x3b28dc08UL, 0x5af6da43UL, 0x9897e1f7UL, 0x2fb71976UL, 0xa49b1c8fUL,
-0xa03786dcUL, 0xb1d3a716UL, 0xb793c39fUL, 0xeb6e13a7UL, 0x3ec6bcc6UL, 0x4237511aUL, 0xbc2868efUL, 0xd6650352UL,
-0xab776a2dUL, 0x4bed2735UL, 0x16d21f82UL, 0x2e6e5c09UL, 0xfbf292dbUL, 0xcb29ea5eUL, 0xf5925814UL, 0x7f4f5891UL,
-0x7b698354UL, 0xcca86726UL, 0x48601985UL, 0xeaac4b8cUL, 0xd4603883UL, 0xf9e0230dUL, 0x8a7e386cUL, 0x49d2e60aUL,
-0x0c6084b2UL, 0x1d7335d8UL, 0x47c6b1dcUL, 0xea564cacUL, 0xb381bd3eUL, 0xb0ab0e23UL, 0x87bc3864UL, 0xfab1b5f0UL,
-0xb3a25e8fUL, 0x424618fcUL, 0x7a6b030aUL, 0xbd89b04fUL, 0x89a59d64UL, 0x5e4145a3UL, 0x2383035cUL, 0xb93b5d3eUL,
-0x7295d743UL, 0x7cd06d7eUL, 0x1edfdf06UL, 0xefc46c6cUL, 0x39a56071UL, 0x70bebf73UL, 0x05768783UL, 0xf1ec2345UL};
-
-uint32_t s3[] PROGMEM = {
-0x40c2ef8dUL, 0x9f5dfa25UL, 0xbf3d90ebUL, 0x07c910e8UL, 0xff7f6047UL, 0x4be49f36UL, 0x44c61f8cUL, 0x90caceaeUL,
-0xbff9b1beUL, 0xeacafbeeUL, 0x5019cfe8UL, 0xae07df51UL, 0x06880e92UL, 0x4805adf0UL, 0x838d3ce1UL, 0xd5107092UL,
-0x9f7d1011UL, 0xb97d6407UL, 0xd4e4e3b2UL, 0x5e284f3dUL, 0x20a8afb9UL, 0xe082defaUL, 0x8b2667a0UL, 0x2e797282UL,
-0xc0b23f55UL, 0x2be29a48UL, 0x9497efd4UL, 0xbc3f5e12UL, 0xeefcff21UL, 0xfd1b5b82UL, 0xedc55592UL, 0x40a25712UL,
-0x02831a4eUL, 0xff7fe0baUL, 0xe7468252UL, 0x0e14578eUL, 0xbff77333UL, 0x88819f8cUL, 0xe84efca6UL, 0xa5b582c9UL,
-0xb71dc0a8UL, 0x64c29f57UL, 0x314f0967UL, 0x5f3fbdf2UL, 0xc1f7ff40UL, 0xfc8db71fUL, 0xc1d26b8eUL, 0x9be57b43UL,
-0xbf3db099UL, 0x4bc6dbb5UL, 0xe6c08d63UL, 0x999d8155UL, 0x1cc897a1UL, 0x6e2d014aUL, 0x284a88c5UL, 0x716fc3ccUL,
-0x13c243b8UL, 0xf143076cUL, 0x3c890983UL, 0x5fdded0fUL, 0x50e87f2fUL, 0x7e7fc0d7UL, 0xbf7f5002UL, 0x049afb5aUL,
-0xd0d247a7UL, 0x2e195116UL, 0x3ebf70afUL, 0x8013c358UL, 0x2e30985fUL, 0xc4c37c72UL, 0x02b40f0aUL, 0x82ef7f0fUL,
-0xadfd968cUL, 0xae2a2c5dUL, 0x499ae98eUL, 0xb888da50UL, 0xa0f42784UL, 0x9057ac1eUL, 0x49b46f79UL, 0x15dc5282UL,
-0x9b7dbdefUL, 0x7d5972a6UL, 0xd840a8adUL, 0x0445f545UL, 0x03745dfaUL, 0x05c33ee8UL, 0x1a75914fUL, 0xc2695692UL,
-0x41e9ef23UL, 0x2ef103a9UL, 0xf20d2760UL, 0xb6e47602UL, 0x7465fd94UL, 0xb2857992UL, 0xcbdb7682UL, 0x76817702UL,
-0x8d91aff8UL, 0x9ef7484eUL, 0xdf6d618fUL, 0x0e849de2UL, 0x837d2f84UL, 0xc8e50c34UL, 0x82b6bb96UL, 0x48b1b493UL,
-0xab3c30efUL, 0x28af4f98UL, 0x9baf9f77UL, 0x0d56dc92UL, 0x201e4d22UL, 0x88aa3784UL, 0x96dc297dUL, 0xdcd35627UL,
-0xee7c908bUL, 0x40d21fb5UL, 0xe37cc0e7UL, 0xa1b466e5UL, 0x5e61e9c3UL, 0x9d20f83cUL, 0xe3d19460UL, 0x41a39ccdUL,
-0x0e46765cUL, 0x3b98ea00UL, 0x8178d6d4UL, 0x2c5747fdUL, 0xd9ed6cf7UL, 0x9c22a8bdUL, 0xaaad7d12UL, 0x4e078a43UL,
-0x90c0971fUL, 0x8adb1b08UL, 0xbe7ea093UL, 0x15ca38b9UL, 0xff3cb097UL, 0xf8c0c23dUL, 0xecb21a8dUL, 0x510e3864UL,
-0xfb7bcc68UL, 0x88270fd9UL, 0x81014912UL, 0xd4ffe55dUL, 0x6af87eddUL, 0x14e2a276UL, 0x6803a4b9UL, 0x8f955d92UL,
-0xfaff394bUL, 0xe9ae39baUL, 0x0bd3ffa4UL, 0x3b93f7faUL, 0x2386496dUL, 0xfabc3c19UL, 0x45756227UL, 0x7af45c82UL,
-0xa08bbd61UL, 0xd1421ed1UL, 0xf404adceUL, 0x92a37e12UL, 0xb78d4210UL, 0x72a97282UL, 0xa8c47092UL, 0x0be57d12UL,
-0xc8a15b28UL, 0x4ff4623cUL, 0xa5eac035UL, 0x31d205e8UL, 0xfb298942UL, 0x82dffcb4UL, 0x536ab64fUL, 0x5bc17d0eUL,
-0xab1f081fUL, 0xae188610UL, 0x6d08fdfcUL, 0x8928fff9UL, 0x11cc4b69UL, 0xae5c6a23UL, 0x4dcade12UL, 0xc58c3f2cUL,
-0xfe2dd0d2UL, 0x9658eff8UL, 0xda52cfe4UL, 0x675b1595UL, 0x8c484a49UL, 0x0ca8b6b9UL, 0xbc828f5cUL, 0x456bd389UL,
-0x3794603aUL, 0xa9c900ecUL, 0x53527144UL, 0x494b870aUL, 0x40bc73d7UL, 0x1c67347cUL, 0xf67e7102UL, 0x3655eb4fUL,
-0xff2fd0a2UL, 0xc460bfd2UL, 0xc0033fd4UL, 0x6defb450UL, 0xd18c4707UL, 0x88186e00UL, 0x553fe5a2UL, 0xbcd4e6b9UL,
-0x168004a2UL, 0x33385797UL, 0x677d20d7UL, 0x3d8f0fdeUL, 0x337bf872UL, 0x334fccabUL, 0x5dc58876UL, 0xb0a6007bUL,
-0x01007b94UL, 0xd2750057UL, 0xf888bbf9UL, 0x9e014289UL, 0xffa56442UL, 0xe0026385UL, 0x2bd9db72UL, 0x691b97eeUL,
-0xde2fa26eUL, 0x2bae085fUL, 0x6d617aafUL, 0x6787c9e5UL, 0xd2eb1fcfUL, 0xc2c8ef61UL, 0x7125acf1UL, 0xc23982ccUL,
-0xb84c2167UL, 0xd183e5b1UL, 0x623edcb7UL, 0xcebd107fUL, 0x385c0af9UL, 0x3d44f00fUL, 0xc66d6e60UL, 0x493a5460UL,
-0x48c12757UL, 0x1d8ae92bUL, 0x3817b48aUL, 0x24bee120UL, 0x0fda96afUL, 0x25844568UL, 0xe53b8399UL, 0x7d450d60UL,
-0x50932f28UL, 0x62b33483UL, 0x20111dd9UL, 0xa08d6d2bUL, 0x311e2b64UL, 0x005a309cUL, 0x88e6bc52UL, 0x8a58031bUL,
-0xd5efbaf7UL, 0x9ced4241UL, 0x115c31a4UL, 0xc53e3283UL, 0x3646efdfUL, 0x01c533a1UL, 0x1c53d3e9UL, 0x833735eeUL};
-
-uint32_t s4[] PROGMEM = {
-0x2004b39dUL, 0xdee9b61fUL, 0xef7bbea7UL, 0x98a273d2UL, 0xdb7b4f4aUL, 0x578cad64UL, 0x43045185UL, 0xd10e02faUL,
-0xff7a287eUL, 0x63b60fe6UL, 0xa1355f09UL, 0x20f1eb79UL, 0x439d05fdUL, 0xb1b79764UL, 0x631f64f3UL, 0xdf4a1e24UL,
-0x5f7f1428UL, 0xcdb8a24fUL, 0x400043c9UL, 0x2022c30cUL, 0x300bd3fdUL, 0x4f37a5c0UL, 0xd9002d1dUL, 0x157b1424UL,
-0x1a114deeUL, 0x6751ca0fUL, 0x4c90ff71UL, 0xfe5f192dUL, 0x5f64051aUL, 0xfefe130cUL, 0xca081b08UL, 0x21011705UL,
-0x00015380UL, 0xfe5e3ee8UL, 0xf8f49aacUL, 0x0127e77fUL, 0x5feeb8d2UL, 0x6142df06UL, 0x8a9b9ebbUL, 0x25ea9372UL,
-0xdfff84ceUL, 0x018871f5UL, 0x044bd63dUL, 0x3b266fa2UL, 0x0084d47eUL, 0xe6eb7e54UL, 0xa04c6d44UL, 0xf5d6f36cUL,
-0xdfab4926UL, 0xf5c7a0aeUL, 0xc18c3336UL, 0x937e3f50UL, 0x612077d3UL, 0xe138b611UL, 0x030e5072UL, 0xbbb20ef8UL,
-0x2e50e0abUL, 0xde778decUL, 0x811e9757UL, 0x46674fe1UL, 0x005433c9UL, 0x8f312069UL, 0x99bb1d08UL, 0xa504c3ffUL,
-0x0518354dUL, 0xe35c3d7fUL, 0xc666c8a6UL, 0xa9cc5b5dUL, 0xea6fecdaUL, 0x916f929fUL, 0x2f22469fUL, 0x7d469139UL,
-0x8e6dbfa5UL, 0x4fc44311UL, 0x02839543UL, 0xeb4e21d0UL, 0xb8832002UL, 0x0c18b63fUL, 0x1e93f818UL, 0xe6581628UL,
-0x3e6e4826UL, 0x708ad78bUL, 0xc1e47774UL, 0x7ce006b5UL, 0x250a2df3UL, 0x028b0979UL, 0x81bbeae4UL, 0x233b1228UL,
-0x38adde69UL, 0x16ca7415UL, 0x621b87dfUL, 0xb7401c21UL, 0xf99e1aa5UL, 0x7b371400UL, 0xc88a1e04UL, 0x03401109UL,
-0xd2e459bdUL, 0xd556d1e3UL, 0xd576e84fUL, 0x40a3912fUL, 0xdee87b55UL, 0xa7e4ea00UL, 0xecc2e50cUL, 0xa6bbb44dUL,
-0xffbd56e7UL, 0xac6933ddUL, 0x35b017ecUL, 0x27235706UL, 0xb0c8af99UL, 0x91c3c856UL, 0x1c81656bUL, 0x1961145eUL,
-0x75cb856eUL, 0x02c007beUL, 0x775532c2UL, 0xecf43f89UL, 0x2dc9bf5bUL, 0x253becd0UL, 0xb71a80b7UL, 0x243b6d8dUL,
-0xef63c720UL, 0xfca566c3UL, 0x8028389cUL, 0x0532ce0aUL, 0x8a54c9aaUL, 0xc7d7a1ecUL, 0x32fa1a04UL, 0x5a62161dUL,
-0x2c900167UL, 0x547a759bUL, 0xf777d431UL, 0x31b02691UL, 0xdb6fcc36UL, 0x468b0bc7UL, 0x486ae6d9UL, 0x795ae556UL,
-0xeb4c6a02UL, 0xff7e4352UL, 0xb4768f2fUL, 0xa580f90dUL, 0xe3cd7486UL, 0xeb04daedUL, 0x04bea917UL, 0xdff4182cUL,
-0x9d7f74b7UL, 0xb4f72aabUL, 0x204dc3efUL, 0x7c6b092eUL, 0x54a24117UL, 0x35a0b6e5UL, 0xf6423d21UL, 0x267c1c2cUL,
-0x0ff5c261UL, 0xf9da5265UL, 0xf831c2d2UL, 0x690f1325UL, 0xa27f16d8UL, 0xc8f21804UL, 0xa6961a00UL, 0xab26150dUL,
-0x215c3163UL, 0xec720a5eUL, 0xfdfeba49UL, 0xd9087918UL, 0x86bd0d8dUL, 0xa7701131UL, 0x0c649b3eUL, 0xd7103eccUL,
-0xb6d3cad5UL, 0x88c3ae0cUL, 0xe10130f7UL, 0xff8a726cUL, 0xa1e2ea71UL, 0x6ef39a1fUL, 0x2fd1cbcfUL, 0x1784dec1UL,
-0x6bbe07acUL, 0xd8a144cbUL, 0x560f9b8bUL, 0xc3883901UL, 0xca2fc5b1UL, 0xcd31beb4UL, 0x062878d8UL, 0xe2a4a312UL,
-0x32e57d6fUL, 0xb67efd58UL, 0x00e91ed0UL, 0xc2ffad24UL, 0xc50f99f4UL, 0xc5aa1197UL, 0x957b1d00UL, 0xd2e7e582UL,
-0xf6739810UL, 0x96306100UL, 0x21952dc3UL, 0xff21a1adUL, 0x15849029UL, 0x7f97bb7fUL, 0xdbb39eafUL, 0x2aedc929UL,
-0x65a4e25cUL, 0x2cf330a7UL, 0xe83faad0UL, 0x91c05c8aUL, 0xe72c9ed4UL, 0xa954e40cUL, 0x86cd0ad6UL, 0x19195f01UL,
-0x03910777UL, 0xf63aa0deUL, 0x5e56a878UL, 0xdf56e3deUL, 0xbe5cf021UL, 0x87e3758bUL, 0x5106c5b3UL, 0xefc3a5b8UL,
-0xd2b6eed8UL, 0x77be23e5UL, 0x294515c2UL, 0xdfef692fUL, 0xfb7ae6afUL, 0xb2c470f4UL, 0x5bebe0f3UL, 0x7698ccd6UL,
-0x0c46e439UL, 0x3885da1fUL, 0x2f838719UL, 0x677300caUL, 0xf84491a9UL, 0x9e296b29UL, 0x95c22f49UL, 0xabbe6692UL,
-0x696e67b5UL, 0xdaddd39bUL, 0x2f057edfUL, 0x1c7025dbUL, 0xee515e1bUL, 0xe62453f6UL, 0x6ce3fc6aUL, 0x04cc1603UL,
-0x3e214486UL, 0xd059dcb7UL, 0x1f296579UL, 0x43fdd6ccUL, 0x79398241UL, 0xf6cd2b93UL, 0x4dc357b6UL, 0x82d2df4eUL,
-0x0c29e57aUL, 0x6b53b93cUL, 0xfe201e85UL, 0x7e553398UL, 0xb0f0ec13UL, 0x72b3ffd3UL, 0xc1c5853fUL, 0xd27eef0aUL};
-
-#endif
-
-/*********************************************************************************************************/
-
-#ifdef BIG_ENDIAN
-
-uint32_t s5[] PROGMEM = {
-0x7ec90c04UL, 0x2c6e74b9UL, 0x9b0e66dfUL, 0xa6337911UL, 0xb86a7fffUL, 0x1dd358f5UL, 0x44dd9d44UL, 0x1731167fUL,
-0x08fbf1faUL, 0xe7f511ccUL, 0xd2051b00UL, 0x735aba00UL, 0x2ab722d8UL, 0x386381cbUL, 0xacf6243aUL, 0x69befd7aUL,
-0xe6a2e77fUL, 0xf0c720cdUL, 0xc4494816UL, 0xccf5c180UL, 0x38851640UL, 0x15b0a848UL, 0xe68b18cbUL, 0x4caadeffUL,
-0x5f480a01UL, 0x0412b2aaUL, 0x259814fcUL, 0x41d0efe2UL, 0x4e40b48dUL, 0x248eb6fbUL, 0x8dba1cfeUL, 0x41a99b02UL,
-0x1a550a04UL, 0xba8f65cbUL, 0x7251f4e7UL, 0x95a51725UL, 0xc106ecd7UL, 0x97a5980aUL, 0xc539b9aaUL, 0x4d79fe6aUL,
-0xf2f3f763UL, 0x68af8040UL, 0xed0c9e56UL, 0x11b4958bUL, 0xe1eb5a88UL, 0x8709e6b0UL, 0xd7e07156UL, 0x4e29fea7UL,
-0x6366e52dUL, 0x02d1c000UL, 0xc4ac8e05UL, 0x9377f571UL, 0x0c05372aUL, 0x578535f2UL, 0x2261be02UL, 0xd642a0c9UL,
-0xdf13a280UL, 0x74b55bd2UL, 0x682199c0UL, 0xd421e5ecUL, 0x53fb3ce8UL, 0xc8adedb3UL, 0x28a87fc9UL, 0x3d959981UL,
-0x5c1ff900UL, 0xfe38d399UL, 0x0c4eff0bUL, 0x062407eaUL, 0xaa2f4fb1UL, 0x4fb96976UL, 0x90c79505UL, 0xb0a8a774UL,
-0xef55a1ffUL, 0xe59ca2c2UL, 0xa6b62d27UL, 0xe66a4263UL, 0xdf65001fUL, 0x0ec50966UL, 0xdfdd55bcUL, 0x29de0655UL,
-0x911e739aUL, 0x17af8975UL, 0x32c7911cUL, 0x89f89468UL, 0x0d01e980UL, 0x524755f4UL, 0x03b63cc9UL, 0x0cc844b2UL,
-0xbcf3f0aaUL, 0x87ac36e9UL, 0xe53a7426UL, 0x01b3d82bUL, 0x1a9e7449UL, 0x64ee2d7eUL, 0xcddbb1daUL, 0x01c94910UL,
-0xb868bf80UL, 0x0d26f3fdUL, 0x9342ede7UL, 0x04a5c284UL, 0x636737b6UL, 0x50f5b616UL, 0xf24766e3UL, 0x8eca36c1UL,
-0x136e05dbUL, 0xfef18391UL, 0xfb887a37UL, 0xd6e7f7d4UL, 0xc7fb7dc9UL, 0x3063fcdfUL, 0xb6f589deUL, 0xec2941daUL,
-0x26e46695UL, 0xb7566419UL, 0xf654efc5UL, 0xd08d58b7UL, 0x48925401UL, 0xc1bacb7fUL, 0xe5ff550fUL, 0xb6083049UL,
-0x5bb5d0e8UL, 0x87d72e5aUL, 0xab6a6ee1UL, 0x223a66ceUL, 0xc62bf3cdUL, 0x9e0885f9UL, 0x68cb3e47UL, 0x086c010fUL,
-0xa21de820UL, 0xd18b69deUL, 0xf3f65777UL, 0xfa02c3f6UL, 0x407edac3UL, 0xcbb3d550UL, 0x1793084dUL, 0xb0d70ebaUL,
-0x0ab378d5UL, 0xd951fb0cUL, 0xded7da56UL, 0x4124bbe4UL, 0x94ca0b56UL, 0x0f5755d1UL, 0xe0e1e56eUL, 0x6184b5beUL,
-0x580a249fUL, 0x94f74bc0UL, 0xe327888eUL, 0x9f7b5561UL, 0xc3dc0280UL, 0x05687715UL, 0x646c6bd7UL, 0x44904db3UL,
-0x66b4f0a3UL, 0xc0f1648aUL, 0x697ed5afUL, 0x49e92ff6UL, 0x309e374fUL, 0x2cb6356aUL, 0x85808573UL, 0x4991f840UL,
-0x76f0ae02UL, 0x083be84dUL, 0x28421c9aUL, 0x44489406UL, 0x736e4cb8UL, 0xc1092910UL, 0x8bc95fc6UL, 0x7d869cf4UL,
-0x134f616fUL, 0x2e77118dUL, 0xb31b2be1UL, 0xaa90b472UL, 0x3ca5d717UL, 0x7d161bbaUL, 0x9cad9010UL, 0xaf462ba2UL,
-0x9fe459d2UL, 0x45d34559UL, 0xd9f2da13UL, 0xdbc65487UL, 0xf3e4f94eUL, 0x176d486fUL, 0x097c13eaUL, 0x631da5c7UL,
-0x445f7382UL, 0x175683f4UL, 0xcdc66a97UL, 0x70be0288UL, 0xb3cdcf72UL, 0x6e5dd2f3UL, 0x20936079UL, 0x459b80a5UL,
-0xbe60e2dbUL, 0xa9c23101UL, 0xeba5315cUL, 0x224e42f2UL, 0x1c5c1572UL, 0xf6721b2cUL, 0x1ad2fff3UL, 0x8c25404eUL,
-0x324ed72fUL, 0x4067b7fdUL, 0x0523138eUL, 0x5ca3bc78UL, 0xdc0fd66eUL, 0x75922283UL, 0x784d6b17UL, 0x58ebb16eUL,
-0x44094f85UL, 0x3f481d87UL, 0xfcfeae7bUL, 0x77b5ff76UL, 0x8c2302bfUL, 0xaaf47556UL, 0x5f46b02aUL, 0x2b092801UL,
-0x3d38f5f7UL, 0x0ca81f36UL, 0x52af4a8aUL, 0x66d5e7c0UL, 0xdf3b0874UL, 0x95055110UL, 0x1b5ad7a8UL, 0xf61ed5adUL,
-0x6cf6e479UL, 0x20758184UL, 0xd0cefa65UL, 0x88f7be58UL, 0x4a046826UL, 0x0ff6f8f3UL, 0xa09c7f70UL, 0x5346aba0UL,
-0x5ce96c28UL, 0xe176eda3UL, 0x6bac307fUL, 0x376829d2UL, 0x85360fa9UL, 0x17e3fe2aUL, 0x24b79767UL, 0xf5a96b20UL,
-0xd6cd2595UL, 0x68ff1ebfUL, 0x7555442cUL, 0xf19f06beUL, 0xf9e0659aUL, 0xeeb9491dUL, 0x34010718UL, 0xbb30cab8UL,
-0xe822fe15UL, 0x88570983UL, 0x750e6249UL, 0xda627e55UL, 0x5e76ffa8UL, 0xb1534546UL, 0x6d47de08UL, 0xefe9e7d4UL};
-
-
-uint32_t s6[] PROGMEM = {
-0xf6fa8f9dUL, 0x2cac6ce1UL, 0x4ca34867UL, 0xe2337f7cUL, 0x95db08e7UL, 0x016843b4UL, 0xeced5cbcUL, 0x325553acUL,
-0xbf9f0960UL, 0xdfa1e2edUL, 0x83f0579dUL, 0x63ed86b9UL, 0x1ab6a6b8UL, 0xde5ebe39UL, 0xf38ff732UL, 0x8989b138UL,
-0x33f14961UL, 0xc01937bdUL, 0xf506c6daUL, 0xe4625e7eUL, 0xa308ea99UL, 0x4e23e33cUL, 0x79cbd7ccUL, 0x48a14367UL,
-0xa3149619UL, 0xfec94bd5UL, 0xa114174aUL, 0xeaa01866UL, 0xa084db2dUL, 0x09a8486fUL, 0xa888614aUL, 0x2900af98UL,
-0x01665991UL, 0xe1992863UL, 0xc8f30c60UL, 0x2e78ef3cUL, 0xd0d51932UL, 0xcf0fec14UL, 0xf7ca07d2UL, 0xd0a82072UL,
-0xfd41197eUL, 0x9305a6b0UL, 0xe86be3daUL, 0x74bed3cdUL, 0x372da53cUL, 0x4c7f4448UL, 0xdab5d440UL, 0x6dba0ec3UL,
-0x083919a7UL, 0x9fbaeed9UL, 0x49dbcfb0UL, 0x4e670c53UL, 0x5c3d9c01UL, 0x64bdb941UL, 0x2c0e636aUL, 0xba7dd9cdUL,
-0xea6f7388UL, 0xe70bc762UL, 0x35f29adbUL, 0x5c4cdd8dUL, 0xf0d48d8cUL, 0xb88153e2UL, 0x08a19866UL, 0x1ae2eac8UL,
-0x284caf89UL, 0xaa928223UL, 0x9334be53UL, 0x3b3a21bfUL, 0x16434be3UL, 0x9aea3906UL, 0xefe8c36eUL, 0xf890cdd9UL,
-0x80226daeUL, 0xc340a4a3UL, 0xdf7e9c09UL, 0xa694a807UL, 0x5b7c5eccUL, 0x221db3a6UL, 0x9a69a02fUL, 0x68818a54UL,
-0xceb2296fUL, 0x53c0843aUL, 0xfe893655UL, 0x25bfe68aUL, 0xb4628abcUL, 0xcf222ebfUL, 0x25ac6f48UL, 0xa9a99387UL,
-0x53bddb65UL, 0xe76ffbe7UL, 0xe967fd78UL, 0x0ba93563UL, 0x8e342bc1UL, 0xe8a11be9UL, 0x4980740dUL, 0xc8087dfcUL,
-0x8de4bf99UL, 0xa11101a0UL, 0x7fd37975UL, 0xda5a26c0UL, 0xe81f994fUL, 0x9528cd89UL, 0xfd339fedUL, 0xb87834bfUL,
-0x5f04456dUL, 0x22258698UL, 0xc9c4c83bUL, 0x2dc156beUL, 0x4f628daaUL, 0x57f55ec5UL, 0xe2220abeUL, 0xd2916ebfUL,
-0x4ec75b95UL, 0x24f2c3c0UL, 0x42d15d99UL, 0xcd0d7fa0UL, 0x7b6e27ffUL, 0xa8dc8af0UL, 0x7345c106UL, 0xf41e232fUL,
-0x35162386UL, 0xe6ea8926UL, 0x3333b094UL, 0x157ec6f2UL, 0x372b74afUL, 0x692573e4UL, 0xe9a9d848UL, 0xf3160289UL,
-0x3a62ef1dUL, 0xa787e238UL, 0xf3a5f676UL, 0x74364853UL, 0x20951063UL, 0x4576698dUL, 0xb6fad407UL, 0x592af950UL,
-0x36f73523UL, 0x4cfb6e87UL, 0x7da4cec0UL, 0x6c152daaUL, 0xcb0396a8UL, 0xc50dfe5dUL, 0xfcd707abUL, 0x0921c42fUL,
-0x89dff0bbUL, 0x5fe2be78UL, 0x448f4f33UL, 0x754613c9UL, 0x2b05d08dUL, 0x48b9d585UL, 0xdc049441UL, 0xc8098f9bUL,
-0x7dede786UL, 0xc39a3373UL, 0x42410005UL, 0x6a091751UL, 0x0ef3c8a6UL, 0x890072d6UL, 0x28207682UL, 0xa9a9f7beUL,
-0xbf32679dUL, 0xd45b5b75UL, 0xb353fd00UL, 0xcbb0e358UL, 0x830f220aUL, 0x1f8fb214UL, 0xd372cf08UL, 0xcc3c4a13UL,
-0x8cf63166UL, 0x061c87beUL, 0x88c98f88UL, 0x6062e397UL, 0x47cf8e7aUL, 0xb6c85283UL, 0x3cc2acfbUL, 0x3fc06976UL,
-0x4e8f0252UL, 0x64d8314dUL, 0xda3870e3UL, 0x1e665459UL, 0xc10908f0UL, 0x513021a5UL, 0x6c5b68b7UL, 0x822f8aa0UL,
-0x3007cd3eUL, 0x74719eefUL, 0xdc872681UL, 0x073340d4UL, 0x7e432fd9UL, 0x0c5ec241UL, 0x8809286cUL, 0xf592d891UL,
-0x08a930f6UL, 0x957ef305UL, 0xb7fbffbdUL, 0xc266e96fUL, 0x6fe4ac98UL, 0xb173ecc0UL, 0xbc60b42aUL, 0x953498daUL,
-0xfba1ae12UL, 0x2d4bd736UL, 0x0f25faabUL, 0xa4f3fcebUL, 0xe2969123UL, 0x257f0c3dUL, 0x9348af49UL, 0x361400bcUL,
-0xe8816f4aUL, 0x3814f200UL, 0xa3f94043UL, 0x9c7a54c2UL, 0xbc704f57UL, 0xda41e7f9UL, 0xc25ad33aUL, 0x54f4a084UL,
-0xb17f5505UL, 0x59357cbeUL, 0xedbd15c8UL, 0x7f97c5abUL, 0xba5ac7b5UL, 0xb6f6deafUL, 0x3a479c3aUL, 0x5302da25UL,
-0x653d7e6aUL, 0x54268d49UL, 0x51a477eaUL, 0x5017d55bUL, 0xd7d25d88UL, 0x44136c76UL, 0x0404a8c8UL, 0xb8e5a121UL,
-0xb81a928aUL, 0x60ed5869UL, 0x97c55b96UL, 0xeaec991bUL, 0x29935913UL, 0x01fdb7f1UL, 0x088e8dfaUL, 0x9ab6f6f5UL,
-0x3b4cbf9fUL, 0x4a5de3abUL, 0xe6051d35UL, 0xa0e1d855UL, 0xd36b4cf1UL, 0xf544edebUL, 0xb0e93524UL, 0xbebb8fbdUL,
-0xa2d762cfUL, 0x49c92f54UL, 0x38b5f331UL, 0x7128a454UL, 0x48392905UL, 0xa65b1db8UL, 0x851c97bdUL, 0xd675cf2fUL};
-
-
-uint32_t s7[] PROGMEM = {
-0x85e04019UL, 0x332bf567UL, 0x662dbfffUL, 0xcfc65693UL, 0x2a8d7f6fUL, 0xab9bc912UL, 0xde6008a1UL, 0x2028da1fUL,
-0x0227bce7UL, 0x4d642916UL, 0x18fac300UL, 0x50f18b82UL, 0x2cb2cb11UL, 0xb232e75cUL, 0x4b3695f2UL, 0xb28707deUL,
-0xa05fbcf6UL, 0xcd4181e9UL, 0xe150210cUL, 0xe24ef1bdUL, 0xb168c381UL, 0xfde4e789UL, 0x5c79b0d8UL, 0x1e8bfd43UL,
-0x4d495001UL, 0x38be4341UL, 0x913cee1dUL, 0x92a79c3fUL, 0x089766beUL, 0xbaeeadf4UL, 0x1286becfUL, 0xb6eacb19UL,
-0x2660c200UL, 0x7565bde4UL, 0x64241f7aUL, 0x8248dca9UL, 0xc3b3ad66UL, 0x28136086UL, 0x0bd8dfa8UL, 0x356d1cf2UL,
-0x107789beUL, 0xb3b2e9ceUL, 0x0502aa8fUL, 0x0bc0351eUL, 0x166bf52aUL, 0xeb12ff82UL, 0xe3486911UL, 0xd34d7516UL,
-0x4e7b3affUL, 0x5f43671bUL, 0x9cf6e037UL, 0x4981ac83UL, 0x334266ceUL, 0x8c9341b7UL, 0xd0d854c0UL, 0xcb3a6c88UL,
-0x47bc2829UL, 0x4725ba37UL, 0xa66ad22bUL, 0x7ad61f1eUL, 0x0c5cbafaUL, 0x4437f107UL, 0xb6e79962UL, 0x42d2d816UL,
-0x0a961288UL, 0xe1a5c06eUL, 0x13749e67UL, 0x72fc081aUL, 0xb1d139f7UL, 0xf9583745UL, 0xcf19df58UL, 0xbec3f756UL,
-0xc06eba30UL, 0x07211b24UL, 0x45c28829UL, 0xc95e317fUL, 0xbc8ec511UL, 0x38bc46e9UL, 0xc6e6fa14UL, 0xbae8584aUL,
-0xad4ebc46UL, 0x468f508bUL, 0x7829435fUL, 0xf124183bUL, 0x821dba9fUL, 0xaff60ff4UL, 0xea2c4e6dUL, 0x16e39264UL,
-0x92544a8bUL, 0x009b4fc3UL, 0xaba68cedUL, 0x9ac96f78UL, 0x06a5b79aUL, 0xb2856e6eUL, 0x1aec3ca9UL, 0xbe838688UL,
-0x0e0804e9UL, 0x55f1be56UL, 0xe7e5363bUL, 0xb3a1f25dUL, 0xf7debb85UL, 0x61fe033cUL, 0x16746233UL, 0x3c034c28UL,
-0xda6d0c74UL, 0x79aac56cUL, 0x3ce4e1adUL, 0x51f0c802UL, 0x98f8f35aUL, 0x1626a49fUL, 0xeed82b29UL, 0x1d382fe3UL,
-0x0c4fb99aUL, 0xbb325778UL, 0x3ec6d97bUL, 0x6e77a6a9UL, 0xcb658b5cUL, 0xd45230c7UL, 0x2bd1408bUL, 0x60c03eb7UL,
-0xb9068d78UL, 0xa33754f4UL, 0xf430c87dUL, 0xc8a71302UL, 0xb96d8c32UL, 0xebd4e7beUL, 0xbe8b9d2dUL, 0x7979fb06UL,
-0xe7225308UL, 0x8b75cf77UL, 0x11ef8da4UL, 0xe083c858UL, 0x8d6b786fUL, 0x5a6317a6UL, 0xfa5cf7a0UL, 0x5dda0033UL,
-0xf28ebfb0UL, 0xf5b9c310UL, 0xa0eac280UL, 0x08b9767aUL, 0xa3d9d2b0UL, 0x79d34217UL, 0x021a718dUL, 0x9ac6336aUL,
-0x2711fd60UL, 0x438050e3UL, 0x069908a8UL, 0x3d7fedc4UL, 0x826d2befUL, 0x4eeb8476UL, 0x488dcf25UL, 0x36c9d566UL,
-0x28e74e41UL, 0xc2610acaUL, 0x3d49a9cfUL, 0xbae3b9dfUL, 0xb65f8de6UL, 0x92aeaf64UL, 0x3ac7d5e6UL, 0x9ea80509UL,
-0xf22b017dUL, 0xa4173f70UL, 0xdd1e16c3UL, 0x15e0d7f9UL, 0x50b1b887UL, 0x2b9f4fd5UL, 0x625aba82UL, 0x6a017962UL,
-0x2ec01b9cUL, 0x15488aa9UL, 0xd716e740UL, 0x40055a2cUL, 0x93d29a22UL, 0xe32dbf9aUL, 0x058745b9UL, 0x3453dc1eUL,
-0xd699296eUL, 0x496cff6fUL, 0x1c9f4986UL, 0xdfe2ed07UL, 0xb87242d1UL, 0x19de7eaeUL, 0x053e561aUL, 0x15ad6f8cUL,
-0x66626c1cUL, 0x7154c24cUL, 0xea082b2aUL, 0x93eb2939UL, 0x17dcb0f0UL, 0x58d4f2aeUL, 0x9ea294fbUL, 0x52cf564cUL,
-0x9883fe66UL, 0x2ec40581UL, 0x763953c3UL, 0x01d6692eUL, 0xd3a0c108UL, 0xa1e7160eUL, 0xe4f2dfa6UL, 0x693ed285UL,
-0x74904698UL, 0x4c2b0eddUL, 0x4f757656UL, 0x5d393378UL, 0xa132234fUL, 0x3d321c5dUL, 0xc3f5e194UL, 0x4b269301UL,
-0xc79f022fUL, 0x3c997e7eUL, 0x5e4f9504UL, 0x3ffafbbdUL, 0x76f7ad0eUL, 0x296693f4UL, 0x3d1fce6fUL, 0xc61e45beUL,
-0xd3b5ab34UL, 0xf72bf9b7UL, 0x1b0434c0UL, 0x4e72b567UL, 0x5592a33dUL, 0xb5229301UL, 0xcfd2a87fUL, 0x60aeb767UL,
-0x1814386bUL, 0x30bcc33dUL, 0x38a0c07dUL, 0xfd1606f2UL, 0xc363519bUL, 0x589dd390UL, 0x5479f8e6UL, 0x1cb8d647UL,
-0x97fd61a9UL, 0xea7759f4UL, 0x2d57539dUL, 0x569a58cfUL, 0xe84e63adUL, 0x462e1b78UL, 0x6580f87eUL, 0xf3817914UL,
-0x91da55f4UL, 0x40a230f3UL, 0xd1988f35UL, 0xb6e318d2UL, 0x3ffa50bcUL, 0x3d40f021UL, 0xc3c0bdaeUL, 0x4958c24cUL,
-0x518f36b2UL, 0x84b1d370UL, 0x0fedce83UL, 0x878ddadaUL, 0xf2a279c7UL, 0x94e01be8UL, 0x90716f4bUL, 0x954b8aa3UL};
-
-
-uint32_t s8[] PROGMEM = {
-0xe216300dUL, 0xbbddfffcUL, 0xa7ebdabdUL, 0x35648095UL, 0x7789f8b7UL, 0xe6c1121bUL, 0x0e241600UL, 0x052ce8b5UL,
-0x11a9cfb0UL, 0xe5952f11UL, 0xece7990aUL, 0x9386d174UL, 0x2a42931cUL, 0x76e38111UL, 0xb12def3aUL, 0x37ddddfcUL,
-0xde9adeb1UL, 0x0a0cc32cUL, 0xbe197029UL, 0x84a00940UL, 0xbb243a0fUL, 0xb4d137cfUL, 0xb44e79f0UL, 0x049eedfdUL,
-0x0b15a15dUL, 0x480d3168UL, 0x8bbbde5aUL, 0x669ded42UL, 0xc7ece831UL, 0x3f8f95e7UL, 0x72df191bUL, 0x7580330dUL,
-0x94074251UL, 0x5c7dcdfaUL, 0xabbe6d63UL, 0xaa402164UL, 0xb301d40aUL, 0x02e7d1caUL, 0x53571daeUL, 0x7a3182a2UL,
-0x12a8ddecUL, 0xfdaa335dUL, 0x176f43e8UL, 0x71fb46d4UL, 0x38129022UL, 0xce949ad4UL, 0xb84769adUL, 0x965bd862UL,
-0x82f3d055UL, 0x66fb9767UL, 0x15b80b4eUL, 0x1d5b47a0UL, 0x4cfde06fUL, 0xc28ec4b8UL, 0x57e8726eUL, 0x647a78fcUL,
-0x99865d44UL, 0x608bd593UL, 0x6c200e03UL, 0x39dc5ff6UL, 0x5d0b00a3UL, 0xae63aff2UL, 0x7e8bd632UL, 0x70108c0cUL,
-0xbbd35049UL, 0x2998df04UL, 0x980cf42aUL, 0x9b6df491UL, 0x9e7edd53UL, 0x06918548UL, 0x58cb7e07UL, 0x3b74ef2eUL,
-0x522fffb1UL, 0xd24708ccUL, 0x1c7e27cdUL, 0xa4eb215bUL, 0x3cf1d2e2UL, 0x19b47a38UL, 0x424f7618UL, 0x35856039UL,
-0x9d17dee7UL, 0x27eb35e6UL, 0xc9aff67bUL, 0x36baf5b8UL, 0x09c467cdUL, 0xc18910b1UL, 0xe11dbf7bUL, 0x06cd1af8UL,
-0x7170c608UL, 0x2d5e3354UL, 0xd4de495aUL, 0x64c6d006UL, 0xbcc0c62cUL, 0x3dd00db3UL, 0x708f8f34UL, 0x77d51b42UL,
-0x264f620fUL, 0x24b8d2bfUL, 0x15c1b79eUL, 0x46a52564UL, 0xf8d7e54eUL, 0x3e378160UL, 0x7895cda5UL, 0x859c15a5UL,
-0xe6459788UL, 0xc37bc75fUL, 0xdb07ba0cUL, 0x0676a3abUL, 0x7f229b1eUL, 0x31842e7bUL, 0x24259fd7UL, 0xf8bef472UL,
-0x835ffcb8UL, 0x6df4c1f2UL, 0x96f5b195UL, 0xfd0af0fcUL, 0xb0fe134cUL, 0xe2506d3dUL, 0x4f9b12eaUL, 0xf215f225UL,
-0xa223736fUL, 0x9fb4c428UL, 0x25d04979UL, 0x34c713f8UL, 0xc4618187UL, 0xea7a6e98UL, 0x7cd16efcUL, 0x1436876cUL,
-0xf1544107UL, 0xbedeee14UL, 0x56e9af27UL, 0xa04aa441UL, 0x3cf7c899UL, 0x92ecbae6UL, 0xdd67016dUL, 0x151682ebUL,
-0xa842eedfUL, 0xfdba60b4UL, 0xf1907b75UL, 0x20e3030fUL, 0x24d8c29eUL, 0xe139673bUL, 0xefa63fb8UL, 0x71873054UL,
-0xb6f2cf3bUL, 0x9f326442UL, 0xcb15a4ccUL, 0xb01a4504UL, 0xf1e47d8dUL, 0x844a1be5UL, 0xbae7dfdcUL, 0x42cbda70UL,
-0xcd7dae0aUL, 0x57e85b7aUL, 0xd53f5af6UL, 0x20cf4d8cUL, 0xcea4d428UL, 0x79d130a4UL, 0x3486ebfbUL, 0x33d3cddcUL,
-0x77853b53UL, 0x37effcb5UL, 0xc5068778UL, 0xe580b3e6UL, 0x4e68b8f4UL, 0xc5c8b37eUL, 0x0d809ea2UL, 0x398feb7cUL,
-0x132a4f94UL, 0x43b7950eUL, 0x2fee7d1cUL, 0x223613bdUL, 0xdd06caa2UL, 0x37df932bUL, 0xc4248289UL, 0xacf3ebc3UL,
-0x5715f6b7UL, 0xef3478ddUL, 0xf267616fUL, 0xc148cbe4UL, 0x9052815eUL, 0x5e410fabUL, 0xb48a2465UL, 0x2eda7fa4UL,
-0xe87b40e4UL, 0xe98ea084UL, 0x5889e9e1UL, 0xefd390fcUL, 0xdd07d35bUL, 0xdb485694UL, 0x38d7e5b2UL, 0x57720101UL,
-0x730edebcUL, 0x5b643113UL, 0x94917e4fUL, 0x503c2fbaUL, 0x646f1282UL, 0x7523d24aUL, 0xe0779695UL, 0xf9c17a8fUL,
-0x7a5b2121UL, 0xd187b896UL, 0x29263a4dUL, 0xba510cdfUL, 0x81f47c9fUL, 0xad1163edUL, 0xea7b5965UL, 0x1a00726eUL,
-0x11403092UL, 0x00da6d77UL, 0x4a0cdd61UL, 0xad1f4603UL, 0x605bdfb0UL, 0x9eedc364UL, 0x22ebe6a8UL, 0xcee7d28aUL,
-0xa0e736a0UL, 0x5564a6b9UL, 0x10853209UL, 0xc7eb8f37UL, 0x2de705caUL, 0x8951570fUL, 0xdf09822bUL, 0xbd691a6cUL,
-0xaa12e4f2UL, 0x87451c0fUL, 0xe0f6a27aUL, 0x3ada4819UL, 0x4cf1764fUL, 0x0d771c2bUL, 0x67cdb156UL, 0x350d8384UL,
-0x5938fa0fUL, 0x42399ef3UL, 0x36997b07UL, 0x0e84093dUL, 0x4aa93e61UL, 0x8360d87bUL, 0x1fa98b0cUL, 0x1149382cUL,
-0xe97625a5UL, 0x0614d1b7UL, 0x0e25244bUL, 0x0c768347UL, 0x589e8d82UL, 0x0d2059d1UL, 0xa466bb1eUL, 0xf8da0a82UL,
-0x04f19130UL, 0xba6e4ec0UL, 0x99265164UL, 0x1ee7230dUL, 0x50b2ad80UL, 0xeaee6801UL, 0x8db2a283UL, 0xea8bf59eUL};
-
-#else
-
-uint32_t s5[] PROGMEM = {
-0x040cc97eUL, 0xb9746e2cUL, 0xdf660e9bUL, 0x117933a6UL, 0xff7f6ab8UL, 0xf558d31dUL, 0x449ddd44UL, 0x7f163117UL,
-0xfaf1fb08UL, 0xcc11f5e7UL, 0x001b05d2UL, 0x00ba5a73UL, 0xd822b72aUL, 0xcb816338UL, 0x3a24f6acUL, 0x7afdbe69UL,
-0x7fe7a2e6UL, 0xcd20c7f0UL, 0x164849c4UL, 0x80c1f5ccUL, 0x40168538UL, 0x48a8b015UL, 0xcb188be6UL, 0xffdeaa4cUL,
-0x010a485fUL, 0xaab21204UL, 0xfc149825UL, 0xe2efd041UL, 0x8db4404eUL, 0xfbb68e24UL, 0xfe1cba8dUL, 0x029ba941UL,
-0x040a551aUL, 0xcb658fbaUL, 0xe7f45172UL, 0x2517a595UL, 0xd7ec06c1UL, 0x0a98a597UL, 0xaab939c5UL, 0x6afe794dUL,
-0x63f7f3f2UL, 0x4080af68UL, 0x569e0cedUL, 0x8b95b411UL, 0x885aebe1UL, 0xb0e60987UL, 0x5671e0d7UL, 0xa7fe294eUL,
-0x2de56663UL, 0x00c0d102UL, 0x058eacc4UL, 0x71f57793UL, 0x2a37050cUL, 0xf2358557UL, 0x02be6122UL, 0xc9a042d6UL,
-0x80a213dfUL, 0xd25bb574UL, 0xc0992168UL, 0xece521d4UL, 0xe83cfb53UL, 0xb3edadc8UL, 0xc97fa828UL, 0x8199953dUL,
-0x00f91f5cUL, 0x99d338feUL, 0x0bff4e0cUL, 0xea072406UL, 0xb14f2faaUL, 0x7669b94fUL, 0x0595c790UL, 0x74a7a8b0UL,
-0xffa155efUL, 0xc2a29ce5UL, 0x272db6a6UL, 0x63426ae6UL, 0x1f0065dfUL, 0x6609c50eUL, 0xbc55dddfUL, 0x5506de29UL,
-0x9a731e91UL, 0x7589af17UL, 0x1c91c732UL, 0x6894f889UL, 0x80e9010dUL, 0xf4554752UL, 0xc93cb603UL, 0xb244c80cUL,
-0xaaf0f3bcUL, 0xe936ac87UL, 0x26743ae5UL, 0x2bd8b301UL, 0x49749e1aUL, 0x7e2dee64UL, 0xdab1dbcdUL, 0x1049c901UL,
-0x80bf68b8UL, 0xfdf3260dUL, 0xe7ed4293UL, 0x84c2a504UL, 0xb6376763UL, 0x16b6f550UL, 0xe36647f2UL, 0xc136ca8eUL,
-0xdb056e13UL, 0x9183f1feUL, 0x377a88fbUL, 0xd4f7e7d6UL, 0xc97dfbc7UL, 0xdffc6330UL, 0xde89f5b6UL, 0xda4129ecUL,
-0x9566e426UL, 0x196456b7UL, 0xc5ef54f6UL, 0xb7588dd0UL, 0x01549248UL, 0x7fcbbac1UL, 0x0f55ffe5UL, 0x493008b6UL,
-0xe8d0b55bUL, 0x5a2ed787UL, 0xe16e6aabUL, 0xce663a22UL, 0xcdf32bc6UL, 0xf985089eUL, 0x473ecb68UL, 0x0f016c08UL,
-0x20e81da2UL, 0xde698bd1UL, 0x7757f6f3UL, 0xf6c302faUL, 0xc3da7e40UL, 0x50d5b3cbUL, 0x4d089317UL, 0xba0ed7b0UL,
-0xd578b30aUL, 0x0cfb51d9UL, 0x56dad7deUL, 0xe4bb2441UL, 0x560bca94UL, 0xd155570fUL, 0x6ee5e1e0UL, 0xbeb58461UL,
-0x9f240a58UL, 0xc04bf794UL, 0x8e8827e3UL, 0x61557b9fUL, 0x8002dcc3UL, 0x15776805UL, 0xd76b6c64UL, 0xb34d9044UL,
-0xa3f0b466UL, 0x8a64f1c0UL, 0xafd57e69UL, 0xf62fe949UL, 0x4f379e30UL, 0x6a35b62cUL, 0x73858085UL, 0x40f89149UL,
-0x02aef076UL, 0x4de83b08UL, 0x9a1c4228UL, 0x06944844UL, 0xb84c6e73UL, 0x102909c1UL, 0xc65fc98bUL, 0xf49c867dUL,
-0x6f614f13UL, 0x8d11772eUL, 0xe12b1bb3UL, 0x72b490aaUL, 0x17d7a53cUL, 0xba1b167dUL, 0x1090ad9cUL, 0xa22b46afUL,
-0xd259e49fUL, 0x5945d345UL, 0x13daf2d9UL, 0x8754c6dbUL, 0x4ef9e4f3UL, 0x6f486d17UL, 0xea137c09UL, 0xc7a51d63UL,
-0x82735f44UL, 0xf4835617UL, 0x976ac6cdUL, 0x8802be70UL, 0x72cfcdb3UL, 0xf3d25d6eUL, 0x79609320UL, 0xa5809b45UL,
-0xdbe260beUL, 0x0131c2a9UL, 0x5c31a5ebUL, 0xf2424e22UL, 0x72155c1cUL, 0x2c1b72f6UL, 0xf3ffd21aUL, 0x4e40258cUL,
-0x2fd74e32UL, 0xfdb76740UL, 0x8e132305UL, 0x78bca35cUL, 0x6ed60fdcUL, 0x83229275UL, 0x176b4d78UL, 0x6eb1eb58UL,
-0x854f0944UL, 0x871d483fUL, 0x7baefefcUL, 0x76ffb577UL, 0xbf02238cUL, 0x5675f4aaUL, 0x2ab0465fUL, 0x0128092bUL,
-0xf7f5383dUL, 0x361fa80cUL, 0x8a4aaf52UL, 0xc0e7d566UL, 0x74083bdfUL, 0x10510595UL, 0xa8d75a1bUL, 0xadd51ef6UL,
-0x79e4f66cUL, 0x84817520UL, 0x65faced0UL, 0x58bef788UL, 0x2668044aUL, 0xf3f8f60fUL, 0x707f9ca0UL, 0xa0ab4653UL,
-0x286ce95cUL, 0xa3ed76e1UL, 0x7f30ac6bUL, 0xd2296837UL, 0xa90f3685UL, 0x2afee317UL, 0x6797b724UL, 0x206ba9f5UL,
-0x9525cdd6UL, 0xbf1eff68UL, 0x2c445575UL, 0xbe069ff1UL, 0x9a65e0f9UL, 0x1d49b9eeUL, 0x18070134UL, 0xb8ca30bbUL,
-0x15fe22e8UL, 0x83095788UL, 0x49620e75UL, 0x557e62daUL, 0xa8ff765eUL, 0x464553b1UL, 0x08de476dUL, 0xd4e7e9efUL};
-
-
-uint32_t s6[] PROGMEM = {
-0x9d8ffaf6UL, 0xe16cac2cUL, 0x6748a34cUL, 0x7c7f33e2UL, 0xe708db95UL, 0xb4436801UL, 0xbc5cedecUL, 0xac535532UL,
-0x60099fbfUL, 0xede2a1dfUL, 0x9d57f083UL, 0xb986ed63UL, 0xb8a6b61aUL, 0x39be5edeUL, 0x32f78ff3UL, 0x38b18989UL,
-0x6149f133UL, 0xbd3719c0UL, 0xdac606f5UL, 0x7e5e62e4UL, 0x99ea08a3UL, 0x3ce3234eUL, 0xccd7cb79UL, 0x6743a148UL,
-0x199614a3UL, 0xd54bc9feUL, 0x4a1714a1UL, 0x6618a0eaUL, 0x2ddb84a0UL, 0x6f48a809UL, 0x4a6188a8UL, 0x98af0029UL,
-0x91596601UL, 0x632899e1UL, 0x600cf3c8UL, 0x3cef782eUL, 0x3219d5d0UL, 0x14ec0fcfUL, 0xd207caf7UL, 0x7220a8d0UL,
-0x7e1941fdUL, 0xb0a60593UL, 0xdae36be8UL, 0xcdd3be74UL, 0x3ca52d37UL, 0x48447f4cUL, 0x40d4b5daUL, 0xc30eba6dUL,
-0xa7193908UL, 0xd9eeba9fUL, 0xb0cfdb49UL, 0x530c674eUL, 0x019c3d5cUL, 0x41b9bd64UL, 0x6a630e2cUL, 0xcdd97dbaUL,
-0x88736feaUL, 0x62c70be7UL, 0xdb9af235UL, 0x8ddd4c5cUL, 0x8c8dd4f0UL, 0xe25381b8UL, 0x6698a108UL, 0xc8eae21aUL,
-0x89af4c28UL, 0x238292aaUL, 0x53be3493UL, 0xbf213a3bUL, 0xe34b4316UL, 0x0639ea9aUL, 0x6ec3e8efUL, 0xd9cd90f8UL,
-0xae6d2280UL, 0xa3a440c3UL, 0x099c7edfUL, 0x07a894a6UL, 0xcc5e7c5bUL, 0xa6b31d22UL, 0x2fa0699aUL, 0x548a8168UL,
-0x6f29b2ceUL, 0x3a84c053UL, 0x553689feUL, 0x8ae6bf25UL, 0xbc8a62b4UL, 0xbf2e22cfUL, 0x486fac25UL, 0x8793a9a9UL,
-0x65dbbd53UL, 0xe7fb6fe7UL, 0x78fd67e9UL, 0x6335a90bUL, 0xc12b348eUL, 0xe91ba1e8UL, 0x0d748049UL, 0xfc7d08c8UL,
-0x99bfe48dUL, 0xa00111a1UL, 0x7579d37fUL, 0xc0265adaUL, 0x4f991fe8UL, 0x89cd2895UL, 0xed9f33fdUL, 0xbf3478b8UL,
-0x6d45045fUL, 0x98862522UL, 0x3bc8c4c9UL, 0xbe56c12dUL, 0xaa8d624fUL, 0xc55ef557UL, 0xbe0a22e2UL, 0xbf6e91d2UL,
-0x955bc74eUL, 0xc0c3f224UL, 0x995dd142UL, 0xa07f0dcdUL, 0xff276e7bUL, 0xf08adca8UL, 0x06c14573UL, 0x2f231ef4UL,
-0x86231635UL, 0x2689eae6UL, 0x94b03333UL, 0xf2c67e15UL, 0xaf742b37UL, 0xe4732569UL, 0x48d8a9e9UL, 0x890216f3UL,
-0x1def623aUL, 0x38e287a7UL, 0x76f6a5f3UL, 0x53483674UL, 0x63109520UL, 0x8d697645UL, 0x07d4fab6UL, 0x50f92a59UL,
-0x2335f736UL, 0x876efb4cUL, 0xc0cea47dUL, 0xaa2d156cUL, 0xa89603cbUL, 0x5dfe0dc5UL, 0xab07d7fcUL, 0x2fc42109UL,
-0xbbf0df89UL, 0x78bee25fUL, 0x334f8f44UL, 0xc9134675UL, 0x8dd0052bUL, 0x85d5b948UL, 0x419404dcUL, 0x9b8f09c8UL,
-0x86e7ed7dUL, 0x73339ac3UL, 0x05004142UL, 0x5117096aUL, 0xa6c8f30eUL, 0xd6720089UL, 0x82762028UL, 0xbef7a9a9UL,
-0x9d6732bfUL, 0x755b5bd4UL, 0x00fd53b3UL, 0x58e3b0cbUL, 0x0a220f83UL, 0x14b28f1fUL, 0x08cf72d3UL, 0x134a3cccUL,
-0x6631f68cUL, 0xbe871c06UL, 0x888fc988UL, 0x97e36260UL, 0x7a8ecf47UL, 0x8352c8b6UL, 0xfbacc23cUL, 0x7669c03fUL,
-0x52028f4eUL, 0x4d31d864UL, 0xe37038daUL, 0x5954661eUL, 0xf00809c1UL, 0xa5213051UL, 0xb7685b6cUL, 0xa08a2f82UL,
-0x3ecd0730UL, 0xef9e7174UL, 0x812687dcUL, 0xd4403307UL, 0xd92f437eUL, 0x41c25e0cUL, 0x6c280988UL, 0x91d892f5UL,
-0xf630a908UL, 0x05f37e95UL, 0xbdfffbb7UL, 0x6fe966c2UL, 0x98ace46fUL, 0xc0ec73b1UL, 0x2ab460bcUL, 0xda983495UL,
-0x12aea1fbUL, 0x36d74b2dUL, 0xabfa250fUL, 0xebfcf3a4UL, 0x239196e2UL, 0x3d0c7f25UL, 0x49af4893UL, 0xbc001436UL,
-0x4a6f81e8UL, 0x00f21438UL, 0x4340f9a3UL, 0xc2547a9cUL, 0x574f70bcUL, 0xf9e741daUL, 0x3ad35ac2UL, 0x84a0f454UL,
-0x05557fb1UL, 0xbe7c3559UL, 0xc815bdedUL, 0xabc5977fUL, 0xb5c75abaUL, 0xafdef6b6UL, 0x3a9c473aUL, 0x25da0253UL,
-0x6a7e3d65UL, 0x498d2654UL, 0xea77a451UL, 0x5bd51750UL, 0x885dd2d7UL, 0x766c1344UL, 0xc8a80404UL, 0x21a1e5b8UL,
-0x8a921ab8UL, 0x6958ed60UL, 0x965bc597UL, 0x1b99eceaUL, 0x13599329UL, 0xf1b7fd01UL, 0xfa8d8e08UL, 0xf5f6b69aUL,
-0x9fbf4c3bUL, 0xabe35d4aUL, 0x351d05e6UL, 0x55d8e1a0UL, 0xf14c6bd3UL, 0xebed44f5UL, 0x2435e9b0UL, 0xbd8fbbbeUL,
-0xcf62d7a2UL, 0x542fc949UL, 0x31f3b538UL, 0x54a42871UL, 0x05293948UL, 0xb81d5ba6UL, 0xbd971c85UL, 0x2fcf75d6UL};
-
-
-uint32_t s7[] PROGMEM = {
-0x1940e085UL, 0x67f52b33UL, 0xffbf2d66UL, 0x9356c6cfUL, 0x6f7f8d2aUL, 0x12c99babUL, 0xa10860deUL, 0x1fda2820UL,
-0xe7bc2702UL, 0x1629644dUL, 0x00c3fa18UL, 0x828bf150UL, 0x11cbb22cUL, 0x5ce732b2UL, 0xf295364bUL, 0xde0787b2UL,
-0xf6bc5fa0UL, 0xe98141cdUL, 0x0c2150e1UL, 0xbdf14ee2UL, 0x81c368b1UL, 0x89e7e4fdUL, 0xd8b0795cUL, 0x43fd8b1eUL,
-0x0150494dUL, 0x4143be38UL, 0x1dee3c91UL, 0x3f9ca792UL, 0xbe669708UL, 0xf4adeebaUL, 0xcfbe8612UL, 0x19cbeab6UL,
-0x00c26026UL, 0xe4bd6575UL, 0x7a1f2464UL, 0xa9dc4882UL, 0x66adb3c3UL, 0x86601328UL, 0xa8dfd80bUL, 0xf21c6d35UL,
-0xbe897710UL, 0xcee9b2b3UL, 0x8faa0205UL, 0x1e35c00bUL, 0x2af56b16UL, 0x82ff12ebUL, 0x116948e3UL, 0x16754dd3UL,
-0xff3a7b4eUL, 0x1b67435fUL, 0x37e0f69cUL, 0x83ac8149UL, 0xce664233UL, 0xb741938cUL, 0xc054d8d0UL, 0x886c3acbUL,
-0x2928bc47UL, 0x37ba2547UL, 0x2bd26aa6UL, 0x1e1fd67aUL, 0xfaba5c0cUL, 0x07f13744UL, 0x6299e7b6UL, 0x16d8d242UL,
-0x8812960aUL, 0x6ec0a5e1UL, 0x679e7413UL, 0x1a08fc72UL, 0xf739d1b1UL, 0x453758f9UL, 0x58df19cfUL, 0x56f7c3beUL,
-0x30ba6ec0UL, 0x241b2107UL, 0x2988c245UL, 0x7f315ec9UL, 0x11c58ebcUL, 0xe946bc38UL, 0x14fae6c6UL, 0x4a58e8baUL,
-0x46bc4eadUL, 0x8b508f46UL, 0x5f432978UL, 0x3b1824f1UL, 0x9fba1d82UL, 0xf40ff6afUL, 0x6d4e2ceaUL, 0x6492e316UL,
-0x8b4a5492UL, 0xc34f9b00UL, 0xed8ca6abUL, 0x786fc99aUL, 0x9ab7a506UL, 0x6e6e85b2UL, 0xa93cec1aUL, 0x888683beUL,
-0xe904080eUL, 0x56bef155UL, 0x3b36e5e7UL, 0x5df2a1b3UL, 0x85bbdef7UL, 0x3c03fe61UL, 0x33627416UL, 0x284c033cUL,
-0x740c6ddaUL, 0x6cc5aa79UL, 0xade1e43cUL, 0x02c8f051UL, 0x5af3f898UL, 0x9fa42616UL, 0x292bd8eeUL, 0xe32f381dUL,
-0x9ab94f0cUL, 0x785732bbUL, 0x7bd9c63eUL, 0xa9a6776eUL, 0x5c8b65cbUL, 0xc73052d4UL, 0x8b40d12bUL, 0xb73ec060UL,
-0x788d06b9UL, 0xf45437a3UL, 0x7dc830f4UL, 0x0213a7c8UL, 0x328c6db9UL, 0xbee7d4ebUL, 0x2d9d8bbeUL, 0x06fb7979UL,
-0x085322e7UL, 0x77cf758bUL, 0xa48def11UL, 0x58c883e0UL, 0x6f786b8dUL, 0xa617635aUL, 0xa0f75cfaUL, 0x3300da5dUL,
-0xb0bf8ef2UL, 0x10c3b9f5UL, 0x80c2eaa0UL, 0x7a76b908UL, 0xb0d2d9a3UL, 0x1742d379UL, 0x8d711a02UL, 0x6a33c69aUL,
-0x60fd1127UL, 0xe3508043UL, 0xa8089906UL, 0xc4ed7f3dUL, 0xef2b6d82UL, 0x7684eb4eUL, 0x25cf8d48UL, 0x66d5c936UL,
-0x414ee728UL, 0xca0a61c2UL, 0xcfa9493dUL, 0xdfb9e3baUL, 0xe68d5fb6UL, 0x64afae92UL, 0xe6d5c73aUL, 0x0905a89eUL,
-0x7d012bf2UL, 0x703f17a4UL, 0xc3161eddUL, 0xf9d7e015UL, 0x87b8b150UL, 0xd54f9f2bUL, 0x82ba5a62UL, 0x6279016aUL,
-0x9c1bc02eUL, 0xa98a4815UL, 0x40e716d7UL, 0x2c5a0540UL, 0x229ad293UL, 0x9abf2de3UL, 0xb9458705UL, 0x1edc5334UL,
-0x6e2999d6UL, 0x6fff6c49UL, 0x86499f1cUL, 0x07ede2dfUL, 0xd14272b8UL, 0xae7ede19UL, 0x1a563e05UL, 0x8c6fad15UL,
-0x1c6c6266UL, 0x4cc25471UL, 0x2a2b08eaUL, 0x3929eb93UL, 0xf0b0dc17UL, 0xaef2d458UL, 0xfb94a29eUL, 0x4c56cf52UL,
-0x66fe8398UL, 0x8105c42eUL, 0xc3533976UL, 0x2e69d601UL, 0x08c1a0d3UL, 0x0e16e7a1UL, 0xa6dff2e4UL, 0x85d23e69UL,
-0x98469074UL, 0xdd0e2b4cUL, 0x5676754fUL, 0x7833395dUL, 0x4f2332a1UL, 0x5d1c323dUL, 0x94e1f5c3UL, 0x0193264bUL,
-0x2f029fc7UL, 0x7e7e993cUL, 0x04954f5eUL, 0xbdfbfa3fUL, 0x0eadf776UL, 0xf4936629UL, 0x6fce1f3dUL, 0xbe451ec6UL,
-0x34abb5d3UL, 0xb7f92bf7UL, 0xc034041bUL, 0x67b5724eUL, 0x3da39255UL, 0x019322b5UL, 0x7fa8d2cfUL, 0x67b7ae60UL,
-0x6b381418UL, 0x3dc3bc30UL, 0x7dc0a038UL, 0xf20616fdUL, 0x9b5163c3UL, 0x90d39d58UL, 0xe6f87954UL, 0x47d6b81cUL,
-0xa961fd97UL, 0xf45977eaUL, 0x9d53572dUL, 0xcf589a56UL, 0xad634ee8UL, 0x781b2e46UL, 0x7ef88065UL, 0x147981f3UL,
-0xf455da91UL, 0xf330a240UL, 0x358f98d1UL, 0xd218e3b6UL, 0xbc50fa3fUL, 0x21f0403dUL, 0xaebdc0c3UL, 0x4cc25849UL,
-0xb2368f51UL, 0x70d3b184UL, 0x83ceed0fUL, 0xdada8d87UL, 0xc779a2f2UL, 0xe81be094UL, 0x4b6f7190UL, 0xa38a4b95UL};
-
-
-uint32_t s8[] PROGMEM = {
-0x0d3016e2UL, 0xfcffddbbUL, 0xbddaeba7UL, 0x95806435UL, 0xb7f88977UL, 0x1b12c1e6UL, 0x0016240eUL, 0xb5e82c05UL,
-0xb0cfa911UL, 0x112f95e5UL, 0x0a99e7ecUL, 0x74d18693UL, 0x1c93422aUL, 0x1181e376UL, 0x3aef2db1UL, 0xfcdddd37UL,
-0xb1de9adeUL, 0x2cc30c0aUL, 0x297019beUL, 0x4009a084UL, 0x0f3a24bbUL, 0xcf37d1b4UL, 0xf0794eb4UL, 0xfded9e04UL,
-0x5da1150bUL, 0x68310d48UL, 0x5adebb8bUL, 0x42ed9d66UL, 0x31e8ecc7UL, 0xe7958f3fUL, 0x1b19df72UL, 0x0d338075UL,
-0x51420794UL, 0xfacd7d5cUL, 0x636dbeabUL, 0x642140aaUL, 0x0ad401b3UL, 0xcad1e702UL, 0xae1d5753UL, 0xa282317aUL,
-0xecdda812UL, 0x5d33aafdUL, 0xe8436f17UL, 0xd446fb71UL, 0x22901238UL, 0xd49a94ceUL, 0xad6947b8UL, 0x62d85b96UL,
-0x55d0f382UL, 0x6797fb66UL, 0x4e0bb815UL, 0xa0475b1dUL, 0x6fe0fd4cUL, 0xb8c48ec2UL, 0x6e72e857UL, 0xfc787a64UL,
-0x445d8699UL, 0x93d58b60UL, 0x030e206cUL, 0xf65fdc39UL, 0xa3000b5dUL, 0xf2af63aeUL, 0x32d68b7eUL, 0x0c8c1070UL,
-0x4950d3bbUL, 0x04df9829UL, 0x2af40c98UL, 0x91f46d9bUL, 0x53dd7e9eUL, 0x48859106UL, 0x077ecb58UL, 0x2eef743bUL,
-0xb1ff2f52UL, 0xcc0847d2UL, 0xcd277e1cUL, 0x5b21eba4UL, 0xe2d2f13cUL, 0x387ab419UL, 0x18764f42UL, 0x39608535UL,
-0xe7de179dUL, 0xe635eb27UL, 0x7bf6afc9UL, 0xb8f5ba36UL, 0xcd67c409UL, 0xb11089c1UL, 0x7bbf1de1UL, 0xf81acd06UL,
-0x08c67071UL, 0x54335e2dUL, 0x5a49ded4UL, 0x06d0c664UL, 0x2cc6c0bcUL, 0xb30dd03dUL, 0x348f8f70UL, 0x421bd577UL,
-0x0f624f26UL, 0xbfd2b824UL, 0x9eb7c115UL, 0x6425a546UL, 0x4ee5d7f8UL, 0x6081373eUL, 0xa5cd9578UL, 0xa5159c85UL,
-0x889745e6UL, 0x5fc77bc3UL, 0x0cba07dbUL, 0xaba37606UL, 0x1e9b227fUL, 0x7b2e8431UL, 0xd79f2524UL, 0x72f4bef8UL,
-0xb8fc5f83UL, 0xf2c1f46dUL, 0x95b1f596UL, 0xfcf00afdUL, 0x4c13feb0UL, 0x3d6d50e2UL, 0xea129b4fUL, 0x25f215f2UL,
-0x6f7323a2UL, 0x28c4b49fUL, 0x7949d025UL, 0xf813c734UL, 0x878161c4UL, 0x986e7aeaUL, 0xfc6ed17cUL, 0x6c873614UL,
-0x074154f1UL, 0x14eedebeUL, 0x27afe956UL, 0x41a44aa0UL, 0x99c8f73cUL, 0xe6baec92UL, 0x6d0167ddUL, 0xeb821615UL,
-0xdfee42a8UL, 0xb460bafdUL, 0x757b90f1UL, 0x0f03e320UL, 0x9ec2d824UL, 0x3b6739e1UL, 0xb83fa6efUL, 0x54308771UL,
-0x3bcff2b6UL, 0x4264329fUL, 0xcca415cbUL, 0x04451ab0UL, 0x8d7de4f1UL, 0xe51b4a84UL, 0xdcdfe7baUL, 0x70dacb42UL,
-0x0aae7dcdUL, 0x7a5be857UL, 0xf65a3fd5UL, 0x8c4dcf20UL, 0x28d4a4ceUL, 0xa430d179UL, 0xfbeb8634UL, 0xdccdd333UL,
-0x533b8577UL, 0xb5fcef37UL, 0x788706c5UL, 0xe6b380e5UL, 0xf4b8684eUL, 0x7eb3c8c5UL, 0xa29e800dUL, 0x7ceb8f39UL,
-0x944f2a13UL, 0x0e95b743UL, 0x1c7dee2fUL, 0xbd133622UL, 0xa2ca06ddUL, 0x2b93df37UL, 0x898224c4UL, 0xc3ebf3acUL,
-0xb7f61557UL, 0xdd7834efUL, 0x6f6167f2UL, 0xe4cb48c1UL, 0x5e815290UL, 0xab0f415eUL, 0x65248ab4UL, 0xa47fda2eUL,
-0xe4407be8UL, 0x84a08ee9UL, 0xe1e98958UL, 0xfc90d3efUL, 0x5bd307ddUL, 0x945648dbUL, 0xb2e5d738UL, 0x01017257UL,
-0xbcde0e73UL, 0x1331645bUL, 0x4f7e9194UL, 0xba2f3c50UL, 0x82126f64UL, 0x4ad22375UL, 0x959677e0UL, 0x8f7ac1f9UL,
-0x21215b7aUL, 0x96b887d1UL, 0x4d3a2629UL, 0xdf0c51baUL, 0x9f7cf481UL, 0xed6311adUL, 0x65597beaUL, 0x6e72001aUL,
-0x92304011UL, 0x776dda00UL, 0x61dd0c4aUL, 0x03461fadUL, 0xb0df5b60UL, 0x64c3ed9eUL, 0xa8e6eb22UL, 0x8ad2e7ceUL,
-0xa036e7a0UL, 0xb9a66455UL, 0x09328510UL, 0x378febc7UL, 0xca05e72dUL, 0x0f575189UL, 0x2b8209dfUL, 0x6c1a69bdUL,
-0xf2e412aaUL, 0x0f1c4587UL, 0x7aa2f6e0UL, 0x1948da3aUL, 0x4f76f14cUL, 0x2b1c770dUL, 0x56b1cd67UL, 0x84830d35UL,
-0x0ffa3859UL, 0xf39e3942UL, 0x077b9936UL, 0x3d09840eUL, 0x613ea94aUL, 0x7bd86083UL, 0x0c8ba91fUL, 0x2c384911UL,
-0xa52576e9UL, 0xb7d11406UL, 0x4b24250eUL, 0x4783760cUL, 0x828d9e58UL, 0xd159200dUL, 0x1ebb66a4UL, 0x820adaf8UL,
-0x3091f104UL, 0xc04e6ebaUL, 0x64512699UL, 0x0d23e71eUL, 0x80adb250UL, 0x0168eeeaUL, 0x83a2b28dUL, 0x9ef58beaUL};
-
-
-#endif
-
+extern const uint32_t s1[];
+extern const uint32_t s2[];
+extern const uint32_t s3[];
+extern const uint32_t s4[];
+extern const uint32_t s5[];
+extern const uint32_t s6[];
+extern const uint32_t s7[];
+extern const uint32_t s8[];
#endif
--- /dev/null
+/* cast6-sbox.c */
+/*
+ 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 <http://www.gnu.org/licenses/>.
+*/
+/*
+ * File: cast6-sbox.c
+ * Author: Daniel Otte
+ * Date: 26.07.2006
+ * License: GPL
+ * Description: sboxes for CAST6 (aka CAST-256) cipher algorithm as described in RFC 2612.
+ *
+ */
+
+#include <avr/pgmspace.h>
+#include <stdint.h>
+
+#ifndef BIG_ENDIAN
+
+const uint32_t s1[] PROGMEM = {
+0x30fb40d4UL, 0x9fa0ff0bUL, 0x6beccd2fUL, 0x3f258c7aUL, 0x1e213f2fUL, 0x9c004dd3UL, 0x6003e540UL, 0xcf9fc949UL,
+0xbfd4af27UL, 0x88bbbdb5UL, 0xe2034090UL, 0x98d09675UL, 0x6e63a0e0UL, 0x15c361d2UL, 0xc2e7661dUL, 0x22d4ff8eUL,
+0x28683b6fUL, 0xc07fd059UL, 0xff2379c8UL, 0x775f50e2UL, 0x43c340d3UL, 0xdf2f8656UL, 0x887ca41aUL, 0xa2d2bd2dUL,
+0xa1c9e0d6UL, 0x346c4819UL, 0x61b76d87UL, 0x22540f2fUL, 0x2abe32e1UL, 0xaa54166bUL, 0x22568e3aUL, 0xa2d341d0UL,
+0x66db40c8UL, 0xa784392fUL, 0x004dff2fUL, 0x2db9d2deUL, 0x97943facUL, 0x4a97c1d8UL, 0x527644b7UL, 0xb5f437a7UL,
+0xb82cbaefUL, 0xd751d159UL, 0x6ff7f0edUL, 0x5a097a1fUL, 0x827b68d0UL, 0x90ecf52eUL, 0x22b0c054UL, 0xbc8e5935UL,
+0x4b6d2f7fUL, 0x50bb64a2UL, 0xd2664910UL, 0xbee5812dUL, 0xb7332290UL, 0xe93b159fUL, 0xb48ee411UL, 0x4bff345dUL,
+0xfd45c240UL, 0xad31973fUL, 0xc4f6d02eUL, 0x55fc8165UL, 0xd5b1caadUL, 0xa1ac2daeUL, 0xa2d4b76dUL, 0xc19b0c50UL,
+0x882240f2UL, 0x0c6e4f38UL, 0xa4e4bfd7UL, 0x4f5ba272UL, 0x564c1d2fUL, 0xc59c5319UL, 0xb949e354UL, 0xb04669feUL,
+0xb1b6ab8aUL, 0xc71358ddUL, 0x6385c545UL, 0x110f935dUL, 0x57538ad5UL, 0x6a390493UL, 0xe63d37e0UL, 0x2a54f6b3UL,
+0x3a787d5fUL, 0x6276a0b5UL, 0x19a6fcdfUL, 0x7a42206aUL, 0x29f9d4d5UL, 0xf61b1891UL, 0xbb72275eUL, 0xaa508167UL,
+0x38901091UL, 0xc6b505ebUL, 0x84c7cb8cUL, 0x2ad75a0fUL, 0x874a1427UL, 0xa2d1936bUL, 0x2ad286afUL, 0xaa56d291UL,
+0xd7894360UL, 0x425c750dUL, 0x93b39e26UL, 0x187184c9UL, 0x6c00b32dUL, 0x73e2bb14UL, 0xa0bebc3cUL, 0x54623779UL,
+0x64459eabUL, 0x3f328b82UL, 0x7718cf82UL, 0x59a2cea6UL, 0x04ee002eUL, 0x89fe78e6UL, 0x3fab0950UL, 0x325ff6c2UL,
+0x81383f05UL, 0x6963c5c8UL, 0x76cb5ad6UL, 0xd49974c9UL, 0xca180dcfUL, 0x380782d5UL, 0xc7fa5cf6UL, 0x8ac31511UL,
+0x35e79e13UL, 0x47da91d0UL, 0xf40f9086UL, 0xa7e2419eUL, 0x31366241UL, 0x051ef495UL, 0xaa573b04UL, 0x4a805d8dUL,
+0x548300d0UL, 0x00322a3cUL, 0xbf64cddfUL, 0xba57a68eUL, 0x75c6372bUL, 0x50afd341UL, 0xa7c13275UL, 0x915a0bf5UL,
+0x6b54bfabUL, 0x2b0b1426UL, 0xab4cc9d7UL, 0x449ccd82UL, 0xf7fbf265UL, 0xab85c5f3UL, 0x1b55db94UL, 0xaad4e324UL,
+0xcfa4bd3fUL, 0x2deaa3e2UL, 0x9e204d02UL, 0xc8bd25acUL, 0xeadf55b3UL, 0xd5bd9e98UL, 0xe31231b2UL, 0x2ad5ad6cUL,
+0x954329deUL, 0xadbe4528UL, 0xd8710f69UL, 0xaa51c90fUL, 0xaa786bf6UL, 0x22513f1eUL, 0xaa51a79bUL, 0x2ad344ccUL,
+0x7b5a41f0UL, 0xd37cfbadUL, 0x1b069505UL, 0x41ece491UL, 0xb4c332e6UL, 0x032268d4UL, 0xc9600accUL, 0xce387e6dUL,
+0xbf6bb16cUL, 0x6a70fb78UL, 0x0d03d9c9UL, 0xd4df39deUL, 0xe01063daUL, 0x4736f464UL, 0x5ad328d8UL, 0xb347cc96UL,
+0x75bb0fc3UL, 0x98511bfbUL, 0x4ffbcc35UL, 0xb58bcf6aUL, 0xe11f0abcUL, 0xbfc5fe4aUL, 0xa70aec10UL, 0xac39570aUL,
+0x3f04442fUL, 0x6188b153UL, 0xe0397a2eUL, 0x5727cb79UL, 0x9ceb418fUL, 0x1cacd68dUL, 0x2ad37c96UL, 0x0175cb9dUL,
+0xc69dff09UL, 0xc75b65f0UL, 0xd9db40d8UL, 0xec0e7779UL, 0x4744ead4UL, 0xb11c3274UL, 0xdd24cb9eUL, 0x7e1c54bdUL,
+0xf01144f9UL, 0xd2240eb1UL, 0x9675b3fdUL, 0xa3ac3755UL, 0xd47c27afUL, 0x51c85f4dUL, 0x56907596UL, 0xa5bb15e6UL,
+0x580304f0UL, 0xca042cf1UL, 0x011a37eaUL, 0x8dbfaadbUL, 0x35ba3e4aUL, 0x3526ffa0UL, 0xc37b4d09UL, 0xbc306ed9UL,
+0x98a52666UL, 0x5648f725UL, 0xff5e569dUL, 0x0ced63d0UL, 0x7c63b2cfUL, 0x700b45e1UL, 0xd5ea50f1UL, 0x85a92872UL,
+0xaf1fbda7UL, 0xd4234870UL, 0xa7870bf3UL, 0x2d3b4d79UL, 0x42e04198UL, 0x0cd0ede7UL, 0x26470db8UL, 0xf881814cUL,
+0x474d6ad7UL, 0x7c0c5e5cUL, 0xd1231959UL, 0x381b7298UL, 0xf5d2f4dbUL, 0xab838653UL, 0x6e2f1e23UL, 0x83719c9eUL,
+0xbd91e046UL, 0x9a56456eUL, 0xdc39200cUL, 0x20c8c571UL, 0x962bda1cUL, 0xe1e696ffUL, 0xb141ab08UL, 0x7cca89b9UL,
+0x1a69e783UL, 0x02cc4843UL, 0xa2f7c579UL, 0x429ef47dUL, 0x427b169cUL, 0x5ac9f049UL, 0xdd8f0f00UL, 0x5c8165bfUL};
+
+const uint32_t s2[] PROGMEM = {
+0x1f201094UL, 0xef0ba75bUL, 0x69e3cf7eUL, 0x393f4380UL, 0xfe61cf7aUL, 0xeec5207aUL, 0x55889c94UL, 0x72fc0651UL,
+0xada7ef79UL, 0x4e1d7235UL, 0xd55a63ceUL, 0xde0436baUL, 0x99c430efUL, 0x5f0c0794UL, 0x18dcdb7dUL, 0xa1d6eff3UL,
+0xa0b52f7bUL, 0x59e83605UL, 0xee15b094UL, 0xe9ffd909UL, 0xdc440086UL, 0xef944459UL, 0xba83ccb3UL, 0xe0c3cdfbUL,
+0xd1da4181UL, 0x3b092ab1UL, 0xf997f1c1UL, 0xa5e6cf7bUL, 0x01420ddbUL, 0xe4e7ef5bUL, 0x25a1ff41UL, 0xe180f806UL,
+0x1fc41080UL, 0x179bee7aUL, 0xd37ac6a9UL, 0xfe5830a4UL, 0x98de8b7fUL, 0x77e83f4eUL, 0x79929269UL, 0x24fa9f7bUL,
+0xe113c85bUL, 0xacc40083UL, 0xd7503525UL, 0xf7ea615fUL, 0x62143154UL, 0x0d554b63UL, 0x5d681121UL, 0xc866c359UL,
+0x3d63cf73UL, 0xcee234c0UL, 0xd4d87e87UL, 0x5c672b21UL, 0x071f6181UL, 0x39f7627fUL, 0x361e3084UL, 0xe4eb573bUL,
+0x602f64a4UL, 0xd63acd9cUL, 0x1bbc4635UL, 0x9e81032dUL, 0x2701f50cUL, 0x99847ab4UL, 0xa0e3df79UL, 0xba6cf38cUL,
+0x10843094UL, 0x2537a95eUL, 0xf46f6ffeUL, 0xa1ff3b1fUL, 0x208cfb6aUL, 0x8f458c74UL, 0xd9e0a227UL, 0x4ec73a34UL,
+0xfc884f69UL, 0x3e4de8dfUL, 0xef0e0088UL, 0x3559648dUL, 0x8a45388cUL, 0x1d804366UL, 0x721d9bfdUL, 0xa58684bbUL,
+0xe8256333UL, 0x844e8212UL, 0x128d8098UL, 0xfed33fb4UL, 0xce280ae1UL, 0x27e19ba5UL, 0xd5a6c252UL, 0xe49754bdUL,
+0xc5d655ddUL, 0xeb667064UL, 0x77840b4dUL, 0xa1b6a801UL, 0x84db26a9UL, 0xe0b56714UL, 0x21f043b7UL, 0xe5d05860UL,
+0x54f03084UL, 0x066ff472UL, 0xa31aa153UL, 0xdadc4755UL, 0xb5625dbfUL, 0x68561be6UL, 0x83ca6b94UL, 0x2d6ed23bUL,
+0xeccf01dbUL, 0xa6d3d0baUL, 0xb6803d5cUL, 0xaf77a709UL, 0x33b4a34cUL, 0x397bc8d6UL, 0x5ee22b95UL, 0x5f0e5304UL,
+0x81ed6f61UL, 0x20e74364UL, 0xb45e1378UL, 0xde18639bUL, 0x881ca122UL, 0xb96726d1UL, 0x8049a7e8UL, 0x22b7da7bUL,
+0x5e552d25UL, 0x5272d237UL, 0x79d2951cUL, 0xc60d894cUL, 0x488cb402UL, 0x1ba4fe5bUL, 0xa4b09f6bUL, 0x1ca815cfUL,
+0xa20c3005UL, 0x8871df63UL, 0xb9de2fcbUL, 0x0cc6c9e9UL, 0x0beeff53UL, 0xe3214517UL, 0xb4542835UL, 0x9f63293cUL,
+0xee41e729UL, 0x6e1d2d7cUL, 0x50045286UL, 0x1e6685f3UL, 0xf33401c6UL, 0x30a22c95UL, 0x31a70850UL, 0x60930f13UL,
+0x73f98417UL, 0xa1269859UL, 0xec645c44UL, 0x52c877a9UL, 0xcdff33a6UL, 0xa02b1741UL, 0x7cbad9a2UL, 0x2180036fUL,
+0x50d99c08UL, 0xcb3f4861UL, 0xc26bd765UL, 0x64a3f6abUL, 0x80342676UL, 0x25a75e7bUL, 0xe4e6d1fcUL, 0x20c710e6UL,
+0xcdf0b680UL, 0x17844d3bUL, 0x31eef84dUL, 0x7e0824e4UL, 0x2ccb49ebUL, 0x846a3baeUL, 0x8ff77888UL, 0xee5d60f6UL,
+0x7af75673UL, 0x2fdd5cdbUL, 0xa11631c1UL, 0x30f66f43UL, 0xb3faec54UL, 0x157fd7faUL, 0xef8579ccUL, 0xd152de58UL,
+0xdb2ffd5eUL, 0x8f32ce19UL, 0x306af97aUL, 0x02f03ef8UL, 0x99319ad5UL, 0xc242fa0fUL, 0xa7e3ebb0UL, 0xc68e4906UL,
+0xb8da230cUL, 0x80823028UL, 0xdcdef3c8UL, 0xd35fb171UL, 0x088a1bc8UL, 0xbec0c560UL, 0x61a3c9e8UL, 0xbca8f54dUL,
+0xc72feffaUL, 0x22822e99UL, 0x82c570b4UL, 0xd8d94e89UL, 0x8b1c34bcUL, 0x301e16e6UL, 0x273be979UL, 0xb0ffeaa6UL,
+0x61d9b8c6UL, 0x00b24869UL, 0xb7ffce3fUL, 0x08dc283bUL, 0x43daf65aUL, 0xf7e19798UL, 0x7619b72fUL, 0x8f1c9ba4UL,
+0xdc8637a0UL, 0x16a7d3b1UL, 0x9fc393b7UL, 0xa7136eebUL, 0xc6bcc63eUL, 0x1a513742UL, 0xef6828bcUL, 0x520365d6UL,
+0x2d6a77abUL, 0x3527ed4bUL, 0x821fd216UL, 0x095c6e2eUL, 0xdb92f2fbUL, 0x5eea29cbUL, 0x145892f5UL, 0x91584f7fUL,
+0x5483697bUL, 0x2667a8ccUL, 0x85196048UL, 0x8c4baceaUL, 0x833860d4UL, 0x0d23e0f9UL, 0x6c387e8aUL, 0x0ae6d249UL,
+0xb284600cUL, 0xd835731dUL, 0xdcb1c647UL, 0xac4c56eaUL, 0x3ebd81b3UL, 0x230eabb0UL, 0x6438bc87UL, 0xf0b5b1faUL,
+0x8f5ea2b3UL, 0xfc184642UL, 0x0a036b7aUL, 0x4fb089bdUL, 0x649da589UL, 0xa345415eUL, 0x5c038323UL, 0x3e5d3bb9UL,
+0x43d79572UL, 0x7e6dd07cUL, 0x06dfdf1eUL, 0x6c6cc4efUL, 0x7160a539UL, 0x73bfbe70UL, 0x83877605UL, 0x4523ecf1UL};
+
+const uint32_t s3[] PROGMEM = {
+0x8defc240UL, 0x25fa5d9fUL, 0xeb903dbfUL, 0xe810c907UL, 0x47607fffUL, 0x369fe44bUL, 0x8c1fc644UL, 0xaececa90UL,
+0xbeb1f9bfUL, 0xeefbcaeaUL, 0xe8cf1950UL, 0x51df07aeUL, 0x920e8806UL, 0xf0ad0548UL, 0xe13c8d83UL, 0x927010d5UL,
+0x11107d9fUL, 0x07647db9UL, 0xb2e3e4d4UL, 0x3d4f285eUL, 0xb9afa820UL, 0xfade82e0UL, 0xa067268bUL, 0x8272792eUL,
+0x553fb2c0UL, 0x489ae22bUL, 0xd4ef9794UL, 0x125e3fbcUL, 0x21fffceeUL, 0x825b1bfdUL, 0x9255c5edUL, 0x1257a240UL,
+0x4e1a8302UL, 0xbae07fffUL, 0x528246e7UL, 0x8e57140eUL, 0x3373f7bfUL, 0x8c9f8188UL, 0xa6fc4ee8UL, 0xc982b5a5UL,
+0xa8c01db7UL, 0x579fc264UL, 0x67094f31UL, 0xf2bd3f5fUL, 0x40fff7c1UL, 0x1fb78dfcUL, 0x8e6bd2c1UL, 0x437be59bUL,
+0x99b03dbfUL, 0xb5dbc64bUL, 0x638dc0e6UL, 0x55819d99UL, 0xa197c81cUL, 0x4a012d6eUL, 0xc5884a28UL, 0xccc36f71UL,
+0xb843c213UL, 0x6c0743f1UL, 0x8309893cUL, 0x0feddd5fUL, 0x2f7fe850UL, 0xd7c07f7eUL, 0x02507fbfUL, 0x5afb9a04UL,
+0xa747d2d0UL, 0x1651192eUL, 0xaf70bf3eUL, 0x58c31380UL, 0x5f98302eUL, 0x727cc3c4UL, 0x0a0fb402UL, 0x0f7fef82UL,
+0x8c96fdadUL, 0x5d2c2aaeUL, 0x8ee99a49UL, 0x50da88b8UL, 0x8427f4a0UL, 0x1eac5790UL, 0x796fb449UL, 0x8252dc15UL,
+0xefbd7d9bUL, 0xa672597dUL, 0xada840d8UL, 0x45f54504UL, 0xfa5d7403UL, 0xe83ec305UL, 0x4f91751aUL, 0x925669c2UL,
+0x23efe941UL, 0xa903f12eUL, 0x60270df2UL, 0x0276e4b6UL, 0x94fd6574UL, 0x927985b2UL, 0x8276dbcbUL, 0x02778176UL,
+0xf8af918dUL, 0x4e48f79eUL, 0x8f616ddfUL, 0xe29d840eUL, 0x842f7d83UL, 0x340ce5c8UL, 0x96bbb682UL, 0x93b4b148UL,
+0xef303cabUL, 0x984faf28UL, 0x779faf9bUL, 0x92dc560dUL, 0x224d1e20UL, 0x8437aa88UL, 0x7d29dc96UL, 0x2756d3dcUL,
+0x8b907ceeUL, 0xb51fd240UL, 0xe7c07ce3UL, 0xe566b4a1UL, 0xc3e9615eUL, 0x3cf8209dUL, 0x6094d1e3UL, 0xcd9ca341UL,
+0x5c76460eUL, 0x00ea983bUL, 0xd4d67881UL, 0xfd47572cUL, 0xf76cedd9UL, 0xbda8229cUL, 0x127dadaaUL, 0x438a074eUL,
+0x1f97c090UL, 0x081bdb8aUL, 0x93a07ebeUL, 0xb938ca15UL, 0x97b03cffUL, 0x3dc2c0f8UL, 0x8d1ab2ecUL, 0x64380e51UL,
+0x68cc7bfbUL, 0xd90f2788UL, 0x12490181UL, 0x5de5ffd4UL, 0xdd7ef86aUL, 0x76a2e214UL, 0xb9a40368UL, 0x925d958fUL,
+0x4b39fffaUL, 0xba39aee9UL, 0xa4ffd30bUL, 0xfaf7933bUL, 0x6d498623UL, 0x193cbcfaUL, 0x27627545UL, 0x825cf47aUL,
+0x61bd8ba0UL, 0xd11e42d1UL, 0xcead04f4UL, 0x127ea392UL, 0x10428db7UL, 0x8272a972UL, 0x9270c4a8UL, 0x127de50bUL,
+0x285ba1c8UL, 0x3c62f44fUL, 0x35c0eaa5UL, 0xe805d231UL, 0x428929fbUL, 0xb4fcdf82UL, 0x4fb66a53UL, 0x0e7dc15bUL,
+0x1f081fabUL, 0x108618aeUL, 0xfcfd086dUL, 0xf9ff2889UL, 0x694bcc11UL, 0x236a5caeUL, 0x12deca4dUL, 0x2c3f8cc5UL,
+0xd2d02dfeUL, 0xf8ef5896UL, 0xe4cf52daUL, 0x95155b67UL, 0x494a488cUL, 0xb9b6a80cUL, 0x5c8f82bcUL, 0x89d36b45UL,
+0x3a609437UL, 0xec00c9a9UL, 0x44715253UL, 0x0a874b49UL, 0xd773bc40UL, 0x7c34671cUL, 0x02717ef6UL, 0x4feb5536UL,
+0xa2d02fffUL, 0xd2bf60c4UL, 0xd43f03c0UL, 0x50b4ef6dUL, 0x07478cd1UL, 0x006e1888UL, 0xa2e53f55UL, 0xb9e6d4bcUL,
+0xa2048016UL, 0x97573833UL, 0xd7207d67UL, 0xde0f8f3dUL, 0x72f87b33UL, 0xabcc4f33UL, 0x7688c55dUL, 0x7b00a6b0UL,
+0x947b0001UL, 0x570075d2UL, 0xf9bb88f8UL, 0x8942019eUL, 0x4264a5ffUL, 0x856302e0UL, 0x72dbd92bUL, 0xee971b69UL,
+0x6ea22fdeUL, 0x5f08ae2bUL, 0xaf7a616dUL, 0xe5c98767UL, 0xcf1febd2UL, 0x61efc8c2UL, 0xf1ac2571UL, 0xcc8239c2UL,
+0x67214cb8UL, 0xb1e583d1UL, 0xb7dc3e62UL, 0x7f10bdceUL, 0xf90a5c38UL, 0x0ff0443dUL, 0x606e6dc6UL, 0x60543a49UL,
+0x5727c148UL, 0x2be98a1dUL, 0x8ab41738UL, 0x20e1be24UL, 0xaf96da0fUL, 0x68458425UL, 0x99833be5UL, 0x600d457dUL,
+0x282f9350UL, 0x8334b362UL, 0xd91d1120UL, 0x2b6d8da0UL, 0x642b1e31UL, 0x9c305a00UL, 0x52bce688UL, 0x1b03588aUL,
+0xf7baefd5UL, 0x4142ed9cUL, 0xa4315c11UL, 0x83323ec5UL, 0xdfef4636UL, 0xa133c501UL, 0xe9d3531cUL, 0xee353783UL};
+
+const uint32_t s4[] PROGMEM = {
+0x9db30420UL, 0x1fb6e9deUL, 0xa7be7befUL, 0xd273a298UL, 0x4a4f7bdbUL, 0x64ad8c57UL, 0x85510443UL, 0xfa020ed1UL,
+0x7e287affUL, 0xe60fb663UL, 0x095f35a1UL, 0x79ebf120UL, 0xfd059d43UL, 0x6497b7b1UL, 0xf3641f63UL, 0x241e4adfUL,
+0x28147f5fUL, 0x4fa2b8cdUL, 0xc9430040UL, 0x0cc32220UL, 0xfdd30b30UL, 0xc0a5374fUL, 0x1d2d00d9UL, 0x24147b15UL,
+0xee4d111aUL, 0x0fca5167UL, 0x71ff904cUL, 0x2d195ffeUL, 0x1a05645fUL, 0x0c13fefeUL, 0x081b08caUL, 0x05170121UL,
+0x80530100UL, 0xe83e5efeUL, 0xac9af4f8UL, 0x7fe72701UL, 0xd2b8ee5fUL, 0x06df4261UL, 0xbb9e9b8aUL, 0x7293ea25UL,
+0xce84ffdfUL, 0xf5718801UL, 0x3dd64b04UL, 0xa26f263bUL, 0x7ed48400UL, 0x547eebe6UL, 0x446d4ca0UL, 0x6cf3d6f5UL,
+0x2649abdfUL, 0xaea0c7f5UL, 0x36338cc1UL, 0x503f7e93UL, 0xd3772061UL, 0x11b638e1UL, 0x72500e03UL, 0xf80eb2bbUL,
+0xabe0502eUL, 0xec8d77deUL, 0x57971e81UL, 0xe14f6746UL, 0xc9335400UL, 0x6920318fUL, 0x081dbb99UL, 0xffc304a5UL,
+0x4d351805UL, 0x7f3d5ce3UL, 0xa6c866c6UL, 0x5d5bcca9UL, 0xdaec6feaUL, 0x9f926f91UL, 0x9f46222fUL, 0x3991467dUL,
+0xa5bf6d8eUL, 0x1143c44fUL, 0x43958302UL, 0xd0214eebUL, 0x022083b8UL, 0x3fb6180cUL, 0x18f8931eUL, 0x281658e6UL,
+0x26486e3eUL, 0x8bd78a70UL, 0x7477e4c1UL, 0xb506e07cUL, 0xf32d0a25UL, 0x79098b02UL, 0xe4eabb81UL, 0x28123b23UL,
+0x69dead38UL, 0x1574ca16UL, 0xdf871b62UL, 0x211c40b7UL, 0xa51a9ef9UL, 0x0014377bUL, 0x041e8ac8UL, 0x09114003UL,
+0xbd59e4d2UL, 0xe3d156d5UL, 0x4fe876d5UL, 0x2f91a340UL, 0x557be8deUL, 0x00eae4a7UL, 0x0ce5c2ecUL, 0x4db4bba6UL,
+0xe756bdffUL, 0xdd3369acUL, 0xec17b035UL, 0x06572327UL, 0x99afc8b0UL, 0x56c8c391UL, 0x6b65811cUL, 0x5e146119UL,
+0x6e85cb75UL, 0xbe07c002UL, 0xc2325577UL, 0x893ff4ecUL, 0x5bbfc92dUL, 0xd0ec3b25UL, 0xb7801ab7UL, 0x8d6d3b24UL,
+0x20c763efUL, 0xc366a5fcUL, 0x9c382880UL, 0x0ace3205UL, 0xaac9548aUL, 0xeca1d7c7UL, 0x041afa32UL, 0x1d16625aUL,
+0x6701902cUL, 0x9b757a54UL, 0x31d477f7UL, 0x9126b031UL, 0x36cc6fdbUL, 0xc70b8b46UL, 0xd9e66a48UL, 0x56e55a79UL,
+0x026a4cebUL, 0x52437effUL, 0x2f8f76b4UL, 0x0df980a5UL, 0x8674cde3UL, 0xedda04ebUL, 0x17a9be04UL, 0x2c18f4dfUL,
+0xb7747f9dUL, 0xab2af7b4UL, 0xefc34d20UL, 0x2e096b7cUL, 0x1741a254UL, 0xe5b6a035UL, 0x213d42f6UL, 0x2c1c7c26UL,
+0x61c2f50fUL, 0x6552daf9UL, 0xd2c231f8UL, 0x25130f69UL, 0xd8167fa2UL, 0x0418f2c8UL, 0x001a96a6UL, 0x0d1526abUL,
+0x63315c21UL, 0x5e0a72ecUL, 0x49bafefdUL, 0x187908d9UL, 0x8d0dbd86UL, 0x311170a7UL, 0x3e9b640cUL, 0xcc3e10d7UL,
+0xd5cad3b6UL, 0x0caec388UL, 0xf73001e1UL, 0x6c728affUL, 0x71eae2a1UL, 0x1f9af36eUL, 0xcfcbd12fUL, 0xc1de8417UL,
+0xac07be6bUL, 0xcb44a1d8UL, 0x8b9b0f56UL, 0x013988c3UL, 0xb1c52fcaUL, 0xb4be31cdUL, 0xd8782806UL, 0x12a3a4e2UL,
+0x6f7de532UL, 0x58fd7eb6UL, 0xd01ee900UL, 0x24adffc2UL, 0xf4990fc5UL, 0x9711aac5UL, 0x001d7b95UL, 0x82e5e7d2UL,
+0x109873f6UL, 0x00613096UL, 0xc32d9521UL, 0xada121ffUL, 0x29908415UL, 0x7fbb977fUL, 0xaf9eb3dbUL, 0x29c9ed2aUL,
+0x5ce2a465UL, 0xa730f32cUL, 0xd0aa3fe8UL, 0x8a5cc091UL, 0xd49e2ce7UL, 0x0ce454a9UL, 0xd60acd86UL, 0x015f1919UL,
+0x77079103UL, 0xdea03af6UL, 0x78a8565eUL, 0xdee356dfUL, 0x21f05cbeUL, 0x8b75e387UL, 0xb3c50651UL, 0xb8a5c3efUL,
+0xd8eeb6d2UL, 0xe523be77UL, 0xc2154529UL, 0x2f69efdfUL, 0xafe67afbUL, 0xf470c4b2UL, 0xf3e0eb5bUL, 0xd6cc9876UL,
+0x39e4460cUL, 0x1fda8538UL, 0x1987832fUL, 0xca007367UL, 0xa99144f8UL, 0x296b299eUL, 0x492fc295UL, 0x9266beabUL,
+0xb5676e69UL, 0x9bd3dddaUL, 0xdf7e052fUL, 0xdb25701cUL, 0x1b5e51eeUL, 0xf65324e6UL, 0x6afce36cUL, 0x0316cc04UL,
+0x8644213eUL, 0xb7dc59d0UL, 0x7965291fUL, 0xccd6fd43UL, 0x41823979UL, 0x932bcdf6UL, 0xb657c34dUL, 0x4edfd282UL,
+0x7ae5290cUL, 0x3cb9536bUL, 0x851e20feUL, 0x9833557eUL, 0x13ecf0b0UL, 0xd3ffb372UL, 0x3f85c5c1UL, 0x0aef7ed2UL};
+
+#else
+
+const uint32_t s1[] PROGMEM = {
+0xd440fb30UL, 0x0bffa09fUL, 0x2fcdec6bUL, 0x7a8c253fUL, 0x2f3f211eUL, 0xd34d009cUL, 0x40e50360UL, 0x49c99fcfUL,
+0x27afd4bfUL, 0xb5bdbb88UL, 0x904003e2UL, 0x7596d098UL, 0xe0a0636eUL, 0xd261c315UL, 0x1d66e7c2UL, 0x8effd422UL,
+0x6f3b6828UL, 0x59d07fc0UL, 0xc87923ffUL, 0xe2505f77UL, 0xd340c343UL, 0x56862fdfUL, 0x1aa47c88UL, 0x2dbdd2a2UL,
+0xd6e0c9a1UL, 0x19486c34UL, 0x876db761UL, 0x2f0f5422UL, 0xe132be2aUL, 0x6b1654aaUL, 0x3a8e5622UL, 0xd041d3a2UL,
+0xc840db66UL, 0x2f3984a7UL, 0x2fff4d00UL, 0xded2b92dUL, 0xac3f9497UL, 0xd8c1974aUL, 0xb7447652UL, 0xa737f4b5UL,
+0xefba2cb8UL, 0x59d151d7UL, 0xedf0f76fUL, 0x1f7a095aUL, 0xd0687b82UL, 0x2ef5ec90UL, 0x54c0b022UL, 0x35598ebcUL,
+0x7f2f6d4bUL, 0xa264bb50UL, 0x104966d2UL, 0x2d81e5beUL, 0x902233b7UL, 0x9f153be9UL, 0x11e48eb4UL, 0x5d34ff4bUL,
+0x40c245fdUL, 0x3f9731adUL, 0x2ed0f6c4UL, 0x6581fc55UL, 0xadcab1d5UL, 0xae2daca1UL, 0x6db7d4a2UL, 0x500c9bc1UL,
+0xf2402288UL, 0x384f6e0cUL, 0xd7bfe4a4UL, 0x72a25b4fUL, 0x2f1d4c56UL, 0x19539cc5UL, 0x54e349b9UL, 0xfe6946b0UL,
+0x8aabb6b1UL, 0xdd5813c7UL, 0x45c58563UL, 0x5d930f11UL, 0xd58a5357UL, 0x9304396aUL, 0xe0373de6UL, 0xb3f6542aUL,
+0x5f7d783aUL, 0xb5a07662UL, 0xdffca619UL, 0x6a20427aUL, 0xd5d4f929UL, 0x91181bf6UL, 0x5e2772bbUL, 0x678150aaUL,
+0x91109038UL, 0xeb05b5c6UL, 0x8ccbc784UL, 0x0f5ad72aUL, 0x27144a87UL, 0x6b93d1a2UL, 0xaf86d22aUL, 0x91d256aaUL,
+0x604389d7UL, 0x0d755c42UL, 0x269eb393UL, 0xc9847118UL, 0x2db3006cUL, 0x14bbe273UL, 0x3cbcbea0UL, 0x79376254UL,
+0xab9e4564UL, 0x828b323fUL, 0x82cf1877UL, 0xa6cea259UL, 0x2e00ee04UL, 0xe678fe89UL, 0x5009ab3fUL, 0xc2f65f32UL,
+0x053f3881UL, 0xc8c56369UL, 0xd65acb76UL, 0xc97499d4UL, 0xcf0d18caUL, 0xd5820738UL, 0xf65cfac7UL, 0x1115c38aUL,
+0x139ee735UL, 0xd091da47UL, 0x86900ff4UL, 0x9e41e2a7UL, 0x41623631UL, 0x95f41e05UL, 0x043b57aaUL, 0x8d5d804aUL,
+0xd0008354UL, 0x3c2a3200UL, 0xdfcd64bfUL, 0x8ea657baUL, 0x2b37c675UL, 0x41d3af50UL, 0x7532c1a7UL, 0xf50b5a91UL,
+0xabbf546bUL, 0x26140b2bUL, 0xd7c94cabUL, 0x82cd9c44UL, 0x65f2fbf7UL, 0xf3c585abUL, 0x94db551bUL, 0x24e3d4aaUL,
+0x3fbda4cfUL, 0xe2a3ea2dUL, 0x024d209eUL, 0xac25bdc8UL, 0xb355dfeaUL, 0x989ebdd5UL, 0xb23112e3UL, 0x6cadd52aUL,
+0xde294395UL, 0x2845beadUL, 0x690f71d8UL, 0x0fc951aaUL, 0xf66b78aaUL, 0x1e3f5122UL, 0x9ba751aaUL, 0xcc44d32aUL,
+0xf0415a7bUL, 0xadfb7cd3UL, 0x0595061bUL, 0x91e4ec41UL, 0xe632c3b4UL, 0xd4682203UL, 0xcc0a60c9UL, 0x6d7e38ceUL,
+0x6cb16bbfUL, 0x78fb706aUL, 0xc9d9030dUL, 0xde39dfd4UL, 0xda6310e0UL, 0x64f43647UL, 0xd828d35aUL, 0x96cc47b3UL,
+0xc30fbb75UL, 0xfb1b5198UL, 0x35ccfb4fUL, 0x6acf8bb5UL, 0xbc0a1fe1UL, 0x4afec5bfUL, 0x10ec0aa7UL, 0x0a5739acUL,
+0x2f44043fUL, 0x53b18861UL, 0x2e7a39e0UL, 0x79cb2757UL, 0x8f41eb9cUL, 0x8dd6ac1cUL, 0x967cd32aUL, 0x9dcb7501UL,
+0x09ff9dc6UL, 0xf0655bc7UL, 0xd840dbd9UL, 0x79770eecUL, 0xd4ea4447UL, 0x74321cb1UL, 0x9ecb24ddUL, 0xbd541c7eUL,
+0xf94411f0UL, 0xb10e24d2UL, 0xfdb37596UL, 0x5537aca3UL, 0xaf277cd4UL, 0x4d5fc851UL, 0x96759056UL, 0xe615bba5UL,
+0xf0040358UL, 0xf12c04caUL, 0xea371a01UL, 0xdbaabf8dUL, 0x4a3eba35UL, 0xa0ff2635UL, 0x094d7bc3UL, 0xd96e30bcUL,
+0x6626a598UL, 0x25f74856UL, 0x9d565effUL, 0xd063ed0cUL, 0xcfb2637cUL, 0xe1450b70UL, 0xf150ead5UL, 0x7228a985UL,
+0xa7bd1fafUL, 0x704823d4UL, 0xf30b87a7UL, 0x794d3b2dUL, 0x9841e042UL, 0xe7edd00cUL, 0xb80d4726UL, 0x4c8181f8UL,
+0xd76a4d47UL, 0x5c5e0c7cUL, 0x591923d1UL, 0x98721b38UL, 0xdbf4d2f5UL, 0x538683abUL, 0x231e2f6eUL, 0x9e9c7183UL,
+0x46e091bdUL, 0x6e45569aUL, 0x0c2039dcUL, 0x71c5c820UL, 0x1cda2b96UL, 0xff96e6e1UL, 0x08ab41b1UL, 0xb989ca7cUL,
+0x83e7691aUL, 0x4348cc02UL, 0x79c5f7a2UL, 0x7df49e42UL, 0x9c167b42UL, 0x49f0c95aUL, 0x000f8fddUL, 0xbf65815cUL};
+
+const uint32_t s2[] PROGMEM = {
+0x9410201fUL, 0x5ba70befUL, 0x7ecfe369UL, 0x80433f39UL, 0x7acf61feUL, 0x7a20c5eeUL, 0x949c8855UL, 0x5106fc72UL,
+0x79efa7adUL, 0x35721d4eUL, 0xce635ad5UL, 0xba3604deUL, 0xef30c499UL, 0x94070c5fUL, 0x7ddbdc18UL, 0xf3efd6a1UL,
+0x7b2fb5a0UL, 0x0536e859UL, 0x94b015eeUL, 0x09d9ffe9UL, 0x860044dcUL, 0x594494efUL, 0xb3cc83baUL, 0xfbcdc3e0UL,
+0x8141dad1UL, 0xb12a093bUL, 0xc1f197f9UL, 0x7bcfe6a5UL, 0xdb0d4201UL, 0x5befe7e4UL, 0x41ffa125UL, 0x06f880e1UL,
+0x8010c41fUL, 0x7aee9b17UL, 0xa9c67ad3UL, 0xa43058feUL, 0x7f8bde98UL, 0x4e3fe877UL, 0x69929279UL, 0x7b9ffa24UL,
+0x5bc813e1UL, 0x8300c4acUL, 0x253550d7UL, 0x5f61eaf7UL, 0x54311462UL, 0x634b550dUL, 0x2111685dUL, 0x59c366c8UL,
+0x73cf633dUL, 0xc034e2ceUL, 0x877ed8d4UL, 0x212b675cUL, 0x81611f07UL, 0x7f62f739UL, 0x84301e36UL, 0x3b57ebe4UL,
+0xa4642f60UL, 0x9ccd3ad6UL, 0x3546bc1bUL, 0x2d03819eUL, 0x0cf50127UL, 0xb47a8499UL, 0x79dfe3a0UL, 0x8cf36cbaUL,
+0x94308410UL, 0x5ea93725UL, 0xfe6f6ff4UL, 0x1f3bffa1UL, 0x6afb8c20UL, 0x748c458fUL, 0x27a2e0d9UL, 0x343ac74eUL,
+0x694f88fcUL, 0xdfe84d3eUL, 0x88000eefUL, 0x8d645935UL, 0x8c38458aUL, 0x6643801dUL, 0xfd9b1d72UL, 0xbb8486a5UL,
+0x336325e8UL, 0x12824e84UL, 0x98808d12UL, 0xb43fd3feUL, 0xe10a28ceUL, 0xa59be127UL, 0x52c2a6d5UL, 0xbd5497e4UL,
+0xdd55d6c5UL, 0x647066ebUL, 0x4d0b8477UL, 0x01a8b6a1UL, 0xa926db84UL, 0x1467b5e0UL, 0xb743f021UL, 0x6058d0e5UL,
+0x8430f054UL, 0x72f46f06UL, 0x53a11aa3UL, 0x5547dcdaUL, 0xbf5d62b5UL, 0xe61b5668UL, 0x946bca83UL, 0x3bd26e2dUL,
+0xdb01cfecUL, 0xbad0d3a6UL, 0x5c3d80b6UL, 0x09a777afUL, 0x4ca3b433UL, 0xd6c87b39UL, 0x952be25eUL, 0x04530e5fUL,
+0x616fed81UL, 0x6443e720UL, 0x78135eb4UL, 0x9b6318deUL, 0x22a11c88UL, 0xd12667b9UL, 0xe8a74980UL, 0x7bdab722UL,
+0x252d555eUL, 0x37d27252UL, 0x1c95d279UL, 0x4c890dc6UL, 0x02b48c48UL, 0x5bfea41bUL, 0x6b9fb0a4UL, 0xcf15a81cUL,
+0x05300ca2UL, 0x63df7188UL, 0xcb2fdeb9UL, 0xe9c9c60cUL, 0x53ffee0bUL, 0x174521e3UL, 0x352854b4UL, 0x3c29639fUL,
+0x29e741eeUL, 0x7c2d1d6eUL, 0x86520450UL, 0xf385661eUL, 0xc60134f3UL, 0x952ca230UL, 0x5008a731UL, 0x130f9360UL,
+0x1784f973UL, 0x599826a1UL, 0x445c64ecUL, 0xa977c852UL, 0xa633ffcdUL, 0x41172ba0UL, 0xa2d9ba7cUL, 0x6f038021UL,
+0x089cd950UL, 0x61483fcbUL, 0x65d76bc2UL, 0xabf6a364UL, 0x76263480UL, 0x7b5ea725UL, 0xfcd1e6e4UL, 0xe610c720UL,
+0x80b6f0cdUL, 0x3b4d8417UL, 0x4df8ee31UL, 0xe424087eUL, 0xeb49cb2cUL, 0xae3b6a84UL, 0x8878f78fUL, 0xf6605deeUL,
+0x7356f77aUL, 0xdb5cdd2fUL, 0xc13116a1UL, 0x436ff630UL, 0x54ecfab3UL, 0xfad77f15UL, 0xcc7985efUL, 0x58de52d1UL,
+0x5efd2fdbUL, 0x19ce328fUL, 0x7af96a30UL, 0xf83ef002UL, 0xd59a3199UL, 0x0ffa42c2UL, 0xb0ebe3a7UL, 0x06498ec6UL,
+0x0c23dab8UL, 0x28308280UL, 0xc8f3dedcUL, 0x71b15fd3UL, 0xc81b8a08UL, 0x60c5c0beUL, 0xe8c9a361UL, 0x4df5a8bcUL,
+0xfaef2fc7UL, 0x992e8222UL, 0xb470c582UL, 0x894ed9d8UL, 0xbc341c8bUL, 0xe6161e30UL, 0x79e93b27UL, 0xa6eaffb0UL,
+0xc6b8d961UL, 0x6948b200UL, 0x3fceffb7UL, 0x3b28dc08UL, 0x5af6da43UL, 0x9897e1f7UL, 0x2fb71976UL, 0xa49b1c8fUL,
+0xa03786dcUL, 0xb1d3a716UL, 0xb793c39fUL, 0xeb6e13a7UL, 0x3ec6bcc6UL, 0x4237511aUL, 0xbc2868efUL, 0xd6650352UL,
+0xab776a2dUL, 0x4bed2735UL, 0x16d21f82UL, 0x2e6e5c09UL, 0xfbf292dbUL, 0xcb29ea5eUL, 0xf5925814UL, 0x7f4f5891UL,
+0x7b698354UL, 0xcca86726UL, 0x48601985UL, 0xeaac4b8cUL, 0xd4603883UL, 0xf9e0230dUL, 0x8a7e386cUL, 0x49d2e60aUL,
+0x0c6084b2UL, 0x1d7335d8UL, 0x47c6b1dcUL, 0xea564cacUL, 0xb381bd3eUL, 0xb0ab0e23UL, 0x87bc3864UL, 0xfab1b5f0UL,
+0xb3a25e8fUL, 0x424618fcUL, 0x7a6b030aUL, 0xbd89b04fUL, 0x89a59d64UL, 0x5e4145a3UL, 0x2383035cUL, 0xb93b5d3eUL,
+0x7295d743UL, 0x7cd06d7eUL, 0x1edfdf06UL, 0xefc46c6cUL, 0x39a56071UL, 0x70bebf73UL, 0x05768783UL, 0xf1ec2345UL};
+
+const uint32_t s3[] PROGMEM = {
+0x40c2ef8dUL, 0x9f5dfa25UL, 0xbf3d90ebUL, 0x07c910e8UL, 0xff7f6047UL, 0x4be49f36UL, 0x44c61f8cUL, 0x90caceaeUL,
+0xbff9b1beUL, 0xeacafbeeUL, 0x5019cfe8UL, 0xae07df51UL, 0x06880e92UL, 0x4805adf0UL, 0x838d3ce1UL, 0xd5107092UL,
+0x9f7d1011UL, 0xb97d6407UL, 0xd4e4e3b2UL, 0x5e284f3dUL, 0x20a8afb9UL, 0xe082defaUL, 0x8b2667a0UL, 0x2e797282UL,
+0xc0b23f55UL, 0x2be29a48UL, 0x9497efd4UL, 0xbc3f5e12UL, 0xeefcff21UL, 0xfd1b5b82UL, 0xedc55592UL, 0x40a25712UL,
+0x02831a4eUL, 0xff7fe0baUL, 0xe7468252UL, 0x0e14578eUL, 0xbff77333UL, 0x88819f8cUL, 0xe84efca6UL, 0xa5b582c9UL,
+0xb71dc0a8UL, 0x64c29f57UL, 0x314f0967UL, 0x5f3fbdf2UL, 0xc1f7ff40UL, 0xfc8db71fUL, 0xc1d26b8eUL, 0x9be57b43UL,
+0xbf3db099UL, 0x4bc6dbb5UL, 0xe6c08d63UL, 0x999d8155UL, 0x1cc897a1UL, 0x6e2d014aUL, 0x284a88c5UL, 0x716fc3ccUL,
+0x13c243b8UL, 0xf143076cUL, 0x3c890983UL, 0x5fdded0fUL, 0x50e87f2fUL, 0x7e7fc0d7UL, 0xbf7f5002UL, 0x049afb5aUL,
+0xd0d247a7UL, 0x2e195116UL, 0x3ebf70afUL, 0x8013c358UL, 0x2e30985fUL, 0xc4c37c72UL, 0x02b40f0aUL, 0x82ef7f0fUL,
+0xadfd968cUL, 0xae2a2c5dUL, 0x499ae98eUL, 0xb888da50UL, 0xa0f42784UL, 0x9057ac1eUL, 0x49b46f79UL, 0x15dc5282UL,
+0x9b7dbdefUL, 0x7d5972a6UL, 0xd840a8adUL, 0x0445f545UL, 0x03745dfaUL, 0x05c33ee8UL, 0x1a75914fUL, 0xc2695692UL,
+0x41e9ef23UL, 0x2ef103a9UL, 0xf20d2760UL, 0xb6e47602UL, 0x7465fd94UL, 0xb2857992UL, 0xcbdb7682UL, 0x76817702UL,
+0x8d91aff8UL, 0x9ef7484eUL, 0xdf6d618fUL, 0x0e849de2UL, 0x837d2f84UL, 0xc8e50c34UL, 0x82b6bb96UL, 0x48b1b493UL,
+0xab3c30efUL, 0x28af4f98UL, 0x9baf9f77UL, 0x0d56dc92UL, 0x201e4d22UL, 0x88aa3784UL, 0x96dc297dUL, 0xdcd35627UL,
+0xee7c908bUL, 0x40d21fb5UL, 0xe37cc0e7UL, 0xa1b466e5UL, 0x5e61e9c3UL, 0x9d20f83cUL, 0xe3d19460UL, 0x41a39ccdUL,
+0x0e46765cUL, 0x3b98ea00UL, 0x8178d6d4UL, 0x2c5747fdUL, 0xd9ed6cf7UL, 0x9c22a8bdUL, 0xaaad7d12UL, 0x4e078a43UL,
+0x90c0971fUL, 0x8adb1b08UL, 0xbe7ea093UL, 0x15ca38b9UL, 0xff3cb097UL, 0xf8c0c23dUL, 0xecb21a8dUL, 0x510e3864UL,
+0xfb7bcc68UL, 0x88270fd9UL, 0x81014912UL, 0xd4ffe55dUL, 0x6af87eddUL, 0x14e2a276UL, 0x6803a4b9UL, 0x8f955d92UL,
+0xfaff394bUL, 0xe9ae39baUL, 0x0bd3ffa4UL, 0x3b93f7faUL, 0x2386496dUL, 0xfabc3c19UL, 0x45756227UL, 0x7af45c82UL,
+0xa08bbd61UL, 0xd1421ed1UL, 0xf404adceUL, 0x92a37e12UL, 0xb78d4210UL, 0x72a97282UL, 0xa8c47092UL, 0x0be57d12UL,
+0xc8a15b28UL, 0x4ff4623cUL, 0xa5eac035UL, 0x31d205e8UL, 0xfb298942UL, 0x82dffcb4UL, 0x536ab64fUL, 0x5bc17d0eUL,
+0xab1f081fUL, 0xae188610UL, 0x6d08fdfcUL, 0x8928fff9UL, 0x11cc4b69UL, 0xae5c6a23UL, 0x4dcade12UL, 0xc58c3f2cUL,
+0xfe2dd0d2UL, 0x9658eff8UL, 0xda52cfe4UL, 0x675b1595UL, 0x8c484a49UL, 0x0ca8b6b9UL, 0xbc828f5cUL, 0x456bd389UL,
+0x3794603aUL, 0xa9c900ecUL, 0x53527144UL, 0x494b870aUL, 0x40bc73d7UL, 0x1c67347cUL, 0xf67e7102UL, 0x3655eb4fUL,
+0xff2fd0a2UL, 0xc460bfd2UL, 0xc0033fd4UL, 0x6defb450UL, 0xd18c4707UL, 0x88186e00UL, 0x553fe5a2UL, 0xbcd4e6b9UL,
+0x168004a2UL, 0x33385797UL, 0x677d20d7UL, 0x3d8f0fdeUL, 0x337bf872UL, 0x334fccabUL, 0x5dc58876UL, 0xb0a6007bUL,
+0x01007b94UL, 0xd2750057UL, 0xf888bbf9UL, 0x9e014289UL, 0xffa56442UL, 0xe0026385UL, 0x2bd9db72UL, 0x691b97eeUL,
+0xde2fa26eUL, 0x2bae085fUL, 0x6d617aafUL, 0x6787c9e5UL, 0xd2eb1fcfUL, 0xc2c8ef61UL, 0x7125acf1UL, 0xc23982ccUL,
+0xb84c2167UL, 0xd183e5b1UL, 0x623edcb7UL, 0xcebd107fUL, 0x385c0af9UL, 0x3d44f00fUL, 0xc66d6e60UL, 0x493a5460UL,
+0x48c12757UL, 0x1d8ae92bUL, 0x3817b48aUL, 0x24bee120UL, 0x0fda96afUL, 0x25844568UL, 0xe53b8399UL, 0x7d450d60UL,
+0x50932f28UL, 0x62b33483UL, 0x20111dd9UL, 0xa08d6d2bUL, 0x311e2b64UL, 0x005a309cUL, 0x88e6bc52UL, 0x8a58031bUL,
+0xd5efbaf7UL, 0x9ced4241UL, 0x115c31a4UL, 0xc53e3283UL, 0x3646efdfUL, 0x01c533a1UL, 0x1c53d3e9UL, 0x833735eeUL};
+
+const uint32_t s4[] PROGMEM = {
+0x2004b39dUL, 0xdee9b61fUL, 0xef7bbea7UL, 0x98a273d2UL, 0xdb7b4f4aUL, 0x578cad64UL, 0x43045185UL, 0xd10e02faUL,
+0xff7a287eUL, 0x63b60fe6UL, 0xa1355f09UL, 0x20f1eb79UL, 0x439d05fdUL, 0xb1b79764UL, 0x631f64f3UL, 0xdf4a1e24UL,
+0x5f7f1428UL, 0xcdb8a24fUL, 0x400043c9UL, 0x2022c30cUL, 0x300bd3fdUL, 0x4f37a5c0UL, 0xd9002d1dUL, 0x157b1424UL,
+0x1a114deeUL, 0x6751ca0fUL, 0x4c90ff71UL, 0xfe5f192dUL, 0x5f64051aUL, 0xfefe130cUL, 0xca081b08UL, 0x21011705UL,
+0x00015380UL, 0xfe5e3ee8UL, 0xf8f49aacUL, 0x0127e77fUL, 0x5feeb8d2UL, 0x6142df06UL, 0x8a9b9ebbUL, 0x25ea9372UL,
+0xdfff84ceUL, 0x018871f5UL, 0x044bd63dUL, 0x3b266fa2UL, 0x0084d47eUL, 0xe6eb7e54UL, 0xa04c6d44UL, 0xf5d6f36cUL,
+0xdfab4926UL, 0xf5c7a0aeUL, 0xc18c3336UL, 0x937e3f50UL, 0x612077d3UL, 0xe138b611UL, 0x030e5072UL, 0xbbb20ef8UL,
+0x2e50e0abUL, 0xde778decUL, 0x811e9757UL, 0x46674fe1UL, 0x005433c9UL, 0x8f312069UL, 0x99bb1d08UL, 0xa504c3ffUL,
+0x0518354dUL, 0xe35c3d7fUL, 0xc666c8a6UL, 0xa9cc5b5dUL, 0xea6fecdaUL, 0x916f929fUL, 0x2f22469fUL, 0x7d469139UL,
+0x8e6dbfa5UL, 0x4fc44311UL, 0x02839543UL, 0xeb4e21d0UL, 0xb8832002UL, 0x0c18b63fUL, 0x1e93f818UL, 0xe6581628UL,
+0x3e6e4826UL, 0x708ad78bUL, 0xc1e47774UL, 0x7ce006b5UL, 0x250a2df3UL, 0x028b0979UL, 0x81bbeae4UL, 0x233b1228UL,
+0x38adde69UL, 0x16ca7415UL, 0x621b87dfUL, 0xb7401c21UL, 0xf99e1aa5UL, 0x7b371400UL, 0xc88a1e04UL, 0x03401109UL,
+0xd2e459bdUL, 0xd556d1e3UL, 0xd576e84fUL, 0x40a3912fUL, 0xdee87b55UL, 0xa7e4ea00UL, 0xecc2e50cUL, 0xa6bbb44dUL,
+0xffbd56e7UL, 0xac6933ddUL, 0x35b017ecUL, 0x27235706UL, 0xb0c8af99UL, 0x91c3c856UL, 0x1c81656bUL, 0x1961145eUL,
+0x75cb856eUL, 0x02c007beUL, 0x775532c2UL, 0xecf43f89UL, 0x2dc9bf5bUL, 0x253becd0UL, 0xb71a80b7UL, 0x243b6d8dUL,
+0xef63c720UL, 0xfca566c3UL, 0x8028389cUL, 0x0532ce0aUL, 0x8a54c9aaUL, 0xc7d7a1ecUL, 0x32fa1a04UL, 0x5a62161dUL,
+0x2c900167UL, 0x547a759bUL, 0xf777d431UL, 0x31b02691UL, 0xdb6fcc36UL, 0x468b0bc7UL, 0x486ae6d9UL, 0x795ae556UL,
+0xeb4c6a02UL, 0xff7e4352UL, 0xb4768f2fUL, 0xa580f90dUL, 0xe3cd7486UL, 0xeb04daedUL, 0x04bea917UL, 0xdff4182cUL,
+0x9d7f74b7UL, 0xb4f72aabUL, 0x204dc3efUL, 0x7c6b092eUL, 0x54a24117UL, 0x35a0b6e5UL, 0xf6423d21UL, 0x267c1c2cUL,
+0x0ff5c261UL, 0xf9da5265UL, 0xf831c2d2UL, 0x690f1325UL, 0xa27f16d8UL, 0xc8f21804UL, 0xa6961a00UL, 0xab26150dUL,
+0x215c3163UL, 0xec720a5eUL, 0xfdfeba49UL, 0xd9087918UL, 0x86bd0d8dUL, 0xa7701131UL, 0x0c649b3eUL, 0xd7103eccUL,
+0xb6d3cad5UL, 0x88c3ae0cUL, 0xe10130f7UL, 0xff8a726cUL, 0xa1e2ea71UL, 0x6ef39a1fUL, 0x2fd1cbcfUL, 0x1784dec1UL,
+0x6bbe07acUL, 0xd8a144cbUL, 0x560f9b8bUL, 0xc3883901UL, 0xca2fc5b1UL, 0xcd31beb4UL, 0x062878d8UL, 0xe2a4a312UL,
+0x32e57d6fUL, 0xb67efd58UL, 0x00e91ed0UL, 0xc2ffad24UL, 0xc50f99f4UL, 0xc5aa1197UL, 0x957b1d00UL, 0xd2e7e582UL,
+0xf6739810UL, 0x96306100UL, 0x21952dc3UL, 0xff21a1adUL, 0x15849029UL, 0x7f97bb7fUL, 0xdbb39eafUL, 0x2aedc929UL,
+0x65a4e25cUL, 0x2cf330a7UL, 0xe83faad0UL, 0x91c05c8aUL, 0xe72c9ed4UL, 0xa954e40cUL, 0x86cd0ad6UL, 0x19195f01UL,
+0x03910777UL, 0xf63aa0deUL, 0x5e56a878UL, 0xdf56e3deUL, 0xbe5cf021UL, 0x87e3758bUL, 0x5106c5b3UL, 0xefc3a5b8UL,
+0xd2b6eed8UL, 0x77be23e5UL, 0x294515c2UL, 0xdfef692fUL, 0xfb7ae6afUL, 0xb2c470f4UL, 0x5bebe0f3UL, 0x7698ccd6UL,
+0x0c46e439UL, 0x3885da1fUL, 0x2f838719UL, 0x677300caUL, 0xf84491a9UL, 0x9e296b29UL, 0x95c22f49UL, 0xabbe6692UL,
+0x696e67b5UL, 0xdaddd39bUL, 0x2f057edfUL, 0x1c7025dbUL, 0xee515e1bUL, 0xe62453f6UL, 0x6ce3fc6aUL, 0x04cc1603UL,
+0x3e214486UL, 0xd059dcb7UL, 0x1f296579UL, 0x43fdd6ccUL, 0x79398241UL, 0xf6cd2b93UL, 0x4dc357b6UL, 0x82d2df4eUL,
+0x0c29e57aUL, 0x6b53b93cUL, 0xfe201e85UL, 0x7e553398UL, 0xb0f0ec13UL, 0x72b3ffd3UL, 0xc1c5853fUL, 0xd27eef0aUL};
+
+#endif
+
--- /dev/null
+/* cast6-sbox.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 <http://www.gnu.org/licenses/>.
+*/
+/*
+ * File: cast6-sbox.h
+ * Author: Daniel Otte
+ * Date: 26.07.2006
+ * License: GPL
+ * Description: sboxes for CAST6 (aka CAST-256) cipher algorithm as described in RFC 2612.
+ *
+ */
+
+#ifndef CAST6_SBOX_H_
+#define CAST6_SBOX_H_
+
+#include <avr/pgmspace.h>
+#include <stdint.h>
+
+extern const uint32_t s1[] ;
+extern const uint32_t s2[] ;
+extern const uint32_t s3[] ;
+extern const uint32_t s4[] ;
+
+#endif
+
#include <string.h>
#include <avr/pgmspace.h>
#include "cast6.h"
-#include "cast6_sboxes.h"
+#include "cast6-sbox.h"
#define CHANGE_ENDIAN32(x) (((x)<<24 | (x)>>24 | ((x)&0xff00)<<8 | ((x)&0xff0000)>>8)&0xffffffff)
ctx->km[j][1]=F;
ctx->km[j][2]=D;
ctx->km[j][3]=B;
- set_kr((uint8_t)A,j*4+0,ctx);
- set_kr((uint8_t)C,j*4+1,ctx);
- set_kr((uint8_t)E,j*4+2,ctx);
- set_kr((uint8_t)G,j*4+3,ctx);
+ set_kr(buffer[0*4],j*4+0,ctx);
+ set_kr(buffer[2*4],j*4+1,ctx);
+ set_kr(buffer[4*4],j*4+2,ctx);
+ set_kr(buffer[6*4],j*4+3,ctx);
}
}
}
#include <stdint.h>
#include <avr/pgmspace.h>
-uint8_t cscipher_sbox[] PROGMEM = {
+const uint8_t cscipher_sbox[] PROGMEM = {
0x29, 0x0d, 0x61, 0x40, 0x9c, 0xeb, 0x9e, 0x8f, 0x1f, 0x85, 0x5f, 0x58, 0x5b, 0x01, 0x39, 0x86,
0x97, 0x2e, 0xd7, 0xd6, 0x35, 0xae, 0x17, 0x16, 0x21, 0xb6, 0x69, 0x4e, 0xa5, 0x72, 0x87, 0x08,
0x3c, 0x18, 0xe6, 0xe7, 0xfa, 0xad, 0xb8, 0x89, 0xb7, 0x00, 0xf7, 0x6f, 0x73, 0x84, 0x11, 0x63,
#define P(a) pgm_read_byte(cscipher_sbox+(a))
#endif
-static uint8_t round_const[] PROGMEM = {
+static const uint8_t round_const[] PROGMEM = {
0xb7, 0xe1, 0x51, 0x62, 0x8a, 0xed, 0x2a, 0x6a,
0xbf, 0x71, 0x58, 0x80, 0x9c, 0xf4, 0xf3, 0xc7 };
-static uint8_t ks_const[] PROGMEM = {
+static const uint8_t ks_const[] PROGMEM = {
0x29,0x0d,0x61,0x40,0x9c,0xeb,0x9e,0x8f,
0x1f,0x85,0x5f,0x58,0x5b,0x01,0x39,0x86,
0x97,0x2e,0xd7,0xd6,0x35,0xae,0x17,0x16,
/* des.c */
/*
- This file is part of the AVR-Crypto-Lib.
- Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de)
+ 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
* \license GPLv3 or later
*
*/
-#include "config.h"
-#include "debug.h"
-#include "cli.h"
#include <stdint.h>
#include <string.h>
-#include <util/delay.h>
#include <avr/pgmspace.h>
-prog_uint8_t sbox[256] = {
+const uint8_t sbox[256] PROGMEM = {
/* S-box 1 */
0xE4, 0xD1, 0x2F, 0xB8, 0x3A, 0x6C, 0x59, 0x07,
0x0F, 0x74, 0xE2, 0xD1, 0xA6, 0xCB, 0x95, 0x38,
0x21, 0xE7, 0x4A, 0x8D, 0xFC, 0x90, 0x35, 0x6B
};
-prog_uint8_t e_permtab[] ={
+const uint8_t e_permtab[] PROGMEM = {
4, 6, /* 4 bytes in 6 bytes out*/
32, 1, 2, 3, 4, 5,
4, 5, 6, 7, 8, 9,
28, 29, 30, 31, 32, 1
};
-prog_uint8_t p_permtab[] ={
+const uint8_t p_permtab[] PROGMEM = {
4, 4, /* 32 bit -> 32 bit */
16, 7, 20, 21,
29, 12, 28, 17,
22, 11, 4, 25
};
-prog_uint8_t ip_permtab[] ={
+const uint8_t ip_permtab[] PROGMEM = {
8, 8, /* 64 bit -> 64 bit */
58, 50, 42, 34, 26, 18, 10, 2,
60, 52, 44, 36, 28, 20, 12, 4,
63, 55, 47, 39, 31, 23, 15, 7
};
-prog_uint8_t inv_ip_permtab[] ={
+const uint8_t inv_ip_permtab[] PROGMEM = {
8, 8, /* 64 bit -> 64 bit */
40, 8, 48, 16, 56, 24, 64, 32,
39, 7, 47, 15, 55, 23, 63, 31,
33, 1, 41, 9, 49, 17, 57, 25
};
-prog_uint8_t pc1_permtab[] ={
+const uint8_t pc1_permtab[] PROGMEM = {
8, 7, /* 64 bit -> 56 bit*/
57, 49, 41, 33, 25, 17, 9,
1, 58, 50, 42, 34, 26, 18,
21, 13, 5, 28, 20, 12, 4
};
-prog_uint8_t pc2_permtab[] ={
+const uint8_t pc2_permtab[] PROGMEM = {
7, 6, /* 56 bit -> 48 bit */
14, 17, 11, 24, 1, 5,
3, 28, 15, 6, 21, 10,
46, 42, 50, 36, 29, 32
};
-prog_uint8_t splitin6bitword_permtab[] = {
+const uint8_t splitin6bitword_permtab[] PROGMEM = {
8, 8, /* 64 bit -> 64 bit */
64, 64, 1, 6, 2, 3, 4, 5,
64, 64, 7, 12, 8, 9, 10, 11,
64, 64, 43, 48, 44, 45, 46, 47
};
-prog_uint8_t shiftkey_permtab[] = {
+const uint8_t shiftkey_permtab[] PROGMEM = {
7, 7, /* 56 bit -> 56 bit */
2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17,
54, 55, 56, 29
};
-prog_uint8_t shiftkeyinv_permtab[] = {
+const uint8_t shiftkeyinv_permtab[] PROGMEM = {
7, 7,
28, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15,
#define ROTTABLE_INV 0x3F7E
/******************************************************************************/
-void permute(prog_uint8_t *ptable, const uint8_t *in, uint8_t *out){
- uint8_t ib, ob; /* in-bytes and out-bytes */
+void permute(const uint8_t *ptable, const uint8_t *in, uint8_t *out){
+ uint8_t ob; /* in-bytes and out-bytes */
uint8_t byte, bit; /* counter for bit and byte */
- ib = pgm_read_byte(&(ptable[0]));
- ob = pgm_read_byte(&(ptable[1]));
+ ob = pgm_read_byte(&ptable[1]);
ptable = &(ptable[2]);
for(byte=0; byte<ob; ++byte){
uint8_t x,t=0;
for(bit=0; bit<8; ++bit){
- x=pgm_read_byte(&(ptable[byte*8+bit])) -1 ;
- t<<=1;
+ x = pgm_read_byte(ptable++) -1 ;
+ t <<= 1;
if((in[x/8]) & (0x80>>(x%8)) ){
t|=0x01;
}
void shiftkey(uint8_t *key){
uint8_t k[7];
memcpy(k, key, 7);
- permute((prog_uint8_t*)shiftkey_permtab, k, key);
+ permute((uint8_t*)shiftkey_permtab, k, key);
}
/******************************************************************************/
void shiftkey_inv(uint8_t *key){
uint8_t k[7];
memcpy(k, key, 7);
- permute((prog_uint8_t*)shiftkeyinv_permtab, k, key);
+ permute((uint8_t*)shiftkeyinv_permtab, k, key);
}
uint64_t splitin6bitwords(uint64_t a){
uint64_t ret=0;
a &= 0x0000ffffffffffffLL;
- permute((prog_uint8_t*)splitin6bitword_permtab, (uint8_t*)&a, (uint8_t*)&ret);
+ permute((uint8_t*)splitin6bitword_permtab, (uint8_t*)&a, (uint8_t*)&ret);
return ret;
}
/******************************************************************************/
static inline
-uint8_t substitute(uint8_t a, prog_uint8_t * sbp){
+uint8_t substitute(uint8_t a, uint8_t * sbp){
uint8_t x;
- x = pgm_read_byte(&(sbp[a>>1]));
+ x = pgm_read_byte(&sbp[a>>1]);
x = (a&1)?x&0x0F:x>>4;
return x;
uint8_t i;
uint32_t t=0,ret;
uint64_t data;
- prog_uint8_t *sbp; /* sboxpointer */
- permute((prog_uint8_t*)e_permtab, (uint8_t*)&r, (uint8_t*)&data);
+ uint8_t *sbp; /* sboxpointer */
+ permute((uint8_t*)e_permtab, (uint8_t*)&r, (uint8_t*)&data);
for(i=0; i<7; ++i)
((uint8_t*)&data)[i] ^= kr[i];
/* Sbox substitution */
data = splitin6bitwords(data);
- sbp=(prog_uint8_t*)sbox;
+ sbp=(uint8_t*)sbox;
for(i=0; i<8; ++i){
uint8_t x;
x = substitute(((uint8_t*)&data)[i], sbp);
- t<<=4;
+ t <<= 4;
t |= x;
sbp += 32;
}
changeendian32(&t);
- permute((prog_uint8_t*)p_permtab,(uint8_t*)&t, (uint8_t*)&ret);
+ permute((uint8_t*)p_permtab,(uint8_t*)&t, (uint8_t*)&ret);
return ret;
}
/******************************************************************************/
void des_enc(void* out, const void* in, const void* key){
-#define R *((uint32_t*)&(data[4]))
-#define L *((uint32_t*)&(data[0]))
+#define R (data.v32[1])
+#define L (data.v32[0])
- uint8_t data[8],kr[6],k[7];
+ uint8_t kr[6],k[7];
uint8_t i;
+ union {
+ uint8_t v8[8];
+ uint32_t v32[2];
+ } data;
- permute((prog_uint8_t*)ip_permtab, (uint8_t*)in, data);
- permute((prog_uint8_t*)pc1_permtab, (uint8_t*)key, k);
+ permute((uint8_t*)ip_permtab, (uint8_t*)in, data.v8);
+ permute((uint8_t*)pc1_permtab, (const uint8_t*)key, k);
for(i=0; i<8; ++i){
shiftkey(k);
if(ROTTABLE&((1<<((i<<1)+0))) )
shiftkey(k);
- permute((prog_uint8_t*)pc2_permtab, k, kr);
+ permute((uint8_t*)pc2_permtab, k, kr);
L ^= des_f(R, kr);
shiftkey(k);
if(ROTTABLE&((1<<((i<<1)+1))) )
shiftkey(k);
- permute((prog_uint8_t*)pc2_permtab, k, kr);
+ permute((uint8_t*)pc2_permtab, k, kr);
R ^= des_f(L, kr);
}
R ^= L;
L ^= R;
R ^= L;
-
- permute((prog_uint8_t*)inv_ip_permtab, data, (uint8_t*)out);
+ permute((uint8_t*)inv_ip_permtab, data.v8, (uint8_t*)out);
}
/******************************************************************************/
void des_dec(void* out, const void* in, const uint8_t* key){
-#define R *((uint32_t*)&(data[4]))
-#define L *((uint32_t*)&(data[0]))
-
- uint8_t data[8],kr[6],k[7];
+ uint8_t kr[6],k[7];
+ union {
+ uint8_t v8[8];
+ uint32_t v32[2];
+ } data;
int8_t i;
-
- permute((prog_uint8_t*)ip_permtab, (uint8_t*)in, data);
- permute((prog_uint8_t*)pc1_permtab, (uint8_t*)key, k);
+ permute((uint8_t*)ip_permtab, (uint8_t*)in, data.v8);
+ permute((uint8_t*)pc1_permtab, (const uint8_t*)key, k);
for(i=7; i>=0; --i){
- permute((prog_uint8_t*)pc2_permtab, k, kr);
+ permute((uint8_t*)pc2_permtab, k, kr);
L ^= des_f(R, kr);
shiftkey_inv(k);
if(ROTTABLE&((1<<((i<<1)+1))) ){
shiftkey_inv(k);
}
- permute((prog_uint8_t*)pc2_permtab, k, kr);
+ permute((uint8_t*)pc2_permtab, k, kr);
R ^= des_f(L, kr);
shiftkey_inv(k);
if(ROTTABLE&((1<<((i<<1)+0))) ){
R ^= L;
L ^= R;
R ^= L;
-
- permute((prog_uint8_t*)inv_ip_permtab, data, (uint8_t*)out);
+ permute((uint8_t*)inv_ip_permtab, data.v8, (uint8_t*)out);
}
/******************************************************************************/
#define ALL_LEN_B (PRIV_LEN_B+PUB_LEN_B+P_LEN_B+Q_LEN_B+G_LEN_B)
-static uint8_t dsa_key_blob[] PROGMEM = {
+static const uint8_t dsa_key_blob[] PROGMEM = {
// priv:
0xac, 0xe6, 0xef, 0x99, 0x08, 0xe8, 0x5f, 0xc8,
#define G_LEN_B (16*8)
#define ALL_LEN_B (PRIV_LEN_B+PUB_LEN_B+P_LEN_B+Q_LEN_B+G_LEN_B)
-static uint8_t dsa_key_blob[] PROGMEM = {
+static const uint8_t dsa_key_blob[] PROGMEM = {
// priv:
0x03, 0xad, 0x17, 0x81, 0x0f, 0x70, 0x7f, 0x89,
0xa2, 0x0a, 0x70, 0x1c, 0x3b, 0x24, 0xff, 0xd2,
#define G_LEN_B (32*8)
#define ALL_LEN_B (PRIV_LEN_B+PUB_LEN_B+P_LEN_B+Q_LEN_B+G_LEN_B)
-static uint8_t dsa_key_blob[] PROGMEM = {
+static const uint8_t dsa_key_blob[] PROGMEM = {
/* priv: */
0x1d, 0xe4, 0x81, 0x02, 0x52, 0x6b, 0x2b, 0x0e,
0x98, 0x08, 0xc8, 0xb9, 0x81, 0x40, 0xd1, 0x1e,
* param state: r24:r25
* param ks: r22:r23
*/
-.global aes_encrypt_round
-aes_encrypt_round:
+.global aes_enc_round
+aes_enc_round:
push_range 2, 17
push r28
push r29
#include "echo.h"
#include "gf256mul.h"
#include "memxor.h"
+#include "aes_enc_round.h"
#include <stdint.h>
#include <string.h>
#include "cli.h"
#endif
-void aes_encrypt_round(void* state, void* key);
#define INDEX(c,r) ((c)*16*4+(r)*16)
static void echo_compress(uint8_t* s, uint8_t iterations, uint64_t* c, void* salt){
uint8_t i, j;
- uint8_t k[16];
+ union {
+ uint8_t v8[16];
+ uint64_t v64[2];
+ } k;
#if DEBUG
uint8_t round=0;
#endif
- memcpy(k, c, 8);
- memset(k+8, 0, 8);
+ memcpy(k.v8, c, 8);
+ memset(k.v8+8, 0, 8);
do{
/* BIG.SubWords */
#if DEBUG
}
#endif
for(i=0; i<16; ++i){
- aes_encrypt_round(s+16*i, k);
- aes_encrypt_round(s+16*i, salt);
- *((uint64_t*)(k)) += 1;
+ aes_enc_round((aes_cipher_state_t*)(s+16*i), (aes_roundkey_t*)k.v8);
+ aes_enc_round((aes_cipher_state_t*)(s+16*i), (aes_roundkey_t*)salt);
+ k.v64[0] += 1;
}
#if DEBUG
if(round<DEBUG_DEPTH){
#define _B(i) (((ctx->nfsr[9-((i)/8)])>>(7-((i)%8)))&1)
-uint8_t h_lut[4] PROGMEM = {0x4C, 0xB6, 0xD3, 0x26};
+const uint8_t h_lut[4] PROGMEM = {0x4C, 0xB6, 0xD3, 0x26};
#ifdef GRAIN_BADOPTIMISATION
-uint8_t g_lut[128] PROGMEM = {
+const uint8_t g_lut[128] PROGMEM = {
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,
#define dump_m(m)
#endif
-static uint8_t matrix[] PROGMEM = {
+static const uint8_t matrix[] PROGMEM = {
2, 2, 3, 4, 5, 3, 5, 7,
7, 2, 2, 3, 4, 5, 3, 5,
5, 7, 2, 2, 3, 4, 5, 3,
#define dump_m(m)
#endif
-static uint8_t matrix[] PROGMEM = {
+static const uint8_t matrix[] PROGMEM = {
2, 2, 3, 4, 5, 3, 5, 7,
7, 2, 2, 3, 4, 5, 3, 5,
5, 7, 2, 2, 3, 4, 5, 3,
nessie_hash_run();
}
-void hfal_nessie_multiple(const hfdesc_t** hd_list){
+void hfal_nessie_multiple(const hfdesc_t* const* hd_list){
const hfdesc_t* hd;
for(;;){
hd = (void*)pgm_read_word(hd_list);
#include "hashfunction_descriptor.h"
void hfal_nessie(const hfdesc_t* hd);
-void hfal_nessie_multiple(const hfdesc_t** hd_list);
+void hfal_nessie_multiple(const hfdesc_t* const* hd_list);
#endif /* HFAL_NESSIE_H_ */
}
}
-void hfal_performance_multiple(const hfdesc_t** hd_list){
+void hfal_performance_multiple(const hfdesc_t* const* hd_list){
const hfdesc_t* hd;
for(;;){
hd = (void*)pgm_read_word(hd_list);
#include "hashfunction_descriptor.h"
void hfal_performance(const hfdesc_t* hd);
-void hfal_performance_multiple(const hfdesc_t** hd_list);
+void hfal_performance_multiple(const hfdesc_t* const* hd_list);
#endif /* HFAL_PERFORMANCE_H_ */
require 'rubygems'
require 'serialport'
+$debug = false
+
def read_line(error_msg=true)
- s = $sp.gets()
- if s==nil
- puts("ERROR: read timeout!\n") if error_msg
- return nil
- end
- s.gsub(/\006/, '');
+ begin
+ i = $extended_wait
+ begin
+ s = $sp.gets()
+ i -= 1
+ end while !s && i > 0
+ if s==nil
+ puts("ERROR: read timeout!\n") if error_msg
+ return nil
+ end
+ putc('.') if s.include?(6.chr)
+ puts(s.inspect) if $debug
+ end while s == 6.chr
+ s.gsub(/\006/, '')
end
def readTestVector(param)
puts("\nPort: "+ARGV[0]+ "@"+ARGV[1]+" "+ARGV[2]+"N"+ARGV[3]+"\n");
$linewidth = 16
$sp = SerialPort.new(ARGV[0], ARGV[1].to_i, ARGV[2].to_i, ARGV[3].to_i, SerialPort::NONE);
-$sp.read_timeout=1000; # 1 secound
-$extended_wait=100;
+$sp.read_timeout=1000; # 1 second
+$extended_wait=10;
$sp.write(command);
if(readTestVector(param)==false)
def skip_header(file)
begin
l = file.gets().strip
+ l = '' if !l
end until /[*]{10,}.*/.match(l)
begin
l = file.gets().strip
+ l = '' if !l
end until /[*]{10,}.*/.match(l)
begin
l = file.gets().strip
+ l = '' if !l
end until /[=]{5,}.*/.match(l)
begin
l = file.gets().strip
+ l = '' if !l
end until /[=]{5,}.*/.match(l)
end
#!/usr/bin/ruby
# shavs_test.rb
=begin
- This file is part of the AVR-Crypto-Lib.
+ This file is part of the ARM-Crypto-Lib.
Copyright (C) 2008, 2009 Daniel Otte (daniel.otte@rub.de)
This program is free software: you can redistribute it and/or modify
require 'serialport'
require 'getopt/std'
-$buffer_size = 0
+$buffer_size = 0 # set automatically in init_system
$conffile_check = Hash.new
$conffile_check.default = 0
conf[m[1]] = Hash.new
next
end
- next if not /=/.match(line)
+ next if ! /=/.match(line)
m=/[\s]*([^\s]*)[\s]*=[\s]*([^\s]*)/.match(line)
if m[1]=="include"
Dir.glob(m[2]){ |fn| conf = readconfigfile(fn, conf) }
line=$sp.gets()
end while not m=/buffer_size[\s]*=[\s]*0x([0-9A-Fa-f]*)/.match(line)
$buffer_size = m[1].to_i(16)
+ printf("buffer_size = %d\n", $buffer_size)
end
################################################################################
def get_md
begin
line = $sp.gets()
+ puts("DBG got: " + line.inspect) if $debug
line = "" if line==nil
- puts("DBG got: "+line) if $debug
+ # puts("DBG got: "+line) if $debug
end while not /[\s]*MD[\s]*=.*/.match(line)
return line
end
################################################################################
# send_md #
################################################################################
-
+=begin
def send_md(md_string)
$sp.print("Msg = ")
for i in 0..md_string.length-1
$sp.print(md_string[i].chr)
-# print("DBG s: "+ md_string[i].chr) if $debug
-# sleep(0.001)
- if((i%($buffer_size*2)==0)&&(i!=0))
- begin
- line=$sp.gets()
- end while not /\./.match(line)
- end
+ if((i%($buffer_size*2)==0)&&(i!=0))
+ begin
+ line=$sp.gets()
+ end while not /\./.match(line)
+ end
+ end
+end
+=end
+def send_md(md_string)
+# puts 'DBG: send_md; md_string.length = '+md_string.length.to_s+'; buffer_size = '+$buffer_size.to_s
+ bs = $buffer_size*2
+ $sp.print("Msg = ")
+ $sp.print(md_string[0])
+ md_string = md_string[1..-1]
+ for i in 0..((md_string.length)/bs)
+# puts 'DBG bulk send'
+ if(md_string.length-i*bs<=bs)
+ # puts "DBG: i="+i.to_s()
+ t = md_string[(i*bs)..-1]
+ printf("sending final %d chars: %s\n", t.length, t[-10..-1]) if $debug
+ $sp.print(t)
+ return
+ end
+ t = md_string[(i*bs)..((i+1)*bs-1)]
+ printf("sending %d chars: %s\n", t.length, t[-10..-1]) if $debug
+ $sp.print(t)
+ sleep(0.1)
+ print("going to wait ... : ") if $debug
+ begin
+ line=$sp.gets()
+ puts(line.inspect) if $debug
+ line='' if !line
+ end while ! /\./.match(line)
end
end
+
################################################################################
# run_test #
################################################################################
$sp.print(lb.strip)
$sp.print("\r")
begin
- lb=file.gets()
+ lb=file.gets()
end while not (file.eof or (m=/[\s]*Msg[\s]*=[\s]*([0-9a-fA-F]*)/.match(lb)))
return if file.eof
puts("DBG sending: "+lb) if $debug
send_md(m[1])
+ puts("DBG sending [done] getting...") if $debug
avr_md = get_md()
+ puts("DBG getting [done]") if $debug
begin
- lb=file.gets()
+ lb=file.gets()
end while not /[\s]*MD[\s]*=.*/.match(lb)
a = (/[\s]*MD[\s]*=[\s]*([0-9a-fA-F]*).*/.match(lb))[1];
b = (/[\s]*MD[\s]*=[\s]*([0-9a-fA-F]*).*/.match(avr_md))[1];
################################################################################
# MAIN #
################################################################################
-
-opts = Getopt::Std.getopts("s:f:i:j:hdca")
+#
+# Options:
+# -s {algo_letter} run only specified algos
+# -f <file> also read config from <file>
+# -i <n> skip until test nr. <n>
+# -j <n> start with testfile <n>
+# -o use just one testfile
+# -h ???
+# -d enable debug mode
+# -c ???
+# -a ???
+
+opts = Getopt::Std.getopts("s:f:i:j:hdcao")
conf = Hash.new
conf = readconfigfile("/etc/testport.conf", conf)
puts("No test-set defined for #{algo} \r\n")
next
else
- i=0
- i = opts["j"] if opts["j"]
- logfile=File.open(conf["PORT"]["testlogbase"]+algo+".txt", "a")
- while conf[algo]["file_#{i}"] != nil
- puts("Testing #{algo} with #{conf[algo]["file_#{i}"]}")
- reset_system()
- init_system(algoa[1])
- skip=0
- skip=opts["i"].to_i if opts["i"]
- nerrors=run_test(conf[algo]["file_#{i}"], skip)
+ i=0
+ i = opts["j"].to_i if opts["j"]
+ logfile=File.open(conf["PORT"]["testlogbase"]+algo+".txt", "a")
+ while conf[algo]["file_#{i}"] != nil
+ puts("Testing #{algo} with #{conf[algo]["file_#{i}"]}")
+ reset_system()
+ init_system(algoa[1])
+ skip=0
+ skip=opts["i"].to_i if opts["i"]
+ nerrors=run_test(conf[algo]["file_#{i}"], skip)
if nerrors == 0
puts("\n[ok]")
logfile.puts("[ok] "+conf[algo]["file_#{i}"]+ " ("+Time.now.to_s()+")")
puts("\n[errors: "+ nerrors.to_s() +"]")
logfile.puts("[error] "+nerrors.to_s+" "+conf[algo]["file_#{i}"]+ " ("+Time.now.to_s()+")")
end
- i += 1
+ i = i+1
+ break if opts["o"]
end
logfile.close()
end
#include "cli.h"
#endif
-static uint8_t sbox0[] PROGMEM =
+const static uint8_t sbox0[] PROGMEM =
{ 9, 0, 4, 11, 13, 12, 3, 15, 1, 10, 2, 6, 7, 5, 8, 14 };
-static uint8_t sbox1[] PROGMEM =
+const static uint8_t sbox1[] PROGMEM =
{ 3, 12, 6, 13, 5, 7, 1, 9, 15, 2, 0, 4, 11, 10, 14, 8 };
-static uint8_t round_const_0[] PROGMEM = {
+const static uint8_t round_const_0[] PROGMEM = {
0x6a, 0x09, 0xe6, 0x67, 0xf3, 0xbc, 0xc9, 0x08,
0xb2, 0xfb, 0x13, 0x66, 0xea, 0x95, 0x7d, 0x3e,
0x3a, 0xde, 0xc1, 0x75, 0x12, 0x77, 0x50, 0x99,
static
void jh_round(uint8_t* a, const uint8_t* rc){
uint8_t b[128];
- uint8_t i,r,x,y;
+ uint8_t i,r=0,x,y;
for(i=0; i<128; ++i){
if(i%4==0){
r = rc[i/4];
static
void jh_round(uint8_t* a, uint8_t roundno){
uint8_t b[128];
- uint8_t i,r,u,v,x,y;
+ uint8_t i,r=0,u,v,x,y;
uint8_t *pr;
pr = jh_round_const + 32*roundno;
for(i=0; i<128; ++i){
}
}
+/*
static
uint8_t jh_l_inv(uint8_t a){
uint8_t v,w;
w ^= ((v<<1)^(v>>3)^((v>>2)&2))&0xf;
return w|(v<<4);
}
+*/
static inline
void group(uint8_t *a){
#include <stdint.h>
#include <avr/pgmspace.h>
-uint8_t jh_permutation_table[] PROGMEM = {
+const uint8_t jh_permutation_table[] PROGMEM = {
0x00, 0x03, 0x04, 0x07, 0x08, 0x0B, 0x0C, 0x0F, 0x10, 0x13, 0x14, 0x17, 0x18, 0x1B, 0x1C, 0x1F,
0x20, 0x23, 0x24, 0x27, 0x28, 0x2B, 0x2C, 0x2F, 0x30, 0x33, 0x34, 0x37, 0x38, 0x3B, 0x3C, 0x3F,
0x40, 0x43, 0x44, 0x47, 0x48, 0x4B, 0x4C, 0x4F, 0x50, 0x53, 0x54, 0x57, 0x58, 0x5B, 0x5C, 0x5F,
0xE2, 0xE1, 0xE6, 0xE5, 0xEA, 0xE9, 0xEE, 0xED, 0xF2, 0xF1, 0xF6, 0xF5, 0xFA, 0xF9, 0xFE, 0xFD
};
-uint8_t jh_lutbox[] PROGMEM = {
+const uint8_t jh_lutbox[] PROGMEM = {
0xA8, 0xB1, 0x35, 0xEA, 0x2C, 0x0D, 0xD2, 0x6E, 0x90, 0xCB, 0xF3, 0x77, 0x56, 0x14, 0x89, 0x4F,
0x19, 0x00, 0x84, 0x5B, 0x9D, 0xBC, 0x63, 0xDF, 0x21, 0x7A, 0x42, 0xC6, 0xE7, 0xA5, 0x38, 0xFE,
0x61, 0x78, 0xFC, 0x23, 0xE5, 0xC4, 0x1B, 0xA7, 0x59, 0x02, 0x3A, 0xBE, 0x9F, 0xDD, 0x40, 0x86,
0x80, 0x5F, 0x25, 0x7E, 0x46, 0x04, 0xC2, 0xFA, 0x3C, 0xA1, 0xE3, 0x67, 0xB8, 0x99, 0x1D, 0xDB
};
-uint8_t jh_round_const[] PROGMEM = {
+const uint8_t jh_round_const[] PROGMEM = {
/* C_00: */
0x6a, 0x09, 0xe6, 0x67, 0xf3, 0xbc, 0xc9, 0x08,
0xb2, 0xfb, 0x13, 0x66, 0xea, 0x95, 0x7d, 0x3e,
#endif
/*
-static uint64_t rc[] PROGMEM = {
+const uint64_t rc[] PROGMEM = {
0x0000000000000001LL, 0x0000000000008082LL,
0x800000000000808ALL, 0x8000000080008000LL,
0x000000000000808BLL, 0x0000000080000001LL,
};
*/
-static uint8_t rc_comp[] PROGMEM = {
+const static uint8_t rc_comp[] PROGMEM = {
0x01, 0x92, 0xda, 0x70,
0x9b, 0x21, 0xf1, 0x59,
0x8a, 0x88, 0x39, 0x2a,
0xf1, 0xd0, 0x21, 0x78,
};
-static uint8_t r[5][5] PROGMEM = {
+const static uint8_t r[5][5] PROGMEM = {
{ ROT_CODE( 0), ROT_CODE(36), ROT_CODE( 3), ROT_CODE(41), ROT_CODE(18) },
{ ROT_CODE( 1), ROT_CODE(44), ROT_CODE(10), ROT_CODE(45), ROT_CODE( 2) },
{ ROT_CODE(62), ROT_CODE( 6), ROT_CODE(43), ROT_CODE(15), ROT_CODE(61) },
}
}
i=0;
- while(min<max){
+ while(min<=max){
((uint16_t*)*list)[i++] = min;
min += distance;
}
}
}
i=0;
- while(min<max){
+ while(min<=max){
((uint16_t*)*list)[i++] = min;
min += distance;
}
9x Ex 5x 6x Ax 2x 3x Cx Fx 0x 4x Dx 7x Bx 1x 8x
*/
-static uint8_t pq_lut[16] PROGMEM = {
+static const uint8_t pq_lut[16] PROGMEM = {
0x39, 0xFE, 0xE5, 0x06, 0x5A, 0x42, 0xB3, 0xCC,
0xDF, 0xA0, 0x94, 0x6D, 0x77, 0x8B, 0x21, 0x18
};
* 07x 0Bx 08x 06x 05x 04x 03x 01x
*/
-static uint8_t h[8][4] PROGMEM = {
+static const uint8_t h[8][4] PROGMEM = {
{ 0x13, 0x45, 0x68, 0xB7 },
{ 0x31, 0x54, 0x86, 0x7B },
{ 0x45, 0x13, 0xB7, 0x68 },
--- /dev/null
+/* md5_sbox.c */
+/*
+ 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 <http://www.gnu.org/licenses/>.
+*/
+#include <stdint.h>
+#include <avr/pgmspace.h>
+
+const uint32_t md5_T[] PROGMEM = {
+ 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf,
+ 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af,
+ 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e,
+ 0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
+ 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, 0x21e1cde6,
+ 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
+ 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122,
+ 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
+ 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039,
+ 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, 0xf4292244, 0x432aff97,
+ 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d,
+ 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
+ 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391 };
+
#include <stdint.h>
#include <avr/pgmspace.h>
-uint32_t md5_T[] PROGMEM = {
- 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf,
- 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af,
- 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e,
- 0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
- 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, 0x21e1cde6,
- 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
- 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122,
- 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
- 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039,
- 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, 0xf4292244, 0x432aff97,
- 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d,
- 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
- 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391 };
+extern const uint32_t md5_T[];
#endif /*MD5_SBOX_H_*/
0100.1010 1110.11
*/
-uint8_t rtaps[] PROGMEM = {
+const uint8_t rtaps[] PROGMEM = {
0x31, 0x4D, 0x11, 0x42,
0x59, 0x4C, 0xEC, 0xF3,
0x26, 0x96, 0x67, 0x9C,
* 31 D9 AF 37
* BE 06 BE 0F
*/
-uint8_t comp0[] PROGMEM = {
+const uint8_t comp0[] PROGMEM = {
0x5E, 0xF2, 0xD6, 0x5D,
0x55, 0x09, 0x26, 0x79,
0x62, 0x70, 0x00, 0x79,
* 6A B7 E8 FF
*/
/*
-uint8_t comp1[] PROGMEM = {
+const uint8_t comp1[] PROGMEM = {
0x60, 0x3E, 0x32, 0xFA, 0x30, 0x79, 0x6C, 0xFD, 0xC1, 0x87,
0x01, 0xF8, 0x8A, 0xC6, 0xC1, 0xCC, 0x6A, 0xB7, 0xE8, 0xFF
};
* AD DA 2F FE
*/
/*
-uint8_t comp1[] PROGMEM = {
+const uint8_t comp1[] PROGMEM = {
0x0C, 0xF8, 0x98, 0xBE, 0x19, 0x3C, 0x6D, 0x7F, 0x07, 0xC3,
0x00, 0x3E, 0xA2, 0xC7, 0x06, 0x66, 0xAD, 0xDA, 0x2F, 0xFE
};
* B5 5B F4 7F
*/
-uint8_t comp1[] PROGMEM = {
+const uint8_t comp1[] PROGMEM = {
0x30, 0x1F, 0x19, 0x7D,
0x98, 0x3C, 0xB6, 0xFE,
0xE0, 0xC3, 0x00, 0x7C,
* 91 4B 54 D4
* C1 0B 63 83
*/
-uint8_t fb0[] PROGMEM = {
+const uint8_t fb0[] PROGMEM = {
0xAF, 0x1F, 0x3C, 0xC4,
0x22, 0xA3, 0x2F, 0x0E,
0x81, 0x4D, 0xE5, 0x66,
* E7 7E 4B 6C
* EF 80 A7 11
*/
-uint8_t fb1[] PROGMEM = {
+const uint8_t fb1[] PROGMEM = {
0xAB, 0x77, 0xF4, 0x9B,
0x90, 0x8C, 0x79, 0x70,
0xB6, 0x18, 0x9A, 0x6F,
$(ALGO_NAME)_OBJ := A5_1.o
$(ALGO_NAME)_DIR := a51/
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-a5_1-test.o $(CLI_STD) $(SCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-a5_1-test.o $(CLI_STD) $(SCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_INCDIR := memxor/ gf256mul/ bcal/
$(ALGO_NAME)_OBJ := aes_enc-asm.o aes_dec-asm.o aes_sbox-asm.o aes_invsbox-asm.o \
aes_keyschedule-asm.o
-$(ALGO_NAME)_TEST_BIN := main-aes-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes-test.o $(CLI_STD) $(BCAL_STD) \
bcal_aes128.o bcal_aes192.o bcal_aes256.o bcal-cbc.o \
dump-asm.o dump-decl.o bcal-cfb_byte.o \
bcal-cfb_bit.o bcal-ofb.o bcal-ctr.o bcal-cmac.o cmacvs.o \
$(ALGO_NAME)_INCDIR := gf256mul/ bcal/
$(ALGO_NAME)_OBJ := aes_enc.o aes_dec.o aes_sbox.o aes_invsbox.o \
aes_keyschedule.o gf256mul.o aes128_enc.o aes128_dec.o
-$(ALGO_NAME)_TEST_BIN := main-aes128-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes128-test.o $(CLI_STD) $(BCAL_STD) \
bcal_aes128.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := gf256mul/ bcal/
$(ALGO_NAME)_OBJ := aes_enc.o aes_dec.o aes_sbox.o aes_invsbox.o \
aes_keyschedule.o gf256mul.o aes192_enc.o aes192_dec.o
-$(ALGO_NAME)_TEST_BIN := main-aes192-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes192-test.o $(CLI_STD) $(BCAL_STD) \
bcal_aes192.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := gf256mul/ bcal/
$(ALGO_NAME)_OBJ := aes_enc.o aes_dec.o aes_sbox.o aes_invsbox.o \
aes_keyschedule.o gf256mul.o aes256_enc.o aes256_dec.o
-$(ALGO_NAME)_TEST_BIN := main-aes256-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes256-test.o $(CLI_STD) $(BCAL_STD) \
bcal_aes256.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := memxor/ gf256mul/ bcal/
$(ALGO_NAME)_OBJ := aes_enc-asm.o aes_dec-asm_faster.o aes_sbox-asm.o aes_invsbox-asm.o \
aes_keyschedule-asm.o
-$(ALGO_NAME)_TEST_BIN := main-aes-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes-test.o $(CLI_STD) $(BCAL_STD) \
bcal_aes128.o bcal_aes192.o bcal_aes256.o bcal-cbc.o \
dump-asm.o dump-decl.o bcal-cfb_byte.o \
bcal-cfb_bit.o bcal-ofb.o bcal-ctr.o bcal-cmac.o cmacvs.o \
aes_keyschedule.o gf256mul.o \
aes128_enc.o aes128_dec.o aes192_enc.o aes192_dec.o \
aes256_enc.o aes256_dec.o
-$(ALGO_NAME)_TEST_BIN := main-aes-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-aes-test.o $(CLI_STD) $(BCAL_STD) \
bcal_aes128.o bcal_aes192.o bcal_aes256.o bcal-cbc.o \
dump-asm.o dump-decl.o bcal-cfb_byte.o \
bcal-cfb_bit.o bcal-ofb.o bcal-ctr.o bcal-cmac.o cmacvs.o \
$(ALGO_NAME)_DIR := arcfour/
$(ALGO_NAME)_OBJ := arcfour-asm.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-arcfour-test.o $(CLI_STD) $(SCAL_STD) scal_arcfour.o
+$(ALGO_NAME)_TESTBIN := main-arcfour-test.o $(CLI_STD) $(SCAL_STD) scal_arcfour.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := arcfour/
$(ALGO_NAME)_INCDIR := memxor/ scal/
$(ALGO_NAME)_OBJ := arcfour.o
-$(ALGO_NAME)_TEST_BIN := main-arcfour-test.o $(CLI_STD) $(SCAL_STD) scal_arcfour.o
+$(ALGO_NAME)_TESTBIN := main-arcfour-test.o $(CLI_STD) $(SCAL_STD) scal_arcfour.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := base64/
$(ALGO_NAME)_INCDIR := memxor/ noekeon/
$(ALGO_NAME)_OBJ := base64_enc.o base64_dec.o
-$(ALGO_NAME)_TEST_BIN := main-base64-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-base64-test.o $(CLI_STD) \
performance_test.o noekeon_asm.o noekeon_prng.o memxor.o
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bigint/
$(ALGO_NAME)_INCDIR := memxor/ noekeon/
$(ALGO_NAME)_OBJ := bigint-stub.o bigint_io.o bigint_asm.o
-$(ALGO_NAME)_TEST_BIN := main-bigint-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-bigint-test.o $(CLI_STD) \
performance_test.o noekeon_asm.o noekeon_prng.o memxor.o
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := blake/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := blake_small.o blake_large.o blake_common.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-blake-test.o hfal_blake_small.o hfal_blake_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-blake-test.o hfal_blake_small.o hfal_blake_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bmw/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := bmw_small-asm.o bmw_large.o
-$(ALGO_NAME)_TEST_BIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bmw/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := bmw_small.o bmw_large.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bmw/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := bmw_small-tinyasm.o bmw_large.o
-$(ALGO_NAME)_TEST_BIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := bmw/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := bmw_256-tinyasm.o bmw_224-tinyasm.o bmw_large.o
-$(ALGO_NAME)_TEST_BIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-bmw-test.o hfal_bmw_small.o hfal_bmw_large.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := camellia/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := camellia128-stub.o camellia-asm.o
-$(ALGO_NAME)_TEST_BIN := main-camellia-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-camellia-test.o $(CLI_STD) $(BCAL_STD) \
bcal_camellia128.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := camellia/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := camellia_C.o
-$(ALGO_NAME)_TEST_BIN := main-camellia-test.o $(CLI_STD) $(BCAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-camellia-test.o $(CLI_STD) $(BCAL_STD) \
bcal_camellia128.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := cast5/
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_OBJ := cast5.o
-$(ALGO_NAME)_TEST_BIN := main-cast5-test.o bcal_cast5.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_OBJ := cast5.o cast5-sbox.o
+$(ALGO_NAME)_TESTBIN := main-cast5-test.o bcal_cast5.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := cast6/
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_OBJ := cast6.o
-$(ALGO_NAME)_TEST_BIN := main-cast6-test.o bcal_cast6.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_OBJ := cast6.o cast6-sbox.o
+$(ALGO_NAME)_TESTBIN := main-cast6-test.o bcal_cast6.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := cscipher/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := cscipher_small.o cscipher_sbox.o memxor.o memxor_p.o
-$(ALGO_NAME)_TEST_BIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=0
$(ALGO_NAME)_DIR := cscipher/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := cscipher_tiny_asm.o memxor.o memxor_p.o
-$(ALGO_NAME)_TEST_BIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=1
$(ALGO_NAME)_DIR := cscipher/
$(ALGO_NAME)_INCDIR := bcal/ memxor/
$(ALGO_NAME)_OBJ := cscipher_small.o memxor.o memxor_p.o
-$(ALGO_NAME)_TEST_BIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cscipher-test.o bcal_cscipher.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=1
$(ALGO_NAME)_DIR := cubehash/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := cubehash.o cubehash_rotates.o memxor.o xchg.o
-$(ALGO_NAME)_TEST_BIN := main-cubehash-test.o hfal_cubehash.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-cubehash-test.o hfal_cubehash.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := des/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := des.o
-$(ALGO_NAME)_TEST_BIN := main-des-test.o bcal_des.o bcal_tdes.o bcal_tdes2.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-des-test.o bcal_des.o bcal_tdes.o bcal_tdes2.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := dsa/
$(ALGO_NAME)_INCDIR := memxor/ bigint/ sha1/ noekeon/ base64/ hfal/
$(ALGO_NAME)_OBJ := bigint.o bigint_io.o sha1-asm.o dsa_sign.o dsa_verify.o dsa_key_blob.o base64_enc.o
-$(ALGO_NAME)_TEST_BIN := main-dsa-test.o $(CLI_STD) hfal_sha1.o $(HFAL_STD) \
+$(ALGO_NAME)_TESTBIN := main-dsa-test.o $(CLI_STD) hfal_sha1.o $(HFAL_STD) \
noekeon_asm.o noekeon_prng.o memxor.o
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := echo/
$(ALGO_NAME)_INCDIR := aes/ memxor/ gf256mul/ hfal/
$(ALGO_NAME)_OBJ := echo.o memxor.o aes_enc_round-asm.o aes_sbox-asm.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := main-echo-test.o hfal_echo.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-echo-test.o hfal_echo.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := entropium/
$(ALGO_NAME)_INCDIR := sha256/
$(ALGO_NAME)_OBJ := entropium.o sha256-asm.o
-$(ALGO_NAME)_TEST_BIN := main-entropium-test.o $(CLI_STD) performance_test.o
+$(ALGO_NAME)_TESTBIN := main-entropium-test.o $(CLI_STD) performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(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)_TESTBIN := 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
$(ALGO_NAME)_DIR := groestl/
$(ALGO_NAME)_INCDIR := aes/ memxor/ gf256mul/ hfal/
$(ALGO_NAME)_OBJ := groestl_small.o groestl_large.o memxor.o aes_sbox.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := hfal_groestl_large.o hfal_groestl_small.o main-groestl-test.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := hfal_groestl_large.o hfal_groestl_small.o main-groestl-test.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := hmac-md5/
$(ALGO_NAME)_INCDIR := md5/ mfal/
$(ALGO_NAME)_OBJ := hmac-md5.o md5-asm.o
-$(ALGO_NAME)_TEST_BIN := main-hmac-md5-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-hmac-md5-test.o $(CLI_STD) \
nessie_mac_test.o nessie_common.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := hmac-sha1/
$(ALGO_NAME)_INCDIR := sha1/
$(ALGO_NAME)_OBJ := hmac-sha1.o sha1-asm.o
-$(ALGO_NAME)_TEST_BIN := main-hmac-sha1-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-hmac-sha1-test.o $(CLI_STD) \
nessie_mac_test.o nessie_common.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := hmac-sha256/
$(ALGO_NAME)_INCDIR := sha256/
$(ALGO_NAME)_OBJ := hmac-sha256.o sha256-asm.o
-$(ALGO_NAME)_TEST_BIN := main-hmac-sha256-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-hmac-sha256-test.o $(CLI_STD) \
nessie_mac_test.o nessie_common.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := jh/
$(ALGO_NAME)_INCDIR := hfal/ memxor/
$(ALGO_NAME)_OBJ := jh_simple_small_core.o jh_simple_aux.o memxor.o
-$(ALGO_NAME)_TEST_BIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
-# Makefile for Grøstl
+# Makefile for JH (speed optimized variant)
ALGO_NAME := JH_SIMPLE_SPEED_C
# comment out the following line for removement of Grøstl from the build process
$(ALGO_NAME)_DIR := jh/
$(ALGO_NAME)_INCDIR := hfal/ memxor/
$(ALGO_NAME)_OBJ := jh_simple_speed_core.o jh_simple_aux.o jh_tables.o memxor.o
-$(ALGO_NAME)_TEST_BIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := hfal_jh.o main-jh-test.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := keccak/
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := keccak.o memxor.o rotate64.o
-$(ALGO_NAME)_TEST_BIN := main-keccak-test.o hfal_keccak.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-keccak-test.o hfal_keccak.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := khazad/
$(ALGO_NAME)_INCDIR := bcal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := khazad.o memxor.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := main-khazad-test.o bcal_khazad.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-khazad-test.o bcal_khazad.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DEF := SBOX_PROG=0
$(ALGO_NAME)_DIR := md5/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := md5-asm.o
-$(ALGO_NAME)_TEST_BIN := main-md5-test.o hfal_md5.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-md5-test.o hfal_md5.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := md5/
$(ALGO_NAME)_INCDIR := hfal/
-$(ALGO_NAME)_OBJ := md5.o
-$(ALGO_NAME)_TEST_BIN := main-md5-test.o hfal_md5.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_OBJ := md5.o md5_sbox.o
+$(ALGO_NAME)_TESTBIN := main-md5-test.o hfal_md5.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := mickey128/
$(ALGO_NAME)_OBJ := mickey128.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-mickey128-test.o $(CLI_STD) $(SCAL_STD) scal_mickey128.o
+$(ALGO_NAME)_TESTBIN := main-mickey128-test.o $(CLI_STD) $(SCAL_STD) scal_mickey128.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := NESSIE_ESTREAM=1
$(ALGO_NAME)_DIR := mqq-sign/
$(ALGO_NAME)_OBJ := mqq160-sign-asm.o mqq160-sign_P-asm.o mqq160-sign_testkey.o
-$(ALGO_NAME)_TEST_BIN := main-mqq160-sign-test.o performance_test.o stack_measuring.o $(CLI_STD)
+$(ALGO_NAME)_TESTBIN := main-mqq160-sign-test.o performance_test.o stack_measuring.o $(CLI_STD)
$(ALGO_NAME)_NESSIE_TEST := test
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := mqq-sign/
$(ALGO_NAME)_INCDIR := memxor/
$(ALGO_NAME)_OBJ := mqq160-sign.o mqq160-sign_P.o mqq160-sign_testkey.o memxor.o memxor_p.o
-$(ALGO_NAME)_TEST_BIN := main-mqq160-sign-test.o performance_test.o stack_measuring.o $(CLI_STD)
+$(ALGO_NAME)_TESTBIN := main-mqq160-sign-test.o performance_test.o stack_measuring.o $(CLI_STD)
$(ALGO_NAME)_NESSIE_TEST := test
$(ALGO_NAME)_PERFORMANCE_TEST := performance
STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_DIR := mugi/
-$(ALGO_NAME)_INCDIR := aes/ gf256mul/
-$(ALGO_NAME)_OBJ := mugi.o gf256mul.o aes_sbox.o
-$(ALGO_NAME)_TEST_BIN := main-mugi-test.o $(CLI_STD) \
+$(ALGO_NAME)_INCDIR := memxor/ aes/ gf256mul/
+$(ALGO_NAME)_OBJ := mugi.o gf256mul.o aes_sbox.o memxor.o
+$(ALGO_NAME)_TESTBIN := main-mugi-test.o $(CLI_STD) \
nessie_stream_test.o nessie_common.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_DIR := noekeon/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := noekeon_asm.o
-$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o bcal_noekeon.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-noekeon-test.o bcal_noekeon.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := noekeon/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := noekeon.o
-$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o bcal_noekeon.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-noekeon-test.o bcal_noekeon.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := noekeon/
$(ALGO_NAME)_INCDIR := memxor/ mfal/
$(ALGO_NAME)_OBJ := noekeon_asm.o omac_noekeon.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-omac-noekeon-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-omac-noekeon-test.o $(CLI_STD) \
nessie_mac_test.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := noekeon/
$(ALGO_NAME)_INCDIR := memxor/ mfal/
$(ALGO_NAME)_OBJ := noekeon_asm.o omac_noekeon_C.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-omac-noekeon-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-omac-noekeon-test.o $(CLI_STD) \
nessie_mac_test.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := present/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := present.o
-$(ALGO_NAME)_TEST_BIN := main-present-test.o bcal_present.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-present-test.o bcal_present.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := rabbit/
$(ALGO_NAME)_OBJ := rabbit_c.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
+$(ALGO_NAME)_TESTBIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := ESTREAM=0
$(ALGO_NAME)_DIR := rabbit/
$(ALGO_NAME)_OBJ := rabbit_c.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
+$(ALGO_NAME)_TESTBIN := main-rabbit-test.o $(CLI_STD) $(SCAL_STD) scal_rabbit.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := ESTREAM=1
$(ALGO_NAME)_DIR := rc5/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := rc5.o
-$(ALGO_NAME)_TEST_BIN := main-rc5-test.o bcal_rc5.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-rc5-test.o bcal_rc5.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := rc6/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := rc6.o
-$(ALGO_NAME)_TEST_BIN := main-rc6-test.o bcal_rc6.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-rc6-test.o bcal_rc6.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := rsa/
$(ALGO_NAME)_INCDIR := bigint/ noekeon/ memxor/ hfal/
$(ALGO_NAME)_OBJ := bigint.o bigint_io.o rsa.o rsa_key_blob.o
-$(ALGO_NAME)_TEST_BIN := main-rsa-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-rsa-test.o $(CLI_STD) \
noekeon_asm.o noekeon_prng.o memxor.o
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := salsa20/
$(ALGO_NAME)_OBJ := salsa20.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-salsa20-test.o $(CLI_STD) $(SCAL_STD) scal_salsa20.o
+$(ALGO_NAME)_TESTBIN := main-salsa20-test.o $(CLI_STD) $(SCAL_STD) scal_salsa20.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := seed/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := seed-asm.o
-$(ALGO_NAME)_TEST_BIN := main-seed-test.o bcal_seed.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-seed-test.o bcal_seed.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := seed/
$(ALGO_NAME)_INCDIR := bcal/
-$(ALGO_NAME)_OBJ := seed_C.o
-$(ALGO_NAME)_TEST_BIN := main-seed-test.o bcal_seed.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_OBJ := seed_C.o seed_sbox.o
+$(ALGO_NAME)_TESTBIN := main-seed-test.o bcal_seed.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-bitslice-asm.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := serpent-sboxes-bitslice-asm.o serpent-asm.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-fast.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-small.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := serpent/
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := serpent.o serpent-sboxes_c.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-serpent-test.o bcal_serpent.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := sha1/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := sha1-asm.o
-$(ALGO_NAME)_TEST_BIN := main-sha1-test.o hfal_sha1.o $(CLI_STD) $(HFAL_STD) dump-decl.o dump-asm.o
+$(ALGO_NAME)_TESTBIN := main-sha1-test.o hfal_sha1.o $(CLI_STD) $(HFAL_STD) dump-decl.o dump-asm.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := sha1/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := sha1.o
-$(ALGO_NAME)_TEST_BIN := main-sha1-test.o hfal_sha1.o dump-asm.o dump-decl.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-sha1-test.o hfal_sha1.o dump-asm.o dump-decl.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := sha256/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := sha256-asm.o
-$(ALGO_NAME)_TEST_BIN := main-sha256-test.o dump-asm.o dump-decl.o hfal_sha256.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-sha256-test.o dump-asm.o dump-decl.o hfal_sha256.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := sha256/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := sha256.o
-$(ALGO_NAME)_TEST_BIN := main-sha256-test.o $(CLI_STD) $(HFAL_STD) hfal_sha256.o dump-asm.o dump-decl.o
+$(ALGO_NAME)_TESTBIN := main-sha256-test.o $(CLI_STD) $(HFAL_STD) hfal_sha256.o dump-asm.o dump-decl.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := shabal-asm.o shabal192-asm.o shabal224-asm.o \
shabal256-asm.o shabal384-asm.o shabal512-asm.o
-$(ALGO_NAME)_TEST_BIN := main-shabal-test.o hfal_shabal.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-shabal-test.o hfal_shabal.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := shabal/
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := shabal.o shabal192.o shabal224.o shabal256.o shabal384.o shabal512.o
-$(ALGO_NAME)_TEST_BIN := main-shabal-test.o hfal_shabal.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-shabal-test.o hfal_shabal.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := shabea/
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := shabea.o sha256-asm.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-shabea-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-shabea-test.o $(CLI_STD) \
nessie_bc_test.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := shacal1/
$(ALGO_NAME)_INCDIR := sha1/ bcal/
$(ALGO_NAME)_OBJ := shacal1_enc.o sha1-asm.o
-$(ALGO_NAME)_TEST_BIN := main-shacal1_enc-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-shacal1_enc-test.o $(CLI_STD) \
nessie_bc_test.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := shacal2/
$(ALGO_NAME)_INCDIR := sha256/ bcal/
$(ALGO_NAME)_OBJ := shacal2_enc.o sha256-asm.o
-$(ALGO_NAME)_TEST_BIN := main-shacal2_enc-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-shacal2_enc-test.o $(CLI_STD) \
nessie_bc_test.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
threefish256_enc_asm.o ubi256_asm.o skein256_asm.o \
threefish512_enc_asm.o ubi512_asm.o skein512_asm.o \
threefish1024_enc_asm.o ubi1024_asm.o skein1024_asm.o
-$(ALGO_NAME)_TEST_BIN := main-skein-test.o hfal_skein256.o hfal_skein512.o hfal_skein1024.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-skein-test.o hfal_skein256.o hfal_skein512.o hfal_skein1024.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := memxor/ hfal/
$(ALGO_NAME)_OBJ := threefish256_enc.o threefish512_enc.o threefish1024_enc.o threefish_mix_c.o\
ubi256.o ubi512.o ubi1024.o memxor.o skein256.o skein512.o skein1024.o
-$(ALGO_NAME)_TEST_BIN := main-skein-test.o hfal_skein256.o hfal_skein512.o hfal_skein1024.o $(CLI_STD) $(HFAL_STD)
+$(ALGO_NAME)_TESTBIN := main-skein-test.o hfal_skein256.o hfal_skein512.o hfal_skein1024.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := skipjack/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := skipjack.o
-$(ALGO_NAME)_TEST_BIN := main-skipjack-test.o bcal_skipjack.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-skipjack-test.o bcal_skipjack.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
--- /dev/null
+# Makefile for SKIPJACK
+ALGO_NAME := SKIPJACK_NESSIE
+
+# comment out the following line for removement of skipjack from the build process
+BLOCK_CIPHERS += $(ALGO_NAME)
+
+$(ALGO_NAME)_DIR := skipjack/
+$(ALGO_NAME)_INCDIR := bcal/
+$(ALGO_NAME)_OBJ := skipjack.o
+$(ALGO_NAME)_TESTBIN := main-skipjack-test.o bcal_skipjack.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_DEF := NESSIE_COMPAT=1
+$(ALGO_NAME)_NESSIE_TEST := "nessie"
+$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
+
$(ALGO_NAME)_DIR := des/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := des.o
-$(ALGO_NAME)_TEST_BIN := main-tdes-test.o bcal_tdes.o bcal_tdes2.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-tdes-test.o bcal_tdes.o bcal_tdes2.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_OBJ := threefish256_enc_asm.o threefish512_enc_asm.o threefish1024_enc_asm.o\
threefish_mix.o threefish_invmix.o \
threefish256_dec_asm.o threefish512_dec_asm.o threefish1024_dec_asm.o
-$(ALGO_NAME)_TEST_BIN := main-threefish-test.o bcal_threefish256.o bcal_threefish512.o bcal_threefish1024.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-threefish-test.o bcal_threefish256.o bcal_threefish512.o bcal_threefish1024.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := threefish256_enc.o threefish512_enc.o threefish1024_enc.o threefish_mix_c.o \
threefish_invmix_c.o threefish256_dec.o threefish512_dec.o threefish1024_dec.o
-$(ALGO_NAME)_TEST_BIN := main-threefish-test.o bcal_threefish256.o bcal_threefish512.o bcal_threefish1024.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-threefish-test.o bcal_threefish256.o bcal_threefish512.o bcal_threefish1024.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_OBJ := threefish256_enc_small.o threefish512_enc.o threefish1024_enc.o\
threefish_mix.o threefish_mix_4c.o threefish_invmix_c.o \
threefish256_dec.o threefish512_dec.o threefish1024_dec.o
-$(ALGO_NAME)_TEST_BIN := main-threefish-test.o bcal_threefish256.o bcal_threefish512.o bcal_threefish1024.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-threefish-test.o bcal_threefish256.o bcal_threefish512.o bcal_threefish1024.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := trivium/
$(ALGO_NAME)_OBJ := trivium.o
$(ALGO_NAME)_INCDIR := memxor/ scal/
-$(ALGO_NAME)_TEST_BIN := main-trivium-test.o $(CLI_STD) $(SCAL_STD) scal_trivium.o
+$(ALGO_NAME)_TESTBIN := main-trivium-test.o $(CLI_STD) $(SCAL_STD) scal_trivium.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := NESSIE_ESTREAM=1
$(ALGO_NAME)_INCDIR := hfal/
$(ALGO_NAME)_OBJ := twister-small-asm.o twister-large-asm.o twister-asm.o \
twister224.o twister256.o twister384.o twister512.o
-$(ALGO_NAME)_TEST_BIN := main-twister-test.o hfal_twister224.o hfal_twister256.o \
+$(ALGO_NAME)_TESTBIN := main-twister-test.o hfal_twister224.o hfal_twister256.o \
hfal_twister384.o hfal_twister512.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := twister/
$(ALGO_NAME)_INCDIR := memxor/ gf256mul/ hfal/
-$(ALGO_NAME)_OBJ := twister.o twister-small.o twister-large.o memxor.o gf256mul.o
-$(ALGO_NAME)_TEST_BIN := main-twister-test.o hfal_twister224.o hfal_twister256.o \
+$(ALGO_NAME)_OBJ := twister.o twister-small.o twister-large.o twister_tables.o memxor.o gf256mul.o
+$(ALGO_NAME)_TESTBIN := main-twister-test.o hfal_twister224.o hfal_twister256.o \
hfal_twister384.o hfal_twister512.o $(CLI_STD) $(HFAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_OBJ := threefish_mix.o threefish256_enc_asm.o ubi256_asm.o \
threefish512_enc_asm.o ubi512_asm.o threefish1024_enc_asm.o \
ubi1024_asm.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-ubi-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-ubi-test.o $(CLI_STD) \
nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_INCDIR := memxor/ bcal/
$(ALGO_NAME)_OBJ := threefish256_enc.o threefish512_enc.o threefish1024_enc.o threefish_mix_c.o\
ubi256.o ubi512.o ubi1024.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-ubi-test.o $(CLI_STD) \
+$(ALGO_NAME)_TESTBIN := main-ubi-test.o $(CLI_STD) \
nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance
$(ALGO_NAME)_DIR := whirlpool/
$(ALGO_NAME)_INCDIR := hfal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := whirlpool.o gf256mul.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-whirlpool-0-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool_0.o dump-asm.o dump-decl.o
+$(ALGO_NAME)_TESTBIN := main-whirlpool-0-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool_0.o dump-asm.o dump-decl.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := SBOX_PROG=0 WHIRLPOOL_0=1
$(ALGO_NAME)_DIR := whirlpool/
$(ALGO_NAME)_INCDIR := hfal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := whirlpool.o gf256mul.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-whirlpool-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool.o dump-asm.o dump-decl.o
+$(ALGO_NAME)_TESTBIN := main-whirlpool-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool.o dump-asm.o dump-decl.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := SBOX_PROG=0
$(ALGO_NAME)_DIR := whirlpool/
$(ALGO_NAME)_INCDIR := hfal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := whirlpool.o gf256mul.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-whirlpool-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool.o dump-asm.o dump-decl.o
+$(ALGO_NAME)_TESTBIN := main-whirlpool-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool.o dump-asm.o dump-decl.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := SBOX_PROG=1
$(ALGO_NAME)_DIR := whirlpool/
$(ALGO_NAME)_INCDIR := hfal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := whirlpool.o gf256mul.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-whirlpool-t-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool_t.o dump-asm.o dump-decl.o
+$(ALGO_NAME)_TESTBIN := main-whirlpool-t-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool_t.o dump-asm.o dump-decl.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := SBOX_PROG=0 WHIRLPOOL_T=1
$(ALGO_NAME)_DIR := whirlpool/
$(ALGO_NAME)_INCDIR := hfal/ memxor/ gf256mul/
$(ALGO_NAME)_OBJ := whirlpool.o gf256mul.o memxor.o
-$(ALGO_NAME)_TEST_BIN := main-whirlpool-t-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool_t.o dump-asm.o dump-decl.o
+$(ALGO_NAME)_TESTBIN := main-whirlpool-t-test.o $(CLI_STD) $(HFAL_STD) hfal_whirlpool_t.o dump-asm.o dump-decl.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DEF := SBOX_PROG=1 WHIRLPOOL_T=1
$(ALGO_NAME)_DIR := xtea/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := xtea-asm.o
-$(ALGO_NAME)_TEST_BIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
$(ALGO_NAME)_DIR := xtea/
$(ALGO_NAME)_INCDIR := bcal/
$(ALGO_NAME)_OBJ := xtea.o
-$(ALGO_NAME)_TEST_BIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_TESTBIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
--- /dev/null
+# Makefile for XTEA
+ALGO_NAME := XTEA_ASM
+
+# comment out the following line for removement of XTEA from the build process
+BLOCK_CIPHERS += $(ALGO_NAME)
+
+$(ALGO_NAME)_DIR := xtea/
+$(ALGO_NAME)_INCDIR := bcal/
+$(ALGO_NAME)_OBJ := xtea-asm.o
+$(ALGO_NAME)_TESTBIN := main-xtea-test.o bcal_xtea.o $(CLI_STD) $(BCAL_STD)
+$(ALGO_NAME)_NESSIE_TEST := "nessie"
+$(ALGO_NAME)_PERFORMANCE_TEST := "performance"
+
#include "cli.h"
-static uint8_t mod20_table[32] PROGMEM = {
+static const uint8_t mod20_table[32] PROGMEM = {
4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19,
0, 1, 2, 3, 4, 5, 6, 7,
static void mqq_inv_affine_transformation(const uint8_t* input_bytes, uint8_t* result, const mqq160_sign_key_t* key){
/* The matrix SInv is given as two permutations of 160 elements. */
uint8_t j, byteindex, bitindex, bitindex_d, byteindex_d, rp1, rp5;
- uint8_t *rp1_ptr, *rp5_ptr;
+ const uint8_t *rp1_ptr, *rp5_ptr;
uint8_t h1[20];
uint8_t result, column, row, k;
int8_t j;
uint16_t temp;
- uint8_t *tmp_ptr=key->a;
+ const uint8_t *tmp_ptr=key->a;
if(i&1){
memcpy(e, key->cc1, 9);
while(b1){
#define MQQ160SIGN_H_
typedef struct{
- uint8_t *a;
- uint8_t *cc1;
- uint8_t *cc2;
- uint8_t *rp1;
- uint8_t *rp5;
+ const uint8_t *a;
+ const uint8_t *cc1;
+ const uint8_t *cc2;
+ const uint8_t *rp1;
+ const uint8_t *rp5;
} mqq160_sign_key_t;
void mqq160_sign(void* dest, const void* hash, const mqq160_sign_key_t* key);
#include "memxor.h"
#include "mqq160-sign.h"
-static uint8_t mod20_table[32] PROGMEM = {
+static const uint8_t mod20_table[32] PROGMEM = {
4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19,
0, 1, 2, 3, 4, 5, 6, 7,
static void mqq_inv_affine_transformation(uint8_t* input_bytes, uint8_t* result, const mqq160_sign_key_t* key){
/* The matrix SInv is given as two permutations of 160 elements. */
uint8_t j, byteindex, bitindex, bitindex_d, byteindex_d, rp1, rp5;
- uint8_t *r1_ptr, *r5_ptr;
+ const uint8_t *r1_ptr, *r5_ptr;
uint8_t h1[20];
/* Initialize H1 and H2 = 0 */
uint8_t result, column, row, k;
int8_t j;
uint16_t temp;
- uint8_t *tmp_ptr=key->a;
+ const uint8_t *tmp_ptr=key->a;
if(i&1){
memcpy_P(e, key->cc1, 9);
while(b1){
*/
-static uint8_t a[9*9-1] PROGMEM =
+const uint8_t a[9*9-1] PROGMEM =
{ 171, 171, 165, 56, 121, 136, 79, 108, 2,
255, 255, 165, 108, 45, 220, 79, 108, 88,
54, 108, 103, 21, 74, 119, 141, 204, 221,
225, 61, 8, 232, 235, 49, 22, 146 };
-static uint8_t cc1[9] PROGMEM = { 2, 88, 221, 173, 140, 48, 171, 45, 252 };
-static uint8_t cc2[9] PROGMEM = {225, 61, 8, 232, 235, 49, 22, 146, 252 };
+const uint8_t cc1[9] PROGMEM = { 2, 88, 221, 173, 140, 48, 171, 45, 252 };
+const uint8_t cc2[9] PROGMEM = {225, 61, 8, 232, 235, 49, 22, 146, 252 };
/* The matrix SInv is stored in ROM as two onedimensional
arrays RP1[] and RP5[] of 160 uint8_ts */
-static uint8_t rp1[160] PROGMEM = {
+const uint8_t rp1[160] PROGMEM = {
111, 137, 49, 134, 9, 116, 11, 52, 43, 55,
74, 130, 119, 144, 31, 7, 72, 79, 105, 59,
57, 120, 50, 94, 141, 135, 149, 44, 109, 100,
86, 140, 71, 136, 69, 99, 58, 6, 92, 90,
8, 103, 128, 38, 46, 146, 89, 151, 51, 53 };
-static uint8_t rp5[160] PROGMEM = {
+const uint8_t rp5[160] PROGMEM = {
90, 113, 130, 115, 132, 27, 46, 72, 33, 50,
35, 136, 42, 148, 146, 143, 116, 158, 98, 41,
39, 5, 54, 86, 106, 56, 30, 138, 80, 44,
22, 15, 151, 32, 84, 37, 77, 88, 16, 29,
3, 128, 118, 18, 156, 19, 52, 45, 53, 63 };
-mqq160_sign_key_t testkey_P PROGMEM = {a, cc1, cc2, rp1, rp5 };
+const mqq160_sign_key_t testkey_P PROGMEM = {a, cc1, cc2, rp1, rp5 };
void mqq_load_pgm_key(void* buffer, mqq160_sign_key_t* key, const mqq160_sign_key_t* key_P){
uint8_t *buf_ptr;
and one nonsingular matrix SInv given as two arrays
RP1[] and RP5[] of 160 uint8_ts.
*/
-extern mqq160_sign_key_t testkey_P;
+extern const mqq160_sign_key_t testkey_P;
void mqq_load_pgm_key(void* buffer, mqq160_sign_key_t* key, const mqq160_sign_key_t* key_P);
#define GF256MUL_2(a) (gf256mul(2, (a), 0x1b))
uint64_t changeendian64(uint64_t a){
- uint8_t r[8];
- r[0] = ((uint8_t*)&a)[7];
- r[1] = ((uint8_t*)&a)[6];
- r[2] = ((uint8_t*)&a)[5];
- r[3] = ((uint8_t*)&a)[4];
- r[4] = ((uint8_t*)&a)[3];
- r[5] = ((uint8_t*)&a)[2];
- r[6] = ((uint8_t*)&a)[1];
- r[7] = ((uint8_t*)&a)[0];
- return *((uint64_t*)r);
+ union {
+ uint8_t v8[8];
+ uint64_t v64;
+ } r;
+ r.v8[0] = ((uint8_t*)&a)[7];
+ r.v8[1] = ((uint8_t*)&a)[6];
+ r.v8[2] = ((uint8_t*)&a)[5];
+ r.v8[3] = ((uint8_t*)&a)[4];
+ r.v8[4] = ((uint8_t*)&a)[3];
+ r.v8[5] = ((uint8_t*)&a)[2];
+ r.v8[6] = ((uint8_t*)&a)[1];
+ r.v8[7] = ((uint8_t*)&a)[0];
+ return r.v64;
}
static
pi2(state);
}
-uint8_t rc_tab[]
+const uint8_t rc_tab[]
#ifdef __AVR__
PROGMEM
#endif
}
void present_init(const uint8_t* key, uint8_t keysize_b, present_ctx_t* ctx){
- uint8_t buffer[10], tmp[2];
+ uint8_t tmp[2];
+ union __attribute__((packed)) {
+ uint8_t v8[10];
+ uint16_t v16[5];
+ uint64_t v64;
+ struct __attribute__((packed)) {
+ uint8_t padding;
+ union {
+ uint64_t v64;
+ uint16_t v16[4];
+ } y;
+ } x;
+ } b;
uint8_t i;
- memcpy(buffer, key, 10);
- memcpy(&(ctx->k[0]), buffer+2, 8);
+ memcpy(b.v8, key, 10);
+ memcpy(&(ctx->k[0]), b.v8+2, 8);
for(i=1; i<32; ++i){
/* rotate buffer 19 right */
- memcpy(tmp, buffer, 2);
- memmove(buffer, buffer+2, 8);
- memcpy(buffer+8, tmp, 2);
+ memcpy(tmp, b.v8, 2);
+ memmove(b.v8, b.v8+2, 8);
+ memcpy(b.v8+8, tmp, 2);
/* three shifts to do*/
- tmp[1]=buffer[0];
- *((uint64_t*)buffer)>>=3;
- *((uint16_t*)(buffer+8))>>=3;
- buffer[9] |= tmp[1]<<5;
- buffer[7] |= tmp[0]<<5;
+ tmp[1]=b.v8[0];
+ b.v64 >>= 3;
+ b.v16[4] >>= 3;
+ b.v8[9] |= tmp[1]<<5;
+ b.v8[7] |= tmp[0]<<5;
/* rotating done now substitution */
- buffer[9] = (sbox(buffer[9])&0xF0) | ((buffer[9])&0x0F);
+ b.v8[9] = (sbox(b.v8[9])&0xF0) | ((b.v8[9])&0x0F);
/* xor with round counter */
- *((uint16_t*)(buffer+1)) ^= (uint16_t)i<<7;
- memcpy(&(ctx->k[i]), buffer+2, 8);
+ b.x.y.v16[0] ^= (uint16_t)i<<7;
+ memcpy(&(ctx->k[i]), b.v8+2, 8);
}
}
void ivsetup(rabbit_ctx_t* ctx, const void* iv){
uint8_t i;
uint32_t t;
- uint8_t t_iv[8];
+ union __attribute__((packed)){
+ uint8_t v8[8];
+ uint16_t v16[4];
+ uint32_t v32[2];
+ }t_iv;
i=0;
#if ESTREAM
- memcpy(t_iv, iv, 8);
+ memcpy(t_iv.v8, iv, 8);
#else
do{
- t_iv[i] = ((uint8_t*)iv)[7-i];
- t_iv[7-i] = ((uint8_t*)iv)[i];
+ t_iv.v8[i] = ((uint8_t*)iv)[7-i];
+ t_iv.v8[7-i] = ((uint8_t*)iv)[i];
}while(++i<4);
#endif
- ctx->c[0] ^= *((uint32_t*)t_iv);
- ctx->c[4] ^= *((uint32_t*)t_iv);
- ctx->c[2] ^= ((uint32_t*)t_iv)[1];
- ctx->c[6] ^= ((uint32_t*)t_iv)[1];
- t = (( (uint32_t)((uint16_t*)t_iv)[3])<<16) | (((uint16_t*)t_iv)[1]);
+ ctx->c[0] ^= t_iv.v32[0];
+ ctx->c[4] ^= t_iv.v32[0];
+ ctx->c[2] ^= t_iv.v32[1];
+ ctx->c[6] ^= t_iv.v32[1];
+ t = ( ((uint32_t)(t_iv.v16[3]))<<16) | (t_iv.v16[1]);
ctx->c[1] ^= t;
ctx->c[5] ^= t;
- t = (( (uint32_t)((uint16_t*)t_iv)[2])<<16) | (((uint16_t*)t_iv)[0]);
+ t = ( ((uint32_t)(t_iv.v16[2]))<<16) | (t_iv.v16[0]);
ctx->c[3] ^= t;
ctx->c[7] ^= t;
i=4;
#define D_LEN_B (32*8)
#define ALL_LEN_B (N_LEN_B+E_LEN_B+D_LEN_B)
-static uint8_t rsa_key_blob[] PROGMEM = {
+const uint8_t rsa_key_blob[] PROGMEM = {
/* n */
0xDA, 0xBC, 0x4A, 0x42, 0x02, 0x6F, 0x7F, 0xC2,
0xEB, 0x5A, 0x73, 0x2A, 0x84, 0x25, 0xB5, 0x56,
#define D_LEN_B (16*8)
#define ALL_LEN_B (N_LEN_B+E_LEN_B+D_LEN_B)
-static uint8_t rsa_key_blob[] PROGMEM = {
+const uint8_t rsa_key_blob[] PROGMEM = {
/* n */
0xC8, 0xE2, 0x5C, 0xE3, 0x38, 0xE2, 0x05, 0x03,
0xBA, 0xFD, 0x33, 0x9A, 0xC4, 0x71, 0x5A, 0xD9,
}
}
-uint8_t sigma[] PROGMEM = {'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'};
-uint8_t theta[] PROGMEM = {'e','x','p','a','n','d',' ','1','6','-','b','y','t','e',' ','k'};
+const uint8_t sigma[] PROGMEM = {'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'};
+const uint8_t theta[] PROGMEM = {'e','x','p','a','n','d',' ','1','6','-','b','y','t','e',' ','k'};
void salsa_k32(uint32_t* dest, const uint32_t* k, const uint32_t* n){
memcpy_P(dest+ 0, sigma+ 0, 4);
void scal_cipher_gen_block(void* block, scgen_ctx_t* ctx){
uint8_t flags;
- uint16_t blocksize_b;
void_fpt gen_fpt;
flags = pgm_read_byte(&(ctx->desc_ptr->flags));
- blocksize_b = pgm_read_word(&(ctx->desc_ptr->gensize_b));
gen_fpt = (void_fpt)pgm_read_word(&(ctx->desc_ptr->gen));
if((flags&SC_GEN_TYPE)==SC_GEN_TYPE_1){
*((uint8_t*)block) = ((sc_gen1_fpt)gen_fpt)(ctx->ctx);
#include <stdint.h>
#include <avr/pgmspace.h>
-uint8_t seed_sbox1[256] PROGMEM ={
- 169, 133, 214, 211, 84, 29, 172, 37,
- 93, 67, 24, 30, 81, 252, 202, 99,
- 40, 68, 32, 157, 224, 226, 200, 23,
- 165, 143, 3, 123, 187, 19, 210, 238,
- 112, 140, 63, 168, 50, 221, 246, 116,
- 236, 149, 11, 87, 92, 91, 189, 1,
- 36, 28, 115, 152, 16, 204, 242, 217,
- 44, 231, 114, 131, 155, 209, 134, 201,
- 96, 80, 163, 235, 13, 182, 158, 79,
- 183, 90, 198, 120, 166, 18, 175, 213,
- 97, 195, 180, 65, 82, 125, 141, 8,
- 31, 153, 0, 25, 4, 83, 247, 225,
- 253, 118, 47, 39, 176, 139, 14, 171,
- 162, 110, 147, 77, 105, 124, 9, 10,
- 191, 239, 243, 197, 135, 20, 254, 100,
- 222, 46, 75, 26, 6, 33, 107, 102,
- 2, 245, 146, 138, 12, 179, 126, 208,
- 122, 71, 150, 229, 38, 128, 173, 223,
- 161, 48, 55, 174, 54, 21, 34, 56,
- 244, 167, 69, 76, 129, 233, 132, 151,
- 53, 203, 206, 60, 113, 17, 199, 137,
- 117, 251, 218, 248, 148, 89, 130, 196,
- 255, 73, 57, 103, 192, 207, 215, 184,
- 15, 142, 66, 35, 145, 108, 219, 164,
- 52, 241, 72, 194, 111, 61, 45, 64,
- 190, 62, 188, 193, 170, 186, 78, 85,
- 59, 220, 104, 127, 156, 216, 74, 86,
- 119, 160, 237, 70, 181, 43, 101, 250,
- 227, 185, 177, 159, 94, 249, 230, 178,
- 49, 234, 109, 95, 228, 240, 205, 136,
- 22, 58, 88, 212, 98, 41, 7, 51,
- 232, 27, 5, 121, 144, 106, 42, 154
-};
+extern const uint8_t seed_sbox1[256];
-uint8_t seed_sbox2[256] PROGMEM ={
- 56, 232, 45, 166, 207, 222, 179, 184,
- 175, 96, 85, 199, 68, 111, 107, 91,
- 195, 98, 51, 181, 41, 160, 226, 167,
- 211, 145, 17, 6, 28, 188, 54, 75,
- 239, 136, 108, 168, 23, 196, 22, 244,
- 194, 69, 225, 214, 63, 61, 142, 152,
- 40, 78, 246, 62, 165, 249, 13, 223,
- 216, 43, 102, 122, 39, 47, 241, 114,
- 66, 212, 65, 192, 115, 103, 172, 139,
- 247, 173, 128, 31, 202, 44, 170, 52,
- 210, 11, 238, 233, 93, 148, 24, 248,
- 87, 174, 8, 197, 19, 205, 134, 185,
- 255, 125, 193, 49, 245, 138, 106, 177,
- 209, 32, 215, 2, 34, 4, 104, 113,
- 7, 219, 157, 153, 97, 190, 230, 89,
- 221, 81, 144, 220, 154, 163, 171, 208,
- 129, 15, 71, 26, 227, 236, 141, 191,
- 150, 123, 92, 162, 161, 99, 35, 77,
- 200, 158, 156, 58, 12, 46, 186, 110,
- 159, 90, 242, 146, 243, 73, 120, 204,
- 21, 251, 112, 117, 127, 53, 16, 3,
- 100, 109, 198, 116, 213, 180, 234, 9,
- 118, 25, 254, 64, 18, 224, 189, 5,
- 250, 1, 240, 42, 94, 169, 86, 67,
- 133, 20, 137, 155, 176, 229, 72, 121,
- 151, 252, 30, 130, 33, 140, 27, 95,
- 119, 84, 178, 29, 37, 79, 0, 70,
- 237, 88, 82, 235, 126, 218, 201, 253,
- 48, 149, 101, 60, 182, 228, 187, 124,
- 14, 80, 57, 38, 50, 132, 105, 147,
- 55, 231, 36, 164, 203, 83, 10, 135,
- 217, 76, 131, 143, 206, 59, 74, 183
-};
+extern const uint8_t seed_sbox2[256];
/* key constants */
-uint32_t seed_kc[16] PROGMEM ={
- 0xb979379e,
- 0x73f36e3c,
- 0xe6e6dd78,
- 0xcccdbbf1,
- 0x999b77e3,
- 0x3337efc6,
- 0x676ede8d,
- 0xcfdcbc1b,
- 0x9eb97937,
- 0x3c73f36e,
- 0x78e6e6dd,
- 0xf1cccdbb,
- 0xe3999b77,
- 0xc63337ef,
- 0x8d676ede,
- 0x1bcfdcbc
-};
+extern const uint32_t seed_kc[16];
#endif /*SEED_SBOX_H_*/
#include <avr/pgmspace.h>
#include "serpent-sboxes.h"
-uint8_t sbox[] PROGMEM = {
+const uint8_t sbox[] PROGMEM = {
0x38, 0xF1, 0xA6, 0x5B, 0xED, 0x42, 0x70, 0x9C,
0xFC, 0x27, 0x90, 0x5A, 0x1B, 0xE8, 0x6D, 0x34,
0x86, 0x79, 0x3C, 0xAF, 0xD1, 0xE4, 0x0B, 0x52,
#include <avr/pgmspace.h>
#include <string.h>
-uint32_t shabal192_iv[] PROGMEM = {
+const uint32_t shabal192_iv[] PROGMEM = {
/* A */
0xFD749ED4, 0xB798E530, 0x33904B6F, 0x46BDA85E,
0x076934B4, 0x454B4058, 0x77F74527, 0xFB4CF465,
#include <avr/pgmspace.h>
#include <string.h>
-uint32_t shabal224_iv[] PROGMEM = {
+const uint32_t shabal224_iv[] PROGMEM = {
/* A */
0xA5201467, 0xA9B8D94A, 0xD4CED997, 0x68379D7B,
0xA7FC73BA, 0xF1A2546B, 0x606782BF, 0xE0BCFD0F,
#include <avr/pgmspace.h>
#include <string.h>
-uint32_t shabal256_iv[] PROGMEM = {
+const uint32_t shabal256_iv[] PROGMEM = {
/* A */
0x52F84552, 0xE54B7999, 0x2D8EE3EC, 0xB9645191,
0xE0078B86, 0xBB7C44C9, 0xD2B5C1CA, 0xB0D2EB8C,
#include <avr/pgmspace.h>
#include <string.h>
-uint32_t shabal384_iv[] PROGMEM = {
+const uint32_t shabal384_iv[] PROGMEM = {
/* A */
0xC8FCA331, 0xE55C504E, 0x003EBF26, 0xBB6B8D83,
0x7B0448C1, 0x41B82789, 0x0A7C9601, 0x8D659CFF,
#include <avr/pgmspace.h>
#include <string.h>
-uint32_t shabal512_iv[] PROGMEM = {
+const uint32_t shabal512_iv[] PROGMEM = {
/* A */
0x20728DFD, 0x46C0BD53, 0xE782B699, 0x55304632,
0x71B4EF90, 0x0EA9E82C, 0xDBB930F1, 0xFAD06B8B,
/* ubi.h */
/*
- This file is part of the AVR-Crypto-Lib.
+ This file is part of the ARM-Crypto-Lib.
Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de)
This program is free software: you can redistribute it and/or modify
typedef struct{
- uint8_t tweak[16];
+ union {
+ uint8_t v8[16];
+ uint16_t v16[8];
+ uint32_t v32[4];
+ uint64_t v64[2];
+ } tweak;
uint8_t g[32];
}ubi256_ctx_t;
typedef struct{
- uint8_t tweak[16];
+ union {
+ uint8_t v8[16];
+ uint16_t v16[8];
+ uint32_t v32[4];
+ uint64_t v64[2];
+ } tweak;
uint8_t g[64];
}ubi512_ctx_t;
typedef struct{
- uint8_t tweak[16];
+ union {
+ uint8_t v8[16];
+ uint16_t v16[8];
+ uint32_t v32[4];
+ uint64_t v64[2];
+ } tweak;
uint8_t g[128];
}ubi1024_ctx_t;
/* ubi1024.c */
/*
- This file is part of the AVR-Crypto-Lib.
- Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de)
+ 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
#include "ubi.h"
void ubi1024_init(ubi1024_ctx_t* ctx, const void* g, uint8_t type){
- memset(ctx->tweak, 0, 15);
- ctx->tweak[15] = 0x40+type;
+ memset(ctx->tweak.v8, 0, 15);
+ ctx->tweak.v8[15] = 0x40+type;
memcpy(ctx->g, g, UBI1024_BLOCKSIZE_B);
}
void ubi1024_nextBlock(ubi1024_ctx_t* ctx, const void* block){
threefish1024_ctx_t tfctx;
- ((uint64_t*)(ctx->tweak))[0] += UBI1024_BLOCKSIZE_B;
- threefish1024_init(ctx->g, ctx->tweak, &tfctx);
+ ctx->tweak.v64[0] += UBI1024_BLOCKSIZE_B;
+ threefish1024_init(ctx->g, ctx->tweak.v8, &tfctx);
memcpy(ctx->g, block, UBI1024_BLOCKSIZE_B);
threefish1024_enc(ctx->g, &tfctx);
memxor(ctx->g, block, UBI1024_BLOCKSIZE_B);
- ctx->tweak[15] &= (uint8_t)~0x40;
+ ctx->tweak.v8[15] &= (uint8_t)~0x40;
}
block = (uint8_t*)block + UBI1024_BLOCKSIZE_B;
length_b -= UBI1024_BLOCKSIZE;
}
- ctx->tweak[15] |= 0x80;
- ((uint64_t*)(ctx->tweak))[0] += (length_b+7)/8;
+ ctx->tweak.v8[15] |= 0x80;
+ ctx->tweak.v64[0] += (length_b+7)/8;
if(length_b & 0x07)
- ctx->tweak[14] |= 0x80;
- threefish1024_init(ctx->g, ctx->tweak, &tfctx);
+ ctx->tweak.v8[14] |= 0x80;
+ threefish1024_init(ctx->g, ctx->tweak.v8, &tfctx);
memset(ctx->g, 0, UBI1024_BLOCKSIZE_B);
memcpy(ctx->g, block, (length_b+7)/8);
if(length_b & 0x07)
/* ubi256.c */
/*
- This file is part of the AVR-Crypto-Lib.
- Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de)
+ 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
#include "ubi.h"
void ubi256_init(ubi256_ctx_t* ctx, const void* g, uint8_t type){
- memset(ctx->tweak, 0, 15);
- ctx->tweak[15] = 0x40+type;
+ memset(ctx->tweak.v8, 0, 15);
+ ctx->tweak.v8[15] = 0x40+type;
memcpy(ctx->g, g, 32);
}
void ubi256_nextBlock(ubi256_ctx_t* ctx, const void* block){
threefish256_ctx_t tfctx;
- ((uint64_t*)(ctx->tweak))[0] += UBI256_BLOCKSIZE_B;
- threefish256_init(ctx->g, ctx->tweak, &tfctx);
+ ctx->tweak.v64[0] += UBI256_BLOCKSIZE_B;
+ threefish256_init(ctx->g, ctx->tweak.v8, &tfctx);
memcpy(ctx->g, block, UBI256_BLOCKSIZE_B);
threefish256_enc(ctx->g, &tfctx);
memxor(ctx->g, block, UBI256_BLOCKSIZE_B);
- ctx->tweak[15] &= (uint8_t)~0x40;
+ ctx->tweak.v8[15] &= (uint8_t)~0x40;
}
block = (uint8_t*)block + UBI256_BLOCKSIZE_B;
length_b -= UBI256_BLOCKSIZE;
}
- ctx->tweak[15] |= 0x80;
- ((uint64_t*)(ctx->tweak))[0] += (length_b+7)/8;
+ ctx->tweak.v8[15] |= 0x80;
+ ctx->tweak.v64[0] += (length_b+7)/8;
if(length_b & 0x07){
- ctx->tweak[14] |= 0x80;
+ ctx->tweak.v8[14] |= 0x80;
}
- threefish256_init(ctx->g, ctx->tweak, &tfctx);
+ threefish256_init(ctx->g, ctx->tweak.v8, &tfctx);
memset(ctx->g, 0, UBI256_BLOCKSIZE_B);
memcpy(ctx->g, block, (length_b+7)/8);
if(length_b & 0x07){
/* ubi512.c */
/*
- This file is part of the AVR-Crypto-Lib.
- Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de)
+ 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
#include "ubi.h"
void ubi512_init(ubi512_ctx_t* ctx, const void* g, uint8_t type){
- memset(ctx->tweak, 0, 15);
- ctx->tweak[15] = 0x40+type;
+ memset(ctx->tweak.v8, 0, 15);
+ ctx->tweak.v8[15] = 0x40+type;
memcpy(ctx->g, g, UBI512_BLOCKSIZE_B);
}
void ubi512_nextBlock(ubi512_ctx_t* ctx, const void* block){
threefish512_ctx_t tfctx;
- ((uint64_t*)(ctx->tweak))[0] += UBI512_BLOCKSIZE_B;
- threefish512_init(ctx->g, ctx->tweak, &tfctx);
+ ctx->tweak.v64[0] += UBI512_BLOCKSIZE_B;
+ threefish512_init(ctx->g, ctx->tweak.v8, &tfctx);
memcpy(ctx->g, block, UBI512_BLOCKSIZE_B);
threefish512_enc(ctx->g, &tfctx);
memxor(ctx->g, block, UBI512_BLOCKSIZE_B);
- ctx->tweak[15] &= (uint8_t)~0x40;
+ ctx->tweak.v8[15] &= (uint8_t)~0x40;
}
block = (uint8_t*)block + UBI512_BLOCKSIZE_B;
length_b -= UBI512_BLOCKSIZE;
}
- ctx->tweak[15] |= 0x80;
- ((uint64_t*)(ctx->tweak))[0] += (length_b+7)/8;
+ ctx->tweak.v8[15] |= 0x80;
+ ctx->tweak.v64[0] += (length_b+7)/8;
if(length_b & 0x07)
- ctx->tweak[14] |= 0x80;
- threefish512_init(ctx->g, ctx->tweak, &tfctx);
+ ctx->tweak.v8[14] |= 0x80;
+ threefish512_init(ctx->g, ctx->tweak.v8, &tfctx);
memset(ctx->g, 0, UBI512_BLOCKSIZE_B);
memcpy(ctx->g, block, (length_b+7)/8);
if(length_b & 0x07)
#include <avr/io.h>
#include <avr/pgmspace.h>
-#define SKIPJACK_CNT_BIG
+#if NESSIE_COMPAT
+#define SKIPJACK_CNT_BIG 0
+#else
+#define SKIPJACK_CNT_BIG 1
+#endif
-#ifdef SKIPJACK_CNT_BIG
+#if SKIPJACK_CNT_BIG
#define SKIPJACK_CNT_SHIFT <<8
#else
#define SKIPJACK_CNT_SHIFT
/*****************************************************************************/
-uint8_t skipjack_ftable[] PROGMEM ={
+const uint8_t skipjack_ftable[] PROGMEM ={
0xa3, 0xd7, 0x09, 0x83, 0xf8, 0x48, 0xf6, 0xf4,
0xb3, 0x21, 0x15, 0x78, 0x99, 0xb1, 0xaf, 0xf9,
0xe7, 0x2d, 0x4d, 0x8a, 0xce, 0x4c, 0xca, 0x2e,
*/
TMP_CNT_0 = 26
TMP_CNT_1 = 27
+
.global max_cmd_length
max_cmd_length:
movw r30, r24
movw TMP_0, r24
rcall cli_putstr_P
movw r24, TMP_0
- call strlen_P
+ call strlen_PF
movw TMP_0, LEN_0
sub TMP_0, r24
sbc TMP_1, r25
#define UART0_PARATY UART_PARATY_NONE
#define UART0_STOPBITS UART_STOPBITS_1
#define UART0_DATABITS UART_DATABITS_8
-#define UART0_RXBUFFER_SIZE 120
+#define UART0_RXBUFFER_SIZE 255
#define UART0_TXBUFFER_SIZE 120
#define UART0_SWFLOWCTRL 1
#define UART0_THRESH_LOW 0
const char ram_desc[] PROGMEM = "ram";
const char eeprom_desc[] PROGMEM = "eeprom";
-typedef struct {
+typedef const struct {
PGM_P trigger;
PGM_P desc;
void (*fpt)(void*, uint32_t, uint8_t);
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_a51, NULL},
/* { performance_str, NULL, testrun_performance_a51, NULL}, */
{ echo_str, (void*)1, (void_fpt)echo_ctrl, NULL},
#include <stdlib.h>
#include <avr/pgmspace.h>
-char* algo_name = "AES";
+const char* algo_name = "AES";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const const algolist[] PROGMEM = {
(bcdesc_t*)&aes128_desc,
(bcdesc_t*)&aes192_desc,
(bcdesc_t*)&aes256_desc,
testrun_testkey_aes256();
}
-uint8_t modes_key[] PROGMEM = {
+const uint8_t modes_key[] PROGMEM = {
0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,
0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7,
0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4
};
-uint8_t modes_iv[] PROGMEM = {
+const uint8_t modes_iv[] PROGMEM = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
};
-uint8_t modes_ctriv[] PROGMEM = {
+const uint8_t modes_ctriv[] PROGMEM = {
0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
};
-uint8_t modes_plain[] PROGMEM = {
+const uint8_t modes_plain[] PROGMEM = {
0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
/* --- */
bcal_cmac_free(&ctx);
}
-uint8_t eax_msg[] PROGMEM = {
+const uint8_t eax_msg[] PROGMEM = {
0xF7, 0xFB,
0x1A, 0x47, 0xCB, 0x49, 0x33,
0x48, 0x1C, 0x9E, 0x39, 0xB1,
0xCA, 0x40, 0xD7, 0x44, 0x6E, 0x54, 0x5F, 0xFA, 0xED, 0x3B, 0xD1, 0x2A, 0x74, 0x0A, 0x65, 0x9F, 0xFB, 0xBB, 0x3C, 0xEA, 0xB7
};
-uint8_t eax_msg_len[] PROGMEM = {0, 2, 5, 5, 6, 12, 17, 18, 18, 21};
+const uint8_t eax_msg_len[] PROGMEM = {0, 2, 5, 5, 6, 12, 17, 18, 18, 21};
-uint8_t eax_key[] PROGMEM = {
+const uint8_t eax_key[] PROGMEM = {
0x23, 0x39, 0x52, 0xDE, 0xE4, 0xD5, 0xED, 0x5F, 0x9B, 0x9C, 0x6D, 0x6F, 0xF8, 0x0F, 0xF4, 0x78,
0x91, 0x94, 0x5D, 0x3F, 0x4D, 0xCB, 0xEE, 0x0B, 0xF4, 0x5E, 0xF5, 0x22, 0x55, 0xF0, 0x95, 0xA4,
0x01, 0xF7, 0x4A, 0xD6, 0x40, 0x77, 0xF2, 0xE7, 0x04, 0xC0, 0xF6, 0x0A, 0xDA, 0x3D, 0xD5, 0x23,
0x83, 0x95, 0xFC, 0xF1, 0xE9, 0x5B, 0xEB, 0xD6, 0x97, 0xBD, 0x01, 0x0B, 0xC7, 0x66, 0xAA, 0xC3
};
-uint8_t eax_nonce[] PROGMEM = {
+const uint8_t eax_nonce[] PROGMEM = {
0x62, 0xEC, 0x67, 0xF9, 0xC3, 0xA4, 0xA4, 0x07, 0xFC, 0xB2, 0xA8, 0xC4, 0x90, 0x31, 0xA8, 0xB3,
0xBE, 0xCA, 0xF0, 0x43, 0xB0, 0xA2, 0x3D, 0x84, 0x31, 0x94, 0xBA, 0x97, 0x2C, 0x66, 0xDE, 0xBD,
0x70, 0xC3, 0xDB, 0x4F, 0x0D, 0x26, 0x36, 0x84, 0x00, 0xA1, 0x0E, 0xD0, 0x5D, 0x2B, 0xFF, 0x5E,
0x22, 0xE7, 0xAD, 0xD9, 0x3C, 0xFC, 0x63, 0x93, 0xC5, 0x7E, 0xC0, 0xB3, 0xC1, 0x7D, 0x6B, 0x44
};
-uint8_t eax_header[] PROGMEM = {
+const uint8_t eax_header[] PROGMEM = {
0x6B, 0xFB, 0x91, 0x4F, 0xD0, 0x7E, 0xAE, 0x6B,
0xFA, 0x3B, 0xFD, 0x48, 0x06, 0xEB, 0x53, 0xFA,
0x23, 0x4A, 0x34, 0x63, 0xC1, 0x26, 0x4A, 0xC6,
0x12, 0x67, 0x35, 0xFC, 0xC3, 0x20, 0xD2, 0x5A
};
-uint8_t eax_cipher[] PROGMEM = {
+const uint8_t eax_cipher[] PROGMEM = {
0xE0, 0x37, 0x83, 0x0E, 0x83, 0x89, 0xF2, 0x7B, 0x02, 0x5A, 0x2D, 0x65, 0x27, 0xE7, 0x9D, 0x01,
0x19, 0xDD, 0x5C, 0x4C, 0x93, 0x31, 0x04, 0x9D, 0x0B, 0xDA, 0xB0, 0x27, 0x74, 0x08, 0xF6, 0x79, 0x67, 0xE5,
0xD8, 0x51, 0xD5, 0xBA, 0xE0, 0x3A, 0x59, 0xF2, 0x38, 0xA2, 0x3E, 0x39, 0x19, 0x9D, 0xC9, 0x26, 0x66, 0x26, 0xC4, 0x0F, 0x80,
const char dump_str[] PROGMEM = "dump";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_aes },
{ test_str, NULL, testrun_test_aes },
{ testkey_str, NULL, testrun_testkey_aes },
char* algo_name = "AES-128";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&aes128_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_aes },
{ test_str, NULL, testrun_test_aes},
{ testkey_str, NULL, testrun_testkey_aes},
char* algo_name = "AES-192";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&aes192_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_aes },
{ test_str, NULL, testrun_nessie_aes},
{ testkey_str, NULL, testrun_testkey_aes},
char* algo_name = "AES-256";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&aes256_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_aes },
{ test_str, NULL, testrun_nessie_aes},
{ testkey_str, NULL, testrun_testkey_aes},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_arcfour },
{ test_str, NULL, testrun_nessie_arcfour},
{ performance_str, NULL, testrun_performance_arcfour},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ test_str, NULL, testrun_stdtest_base64},
{ performance_str, NULL, testrun_performance_base64},
{ echo_str, (void*)1, (void_fpt)echo_ctrl},
// f4 b86a 2220 0774 437d 70e6 **2 = e9f00f29ca1c876a7a682bd1e04f6925caffd6660ea4
/*
-uint8_t square_test_data[] PROGMEM = {
+const uint8_t square_test_data[] PROGMEM = {
0xA0, 0x3C, 0x23, 0x9F, 0x7A, 0xFC, 0x60, 0xEB, 0x96, 0xC2, 0xA8, 0xAC, 0xC3, 0xC9, 0x9E, 0xEC,
0x4A, 0xF0, 0x1C, 0xB2, 0x36, 0x68, 0xD6, 0x4D, 0x3E, 0x4F, 0x8E, 0x55, 0xEA, 0x52, 0x46, 0x68,
0x6E, 0x18, 0x88, 0x37, 0x03, 0x70, 0xBD, 0x01, 0x60, 0xE2, 0xD6, 0x12, 0xA0, 0x0E, 0xD2, 0x72,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ add_test_str, NULL, test_add_bigint },
{ add_scale_test_str, NULL, test_add_scale_bigint },
{ mul_test_str, NULL, test_mul_bigint },
char* algo_name = "Blake";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&blake224_desc,
(hfdesc_t*)&blake256_desc,
(hfdesc_t*)&blake384_desc,
const char shavs_test1_str[] PROGMEM = "shavs_test1";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_blake},
{ test_str, NULL, testrun_stdtest_blake},
{ testshort_str, NULL, testshort},
char* algo_name = "BlueMidnightWish";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&bmw224_desc,
(hfdesc_t*)&bmw256_desc,
(hfdesc_t*)&bmw384_desc,
const char shavs_test1_str[] PROGMEM = "shavs_test1";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_bmw },
{ test_str, NULL, testrun_stdtest_bmw },
{ testshort_str, NULL, testshort },
char* algo_name = "Camellia";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&camellia128_desc,
NULL
};
* P No.001 : 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*/
-uint8_t test_keys[] PROGMEM = {
+const uint8_t test_keys[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_camellia },
{ test_str, NULL, testrun_camellia},
{ test128_str, NULL, testrun_camellia128},
char* algo_name = "cast-128 (cast5)";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&cast5_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_cast5},
{ test_str, NULL, testrun_cast5},
{ performance_str, NULL, testrun_performance_cast5},
char* algo_name = "CAST-256";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&cast6_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_cast6 },
{ test_str, NULL, testrun_rfc_cast6},
{ performance_str, NULL, testrun_performance_cast6},
char* algo_name = "CS-Cipher";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&cscipher_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_cscipher },
{ test_str, NULL, testrun_cscipher},
{ longtest_str, NULL, testrun_long_cscipher},
char* algo_name = "CubeHash";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&cubehash224_desc,
(hfdesc_t*)&cubehash256_desc,
(hfdesc_t*)&cubehash384_desc,
const char shavs_test1_str[] PROGMEM = "shavs_test1";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_cubehash },
{ test256_str, NULL, cubehash256_test0 },
{ performance_str, NULL, performance_cubehash },
char* algo_name = "DES";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&des_desc,
(bcdesc_t*)&tdes2_desc,
(bcdesc_t*)&tdes_desc,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_des },
{ test_str, NULL, testrun_nessie_des },
{ performance_str, NULL, testrun_performance_des},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const const cmdlist_entry_t cmdlist[] PROGMEM = {
{ reset_prng_str, NULL, reset_prng },
{ quick_test_str, NULL, quick_test },
{ performance_str, NULL, testrun_performance_bigint },
#include <string.h>
#include <stdlib.h>
-char* algo_name = "CubeHash";
+char* algo_name = "Echo";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&echo224_desc,
(hfdesc_t*)&echo256_desc,
(hfdesc_t*)&echo384_desc,
* additional validation-functions *
*****************************************************************************/
/* IntermediateKAT1_256.txt */
-uint8_t intermediate_data[] PROGMEM = {
+const uint8_t intermediate_data[] PROGMEM = {
0xDB, 0x11, 0xF6, 0x09, 0xBA, 0xBA, 0x7B, 0x0C,
0xA6, 0x34, 0x92, 0x6B, 0x1D, 0xD5, 0x39, 0xC8,
0xCB, 0xAD, 0xA2, 0x49, 0x67, 0xD7, 0xAD, 0xD4,
0xFD, 0x29, 0xD1, 0x04, 0xCE
};
-uint8_t intermediate_data2[] PROGMEM = {
+const uint8_t intermediate_data2[] PROGMEM = {
0x75, 0x8E, 0xA3, 0xFE, 0xA7, 0x38, 0x97, 0x3D,
0xB0, 0xB8, 0xBE, 0x7E, 0x59, 0x9B, 0xBE, 0xF4,
0x51, 0x93, 0x73, 0xD6, 0xE6, 0xDC, 0xD7, 0x19,
const char shavs_test1_str[] PROGMEM = "shavs_test1";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_echo },
{ interm_str, NULL, echo256_interm },
{ interm2_str, NULL, echo512_interm },
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_entropium},
{ test_str, NULL, testrun_entropium},
{ performance_str, NULL, testrun_performance_entropium},
}
void testrun_nessie_grain(void){
+ scal_nessie_set_estream(1);
scal_nessie_run(&grain_desc);
}
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_grain },
{ test_str, NULL, testrun_std_grain},
{ performance_str, NULL, testrun_performance_grain},
char* algo_name = "Groestl";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&groestl224_desc,
(hfdesc_t*)&groestl256_desc,
(hfdesc_t*)&groestl384_desc,
const char shavs_set_str[] PROGMEM = "shavs_set";
const char shavs_test1_str[] PROGMEM = "shavs_test1";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_groestl},
{ test_str, NULL, testrun_stdtest_groestl},
{ testshort_str, NULL, testshort},
const char md5i_str[] PROGMEM = "md5";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_hmacmd5},
{ test_str, NULL, testrun_test_hmacmd5},
{ hmd5i_str, NULL, hmacmd5_interactive},
/* const char performance_str[] PROGMEM = "performance"; */
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_hmacsha1},
{ test_str, NULL, testrun_nessie_hmacsha1},
/* { performance_str, NULL, testrun_performance_hmacsha1}, */
/* const char performance_str[] PROGMEM = "performance"; */
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_hmacsha256},
{ test_str, NULL, testrun_hmacsha256},
/* { performance_str, NULL, testrun_performance_hmacsha256}, */
char* algo_name = "JH";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&jh224_desc,
(hfdesc_t*)&jh256_desc,
(hfdesc_t*)&jh384_desc,
const char shavs_set_str[] PROGMEM = "shavs_set";
const char shavs_test1_str[] PROGMEM = "shavs_test1";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_jh},
{ performance_str, NULL, performance_jh},
{ test256_str, NULL, test256Null},
char* algo_name = "Keccak";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&keccak224_desc,
(hfdesc_t*)&keccak256_desc,
(hfdesc_t*)&keccak384_desc,
const char shavs_test1_str[] PROGMEM = "shavs_test1";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_keccak },
{ performance_str, NULL, performance_keccak },
{ test256_str, NULL, test_256 },
char* algo_name = "Khazad";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&khazad_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_khazad},
{ test_str, NULL, test_khazad},
{ test_sbox_str, NULL, test_sbox},
char* algo_name = "MD5";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&md5_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_md5},
{ test_str, NULL, testrun_md5},
{ performance_str, NULL, testrun_performance_md5},
*****************************************************************************/
void testrun_nessie_mickey128(void){
+ scal_nessie_set_estream(1);
scal_nessie_run(&mickey128_desc);
}
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_mickey128},
{ test_str, NULL, testrun_ref_mickey128},
{ echo_str, (void*)1, (void_fpt)echo_ctrl},
/*****************************************************************************
* additional validation-functions *
*****************************************************************************/
-uint8_t test_hash[20] PROGMEM =
+const uint8_t test_hash[20] PROGMEM =
{
(uint8_t)0x64, (uint8_t)0xFE, (uint8_t)0x2A, (uint8_t)0x85,
(uint8_t)0xBB, (uint8_t)0x8C, (uint8_t)0x54, (uint8_t)0x5C,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ test_str, NULL, testrun_mqq },
{ test_flash_str, NULL, testrun_mqq_flash },
{ test_mem_str, NULL, testrun_mqq_mem },
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
// { nessie_str, NULL, testrun_nessie_arcfour },
{ test_str, NULL, testrun_mugi},
{ performance_str, NULL, testrun_performance_mugi},
char* algo_name = "Noekeon";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&noekeon_direct_desc,
(bcdesc_t*)&noekeon_indirect_desc,
NULL
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_noekeon},
{ test_str, NULL, testrun_stdtest_noekeon},
// { direct_str, NULL, testrun_nessie_noekeon_direct},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_omac_noekeon },
{ test_str, NULL, testrun_test_omac_noekeon},
{ performance_str, NULL, testrun_performance_omac_noekeon},
char* algo_name = "Present";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&present_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_present},
{ test_str, NULL, testrun_self_present},
{ performance_str, NULL, testrun_performance_present},
#include <stdint.h>
#include <string.h>
-char* algo_name = "Rabbit";
+#include <avr/pgmspace.h>
+
+const char* algo_name = "Rabbit";
/*****************************************************************************
* additional validation-functions *
cli_hexdump(ctx.buffer, 16);
}
ctx.buffer_idx=16;
+ rabbit_gen(&ctx);
if(!ref || (memcmp_P(ctx.buffer, ref, 16))!=0){
fail = 1;
cli_putstr_P(PSTR("\r\n S[0]: "));
cli_hexdump(ctx.buffer, 16);
}
ctx.buffer_idx=16;
+ rabbit_gen(&ctx);
if(!ref || (memcmp_P(ctx.buffer, ref, 16))!=0){
fail = 1;
cli_putstr_P(PSTR("\r\n S[0]: "));
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_rabbit},
{ performance_str, NULL, testrun_performance_rabbit},
{ first_str, NULL, nessie_first},
#define RC5_ROUNDS 12
char* algo_name = "RC5-32/12/16";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&rc5_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_rc5 },
{ test_str, NULL, testrun_nessie_rc5},
{ performance_str, NULL, testrun_performance_rc5},
#define RC6_ROUNDS 20
char* algo_name = "RC6-32/20/16";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&rc6_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_rc6},
{ test_str, NULL, testrun_nessie_rc6},
{ performance_str, NULL, testrun_performance_rc6},
rsa_print_item(&(ctx->privexp), PSTR("private exponent"));
}
-uint8_t testmsg[128] PROGMEM = {
+const uint8_t testmsg[128] PROGMEM = {
0x25, 0x11, 0x1e, 0x08, 0x1c, 0x72, 0x57, 0xbf,
0x46, 0xbb, 0x56, 0xe8, 0x0b, 0x24, 0x0d, 0x72,
0x77, 0x11, 0x12, 0x10, 0xec, 0xb9, 0xe4, 0x6f,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ reset_prng_str, NULL, reset_prng },
{ quick_test_str, NULL, quick_test },
{ performance_str, NULL, testrun_performance_bigint },
).
*/
-uint8_t Salsa20_spectest0_in[] PROGMEM = {
+const uint8_t Salsa20_spectest0_in[] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-uint8_t Salsa20_spectest0_ref[] PROGMEM = {
+const uint8_t Salsa20_spectest0_ref[] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-uint8_t Salsa20_spectest1_in[] PROGMEM = {
+const uint8_t Salsa20_spectest1_in[] PROGMEM = {
211,159, 13,115, 76, 55, 82,183, 3,117,222, 37,191,187,234,136,
49,237,179, 48, 1,106,178,219,175,199,166, 48, 86, 16,179,207,
31,240, 32, 63, 15, 83, 93,161,116,147, 48,113,238, 55,204, 36,
79,201,235, 79, 3, 81,156, 47,203, 26,244,243, 88,118,104, 54 };
-uint8_t Salsa20_spectest1_ref[] PROGMEM = {
+const uint8_t Salsa20_spectest1_ref[] PROGMEM = {
109, 42,178,168,156,240,248,238,168,196,190,203, 26,110,170,154,
29, 29,150, 26,150, 30,235,249,190,163,251, 48, 69,144, 51, 57,
118, 40,152,157,180, 57, 27, 94,107, 42,236, 35, 27,111,114,114,
219,236,232,135,111,155,110, 18, 24,232, 95,158,179, 19, 48,202 };
-uint8_t Salsa20_spectest2_in[] PROGMEM = {
+const uint8_t Salsa20_spectest2_in[] PROGMEM = {
88,118,104, 54, 79,201,235, 79, 3, 81,156, 47,203, 26,244,243,
191,187,234,136,211,159, 13,115, 76, 55, 82,183, 3,117,222, 37,
86, 16,179,207, 49,237,179, 48, 1,106,178,219,175,199,166, 48,
238, 55,204, 36, 31,240, 32, 63, 15, 83, 93,161,116,147, 48,113 };
-uint8_t Salsa20_spectest2_ref[] PROGMEM = {
+const uint8_t Salsa20_spectest2_ref[] PROGMEM = {
179, 19, 48,202,219,236,232,135,111,155,110, 18, 24,232, 95,158,
26,110,170,154,109, 42,178,168,156,240,248,238,168,196,190,203,
69,144, 51, 57, 29, 29,150, 26,150, 30,235,249,190,163,251, 48,
27,111,114,114,118, 40,152,157,180, 57, 27, 94,107, 42,236, 35 };
-uint8_t Salsa20_spectest3_in[] PROGMEM = {
+const uint8_t Salsa20_spectest3_in[] PROGMEM = {
6,124, 83,146, 38,191, 9, 50, 4,161, 47,222,122,182,223,185,
75, 27, 0,216, 16,122, 7, 89,162,104,101,147,213, 21, 54, 95,
225,253,139,176,105,132, 23,116, 76, 41,176,207,221, 34,157,108,
94, 94, 99, 52, 90,117, 91,220,146,190,239,143,196,176,130,186 };
-uint8_t Salsa20_spectest3_ref[] PROGMEM = {
+const uint8_t Salsa20_spectest3_ref[] PROGMEM = {
8, 18, 38,199,119, 76,215, 67,173,127,144,162,103,212,176,217,
192, 19,233, 33,159,197,154,160,128,243,219, 65,171,136,135,225,
123, 11, 68, 86,237, 82, 20,155,133,189, 9, 83,167,116,194, 78,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_salsa20 },
{ performance_str, NULL, testrun_performance_salsa20},
{ test_str, NULL, spec_test},
char* algo_name = "Seed";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&seed_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_seed},
{ test_str, NULL, testrun_seed},
{ performance_str, NULL, testrun_performance_seed},
char* algo_name = "Serpent";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&serpent_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_serpent},
{ test_str, NULL, testrun_test_serpent},
{ performance_str, NULL, testrun_performance_serpent},
char* algo_name = "SHA-1";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&sha1_desc,
NULL
};
const char dump_str[] PROGMEM = "dump";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_sha1},
{ test_str, NULL, testrun_sha1},
{ test2_str, NULL, testrun_sha1_2},
char* algo_name = "SHA-256";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&sha256_desc,
NULL
};
const char shavs_test3_str[] PROGMEM = "shavs_test3";
const char dump_str[] PROGMEM = "dump";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_sha256 },
{ test_str, NULL, testrun_nessie_sha256 },
{ monte_str, NULL, test_monte },
char* algo_name = "Shabal";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&shabal192_desc,
(hfdesc_t*)&shabal224_desc,
(hfdesc_t*)&shabal256_desc,
const char shavs_test2_str[] PROGMEM = "shavs_test2";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_shabal },
{ test_str, NULL, testrun_stdtest_shabal },
{ testinit192_str, NULL, testinit_192 },
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_shabea},
{ test_str, NULL, testrun_shabea},
{ performance_str, NULL, testrun_performance_shabea},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_shacal1enc},
{ test_str, NULL, testrun_nessie_shacal1enc},
{ performance_str, NULL, testrun_performance_shacal1enc},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_shacal2enc},
{ test_str, NULL, testrun_nessie_shacal2enc},
{ performance_str, NULL, testrun_performance_shacal2enc},
char* algo_name = "Skein";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&skein256_128_desc,
(hfdesc_t*)&skein256_160_desc,
(hfdesc_t*)&skein256_224_desc,
const char shavs_test2_str[] PROGMEM = "shavs_test2";
const char shavs_test3_str[] PROGMEM = "shavs_test3";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_skein },
{ performance_str, NULL, performance_skein },
{ test_str, NULL, testrun_stdtest_skein },
char* algo_name = "Skipjack";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&skipjack_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_skipjack},
{ test_str, NULL, testrun_skipjack},
{ performance_str, NULL, testrun_performance_skipjack},
char* algo_name = "TDES";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&tdes_desc,
(bcdesc_t*)&tdes2_desc,
NULL
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_tdes},
{ test_str, NULL, testrun_nessie_tdes},
{ performance_str, NULL, testrun_performance_tdes},
char* algo_name = "Threefish";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const algolist[] PROGMEM = {
(bcdesc_t*)&threefish256_desc,
(bcdesc_t*)&threefish512_desc,
(bcdesc_t*)&threefish1024_desc,
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_threefish},
{ test_str, NULL, testrun_stdtest_threefish},
{ test256_str, NULL, testrun_stdtest_threefish256},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_trivium},
{ test_str, NULL, testrun_trivium},
{ performance_str, NULL, testrun_performance_trivium},
char* algo_name = "TWISTER";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&twister224_desc,
(hfdesc_t*)&twister256_desc,
(hfdesc_t*)&twister384_desc,
const char shavs_set_str[] PROGMEM = "shavs_set";
const char shavs_test1_str[] PROGMEM = "shavs_test1";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_twister},
{ test_str, NULL, testrun_twister},
{ performance_str, NULL, testrun_performance_twister},
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
// { nessie_str, NULL, testrun_nessie_noekeon},
{ test_str, NULL, testrun_stdtest_ubi},
// { performance_str, NULL, testrun_performance_noekeon},
char* algo_name = "Whirlpool-0";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&whirlpool_0_desc,
NULL
};
const char shavs_test3_str[] PROGMEM = "shavs_test3";
const char dump_str[] PROGMEM = "dump";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_whirlpool },
{ nessie2_str, NULL, testrun_nessie2 },
{ test_str, NULL, testrun_whirlpool },
char* algo_name = "Whirlpool-T";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&whirlpool_t_desc,
NULL
};
const char shavs_test3_str[] PROGMEM = "shavs_test3";
const char dump_str[] PROGMEM = "dump";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_whirlpool },
{ nessie2_str, NULL, testrun_nessie2 },
{ test_str, NULL, testrun_whirlpool },
char* algo_name = "Whirlpool";
-const hfdesc_t* algolist[] PROGMEM = {
+const hfdesc_t* const algolist[] PROGMEM = {
(hfdesc_t*)&whirlpool_desc,
NULL
};
const char shavs_test3_str[] PROGMEM = "shavs_test3";
const char dump_str[] PROGMEM = "dump";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_whirlpool },
{ nessie2_str, NULL, testrun_nessie2 },
{ test_str, NULL, testrun_whirlpool },
char* algo_name = "XTEA";
-const bcdesc_t* algolist[] PROGMEM = {
+const bcdesc_t* const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const algolist[] PROGMEM = {
(bcdesc_t*)&xtea_desc,
NULL
};
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ nessie_str, NULL, testrun_nessie_xtea},
{ test_str, NULL, test_xtea},
{ performance_str, NULL, testrun_performance_xtea},
NESSIE_PUTC('0' + nessie_hash_ctx.hashsize_b%10);
NESSIE_PUTSTR_P(PSTR(" zero bits"));
- memset(block, 0, 256/8);
+ memset(block, 0, nessie_hash_ctx.hashsize_b/8);
nessie_hash_ctx.hash_init(ctx);
while(n>=nessie_hash_ctx.blocksize_B*8){
nessie_print_header(nessie_hash_ctx.name, 0, 0, nessie_hash_ctx.hashsize_b, 0, 0);
/* test set 1 */
- char* challange_dbz= PSTR(
+ const char* challange_dbz= PSTR(
"\0"
"\"\" (empty string)\0"
"a\0"
#define PRINTMAC nessie_print_item("MAC", mac, MACSIZE_B)
-static uint8_t keyproto[] PROGMEM = {
+const uint8_t keyproto[] PROGMEM = {
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef };
nessie_print_header(nessie_mac_ctx.name, nessie_mac_ctx.keysize_b, 0, 0,
nessie_mac_ctx.macsize_b, 0);
/* test set 1 */
- char* challange_dbz= PSTR(
+ const char* challange_dbz= PSTR(
"\0"
"\"\" (empty string)\0"
"a\0"
hfal_hash_nextBlock(&(shavs_ctx.ctx), shavs_ctx.buffer);
++shavs_ctx.blocks;
shavs_ctx.buffer_idx=0;
- shavs_ctx.in_byte=0;
cli_putc('.');
- memset(shavs_ctx.buffer, 0, shavs_ctx.buffersize_B);
}
if(c>='0' && c<='9'){
v=c-'0';
t=shavs_ctx.buffer[shavs_ctx.buffer_idx];
if(shavs_ctx.in_byte){
t |= v;
- shavs_ctx.buffer[shavs_ctx.buffer_idx]=t;
+ shavs_ctx.buffer[shavs_ctx.buffer_idx] = t;
shavs_ctx.buffer_idx++;
shavs_ctx.in_byte = 0;
}else{
- t |= v<<4;
- shavs_ctx.buffer[shavs_ctx.buffer_idx]=t;
+ t = v<<4;
+ shavs_ctx.buffer[shavs_ctx.buffer_idx] = t;
shavs_ctx.in_byte = 1;
}
return 0;
}
+static
+uint32_t my_strtoul(const char* str){
+ uint32_t r=0;
+ while(*str && (*str<'0' || *str>'9')){
+ str++;
+ }
+ if(!*str){
+ return 0;
+ }
+ while(*str && (*str>='0' && *str<='9')){
+ r *= 10;
+ r += *str-'0';
+ str++;
+ }
+ return r;
+}
+
int32_t getLength(void){
uint32_t len=0;
char lenstr[21];
if(*len2=='='){
do{
len2++;
- }while(*len2 && !isdigit(*len2));
- len=(uint32_t)strtoul(len2, NULL, 10);
+ }while(*len2 && !isdigit((uint8_t)*len2));
+ len = my_strtoul(len2);
+ //len=(uint32_t)strtoul(len2, NULL, 10);
return len;
}
} else {
if(length==0){
expect_input=2;
}else{
- expect_input=((length+7)>>2)&(~1L);
+ expect_input=((length + 7) >> 2) & (~1L);
}
#if DEBUG
cli_putstr_P(PSTR("\r\nexpected_input == "));
#else
uint16_t temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
#endif
- /* cli_putstr_P(PSTR("\r\n\t (temp) == "));
- cli_hexdump_rev(&temp,2); */
hfal_hash_lastBlock( &(shavs_ctx.ctx), buffer, /* be aware of freaking compilers!!! */
-// length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8));
temp );
#if DEBUG
cli_putstr_P(PSTR("\r\n starting ctx2hash"));
[Groestl-224]
algo=a
-file_0=testvectors/shavs/Groestl/ShortMsgKAT_224.txt
-file_1=testvectors/shavs/Groestl/LongMsgKAT_224.txt
+file_0=testvectors/shavs/Groestl-round2/ShortMsgKAT_224.txt
+file_1=testvectors/shavs/Groestl-round2/LongMsgKAT_224.txt
[Groestl-256]
algo=b
-file_0=testvectors/shavs/Groestl/ShortMsgKAT_256.txt
-file_1=testvectors/shavs/Groestl/LongMsgKAT_256.txt
+file_0=testvectors/shavs/Groestl-round2/ShortMsgKAT_256.txt
+file_1=testvectors/shavs/Groestl-round2/LongMsgKAT_256.txt
[Groestl-384]
algo=c
-file_0=testvectors/shavs/Groestl/ShortMsgKAT_384.txt
-file_1=testvectors/shavs/Groestl/LongMsgKAT_384.txt
+file_0=testvectors/shavs/Groestl-round2/ShortMsgKAT_384.txt
+file_1=testvectors/shavs/Groestl-round2/LongMsgKAT_384.txt
[Groestl-512]
algo=d
-file_0=testvectors/shavs/Groestl/ShortMsgKAT_512.txt
-file_1=testvectors/shavs/Groestl/LongMsgKAT_512.txt
+file_0=testvectors/shavs/Groestl-round2/ShortMsgKAT_512.txt
+file_1=testvectors/shavs/Groestl-round2/LongMsgKAT_512.txt
[Skein-512-512]
algo=d
-file_0=testvectors/shavs/Blake/ShortMsgKAT_512.txt
-file_1=testvectors/shavs/Blake/LongMsgKAT_512.txt
+file_0=testvectors/shavs/Skein/ShortMsgKAT_512.txt
+file_1=testvectors/shavs/Skein/LongMsgKAT_512.txt
# configfile for shavs tests
[PORT]
-port = /dev/ttyUSB1
+port = /dev/ttyUSB0
baud = 115200
databits = 8
stopbits = 1
--- /dev/null
+
+ KEYSIZE=128
+ KEY=2342bb9efa38542c0af75647f29f615d
+
+ PT=00000000000000000000000000000000
+ CT=c842a08972b43d20836c91d1b7530f6b
+ PT=00000000000000000000000000000000
+
+ ==========
+
+ KEYSIZE=192
+ KEY=2342bb9efa38542cbed0ac83940ac298bac77a7717942863
+
+ PT=00000000000000000000000000000000
+ CT=1b386c0210dcadcbdd0e41aa08a7a7e8
+ PT=00000000000000000000000000000000
+
+ ==========
+
+ KEYSIZE=256
+ KEY=2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604
+
+ PT=00000000000000000000000000000000
+ CT=4f6a2038286897b9c9870136553317fa
+ PT=00000000000000000000000000000000
+
+
--- /dev/null
+********************************************************************************
+* ECRYPT Stream Cipher Project *
+********************************************************************************
+
+Primitive Name: MICKEY-128-v2
+=============================
+Profile: ___H3
+Key size: 128 bits
+IV size: 0 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ IV =
+ stream[0..63] = D099E3372D5825E31CDCEC9D78EEFA30
+ 36E3FE1BA0BE59FC844078E3CC8ACD1A
+ 69C3FF99D962C8A329FF472D36CE3846
+ CE13D5CE9EA533FC7472C1344644C359
+ stream[192..255] = FFA69EC2B92836B58AFDC3D7ECFC780D
+ 5BEFA4D6F6D02CF69C48497461C5A091
+ D6C62797B1CAC1533B06AFF84D8B469D
+ 9370EAECDD938C0EF99FD9916965C14C
+ stream[256..319] = 0EDED449CD0F88C1EECDDAC4A03FDF70
+ F3CD93CD89329D398E6AC1196AA5FECD
+ BE307ED0A31CF36DDBA416D3572D5B71
+ 05762FB91447664651B77E0EB6BB30AE
+ stream[448..511] = 14DCA66BBDB0CCFF69780104815A679B
+ 19D84D0AE4FD920436C6B6FFA3AC25C2
+ DF2B5C6C623822AD4C680A9C5ED17267
+ DEF12475091F220CC55EF5E6322AFFE7
+ xor-digest = AB6EA95CDF3F1E498A61897AC2DBEB7D
+ 55B0182FA745E886520137FA19323842
+ 592273D1A75E95B3A933E1A2931E2C7E
+ C12F6AC124748A5C39E0DA2131AF4927
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ IV =
+ stream[0..63] = 4C1E026CE43AC615D09770B4F62C94D4
+ 3D30F2FB5BB92FC1DDEB59272AFCAEAC
+ 92D7E17D358C5B7266AAF876D57A018E
+ 3F95B61D1E8F3D8E7CA198367144956C
+ stream[192..255] = B10747CA1D1B83C0D403CF56E241BAAB
+ FE28CBF053ADD4D086FFC73235CD2E1C
+ FFBC25CD3B6F1B2943FC8FA07C112D1B
+ 7A46B0747495E6B903B2C815A2BCB03B
+ stream[256..319] = 94F57ECD56F618B668B02198EB323AC8
+ 1C78C6EDFEA32C60CC2D938B3B77F142
+ 3AC749C636C2B78197EC19F5D3125A1E
+ BFF29F626F9864054663509BA8B22C4A
+ stream[448..511] = 7FAE40914BA56F5B0DE0A1CE440E5114
+ AB7E27A38EBE0DAC5DFD107851D6A42F
+ F971A0039EC6BD4CBF7D17A1F0E1D556
+ AF1D160B72ED255AFE25D807D639F778
+ xor-digest = E7BE7FBFBD21A85643ED27EAADD2E2CA
+ 16D1322BD314CC7CE2237AAFDCA34B50
+ 997EEF697E4903274FF1DEE1BE2C51CA
+ 1226C2F490B2CFA3BA6ED004F9D1B79F
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ IV =
+ stream[0..63] = 0D9710C7DE1485140D1468D3174E883E
+ 77E9904F2080345CD87D1D9841AA492B
+ 909D47E40112750A18928CD4A09215F3
+ 49C9BC59BC12F9AE259BD3F0244FD657
+ stream[192..255] = 2E13B777BB905E3CD41E0D11D49D6626
+ 36E2BC7623DA433A22E323B35656A587
+ A60014B18BD3E115768277835035DEA1
+ AF6262989ADA131733DD4776EAC314B7
+ stream[256..319] = D536370CCE5F72FAC91BDDBFCC314FAD
+ D50A622E6D2E36C60D5C264C4F44BCD3
+ 592F9FC947EF9349AE61060E4B00F8F3
+ 8CFE4AFE03CDFDDB0F49DE8D587B30E5
+ stream[448..511] = 00B81DE08F5ABDC38FEFE1CD24D63035
+ D6A4D4ECE553937FCA7B7D1000D8FFA1
+ D088B9AF2BE986A1CCE5085DF405716F
+ D25CDF521F992F21F25B45EF9DB13984
+ xor-digest = 3AA1957EC762341E17038F7CFA6C25A8
+ C557C3B3CBD4EBFF6AA3B6C7299DAB4A
+ 70E4D9B61DAF52FDF85C89AC1AB1E403
+ DDEB8F289DDD5418B90A49B5BE56417D
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ IV =
+ stream[0..63] = 1432D3A066F73D05147609431F458255
+ 9305EE7D7729EB2C54BCEF19E04B3830
+ F87BFC70DE38A0FDC0564CE30A26A193
+ AE1698CB507D934BF6A728CE083D08CE
+ stream[192..255] = DCD08DB31ADA56F454163317B7DF28C5
+ DC6F515F8E63AF887ECF0BA2D9DA9BFC
+ 7E1E7C09657A65E77FAF4BB8C9201B88
+ A86527B1115665F00D5CEA0749EA623D
+ stream[256..319] = EE9775BC57567D83668C64530EF5B81F
+ 7C5BAB821FE73C292E1F4970E3770EAB
+ 5F1F5FDFF2DB4710E08005BD70015E27
+ 5AC0AD2D6FF8954A6E763905916BC8C1
+ stream[448..511] = 9557E6964486B7AE55FCB5AB0EFB12FD
+ 0E86EC080B3EA758D04D5F8372DA7065
+ F9F68840BA8AB46153080B940B96BC31
+ E89C60A023E991EC7EB6216113B47A91
+ xor-digest = D9A628CC416B2B4525F135C93107079D
+ 3F0EC6409C1008E5AEA90A71D913116A
+ 6D98FF07B9F5BC739B39583DBE39B48D
+ 680D96640362C9F9A347438BB82D9984
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ IV =
+ stream[0..63] = 53D53D717A866FCAB0C9CDF9A0CA4D20
+ BCD3CEEF1A91FBB1A24A7299E3828492
+ E6EC4D013C48A5FBCD020B5AD2E6E091
+ 087B3D90550E2B19CFD29AAECB92D456
+ stream[192..255] = FAF47B6FBEC49BD21EDC4A8F3AB14A9B
+ F894D0CFE9C00679DE7CE09FFFFF5867
+ B2914DD2869DE9969735843419376CD5
+ 174458635C4819F34CF3AA138DE9FA4B
+ stream[256..319] = 73D3529054DE9BF089139047571FFF41
+ 4E6FA4662E26EC378CD10B15DDC51193
+ 346B8F4835756DF9B80DB62A04AC0573
+ B57B9E57D7181C0AE9358759179C2477
+ stream[448..511] = E49C08A1C90DCDBF6FE21F88C2470347
+ C84033CB2A966DCAB589E413265CC501
+ 0A347226A84831FF07C9FE05680488D8
+ 3A59272CE14CEB11FED02DF80481E10C
+ xor-digest = 349C0A03ED26397D0A2DF762EFF622D4
+ 7CC2922F5F77C9109AC953E3D63EEF7B
+ 464C9E18BF5EDC97FDDA92720B1A65AC
+ C311236647DCB88E40553E9FEF960F34
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ IV =
+ stream[0..63] = F0227DAD879ADCE42DCA091766E55829
+ DE8AC8E4BFA3762E994C6EC88D0B3C26
+ B4E5F5C1D1B77364C8DEAB99FF7EC955
+ 00120DB11E83321A4D96E291C5D10AAC
+ stream[192..255] = CD6146FE71FF0339D6964BFFBF15A787
+ 7A3E46ABE09B0C635C566898EAFA4AB1
+ 45A0724D1F70E6B901713024C4045A18
+ 9D2F190115203E50F99B50D45CE68FBD
+ stream[256..319] = A19DA4667EEFE2562F2467D818BAC2B9
+ 3555C78758AA5F39C292188528605C2D
+ A07FD1BF7DFCE9C0A5D899317638817E
+ 88D91D9432BDBC8DB21B3F6BD6EFDFB6
+ stream[448..511] = 1D0CCEEB8F96CCA1C60381201765B054
+ A564FA3C8DFA5B4E3C4FCF00DAF744B1
+ C5213BD208B015064DB1944AD71D6953
+ 347FA616C06A68C2B7155B8881675B57
+ xor-digest = FE5D532DB6B4C21AD9029C202BBE0271
+ 262E5FC724BE29B17D1B471C613BAD95
+ 0046F72741580421440A3BB1960CF5D9
+ D3F6EBD12E5EB9D1DCCBA286B5CA39BA
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ IV =
+ stream[0..63] = CBC989D4C6F467D6E2C0BFF8D84F5C31
+ 6168ED718B54BD4EB978EC7989A5D7E2
+ 31B66476C1C106F0F5CB93122A457A0E
+ F99F8E431E7A8A6546A6F86C15A10E04
+ stream[192..255] = D0E31AFDFD2E53CF5F93E68BD783DB62
+ 9BDFF8CDC877AF1157DB04CB5204C2E4
+ F08D42C5E123CCBED37E44613AE6CA78
+ 4AE23AE29BD68EA5A5C1444ED389BE82
+ stream[256..319] = 35FD8C78B0F1419A75AD34D034CA8FF0
+ DEE0C9EFB0B0A2692D52807EB17D05A3
+ 0B3B1F7CC950FB9C7127986895B68167
+ C01634855A5BABA5AAF9A827504E41CC
+ stream[448..511] = DD9ADA1943F160F54EABB681C5C24278
+ 3F78F600F839772183236E996F61511C
+ 2ADAD3AE5BBC9778941824AFCD56512D
+ 3550E4A18D0DDA2184F583BB9670253B
+ xor-digest = F085021259743A7E94EDBCC51A33EE11
+ 57FE2F339588C3D2BC8EAE536E970FA8
+ 7D0EEFF55F2ADCBCCD27DBE1C57A7E66
+ E70365DDD1C18A3B959A674E1D726FBA
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ IV =
+ stream[0..63] = B7A655FB255DE9E3B524EDE90EE05BC0
+ 7101E900D63F664E32A7DA92C36E55FE
+ B296B2CD472702E6B399236924BAF5D4
+ F55235AF0B0F3BC864114D9C3E70185E
+ stream[192..255] = 7A63FC80263A847BF7235E18EDD94EEA
+ E42547E7287B28141B0749E7D1C8927E
+ 9379D3BD6A42B34D66512B14BDE0810F
+ 646173BF81205BC4348A1C76AF18E9B1
+ stream[256..319] = 6D8CE01767163B2F36B07016F35F014D
+ C6C20A36462E7A1BC872BE24F644CFD7
+ AD52D2A36C062B0B18C56A5CA68133D9
+ 7873D1ADCCA1449797428FEBF3DDC40D
+ stream[448..511] = 02BABC4BAA4B62DE53229B0543F37129
+ B6285235EE4BBF6FAA44305FB76E995C
+ 0D415D51B95AB6FBE8BBC4F255C77AF8
+ E8F725BCB3F011FCEFA0CEA132BBA2F8
+ xor-digest = 8220473D8B88F11D60EDF6FBC30D577E
+ D600972FA3D70ED303502CDDDA5B1BAC
+ F4855EABFFA200EC8CAACE79DEABFB54
+ EC4DAFBA205252FA9CCCB3A000886D0F
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ IV =
+ stream[0..63] = AF3BA3DC96E49D4745954AE8D3F0F482
+ 4ABD61EE2D1A5DEC6DCAEA40C07828F3
+ 07CEDA4C72DD9D7DC30A6028F0D03C58
+ 6CB3DE86D44F1ED6CB323032451B1E49
+ stream[192..255] = FC0AF30C3070070B304C4E250F47C82C
+ D607A497ACE3E6D4E1DF79BC788AC83F
+ 0B66DD363DA9BCA8FD26CB1C7BAA3EA0
+ B6766B629A08BA13AC423808CC83E8EE
+ stream[256..319] = 493BB026C58671D93AA3C43EE43AE77E
+ E88F364AD77AEA77EC2463F3F6972B6F
+ B4E1C0E33BB742CC18D3C136809C8903
+ 52C35BD0B9AC745F99038384BD5C65AA
+ stream[448..511] = D16816B2D6E7F6673DBB423F502404E4
+ 261D6CC70EB7CE7D03700EF5041AB3E5
+ 881945DA7973D47F250F5E214B7EE538
+ 4ED1E831205DCBADACEFD1AAB050ED13
+ xor-digest = 4FEDA8A52F55AA1B1140B2EA6C361569
+ 99C04B49458AE41FC1503D553D5A37A1
+ 41FF46D320D4EBB3B951971CDFD55B9B
+ 6EF9F4F74333B53731C3A556EA08D09B
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ IV =
+ stream[0..63] = 817694DC202CAECC7257E590F1C7358E
+ 4063172A5EBB286EB08D174744D59A43
+ E1DF2BAB5CA62C746BCBDD36C0D65611
+ 336B05B033F7E19BCBD042FEA5389C8E
+ stream[192..255] = 878E626B4E5571A3C4D29DBAA4E946AA
+ 680D617541BDC749729CFBD6CBC4A62D
+ C54D32173B32FA6E7D7B73F5A4D1FCB3
+ A5B1830DCCFDDD067D47D0C00EAFBBE7
+ stream[256..319] = D59DD86BBC036EF203B8B4DAC584487E
+ 3280F5C4C9B208208108628065C4B87F
+ 726E28C214A5A8F042BE724FB6B7F1D1
+ 6CBF0BAD04FFF66C21487BC8B1F857FA
+ stream[448..511] = C9D23E131565EE986F6F57257F26FE1A
+ 2A3DC3E5CEC0F28AEE732E409B849471
+ 950323AA63B1DBFFE0123F770658A000
+ A1779817B9F11BB21BA10D1D1F01A860
+ xor-digest = 0914D6DF524AC3E4506EADEE921BB93F
+ EA7B2A8A63E5BA60958BBDF963295906
+ 6B78C0BB7CE289457EE274611341C6E4
+ 0BBF7F7A969AF3F1E377F2F32213EF42
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ IV =
+ stream[0..63] = 89558D253BF791FB43A117326DEB22B4
+ 933C76295DFA8497A2C8CB69B6054A99
+ 56C5A739E5EF90BE888CAD7392255B84
+ 55BFD1ADCC4B65E3EA40283853738034
+ stream[192..255] = 9BF3E3A1B65C46B09DBAB31E3BF397D3
+ F84619CB0602E99E7994FB7E1619479A
+ DF9FE3E395E67ADC480674814C3851A9
+ FEC3C6AA16B8C912BC0C023FA1B16407
+ stream[256..319] = 36B651BCB30EC5DF66E98E1AA179913A
+ 803BA045FAF63CB7718F37CC47401C4B
+ D10C3B2FF44CEF29979279165D254E5B
+ C6B5D65706B7F039F1137A22FF7F8189
+ stream[448..511] = 1A738BF912582F11997332C9B6B96D82
+ D82B09FAA6B9BC32DA49130F63FF6C33
+ 0E3A689DB916A3D8D24103CDF873039B
+ E82823D20ED922ACC647144E743AD630
+ xor-digest = 1652B4618D5C9C202AC7F02EA6B98D58
+ B4C25C5BAC38198CB90CF72F1079F1FF
+ 31F9D7A72F208875A33E4BF95DBBD3DA
+ FD6FDBB40977B8A58C5C548D10CEDD93
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ IV =
+ stream[0..63] = B37AF0B8B82B6977D20206EDAC2621BB
+ C173C5475B84541485DABACFE345411A
+ BC7236370A0246A40ECB7F6319AA6FFE
+ 167DAEA8B1764BA8650FD5C0B28991DE
+ stream[192..255] = 6E373C69FC65A5E0202BAFA66C0920BD
+ D12955CA696A36A9FA967D8B809C74AA
+ B55372A5372675DF71AC214B19082F36
+ B1F34020024DDBF4D7CC8927FB5AC112
+ stream[256..319] = 7D55189CFC5F5FE08FDC90C611BC2EE3
+ 36125136F3ED117608AA6ACC49684E6A
+ 5EDC398EBF747DB95BF506E9D826D34F
+ 27A3926E57F0932A3C0DE9904B1C0E03
+ stream[448..511] = 351196255DD60514EF45E52BFD415537
+ 247B7D94AE8B0C1F4B2C5A949360D2BA
+ D2B2B2E117327ABC458BF4D3F9F45E63
+ 14C8FD5E57C1415FED1D059982BCFFD6
+ xor-digest = 244A14A23402929FC0042C37F25CCBAD
+ A94C4D6517F0FD1F3C2665B73DE64811
+ C2D49F28EEA60AEC4698FC7DCD55B836
+ 475F3C07BD2725E66260949BC5400F59
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ IV =
+ stream[0..63] = 6705B8B0921070B98B0021CBAC7A8DEB
+ 6962EA4757829A3DE8736F06C2F4BA14
+ 5E3D91FCF4E10B6F4EF6C80C0D8076D0
+ 2D8E13E4A6DDBEF8B64FAECABD4BEDD2
+ stream[192..255] = A9FE258E6AE7E1EA32473A1D1D206D29
+ 76F85E624CF134A8E700021FCCC3508E
+ 05A464A3652AA3AF5A6CF4971688C8EA
+ 5AD029EE28A24189DE5EA19E3CE7A384
+ stream[256..319] = C318164E2851E352EBB377CBAB010F5C
+ CB2E86EBC16AEEA94DE6170D29CB94C6
+ 700AF77AE3BC0B0D46E92641B42FB7D1
+ D97F39FBA0CA78C5AC08279A3584FBAF
+ stream[448..511] = 36DCD31671D2867A189BB7F63EE1F9F5
+ 2E8CD30474FBBCD2CD2927AB8AF09EDE
+ 78CC35F19DD194D7F7980EA598E39101
+ F9073E18A5FF0DAE808AEDBD8C442145
+ xor-digest = D4594BF45303A587F859337668855696
+ 2CA75C4A9F0CB2421599CBC42580A5E1
+ A29424E966272EFDAF2592066B1955F8
+ C21432B6BFF0E917B8BEA379C6F93584
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ IV =
+ stream[0..63] = BB87EC9259876A4F1830E0EA172AE66B
+ FF856D6AA0D1C1242C3E8D2803A44C4F
+ 49A5740FFCF64D379FA97AF55E5D5C35
+ 3ED2D0A6FD47D7D68A7287368A223EEA
+ stream[192..255] = A9FA803BE870BCD64D0A248BE3627CCA
+ F1D789FAA23B8EC65E52DFD118A31F08
+ 829219CA1F7ECBF90473F94B41003F8A
+ 2FBD8A4ABF7C32F21870038A3A0E6E32
+ stream[256..319] = 420EF6C3C9608B1E56E60772F61FD741
+ 2AE85ADAE67E3C27BE2B4566ED49DED0
+ 021A3B439E006EC2EE1D5FDFFD0DCEA6
+ E2C7919A2F12D49E56CF9E537A8FB6DB
+ stream[448..511] = 2E31E1A163962C59C8542DF38F2326D0
+ 97E0CF36413FF9BD8E7865ED930CAE9C
+ 6CC4ECE6EBB55B1498FCAAD47B076B31
+ 7A0CAB366961185C1BEA7EE3E19B8780
+ xor-digest = BFBB9F154F707908CF5B7632D9970673
+ 6C734043752D38A445B0E4DD785B6CE9
+ 9AA16A33648AE9B2A62B525D3F2A493F
+ EA230FA46B1C931C13FC6676BFCE8726
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ IV =
+ stream[0..63] = 3532DE2C34194BD567393C3BC8C3D752
+ 08EB38ABB975961A0BB01EB86256650A
+ 6E49B5376B16DD198EA16549635B3543
+ 9A7DEB992D031EBCC3DCC6C618AAA0EE
+ stream[192..255] = 094A47E7BA81C6E5404981B40448A165
+ EFAF182FB2C8613069DDD40A94E81C64
+ D2874B28A47D2264C9CFA92FD25C901A
+ 6766BA83B7A80132CF444D67813D38DB
+ stream[256..319] = C7AA46CE4216F81AEE652B15871D8B2C
+ F7B9E3690A1CC92F693E98A6228C0AD0
+ 869CC97B0E60410BE883A56F1F33C4E7
+ 3BDF077396A25AEA62C50D8277262776
+ stream[448..511] = 2F3C976DBDDECE17FD95A236E956B885
+ B63701825F4425B51608EC343E643B3B
+ E17738CD6029ABDB6EA8468B1C6A14A5
+ 19D566A78363FAD75C18EEA27982B537
+ xor-digest = 130821064B94462F3F8F9E9481AD278B
+ 904E0F6C7EE65AE1D5F71E334078FC1B
+ 983D7740D63015F0BD8F41C677E3D1DE
+ D70577521D842D36BED5CB2191C50238
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ IV =
+ stream[0..63] = 59D8D32EC7531D27A55D9B679F64B12E
+ B62DD46B637CEF50878073B04B7CE74F
+ 4C63087A909988351E52EEAF5BED30A0
+ 8D53EC2C3F3DB4B7986B218EE51FA106
+ stream[192..255] = 0BBA93F3AF61FF2F73BEEBAAEA964F1A
+ 48993D32271FAA28F31A508421CD3E86
+ 6CF764A883B810EAEBA34F0A4869BB9E
+ E4B57951B1D8CED46A7478D7E26282E6
+ stream[256..319] = 191138BC4B1463B399A048AA376FF983
+ 38E84B9349C84FA500276D9A8F4B5F07
+ 1F959DF8DFE4CA7C246E28CE7954AE7D
+ 58C9CD87D90CF7C14E761435DAD8FD96
+ stream[448..511] = DC9DA31F9FB6CD4F584B484ADFA7CF02
+ D97C3CE68E63585BC61956246960081A
+ 2B1E4768FC7445226DD6824596AE8069
+ 69366719B3A9D2C5562A87E33D62E0F2
+ xor-digest = 93A86E63BEB6FDFC80046E8EF23547EB
+ 6001A557344BF1E96AFF2D794D09AC68
+ 29124374CF641618EB699E599EA5C584
+ 82C4865671166D39CD3036EE40BF05D5
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ IV =
+ stream[0..63] = F978BCA20ADEEEB3D1A148F5CBFFE055
+ FD306D53C3CD664FDC93E3AB5130BECA
+ F84AAB24E8D2F1E0D8D72982425B718D
+ C7DF72FC87FE7CCE6962279135EA267E
+ stream[192..255] = 0FE83D50304DE8562B70130D14B8AD7E
+ B9FDCA0E32658F2700AE0F37A79AD051
+ EA6D5FA05CBD8147497BFCADEF04AC8F
+ 8D571D618A6FA09245ED15B2F63BD6FC
+ stream[256..319] = E45D08B1037EA4A1593111414F8B5C63
+ 3DB51EA1FE4D6E83D8452A8B935E617F
+ F1403D9468BEAA8ABE556D3FD4199870
+ 08CF49DBC45EBFDA50AED93675327287
+ stream[448..511] = DD73D964D99EF40A90AE0B1A31F35CD2
+ 2D14B19A6E671269CC214EFBC56FB0B6
+ 84646F3DC3E902811717C939DEFDA0E3
+ 0D1169B6D8A559B7473CD2515DC57C3C
+ xor-digest = FC137AE4416785D3212FA8A8C6137CC1
+ C11875400037DD80A6F5375C0B507EDB
+ 53F1DB43EBE7F003E1BB888059674367
+ 7CC33B212A28C7393EFFA92E9D52A8D2
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ IV =
+ stream[0..63] = D7D75EC9E0E2F873E083B13778159C69
+ 9A02AF583E045D4E1361052FC3545EF1
+ 57ED1E659B4F952241B85FC3F7DD65E1
+ 18FBC25E18823D6F860BD7FDA137AA71
+ stream[192..255] = 9FB98F39DACAF6851A9FB1AD548CBB85
+ 5CA4034C6CF990F5FC89F625553019F8
+ 01F5015BA1C0A4632A8EF6AC1F4E1100
+ D1C520DC8F56618EA3C86F10DF436BD1
+ stream[256..319] = D0CDDD95B1C2A8B4594D68ECE18877D7
+ B5E0D2FC8FD65CEC2D6CB8769C7A93C1
+ B2B01122606227C881A2622419E9DCF5
+ 5DE2C0C448ED4845BC9F83AF16776BA1
+ stream[448..511] = 4E278B493F5E620624271D9D3D8BD35D
+ 698024632028651C5992761B5DA80071
+ 964541AEEA71D5AC1189ACD80573A8DC
+ 3C599C8D3E027C4815588B89267DFE54
+ xor-digest = 7BACD0AA6CC914EADEF41A9BE8AE26A1
+ A20391EAB782FEAEA2953CED863A49C1
+ D491FE4ECB75D69151AADBB0AD181E30
+ 2067524B3DA91CFBF3B7DB23FE18F578
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV =
+ stream[0..63] = E2A406758D73E8C66CCEE427824A5CBF
+ FB7DB68415F22ED92147588FBB4F5E56
+ 4606564AB384BFA80BD64B3A720488D1
+ 6DFCCA26E71FE1D3E230A3568927A3FA
+ stream[192..255] = 7809FC8D157744545A38203E451C42DC
+ B3989B63AF16EE562A20A6221C2E8646
+ 495F66B1BB9F4E74072BD76BC0ABF30C
+ 73F9602EFCF43FDD39963D5A37C81A2B
+ stream[256..319] = B44D4B5D31A5FFDCB612BF6575186866
+ 9EDAA9ECCE2DDD01D96A454B522614A1
+ 73CCB35BF4392D34001BFB68736629B1
+ EED7240E39121E83BEC1C2A5A6EEF9C6
+ stream[448..511] = 3A555F1392EF1D91F01CE03CF98C126C
+ 6838D795596DD8FD00ABCF13F7F1BFCD
+ FBA1D420ED8E0DB406DFBFFF2E22FAA9
+ 68E32B94D69C40494275E159E97506F7
+ xor-digest = 2D9424A3B746EC835BDD7E29629BB696
+ 39ED0B08E9A8559522A7F081DDCE4633
+ BE9DE8CBD73D59F6EEC696CF26763B9F
+ B29B848C05840106B4A6FFE25EC0C6C6
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ IV =
+ stream[0..63] = 27DA37555F926B8348A7E448D4BB8794
+ 28AFA07C23C0B8B95262574CCA1CDA98
+ 0D37E058ACC64BAA24A6D94A56E561EF
+ 2CAADCB1C28FEA71AB85DF2C176FF77C
+ stream[192..255] = 52392F5D0025047D3F563F320DFF5392
+ AEE80958681924145D31BC40959BBA11
+ A3D3BCE2481F4D05DD1B094FA8FDEFCA
+ 883637FFFEBCED67844DB69FD0B274D6
+ stream[256..319] = 6A954B3609BBB870A5B9A3D4B1A96E43
+ 4447A8305745CE035B9CCAE585134ECD
+ 9CC7B44F4232B63865EC5F1F2F63E876
+ 3E2A172EF499C7DFC5D059B0D3116422
+ stream[448..511] = B74C0E0A1D83905CB21A5E9277C96292
+ 91C60290CE5B794D7B3815AF44B2C762
+ DD73CD370713486F206CCC6327F37199
+ A52AE00D59A564E24C33D09162C32D2E
+ xor-digest = F77ED959B1166A843EB561DC61C16CD1
+ ACBF0D28F07BBC52F86C511A0DBE2BCF
+ 1FC4F101034A9941B65ABC6ED4743547
+ 3CC997D4C9855226DA4B00379A37A072
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV =
+ stream[0..63] = 4A2F49960CD3258BA43F2D2823941258
+ B07512020DEFF9C66ED414809390FE40
+ 4B36634AEAC522897DF81CF4011938A6
+ 83408E97F8E745D59C79E43F20336E45
+ stream[192..255] = 6300ABD6EA88736F4BEFD9A4261E5E70
+ 87479305D858E0C614361C9C63130770
+ BA2205ABFD052B225FE1425C8709064E
+ 21D62BCD42956653C3FD07E30D8D1D56
+ stream[256..319] = 83F57BD9D645D17AE1C309EE27438948
+ 0EC29F4D4422D3B020FA744040FF2BFB
+ ADD2FFA2003C1B733C01B6D51D970458
+ 30FCAC74BBA892F6E0855DE977790528
+ stream[448..511] = 475D517F6402171B164220B5A41DD8C9
+ F11D866F589B8459BDC3FA55A8838BC4
+ DCA8EC4F39E4F226A468F007F903A77B
+ 9BD244CFC3DADB789AB2D66300FD45FC
+ xor-digest = 5937DB80EC0B0E102F2D554F5D057A16
+ B0476F7AF29783BB7A2C355C8A735DFE
+ 86EA04821B89ED31188197BE8ABE83E9
+ E28953E85903B7A26EFB42D41CA9C02E
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ IV =
+ stream[0..63] = CC1BA3B60D3B517911BD889A8BA61B40
+ C6CE5A0E7A3A54CCDB611911D06A31BC
+ 9991045B059E5923D2A1FAC8115C4F5D
+ 1C73B33977FFF59A3C32814870CA0CC6
+ stream[192..255] = B88D5335C4442E2F68F02D0A78AE3D84
+ 05C2CC2974FBC39EED1264258861C7C0
+ 35A01C577F6BD4095F45DB92C0AAB054
+ 574FDF836CFFE74FB6D838DC0335FB0E
+ stream[256..319] = E10D2DEA52646E784A96C901E2DBCC62
+ B1D7DBE489473438241749348C9CA807
+ 0D17E01DB3D82B74C7151FFF9C81D1D8
+ 213AD3F5A78440894AAFB75EED323C0B
+ stream[448..511] = 88B51647714680B5D43B88D42BC2F615
+ 2EE9135049EA571010E454A7CE1B7925
+ 61519929842EA0489F5B658070AA9CB3
+ 26A7F19DB0C81EE546028790248B38FA
+ xor-digest = E8146C3834E94CCBB3C3CB18F482C545
+ CF3877FE552E74FA07824D40C4EA9DEF
+ 4CE8EE4C817CDF3EDE72EF3262FB6D31
+ 5DA9F41AEEE370B45C38F9087E7BE6E0
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV =
+ stream[0..63] = 7333729B8C34AF7C7B669DA2672DE4F0
+ 07CA953A12FC3360DE1792DA60468D36
+ A177DEB554BA73FB9F889A79C663320D
+ F8FD8EEE6DF99756DF65C987EA35592B
+ stream[192..255] = 38C36CC146D74BECD2204CED8349F31E
+ B833EE6EFD4ED59C08E44063BE726330
+ B49B0AF7C1607A97D8165BC460C8C955
+ F026867112F68B770379D7E42DB3094A
+ stream[256..319] = E267B91FAD8054BAC27D1C005A005B63
+ BE0E4498D7A50FE322DE01D0416F230F
+ 363C4A1CFAB011CA6BDD7DFE6DFDC1D7
+ 524FD90B4C0D84E23B2C8A69D911266F
+ stream[448..511] = 25EEA3FBD56BD7D59E15120C83EDD93C
+ 95374767F2C19451245A9BFF4E928BCD
+ 7677C4B355DE28A57A9A72758E523AFD
+ D2C9BEBF0A39E1DCDB1F1DADF42B79AF
+ xor-digest = D4A0629575A90556D0C4AF166B3AFAAA
+ C179E602293B57A51591320018663BDC
+ 0E57B29D2C6308D5A2B2547A21C815E3
+ 6D9C75F7A2916DC0484186ABE91ECD7B
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ IV =
+ stream[0..63] = FA52E160325F8A6F401559A4AAC56378
+ 3F9F6FA1EBA9046730EF2C750523F9A3
+ 1F7EE46EECF2D134C3C2BF850EED4AAD
+ 8FC31402C1E82D2BB458C2AC7DAB43BC
+ stream[192..255] = B0CF6C8A9CB7712A98D9676C9D5C936D
+ D24F7E405D553DDE5A0C4486092519F5
+ D9033ACF9BC308A9636D2EBEC139F905
+ 89E62F84E410260CF54406513544CD1B
+ stream[256..319] = FA5524916D327BAA348182CDC4E4F3E1
+ F7CA365B3C6D83EDDD7954734F435DDA
+ C4C42043526E4B1601847BC753C753AB
+ 001E9E2F990333651F364542FDA31D00
+ stream[448..511] = 00ACEF482955616CDE2D5A81494DD670
+ 81118B48F56790B5127A662F97E8705F
+ A874BEA4632E9F7F2CA181CC71E732AB
+ A797DE2192CEDBC718433EE6EA640912
+ xor-digest = 187946273A396A53E2ABE4C6564765C3
+ DC1DCD8E8C652D8B0581583AE35B4C63
+ B3264DC9B6F07B56AE170B9433349FEE
+ 65B911F51786F0C901537A595F225F68
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ IV =
+ stream[0..63] = F53718B288312B8449B6AF773DC981BC
+ 65E6FC165EE7B6A5E86EFD65BE573B71
+ D3BB84454629BFBB341220FB03DDE2B3
+ DCD2F4C6134E7DCC67449F0ACC19601E
+ stream[192..255] = 7A064563708132126FBF1FACAC4A99BF
+ 0A23B33B4C39971A3831DA48D6826B8E
+ 874D0BB21992B1B3C1050DC57A36DED2
+ 4F6E2398D16CC1956D35B973B36407B7
+ stream[256..319] = EED5AC14D677A7E251D8E005AFC90491
+ 99E2A0E28AA9A950D49241DAAE8D1987
+ CF1BFBD83CA56D8DB6E64E487C0F6948
+ 97B873FC02A973BA811BFF8124A5D171
+ stream[448..511] = 38F36F1BC705DFD997FB109BD084999D
+ 614BD459D02188E2F72E35CC55A84A26
+ B1B15E1519A97238D305A540D6F39BAA
+ 04A62ADFD1109453B9714F4B86427305
+ xor-digest = 8836D24BDEB584BFFA2556A5FF6168A2
+ 14A6D6A192A9AA9713156246336AAA02
+ 3027249F29D46315677437C16CD25D04
+ 435719E95FADB594FBB2DEB4715E40DC
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV =
+ stream[0..63] = D3760E8B677681C02798C37BDF7065C6
+ 80F6AE0FFAE975024C08E7A0586C149B
+ A4D731581C47B4DCD5D7F9FA2048C5DF
+ 6CAD0927DEE4864097BFF083745870CE
+ stream[192..255] = 01197050092E55509B7D698DBA5D2D5B
+ 78ACA75DA0BBB00127054CDCFC5B1707
+ 57803E764FE0784FDC04CD357D2B4308
+ 7FFE6E634F14DF550F163B0686C2CC39
+ stream[256..319] = 9D5E20A7C5643379A9BE39F6D42171AD
+ 3361A4FA16DB1BD44B0BFB9CF40ED040
+ C2C9C28628E6E477786E5E1833C67BF7
+ F8EE5F2C8D748C0F406B66E98D8419F2
+ stream[448..511] = 22194B1073884AE566D03DA2F9D9198F
+ 4362CDD730217DF7DD3DBC3C8E1A76A4
+ 780F4BD5E4F8D70F639998C4F1757D80
+ 9908ED1C4FF82DF7A88AF4332A615298
+ xor-digest = 5E651B08240F9745315155D74F58BE8E
+ 060A86DDA8B827D3128848118C2FE09C
+ 07D6918904BE78154E67C9E645E4FCED
+ 8A2F90FC1C330FE918EA01F9167F33D0
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ IV =
+ stream[0..63] = 06177A5E63D6D6A4F0F76F571F1982FE
+ 55AD30D80E625861A9BF6317864DB942
+ 0A270E53BC3B775D35537E1A1A6E4CBF
+ BFA5F80F293532A6389C01B714A2FD98
+ stream[192..255] = 767A9D477854DCAD5D73C9601571A441
+ 3D84A6ED17E6E066DB937DE7E8C01FDD
+ 2878D2C795E5AE0C02BCF921952187A4
+ FA6BD1536C526141E719D428F29E9792
+ stream[256..319] = F4E618C45B7CE79207987986CE4DCB17
+ A496624FA6B09BB59D7C8CD07596FAD8
+ 6EDD1BF891E0D40FBCA235C7DC43D024
+ 113C0261B3E65AD2F2AF1778A477F6CC
+ stream[448..511] = 6FAC269DD76962C1B377218B2E005053
+ C87A62A223AB4A671D56521D9230D9ED
+ 62CFD7AD8B336ADF5B6973FDA56115BF
+ 9357EBE92E08B8D5682F090485612F30
+ xor-digest = AF8D3475E332C7E9869CB9BD92DE96ED
+ 738740ACBF9C23233DA374DC3F8E2341
+ B48F75527663F252C85D449D08C1E2D2
+ 70B8007748542FF2B95F9F890050C423
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV =
+ stream[0..63] = FF1E08BE2B39E356B76D97CDF0F5590F
+ E494AA357C1AD87A6E451C1322EB078E
+ D3F40BE454C051F44253B64264EDD524
+ 93EFF1C128243FA5D67AAE276DDD4A7A
+ stream[192..255] = 1BC72907E8BB49BDD38801D893476FD6
+ 1743BDFDFD6613D65F6CC45E5C961CC4
+ 4311B7A35EAA5104F23BFAAF54EF54E3
+ 402E8C849776B59228204C09A874B4E4
+ stream[256..319] = D75BB50917976477463EB1DE4230B9C6
+ 746D3F43FEBE6B6204D2C664875EFE44
+ B35F5D3FF0C2B8A4945057D11363CEC6
+ ED16A55CD5911938A0F961DB86A11BB9
+ stream[448..511] = A37A85301F4B414DBC8604B7E9919163
+ 0CD2362819D775FA8618C3202A6FEE4F
+ 8C33EB194D9A99C57017BFFA5E23D488
+ 64256F10536E5D989E8F79B3F2472AC7
+ xor-digest = AC6DB06E47077F1290731C95DFB70D1D
+ 21265A96DF6F278D528819B851699D59
+ A5A66477F0F6FEE5C00A495C94B0E48E
+ A08BE0E2DFE75115DCE14920B2318B84
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ IV =
+ stream[0..63] = FB1FDCDF7924CD569AFB2135F21F23E0
+ E59DE392312205F165EA9D83AC27DDAC
+ 1B607E6B2AF6149A792C6C85B1B51AFE
+ D783FB109F4FF88AED30E8FB5ED5D1EC
+ stream[192..255] = B95CA18E05F45936F6F0AC71072176EC
+ D16F082EDDB8987114D7570D2E18E9B0
+ 5CC2359DA9DA336D692B3FA4779AE420
+ 82911A5B9E153E226A64542AB65B2B8C
+ stream[256..319] = 0C294CEAB0D89DD292A5B39728553E32
+ 3BC3F9B5CFF90CCCCBDEB1A93772A860
+ C1462EFEB3BF534C61D2AA2B56C73D90
+ 27E0E3D70EC4ACB29FE14491A0810058
+ stream[448..511] = 864F26DCFC282C313A5AC89365EC4E9A
+ ED8BE2AB71DA4FF4958F378E1D69A82D
+ FBD359BA43516BD0D67F95315D054444
+ 290F7A26B7FDFA1FF0740FD44A8C3559
+ xor-digest = 8283E71AC43232426F3A79AB83B1D41B
+ C992DABECA3EB7C8AC7D1B1C2F7D57BB
+ DA7DCA3BBECAABA2E5E194AD94F755D1
+ F69A95AC44B08662A0732A2743A503A6
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV =
+ stream[0..63] = 8B4D6D1E22370054F93E64C225298BFD
+ 8321EC352AE608EA13758EA04D55F7A7
+ 5AA053FCBB080AFAA4B49A2F4473B278
+ 158D0795269AB5C9C9BF253A3B023F88
+ stream[192..255] = 34BC524B14B8A7C39E5D03CAFE1FB391
+ AD809D2994ED3D176D06909D8822100E
+ 66E51F6EE5D0B65B759F74780567755F
+ 05D1DAF1036518186B383A8A62D4F2F0
+ stream[256..319] = BBD8AB1E7A7E9D729AE66D55FF09FC3C
+ 6F0854BBEEA2AA4E174454369A4E0199
+ AE9EC574A9CDFADCCF4A6B6F2E7BA7CE
+ 69342137080E7E3F289FB5A8593F2EB4
+ stream[448..511] = 3247CAA9E07CD949820E96B3788F4CD6
+ B1F2F5296BBDD06B5DBA7FBD5E92D217
+ 8C1C7DF012B01D96E97043A08D8BA9AD
+ F8CE942361CC2E9D83C1AE0D7947EB13
+ xor-digest = B354649E5EA5C5D4D36B42312200C01B
+ D39E47CE776CBF322B92F9862B253FC2
+ 692E908B86F8179D42F3F5465DBCC108
+ 684103BE38BC11B69B3CB8AE9456C22C
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ IV =
+ stream[0..63] = A3DDF78D178D379BA9F4A8B1CACBAC13
+ F646A923F4529D16D0D38FAF49CBC83A
+ 865E3F1E03C54F78CEB5771F3ACEEB55
+ B59F531B66B4FEB3DB3DD23F8C6B485E
+ stream[192..255] = 80478DD2FAD4F1773922668E3726C715
+ BDA9E8FB6B21DBF21387A871D139A43C
+ CDC9D9BE028361CB076AF990039F37B6
+ 86042F8C412D94DD245001F435A71204
+ stream[256..319] = B1B3017731DB8158ADC002FDEFBEB177
+ 74EBB2C08283122433EF5CFFDEA68175
+ 132F9CC4E94AA171034B0CEB2661F4D2
+ C7B4594D2DFB1746BBD53520CB20B3FB
+ stream[448..511] = 1EEA9B9D647B879CD6A7F6062D294696
+ 06B1242B9C469C385AF30ED630B742A4
+ 86F02F8C4D5D3F60D53BEB3BE59C139C
+ BAF3E13B16A339A0FFAEAF0E4AA83993
+ xor-digest = 9E231C39A84A3C628A5D4F9B85151D18
+ 19559BEB955F907459B844951C273F29
+ 5303348C1A5B1E8841AF0F2F30C14B22
+ A1A714A8A65226422D4DB0AC68AF37D4
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ IV =
+ stream[0..63] = 28DAC15D310A6D9B7597F6A0DE0BCFCE
+ 1F1D7BC099F3569929B274BA659897D5
+ 4508382252C96AFD8EC9FF40E8B5810D
+ A7B3EBD57527E983739B143887C2921D
+ stream[192..255] = 68957B9633BE64EE62586BFB2CDD1C55
+ B49C3CAD851CDF76FA00074CDE1797C1
+ 8C32009C242D01D83FF15163C0C71339
+ 5FEB2A9964E84AD243E5B9012BEEE408
+ stream[256..319] = C6A1E2C3C9496F38F1A5E948A915C3C7
+ 9F587AACF58CABD6A164C00222D00B91
+ B9E2C6F3B0771623809A13BA99871789
+ 68A8ED18DE5EC5022E806C37BC0F8FCB
+ stream[448..511] = 68DB02C44BE0AAD9D3DD07024357A673
+ 7CE7F2AE867E4B0C4FAA90AE7BD15EBE
+ A1BFA0475D31D6944FDF6334A4B181F7
+ B0C47881B3A59A2D5AE00E2D2362AE33
+ xor-digest = AE51A61D899F552C447EEF5B83407D6C
+ 5003F6B522ADDDD372167000D7A380CA
+ 61FD7101C2EABBBB7788C8CA9F44D288
+ 419177500D8C91707313E74125457FB5
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ IV =
+ stream[0..63] = 597EE76B215159D4A4C5CD289E4F0BFF
+ BA72477B877933873E789F3D172429E3
+ AB60F0F849131C1192F6FA00BEC86456
+ 4555516B926BC3477BC3AF498C87DA54
+ stream[192..255] = EA80CCB18906F1B72C608E8D934C39D2
+ 0F710C3140D037DC85A79E2587F4F734
+ 8D766370AC473564307713A780ED10C9
+ 0B84D11E4C1E07484E8778013C509E63
+ stream[256..319] = A2AD3E0254D83CA3BC171E999DCD0BF9
+ 8FE763E4FF4F2742D56A9FD1CBD09441
+ 8DDD58CA17F91866325449207E10B5C7
+ 65BB6FEDF647AA33A27122F0B66D4921
+ stream[448..511] = D2344EDAC57E596F857333D854CEBD24
+ EA7CF0E2C11590A351FAA9E78EEA6E86
+ FD91BD09F721BED8BD409F533D2AD05B
+ C4A0C2BB3EC14F820046B46F159D3352
+ xor-digest = 8C908CD2B4766DDAF1AF74C971281B17
+ 8E4C4D30133129B0D4A7E82978787C27
+ 439F8D81FD53818F6C68E79E99D2919C
+ 9F855ACD3A5125D37F8A54726B37984D
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV =
+ stream[0..63] = 2BE2E4EF6E9E337AC29631B9526DA51A
+ 57A230E9AE187F966589C2ACD6C7005B
+ 7CA529182F48ECAB3F220ECE69A5172D
+ F731642A990B5583441EC09708F6FD06
+ stream[192..255] = F6764A18C3B3DDF6727C916965DFA8E4
+ C066B5745ED4BEAFB7D63E9B647AFD9E
+ 39AB73B5CEA7BDC2DF4160BC64B8BE22
+ 5789A73AB59155BBB09266C80DC542C4
+ stream[256..319] = 3C5567EC1A9FFF10A3A84869419DA6E8
+ 2548731147FB09BA59F20459D1359D4C
+ 1A33A5ADA93D1D4A6E2D599812EED9A2
+ 8485DACF519643DB4B0E86C336904507
+ stream[448..511] = FEDBE45704A23F19976A3AB7102C36D9
+ 463049CE8F48315F4164970D6B326378
+ 7DE4A8D0F9B296FF52E9258BF658345C
+ F37A81585277A9CB7304593072A890DF
+ xor-digest = 7F49AF70AB3A07ED06E0A7B1A27040F1
+ C7E5A3115A4B36D7F334A42DDE97809D
+ 0C7DDDF9FD14D37C51B0749243239A9C
+ 562602D1223F11FDC9DB617E1863E8B6
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ IV =
+ stream[0..63] = 7ABDBEC1384D9545BAD91FF41D97D818
+ A759BBF6A984A7D55D5F605AE9FD7481
+ 9018AFBA246612C380473FD05C54DDC9
+ B0898DA0EC4B9CB89BCDA5C32B61D178
+ stream[192..255] = 86628D02976C0F32549E372B5A37CF35
+ 11A22DCD71BC3C9862058BAA399BCFD8
+ C7E05ED991CE9075DB44AC228FE2BF16
+ 0C171B74EFEF250D5DF00E2A6DDA9331
+ stream[256..319] = 8D78983908D2E3ED9EBA6CC9D1794470
+ 0B88862D294DDA7D79B96EE279A88D49
+ B062620390F4D131F44924F1BF0834DD
+ 3246B23B43BF55E1F372CE0038009D56
+ stream[448..511] = 168F8CDA1ED86FFA602EBCF21A1EF0C5
+ 65290C4261EDC7830F504558D7B59BB8
+ A984E40157CBCF30E3DF4319D1F13385
+ F69AB5F703534F83DD441AFD04C2B6A2
+ xor-digest = FC5E216EA3940E6244F7246C67392161
+ 000FC6BEC43A43CA41466D6DBB4BF0B1
+ A38F64E904085ACED24E1EF7D5AC8FFF
+ B6FD76C1D5271530B0080E24319F07DB
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV =
+ stream[0..63] = 24038A7C5EDEBF9BE569FBC136EFAF3E
+ A70CAD9779852D701B9334891A196B7E
+ 3C5FDF9F01317CA7C4A4D74C5C1FFF7B
+ B1277FACFE0549A9004AB10F81E58710
+ stream[192..255] = A1A6D3E73C77678FF484BD2FCC84C4F2
+ 6AB39740BB3087B3E02E42AC417290F5
+ BAE43D55AB4F709524E32F8432C5664B
+ 2A534BA1BCB8B489AB0633D1FFFA3DDD
+ stream[256..319] = 4DF45B174E77E25F155B664AAB1FE6E0
+ DFA815D6F02D7F65783F4A4932ECAB50
+ 8527956EF9E3565ECC33D553425CC945
+ EE55A316722EDA0E0870BE130C41CA23
+ stream[448..511] = E78AC0DA43FC50F1B584DBDCD5D875BD
+ F958B5AA6E4669B5A64FDC3DF10969AD
+ B0D64742D1AE3DABAEAFCA88074E6372
+ D47095EBB402D4A4B5ACABAB9B35B4F1
+ xor-digest = 122761BC33DE98C7DD7188745F9FD9CE
+ D9CBD3E4F05F7F70806445EEA67FFB68
+ 1784A5C49D5AEA391A37F22A8C0E4C64
+ FD50D7D4A063C8D0FC9512C7937ACB67
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV =
+ stream[0..63] = 138E46169E1B3A580FAE9F75C4EC51AD
+ DB70D19F50C8206343210CEA482E043D
+ 2C9F6206807C03201D4E4BDBBE7F60DA
+ E92BE7A6BA4BF8824F7AA306AAE48EB7
+ stream[192..255] = F1F7DD4BA59B3A480D36421D2422ECE2
+ E5346096CBF941FF46D1439D2B43F55D
+ 97389128885A86E0A948F8A4C1B4950B
+ 6E878F0BDDCC9D3AA0560686B470A438
+ stream[256..319] = 23BD586DDFB4E6D027744E23C498AD53
+ 39AD0687B3CAE0D736A6D234A1C6EEB3
+ 70C3538593223138A9E30C349436D716
+ 402F068746B8505D817064BC705D015E
+ stream[448..511] = 80AE49B68C5620FE1C404D8BF01CCB5A
+ 7309AE639A161853DB25569F71C06F50
+ 5C5B0981FAC1430B62C59C670BAEC3C8
+ B78CF6F961B25FF78CC431A96FD77023
+ xor-digest = AB3FB361CCE9B90CE3EADC9F25957CA5
+ 0AAC8402D7B49F2A8E24972B9B22DDA2
+ D65CA5FD7759F9526C80DCC8DF313E11
+ 73CD16C2BE53C88AA6B8F46511B09508
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV =
+ stream[0..63] = D75267A11599B987FADF789116955A64
+ 3372C3DBBA6DF163FD4FDB5C2E3BF11E
+ F22049E462B85D6CC96E0742806DD47C
+ EA6BB0F716F3ABE27321D8444216ECBC
+ stream[192..255] = 6E58309A50B5D3AF366E4899A52DBC58
+ 1EB47A8F5BA0D4DBC2F0E23153E689A3
+ 0871DDCA71480725841F5E6BE306E4EE
+ C7570CF3191914814EB585EF1BFEF18E
+ stream[256..319] = A57E7EB23EA6F93D4EBB022DF44F9A56
+ 389277DF8ACADDF069BD3B8B6F8E7725
+ 0861F22276784DEFE494E7D8C19A297D
+ 54274A5AE2E8C8C80FCE7FB07E452411
+ stream[448..511] = EA06C509E71A79FC4C1D3D1A0804AA0D
+ DADCC54AA26D2E375935ED08AD7E204C
+ 6CD7E75A6EAE5D948CCE6FF7D2BCB8C8
+ 0AF1F462CEA3668299C69093BBBC1DD9
+ xor-digest = 4B90A2F6A3A9C64FF6C2326B52EA3373
+ 8D0A9146803034B73A84B2038A687207
+ CD1BF63A05561F57ED75EE7D79D8E773
+ F7DF24BAFB85651164A07BE4A4766F6A
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV =
+ stream[0..63] = 60142A5D8A6953F1CB27D9113E07B100
+ 806EE8449A2920047FC15BE4E8706AA8
+ 69AF4DE1541C1F8FD4FE6E48017BBB50
+ F0F0894FBD3A6606F50B84F92EFC5959
+ stream[192..255] = FE6C974BDBDBEF2AB9BFF67495A3BDA6
+ C279B200C83781377D76B404E1B9C0B4
+ B75DA4C0CBD45C3B636D5230BE4C393C
+ 2F3A73B740710A1D42AE6375DA13DC3F
+ stream[256..319] = 5259E29CB0FF384A0C4B0459FCF9F290
+ 948F174E8C9E03A8FD57A37EC247F01F
+ 706BC624F1F044ECBD79B82440A36D19
+ CD3EEFE72296DA32974C7C0D89A0070B
+ stream[448..511] = B9C50FFC2CE93F3C971FFE85736E20B8
+ 85A925CF57F492F9DC915BB6B7621EAB
+ BBB30DAFE5C32EAE36C0ED6DD5663204
+ 4168FFBC3C43CD1012BA9061FD27E4E0
+ xor-digest = 85751816E523646572D7698CCD1B6C5D
+ 651B65402C93DAD364193147026C231A
+ 577F17C3E1AF29B5FB6029CB442A6F82
+ D2388B8097E1BB1D57CAAA3512964391
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV =
+ stream[0..63] = 0A1CEA65291558BFEBCC5B59E4A8B61C
+ 1AE68E4938C061124BA76CD4173C125C
+ E9D7898A638330BA4C21BD27CE77888C
+ 344B1373ECB459B23532AFBB6CE279EA
+ stream[192..255] = AD46BA7E84AE79828164F74A303273D8
+ B44F1A0882FE8FAB2667B1BF1F1B61CE
+ 4FCBCEE524CE2272048CAABA6F0CCCFF
+ 28253DC9D07F19ABFA1FDDFDBD386C4D
+ stream[256..319] = C8CDACACE5EDCD13B1CFA36024569BB8
+ 488E9DC54F58481DAC6BD247E54ED3EF
+ 61831189CD393B3B6DC6994CEF941DBD
+ 254AECE82FFD0EA4385DBF54050336BE
+ stream[448..511] = 05E58763F2D65AA4E9902AE20DAC5795
+ 2A92AA1A0CFC3384D63AC788AC6E0688
+ 2E63969BD93932ADAC0302B9D7FB38FC
+ 9175AE0B14E8520DB6719468E0DFE5D8
+ xor-digest = 70388C5B3DD1211860B9B0A800C8FCA2
+ A9F9045822F0BA514D617D6C8401DD8C
+ BD220C128FD45F3002E0BDD85C2E2B7C
+ F16ACB993A879E4A408C8588812F18D6
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV =
+ stream[0..63] = AD4CA963B58AE3C3E5A83ECF67F5F6AE
+ 41871AA3A35C2BB7B3D429E560E37C40
+ 6C81014795DF6477F0093B32AB3D1589
+ 33984B360F3386F5BE951C9256B06940
+ stream[192..255] = 54CECE8CC15F8F1125793500CB999703
+ 731E1E05B52568C7581C2BBBB890CC3A
+ BAB8D2ADE2FBE8F21EC63F4A5C277F7E
+ 8F11FB8FEA69F7DE70D438484A2689EE
+ stream[256..319] = F3DC0EA99CFA7B9033022161D5465766
+ 508DB2DCDDF698DF3A409C3880CC04BA
+ 374FC8EA3FE532BFDB94DC7A40D1B18E
+ 943DDD833000DF8B80D562D4F68153EA
+ stream[448..511] = C28B3AC44B6AA3D89461BEF03F990FA3
+ 17C43F84E54126C035DF307131BFC508
+ E265F218D44ECC641BCCE08049074E49
+ 5777C0968359649E21E7DE0BFBDA2234
+ xor-digest = 36CD1A5116DC711AC428762363DF4ECC
+ 1E9CE702653931AE08CD5D1431EC3427
+ 22A4A3AFD3DEDCE54A24215B6E02775E
+ 0060F2DD17BEAA4530940C20ECC2557B
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV =
+ stream[0..63] = 81F72720BEBAA6C73D6762DDCC433539
+ AE1BED8FEF35D6EB146EB979EEC9D779
+ EE1FB7947816267A10784AF824655D81
+ 4E820198A63A23EF2516EAA16AB70740
+ stream[192..255] = 744D2C2C4076DD4FED526D6621591802
+ CAF8B096B80AC4F9F3F46AAE63EC0A7A
+ FCB5D63AAAF9493D5F72F9D149989F20
+ A1AA2D9CD92506EB6B59322000B473D7
+ stream[256..319] = 3D1DCCBDBCB67D54DD1F524E9CF781F5
+ C2D9C6CC698FCD9E3F49A8126311BE3E
+ 472626781C86FEB5C2411583C4ED42CE
+ CA535F4D51C440191435E9B2A34CAC27
+ stream[448..511] = 6A5B35A964D7D6749E7D47BF0813CB8F
+ C53BB67F4511D262DABE7C44B1A86B09
+ F9F31C7694787A3840F884DDC75988EC
+ 78BE101EAB8163030465D7FB8F7EE137
+ xor-digest = CE629B61FB5CE374B86DE165CA21C4A9
+ 033CC403BC21CEC2CD8F325854BC5222
+ CF727DB4EB7F6961F603A962C3C8D46E
+ 4B63F30A32957A59FEB1603934E0E1A2
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV =
+ stream[0..63] = 4FD65B9C94A3EA1D23DFFF998BCD42A2
+ 5985ADBF482E02248020B075201ABCE3
+ 7447B12643A161164E8CB3C810CD57CF
+ 7E7D998B98E52AE513AF37DFAEB960AF
+ stream[192..255] = 4262BB2B7E587A84A36F91B14F8228E7
+ 912FB2571691078E9B70FC15D445D6F4
+ 3424409EAAD9CA02FF67908A152DC3FA
+ 0CC32F97F22DC2249DD0DD491665AAD6
+ stream[256..319] = AD9D572648E47D4AA276EE065785FEBE
+ 947D24769B91D2C1F8577CA5D370551E
+ 8C7A2D61E1E989B409A6E99F59BD0A0A
+ AAEFBD219B205F52FE72E0EC31F40A8D
+ stream[448..511] = 46C7AEBB2298CEB8251CC13F2BE50C86
+ 22E37D322B76333C667E2AFB3918E1C2
+ E891222E510B766BE5DC377BE64CA1BF
+ D8B96A75AB591ABE908A2FFF30C1CF75
+ xor-digest = E7100316DF67D2674253235BEA540CA2
+ 76453EDD483FA3EAF15BC25479F1DF44
+ E3E5A15C84B0C6D43208B0281454FA17
+ 543CA8D6F09B455CDFAFA5A701CE3409
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV =
+ stream[0..63] = 2F651E54A200E957466E38EE2E7C2913
+ 4E8FE4D0849841CE7385391FC71A7549
+ B088F133AB43BCB4C1ECA9C719F83513
+ EA4BA78AE6CB286E9EFB1E0141D98EB8
+ stream[192..255] = ED19D84BE0C02DA1EBCB4FC8998E6A53
+ 26713D31A2605D8F39349F20787D2C68
+ 0C17338F01700B667CBF36271F7664CF
+ 21E4BA08794948711E8F870660F9B5BA
+ stream[256..319] = 3179DFF2F816C011353F6EC1F6233BF3
+ 84A407E2E121D49CDE7DA02A19F72E81
+ 7CF908841C006F6867D1CF050B3AFB79
+ F887807790A5705BE4D98040F4D45F2C
+ stream[448..511] = 0A92056C0DC2E2B93BCB195A0C142F19
+ C53EF1CFA3ECD61F62EC3EB1473700AE
+ 9800BFD9DE01EB2A2E2A28B4FFA3F0FC
+ 117B9C458931483BCF1271CA561724A9
+ xor-digest = 8570FD11F5D0CF3CFC8C68E190ABBF5E
+ FE5A6F6685BBDAD46405FCCD4EBC34BC
+ EF4EFCB9742EB2D9813EACA3AF045834
+ 8E1EE4BD958E2CD9E601F744589155DD
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ IV =
+ stream[0..63] = B7345CFF45F952763C0D32EDC66FEEAC
+ 9B1C540F28907641444ECF7FF7122165
+ F66A8F3783C8389429CF02CAD89965E2
+ 2B59B5D9309980E2C7A213A6F81087F0
+ stream[192..255] = F5AAE7453F7394639827ADFC927FF0AC
+ 245D4B9F66B06ED7420EE2CC08CE31FB
+ B0800038166A00629CCFE60C0B77D17B
+ 997D2F9E29A00AD8B5DDAEFA0C8EA02B
+ stream[256..319] = 86F4546E60CF77F2E6B0B3F221334A1A
+ 0026D21625477D865295C7F56AA4CE92
+ B49257933228F3545FDE092A2174A12B
+ 7748F7962C4E194AB1FC36DCF5A3D880
+ stream[448..511] = 96836010D8C580C8B21487B736B4CC9A
+ 51739627FBD7AD249C261A9928940604
+ B67FCC09F3D58CD0222123346B0E8AE2
+ 11B3F5D2F5352D4D6D1C159F9E8A6E4A
+ xor-digest = B18C2B6F08B5AB9BEB3638FDBC716391
+ 16FCA4661991C8DFB3AA83E6CFECB290
+ B80AD076011506EF22C35192B704DBC8
+ 31183B7CA7E0EFACB5F165CE22DC7391
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ IV =
+ stream[0..63] = 3AB56BC92BB301039D3093DECFBCD863
+ CB38FAC88453BD5BB7549F8DC4AFC78E
+ F1919B750A8D906C295D41DD253FCAE3
+ 1ED47108EE43EC51C5D2FA417FCD7D96
+ stream[192..255] = 7006D1C532F36FE4FBC486DEC840A188
+ C1AC5C380D5FE48247EA6DA697A941F1
+ 9DBBC59C744AA14FFCA85AEFBC4969FF
+ A49CC5CED8E2EA1B1E5AF857A715E284
+ stream[256..319] = 1EB0E0DC4E79D82C5CA0AD9ED509DEE2
+ AA039036C8C95F2EF53419EDDCAE79FE
+ 3BC11EC751BC47CC3CCC4103EEAA6907
+ F5C49B5176EEF5246392362BB01F3329
+ stream[448..511] = 470F067B1FAF12563750F0E2BB1163DC
+ 100BD4C6A2725E354E51FBB9AD2A5C74
+ 67947819A4072AD9DF0B2371EBDD1391
+ 27CEA815685D5AA433D6C0A09EB4A693
+ xor-digest = 9976ADAE6FA18FF37E6D1EEB71F8C610
+ 55EF4649E6CFC9F36A53ED8412439BAF
+ 410249279F2BC5AC4DF0215154DFFDF8
+ 6255858CE63FC84414B5707541AA00DA
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ IV =
+ stream[0..63] = 5420C20B8D7EFDA5E044A65B9826586B
+ E65C332A00FBE7A8044FBA5FF7536F1F
+ 19A6E0EFE8C4A2173AE202D948050AD3
+ CB3CD3F54610D1EA72FA3F0CFD9830ED
+ stream[192..255] = 77B44CCB173B469A80240076C4E76DE9
+ 24722944193FDA1E5ABF8B8A9EDB0998
+ AEB418E4C936C5A2CA75F7B6FEEF4AD1
+ 972D18798288DED11547EDE091D324A5
+ stream[256..319] = D6213B985DEC36B9B8CBC50340D7A5CB
+ 8DA674F3FA323D2A3F30D20C74555684
+ 52BA8E5F520817BFE82CFFB9637225C9
+ 52B13D22E739FF636021DEEBB73A44A0
+ stream[448..511] = 677E5DAD860F732D1F76518C29D1DD7F
+ 78F9624F908359EEC5F1CDABDE4F26C9
+ 23C9FB701F323C9A652B5EB2AC97CF70
+ D5C30C2F276B990FE454C3880349B311
+ xor-digest = B3EF8106E43481F823297BC40429DE82
+ D6811EE24238F08C8366A30EEDA2BA38
+ A76F78C8A14D7395C635838CFB411777
+ B382DB77C5864869574C50ABAD011D32
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ IV =
+ stream[0..63] = BD28516E8F81AC4A212B9286E4961104
+ FBAF07276AF0ED083F4CFE26D88233EB
+ ECE01DCC43C02F63381B9BC9D7441D3F
+ 16EEA73CE9A305D2F850CD4A762F0578
+ stream[192..255] = AE62BF7550D226DC7051CCCA3C7BA344
+ 88DAB251A113FB1EBA331CD5D1C89D51
+ 7944BA84C9779BA09052D7E5B80E79FE
+ 73317B24268DCEBD8919016E0EB3104E
+ stream[256..319] = 3CE3007444F285243786DAA6A77756F9
+ 7DE01A0DA445E139572FE06DAE0A8440
+ 61F04B8261ADB48F766A0AE3A35BF9F9
+ 6784981823D8A75A0ADA53348A212E3C
+ stream[448..511] = 84FEE97C7CF58DCA6F8EAD9FE67E9C6A
+ FF9681F8C138271DED31BEC9381229E3
+ F31BE716DEA8A78CE1F5920BCD6461C1
+ 243AC623EE7092D34AB833F8EB6FA509
+ xor-digest = 3FD75F7A9EB97651EFCFD9B52EBC2613
+ 9C188C57342913F09EF5E88CA1981141
+ 98A609CAD2A42AC333F240A948A47F58
+ 1EF192C08958341517DA6E9F4D5329D6
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ IV =
+ stream[0..63] = 638297CD5B1A47DF4C65916E9F2ED9C5
+ 2A3DF8D799D7C13450AEE3DA0A2868A7
+ 08D715BBB33893B07EA6AB3AB74D3FDE
+ 6786EE3FF739C5EB2ED5272C530B421A
+ stream[192..255] = 9DA4642FD55C6F22E392640588EDBFB9
+ A0157172BA57C67EEAA99127F8C9DAF6
+ 71ECE8CD2CACA05D8180F712DFDC8CA4
+ BF545543068A82D156B11371CDD5A83C
+ stream[256..319] = 486C9A2B715D1447A0EDD052B5803472
+ 36E621953C8060329F300F6535FFD01F
+ A27A711F5F6A6C0D0A29AC0C907BB376
+ 6F4F0639D9B76116051ED299DEA25AB6
+ stream[448..511] = 48F5AD44355AE961AD54BC60AE8586BC
+ 26CAA4286CBAC6F22C1215FA964DF4EB
+ 4331AADCF184A0EA469DE1EFF3E29CD3
+ AB69A32CEB30B45604465BAD97041768
+ xor-digest = F9378FFF702B35212979B8D16667EBE1
+ 9250E90A64AC59EFF27621B725F78B59
+ BCDE5421CB833AE2D003D2C348F7D1F5
+ DE4F2BDA4CE10C8130DADC8217212F15
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ IV =
+ stream[0..63] = FA167B55F48919ED8872C28A18094974
+ B2223B8F241E4C5AC9F5B773079D6FA0
+ EA8DFB4BA50C683C0F7963760037F406
+ F73A7FDED1C7BACB25853F9C072C145A
+ stream[192..255] = 6C6525AB39348B918DEC7C3E2C235B21
+ 9D612967769182D0B8FAEBF1BE831E42
+ 9B967DF86470DDF8A1D0BDFB9B595D36
+ F62E59D9BA697E9C417ADF6F2F866C52
+ stream[256..319] = 556287C6D7A8BF4CDBA6BCBE167AEF3C
+ 3FFF6777E3DD6B53AF205F18EB3BCA05
+ ECC5AF32A12D75A551EBA1388ADE8D95
+ 9121D2388B605B538A29C92CD425DC05
+ stream[448..511] = 2E7D36F6D934395883B333C58847DFEA
+ B04266864A31B61723E0E8B840FF65E6
+ 14A7CF27248CFDE4E8D8252A53288747
+ 70F5B7393475E47A686CC30D23307284
+ xor-digest = 77146382BD27B8E20DFC2967D588F7E8
+ 87206E9FD3817885425D2CF78714C4C0
+ 77BE2B699B79801E072233F27AC307CB
+ F0904DFF90B1032645F27940D7F71ACE
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ IV =
+ stream[0..63] = B74EDB9C246A6739D9FCF5254338A30E
+ 4C3DB58A88E5C0BDD88E0BF76176FF83
+ CAA849DF11899D2B3102362A1052AD03
+ 2C6E3EC3DC0C07569CF77BFA1CAAADD2
+ stream[192..255] = D294A93D02ADD287D08897131906E9B9
+ 5B1214E418EDC1E1E09F07007C5FDF1D
+ DAE38A0213A1F194C04B6D4C4A17AE23
+ CFC598ABD2345984525A3D04407B3181
+ stream[256..319] = 83B12E44A4972F3535BE7493D8EEF172
+ 7BAB4F29EAD5D8F321E541BF51CDA75E
+ D9E67016408206EECAD1BEFBE61898A1
+ 39C6CCACA67C5A4586995C2904EE4D13
+ stream[448..511] = 370E61B58AAE209B9A2BF408130F16D2
+ DD006A28A892611EF69969CE7D4ECF8E
+ DF4274EA92086BBA3B1BC3371A8E5282
+ 0F803AFECE6CC980B2C5C1A4F06834D5
+ xor-digest = B7A24F0DF683EA6353053B1920105254
+ 8D1CD068584C604596DEC0D1F6912143
+ 0B2E681BEDB0F87870AEDED5E0148997
+ D61276DF604DE0E6C22C6D1879968DA0
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ IV =
+ stream[0..63] = 55321D47E89B9EBE10E4A605D6FE6A92
+ 883C7C3803BEE186FE5A9233CFBC4E27
+ CDBD4D913E6313BE11F8E390B7F8583D
+ 3245FE9BF82743F9A4013B7C3B57B0C2
+ stream[192..255] = 4595D31C0D972661FE61A83D520E4CD0
+ 34E7A74968F8FBB355F187656F6F6CBF
+ A98A84778B7ABBAAC2E0C75EC858490D
+ 41479D72E1E914C44C37B1CBA7DB878E
+ stream[256..319] = 7B45DC174F23D72AA94BBEE55FB59A9B
+ 879310454D8597AE24E6D523DB4643F3
+ F427EF0C4670A20B1193BA66D42DECB0
+ 1810DAB7D51FD541E2E14BB20F941850
+ stream[448..511] = 0FA92B15EC5106CCF65943CE3CA6BECD
+ C508BF43FD7B09ECFAA459CBDA5F3F13
+ 764066EB4DD79AFEEB6220574314A7F0
+ D290A8D8842975959AD36196B0A7C9A6
+ xor-digest = 1DE839EB0E412A63C9268EFA905FA1FE
+ EBC135F976DCB39BEB37450419F7D2C7
+ 850982B4FDC0D35EEA63774AA33EB76D
+ E3FF85F650CD49D4468586521519262C
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ IV =
+ stream[0..63] = C306FC0AA9355293A8D9A0D84D55F0E5
+ 3F913D17490F6CB691436DCBC4963FC9
+ BD8CE7A4B39461A2A38B98DD9948DC56
+ DAFF7685DB35D646AC36F7BE638601B1
+ stream[192..255] = 757FAD3E0946BDDD7CB3697047B2ACB0
+ BE3EF5631DAE8B1EAD7C958E3352337E
+ 737A75B1062AE51F290FA91D57F8E139
+ C985BD1011EBDEADA20B3A80534C956F
+ stream[256..319] = 364CFA858772802D15540253B80DE484
+ 70F26BC0049A58780E6A97E54E60506E
+ CA2E072BCF6B2656602892D902DD9373
+ 02379993BD387E26D5D7ED309B2AF51C
+ stream[448..511] = C8627686A18630E37D102A8631FFFC0F
+ 64726F83C15783EC7E0111B91F527AC7
+ 7D8A6E1B8555F60815D2BFCE2E718278
+ A8C0BA72647895E277A3D9D869B81F9B
+ xor-digest = 2FFABFADB76AE77683151F1885B5DAF5
+ E227A6E00B235666ED743CD64150380E
+ 89B7AB04F2F8201FD0A812F5E8F7FF95
+ 21749562583E3C974E96CCDDDDC964ED
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ IV =
+ stream[0..63] = 46A264CAD4E951FCCDD4A1C51BF60DC6
+ 0E76E90D0483437E36BC7A43A7406497
+ 7004A2C0429F292C05519C61F6009484
+ E6C41660A038E03044131711CB134195
+ stream[192..255] = 25C33DA571B800777A968F87126CF7EC
+ BDE7EA8F812211CADC4120159BC7E7D7
+ EDB4666A259C6E16EFCCBA776F4C6A4C
+ 8D03139C6C9F2E60ADAA4BAD4FDCF200
+ stream[256..319] = D8FEF4B46A4E776738DC91C4FF0658A1
+ 091A4CA167973BAA345B047205FCB694
+ 75EA318DD3D031574641C35755E08DCB
+ 1242E5BAE0FC61ED2FE374D4AC9C4D2E
+ stream[448..511] = 07C0E55FCA1FC7ABF17525F8BF8A8A87
+ 987A1CBE4F28335A85A7C0400C93A157
+ 5C40D99AA1E3964AFAEEBF2B67DAB3F4
+ B864BC6325D383C73A79494CADB60143
+ xor-digest = 7476A28A0B4AE970488E96029B047573
+ B96E77AC51512340131FB4ABBC5F746B
+ BCFC09E21965E320B6B679EE23EAA14D
+ D28B6E84796BB75D98B2EFC450B3BB76
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ IV =
+ stream[0..63] = D9E77156510CA2BE938BAFF1F1592500
+ A27E1CF13890F224AE94FBEE9A5BFC16
+ BCB2DE2156B2AC391A8C9D9E0F86FF05
+ CD168BC1E25C9915E44DC0F34802D14E
+ stream[192..255] = A7D1FA07B18992E35386424CE3F63A49
+ 76759245C020D847D4D7B61A3490026A
+ 5E9CD2D4CC9AA935936E09CA52A5DE65
+ 11EF87216A52D3655E596D7E780F5C97
+ stream[256..319] = 8BFF29FCD32A2936F51FAE9EF9E3B00A
+ FB3D8710BEBEA744CAE78F5DEF226DCD
+ C608B913A3CCE321CBE79152398ECD1A
+ 3F6EC0578971D82D5247A22D05CBA9B2
+ stream[448..511] = DC765C545067C35FA8BFE2FB889EC376
+ 5CAF23D93597A6FCADB21CF28468BB49
+ 31C0949330234AFE5B4882392E118EF8
+ 48BA5B5C8C0A409B425B430331FB589F
+ xor-digest = D8FC77452DE3E41A1556ACB63E52DA04
+ FA8643EF850DBBD854FE66118FA0F9F0
+ 5CCB6736E2649CE1A3F3B2CB9EEB15AC
+ A6F118BD5509FCCF86314E61C27742D1
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ IV =
+ stream[0..63] = 73E97E64B9686D16000EE77FB275A010
+ 0D7727AA6E603592CB31887D3DF19408
+ 329262C50CA0C803B6575210BC7CB738
+ 3C0B739F372886D6A67DAB339DF65681
+ stream[192..255] = 74A275B0C78C99E67C1569B905A04469
+ 1F3C388CD69E2264D6BF63DA62D41A7E
+ 163C2C015E302BE3821DBC028E24FE6E
+ 369D2F9C4E6CF72C893CC3AE0C2DCCDC
+ stream[256..319] = 6CC94B1995E4E022375218A1015AA4A9
+ 34C5240E58D9337C1C7A44BCC0D1E7FC
+ CDEB5D85FA4ADB57CCDEA725668B5B2C
+ F9688143694B80539D998EE97E9C6316
+ stream[448..511] = CAF9E912AAA90EC29BEBBB064B3795B0
+ 78B57972E90D3735EDC101253FAF2DBC
+ AACB7E930BE767DAAC88B4E646A6B808
+ 2D126D2248835F4A91A8FCB6F7784F77
+ xor-digest = 695D0C3C1F0047FEF7EE6FF7DA1731CA
+ FE578118BA0D647ECCA347C5C09B0C8B
+ CAD6C99FFA1BFF0922A59B9D31F0202A
+ 7035B66822B51611E780653D5C677DE0
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ IV =
+ stream[0..63] = DA0E50257BF4C31EB348A32306D90C1F
+ B8DEA23A7E0C514A4D350C4955131744
+ D3426135AADB50D1AE4E0EBE32600BAD
+ 48C13F6322A42E931AC4AF35BF2DB834
+ stream[192..255] = 994A290C8CBB2DE81173B7AB03B3A80B
+ 92574363060145E3CDE160F0CDD3C7A7
+ AC3BD5BC4171E2CD8C2BEC9BEA9D1D20
+ 7EC788D71C5830BF441379A1416D3411
+ stream[256..319] = 767BB6F7046960957D243B925F9C7D77
+ 20AD02E68035D7BD3495A14C6977FA27
+ CA53790F1E6DD14BD9A90DB948596CE4
+ ADD0155FCA76479E9C3696441EE10225
+ stream[448..511] = CF563865ACD396BF031D5BD95C727430
+ 2665DA13906A03C37B24E50A0A9E97D8
+ FE80F0EB65AC07E75AAA0A9F8539A174
+ 2DA4BF7C47E4262F924819F4772B2AEE
+ xor-digest = 7FE3412DB9312084AC9E8FDFAFC3E292
+ B201618571C315D40BA9ED5F8FA3BAB8
+ 6E70DB9606F4A74F13BA6CB2F421E4C6
+ 52AF01B02A5AC1C63D30516FEC173D78
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ IV =
+ stream[0..63] = 78652C000FB1F471AB653130A45D85BD
+ 1523AC8F419B86A380990E988489B973
+ 6494BCEA59C71ED95C31935B6129A3D1
+ 5A9690954D31F61829E300BC0782B549
+ stream[192..255] = B7C3CA6C05DDBB74C9015873726B66B4
+ EE373E301B3BD6A13C58259C095DD28E
+ 6CF2E49A94302E83472F60AC2E076B56
+ 98C8FC32855095E7223300A15281600C
+ stream[256..319] = 8B39F97217FE644BF3C92F17814372A0
+ 91F691A9B711B020E509BE83289D3473
+ 8DA6B01DA0B6594BB73EA64D484352F9
+ F94D83AEE164A81F208DC96F33F1B0C2
+ stream[448..511] = 15B84D4B277EA307DC83887A67E5DCA7
+ A624F218C998168111E3E14C6351CD70
+ C152BC7EDBA8DF7A0E65ED975F86DF67
+ C211E4373403105F18D98A034538F51C
+ xor-digest = 50567D6B73847470632C76F35FBC9BF9
+ 211A67C030B15A650529E5AF2923C409
+ 51F825978856968EA2087D4927C84189
+ DA17C9FF222A08A6F1665F1C3E86150C
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ IV =
+ stream[0..63] = AFF596D970ADDEEDE2D3024710C6496F
+ 0785BAD5686858B43E501FB564077FBB
+ 7D518A33168260DF28EAD75E5CCBB23F
+ DA17C2800D97982E463A66527EC1A724
+ stream[192..255] = 681CDE43CA3F6D06233D53B5E0C8864B
+ A3B31BD3C7F8BC26AEA721F230376244
+ C29DE09C79766A5A8455B1CDE8DCDBE3
+ A06EF9EFDA30FD1AE05E938677DFA595
+ stream[256..319] = 954E9C90575FF69A5AC032AA23DBBF16
+ 59FF92E5AA0EDDDE0FC3AB04BA47304F
+ 52A97E75D1B850ED3A2C28E7F67D57E8
+ BFAAD730190D6E46094143C40020DC85
+ stream[448..511] = 49906353139490B94F885676211F4A43
+ 8F46DF053944E6BA7BC98BCA85DC2162
+ AE7F88CAB544E52950B5C743718C37E1
+ 1758D9C9C7B6606D4DFC658171FAEE0B
+ xor-digest = 8016E5A51942016CA79E6DC874B0CA63
+ C3023CFBD461091B09CDE55CC5107F0B
+ 7AFFBD144D4775841B34E97F419781CA
+ 2868C30AEC32CA88F8B1A49CD00D2B99
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ IV =
+ stream[0..63] = ABB1AF87D4DB04965B40B3B517C78ED8
+ B18974A4A01452FB5ABB463FA21FC4B9
+ 6887F260B0A3F2C3335F31C82A57CF01
+ 70499650C101FA8798494B9B0DF52331
+ stream[192..255] = 6FBAFA36A5DF461EDA3DD1A4CDA08D26
+ 5472C92E4EF915A5390AED5605ABB071
+ B3482DA11D8D235DCF51C5105D3D5F84
+ AACCB7609135FD741AAAEA7AC0871FAE
+ stream[256..319] = C9B368AB01B8C58D61CFD362FED364A9
+ 2F03DEB900C7A473F16D32FCCE6D1FCC
+ BEAB7FD73AC7C4F5D82418F159E4C7B7
+ 7EE76562F62F037668D894BD43C26C1C
+ stream[448..511] = DECF4CBB41BB762162A60B3A1B769325
+ D25F63B6134AC35AF0401CFC8F22D8B4
+ DAE21F8C91FEC723B94F9915862C0162
+ 3FCC02FCCE8D5F3F43BC837D05E76076
+ xor-digest = 0C70DF74D6685122503D2E395BA5ED1C
+ 8EA25FC1999F1C7EB19F8B5B86A56805
+ 0813039C9ECEEE95D5CE27BAC59EF723
+ 113792660EF68C19EE2D72F8014558B7
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ IV =
+ stream[0..63] = 6DD18B2D13B59156BD8C7B5762D3720B
+ 7DB793F717D60DC05E258FC160A1F0F4
+ 077C8606202FF0693762E6542EDB483B
+ 511F69B51C98D762939A68A322154E74
+ stream[192..255] = 4E65BD68BC9A16A284DE9F7267FA0FBF
+ 0B982C1BC14F9E81E4DB102A9D0C0B33
+ 1078AC3C6428F9A62FFD291775A27D2A
+ 5105F82B50E41261D60F217E3D982F72
+ stream[256..319] = F92EDF31F5AF0ED8337D16C03AF943FB
+ DE8D3E87CC345FE39F1937C857008C69
+ EE7B8022E9F2544428AE8D24667C592F
+ 9C3C416DBEE1AE93A2DFEFD1688A4FEA
+ stream[448..511] = BC84415E47551F06A5462C3663277284
+ 9FDBD540C950924C05DB5E864C4FF59F
+ E4209C6EACE7C060D66D8002268753CC
+ 536B87044A88F1FE5C0C5CFDBD2EE005
+ xor-digest = 0637A67E6E504E3AB58DC70703DE53B9
+ EF63BE07DAD78CB029F43FB20B8BB64C
+ 3D3D42E6DE04B2DC9240B3C1C29D334C
+ ECB1A2FB609F711840425A09F9BA1B00
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ IV =
+ stream[0..63] = ED7C37F1810CAFCE7516085845BB2BF8
+ 3B2B57A8AE684E144DF409F608567627
+ 793FB481AD7EC201611D167EF484F2A3
+ 7598E5F531F970AD5CE8F6448C3BCDD0
+ stream[192..255] = 08C703D228A8D6AE85970ED0C4496750
+ 1E0D11ACBD987D5E68CEAB7164CE5C2F
+ BAC239160A0CF37D801BCF44CB3AAEB3
+ E790F63F5E2B9047B1554A97736DAD75
+ stream[256..319] = C38EB81CB041028B7214A2B4A171AFFE
+ ABAFFF45BFD6F02F31981F9651E39A4D
+ 5677EA22A425D312FBFCBF3CDB5CAEA6
+ 8AE1F74F7DAE38435D84452C2B6AA84A
+ stream[448..511] = 461D8F78701D6E075DEB5A935FB3306B
+ F04057A26C483E66F511B1FD84A97B86
+ 633F1CE2F6360E299A2830D7B3F469AB
+ B6ACF318B15E29FE1B38779A02F33A35
+ xor-digest = BE204EDF7B533120AFFCD803395DA711
+ 478F37702BE5293D04A5CD2EAB9B7993
+ 8431FE387E528AEE1FA0294AAB235B72
+ 0A33566362C261F706ABC374B5B91545
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ IV =
+ stream[0..63] = AFA6DB38E4DDA98ABB36E8210EDBFB05
+ 88776D98C22F0643AFFDA9D19434BAB6
+ 109E5236407E7514008FEBFD5E367699
+ 23556CA1054E446E34947EF97BBE00BE
+ stream[192..255] = 9E3EE5D673B9731C6AA168B09AB0752F
+ EBB67B7CC87FDB202AEC04FB5272EC76
+ E462B3E95B9E3E2EA513D9B2A9244C21
+ 9B91AC27BB0FA85B99531C2C5024E29B
+ stream[256..319] = 21D6E449CE114513CBAB70C08E0C927E
+ 69DDB7FC473BCC410237C8C71B1C4768
+ 8F798310379EA1D3C16BC3DA2D18DFA3
+ 9D54B7B70DC5D3CF26F695A31E8EA1F7
+ stream[448..511] = EBB796898D713322A58A029F75B4DE6D
+ 0039D30620362D97A5F96D14E22DC55B
+ 27C04C69EFCB9903C796615F33CE89D5
+ 5757A568BD61976D43BCDD454FAE8AF1
+ xor-digest = F22F1B0E130FD18758B8DAD37C25DF2C
+ 9E4ECE64040067C0C14FBE490CDF600F
+ CE60CF4DF80246CEE51C9165EB528F4E
+ 1A77EAD94F4E0199C0D13C9E49E0AB18
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ IV =
+ stream[0..63] = E3221E3EEE6B34BF6569A3F9840E1484
+ 5950DDF6526BDB9E99ACE35204ACB3C8
+ CF1E7B3CA18F009C09CB5F4A431F6D14
+ 8F36C97972AAD915ECA562F261417744
+ stream[192..255] = D8F42B87E14A0E11E559D3F342B1E7C4
+ 0BA64A97F6BB7C8B00D82102A3B5EEC1
+ E6C6672C7E2937CDA73F400FB6DC3B72
+ 5221AFE9B3213713FB3D7C827357CFD9
+ stream[256..319] = 00E8C8D84D30588F0CD590B4DB448D9B
+ D28FE784231A7F9E8CF39DA958ED9943
+ BD7E4E9DBB3E8659002813DED73B036D
+ 0AB552BAFB5216502377FFC2A71D13B1
+ stream[448..511] = 7E5A25A146513A979C51138A785AFCE7
+ 338CD6686A24D9FA7D130259059FC988
+ 52903F2EC85BC8A9A6CB8E47B822734C
+ 063D33E2BE471CDEB8C9A8CBDB270212
+ xor-digest = 7BDE46979978869F9F8474715193B2D3
+ CE1F2E42A98837135B6099C51640CA3A
+ B9096B8AE1EFB308906602D4EF4158F0
+ D358CB39FE1B791E130B824806E355F0
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ IV =
+ stream[0..63] = 600E91A4C49CB4CB60FC02D1408BCC51
+ 8EDBAF523CD5562F68756BDA2A79764C
+ C7BC7C24C8DAE9BBD93F51174CF813C5
+ C9AD669E665DE839F35C88501D25059B
+ stream[192..255] = CD92A54D538C5AE5675AE2EEE9A89D0C
+ 5E0E796D0FF5B5BD9997133A30E7AD4B
+ C502844EBF4F0D4D9503961F8432F938
+ B282612720EDEBEB91FFF8FFC15EB2A9
+ stream[256..319] = 75A9F9414625CEDB2B1A6CA862152CF2
+ 5BB0F7AA3F538501A41019D5B1944F8C
+ D346B854776D52DDDA82EB83EDB4DA9A
+ 9507E24FAA548609B8F961C6A384E37A
+ stream[448..511] = 7709860EDFD68D68D2336A80BE5DB137
+ F165E3C52D51FCFC10F4D579E3F0BA83
+ 74BD30151B4FAB7BB10870D991E57AE0
+ A497A332C94B39F987976568B63A35F2
+ xor-digest = 159E9A509CB066BEDABDD498CBF07F3E
+ C318808AC2710DBED875591AB0A702ED
+ 66235340EC34E8DB19F6A7CE02EA4392
+ 1F76078AEB626EA2C8EA758CCC69F955
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ IV =
+ stream[0..63] = E07C8DDE1E5D99F8F5CAAD62B1DBAE4B
+ 3A800F601354E4EAC099CF32F04463BE
+ A7F329BF948A4EDA15684CC4EE8F7E88
+ 1E96DE810748C30764DB44AF0BC2AC54
+ stream[192..255] = 3BB061178DFD722F75C8D7FAFE1DDE2A
+ 04ECC169BCCF3070843F3F6F7E094775
+ 1B4A033A01CAC11C7A65F932C63DE855
+ E6F12507062492218C17786C3DC1AC97
+ stream[256..319] = 1598B2C10AB9F0EB1FA9E2D1995E8D2F
+ 373FB08ED27A53F70B4ABA3F3B4EB65C
+ 4AD3F9870E02A5ED20A9AE83CE1F276B
+ 16549CB7ECBB5F7DABEF7DA5CE03D8B8
+ stream[448..511] = 1C112AEAEBFF1BF652AF40E31D69AC8B
+ 6A7DA2655DE95D37A14FDCBB53703273
+ DBAB3573F8F3B49612673D620D9E3C05
+ 0987FCB9929945A0EFC00D6055B79BBE
+ xor-digest = DCDED1C5FFB580F26F48BA2211B6D3C4
+ 2315D80BED969AA23A65E9E9B699788B
+ 7759EFDC65FC2B6054FE333A6A14396B
+ 8668B5CE44F4E18B3281F4F9966781A3
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ IV =
+ stream[0..63] = 21B8C8FFE0A71B9441E69DD088854A53
+ D99B5C390A9860A7A96054A99629F9E7
+ 5D0C979F1D2E6FC3A80DA50127F73A0E
+ 4B6AA372CD3D699D950BE9D7A058DBF0
+ stream[192..255] = 96ABBE51F16EB4A33866BFD54D62A2C1
+ 63A06940819E6A937526A246C5FAED67
+ 6981ACE6E6043CE621823E9BD3D4249D
+ 5ABD6E3EB25A30D46AF5305105FCB624
+ stream[256..319] = BD4A74112830095267F2DB5C836F8A8E
+ DF463F2378E498DC15C8B2B6DF2D557B
+ 303147B01C461F752DC1502BC32252AD
+ 681156C7F3BC8F57FEA5EB91AFB3EAE7
+ stream[448..511] = 083B59D315C2D9DE62A95CD896C4C016
+ 843A672D4CD4CE6732C87023440CE54B
+ 438ADA9619280BCBF0EEA4CC080A4120
+ 6B9A9173725DD318448FC0F9FFF4A0C7
+ xor-digest = 26134C7041A488687B0EDBEBA3AD4AC6
+ 9327B072F7271A0ED1EB6B303EF78C25
+ D02D85A95522B1E98DA2E6039B073DAD
+ D09384CF8C0FC5AFF7DB3DB67403E01C
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ IV =
+ stream[0..63] = F9FF49B396340CE3625736E2E8EA1D93
+ 3C10F37D2656199C148C344BC599265B
+ EF7132363B1E3E5F72ACB86DF5DBFA74
+ B911C40DF21526052D8BA969C1B385C8
+ stream[192..255] = 99D8907D949F7A1343587935CF9C51B2
+ 6F550CF431A8F1B5745F4973A80B969D
+ CA5D7F8970132FC564DB1E6BCA7A8660
+ B1B761CC859828A53DE1A82DA4BBB0DD
+ stream[256..319] = EBB233A0347AA7FC4425E1D3F1A49BAE
+ 89E63FCBA97C1C2B33C383336426C247
+ 53110F6A502A26D3561FB8A22396033E
+ A4F1916960B9E17E8F5CEB64DA269559
+ stream[448..511] = 1C75A00A54EC0F8A3087101A0329D660
+ 9F8FE80B85C553223BB26D13E5061B69
+ CAD7387A7CFA61E70D5E6A64D2F1A058
+ 8E797D5E2CDB5C3A8E85DEAA3DDFC66C
+ xor-digest = B8E7410B346A8A3139A294DC79F9BCB3
+ 9C54437E842C24B79C97F1EE4936570B
+ A73DA024D86FD08EAC2A51B2E204DF4E
+ 43D00273F24CB0F743A66A7E10848BED
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ IV =
+ stream[0..63] = 540E0DB60551BFB7D7EC7EAC9F5F113C
+ 018A18FC24E02CF0FDFDE0AF55B8859D
+ 841F4BE4AA967F4222058AA8AD2AD6B4
+ D7A6B4A2FDE35D95ECF8B1A568958F4D
+ stream[192..255] = 0FA7D51B58CC6F2D6EE3D576D0153A79
+ 0F8728044300D1516B1EC076E43F5295
+ F5B303D1BF27AEDC0E8B5C5941279073
+ F12BEA92E97AC298BE384CA26CEFCD83
+ stream[256..319] = 79D4E09967825F6EE11F0DD430E1CAC8
+ 67E1A704F7246A68E40060570FDF97BF
+ 75FFC6DBAE78D63CBDDB1FB00F8BD83F
+ B042581FC07848BA88C5FF49240BACB3
+ stream[448..511] = 7E59ECC2C612C900F221F1541B08B4B0
+ 292A702BFD44F943BF5AF82AE0EFD186
+ CC7819E8029ECF1F3CA8724EF2F31EBB
+ DCA4C345C4E705D91DC5D2D46BF399BF
+ xor-digest = 786481BD2804FDA3643EC2C8CD3FAA8F
+ F53977CD9C4D0FB5060833D11038F765
+ 35B08C49FCC8FACD58FC4BD7EFC9AFE4
+ 46F08D2004EC10F0BC6B7CBB57FF18F7
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ IV =
+ stream[0..63] = E38A7C4AF9D860ABB0F3689FAD137F9D
+ 64C1F88C6E275273455F27B7077F9B0C
+ 0B69796B803F00609D91A5848DCB80EA
+ 231E2D7FD7E8435B5896FCD5E564C859
+ stream[192..255] = F604C8A300C6D845BC73D58A8108140D
+ E4945130BA229782124852252D37E0A0
+ 0CE8F86DDDE295AF4C39F63D18740061
+ 525B6E4A626007752A5CE5406A50E265
+ stream[256..319] = 1A10C687DECE033E4318E29D9A060B9A
+ ECE48C104724C2020F28785C22B092E5
+ 281D5379F098E8CB6F72FC52D88842A9
+ 1CC88539F2826E3A3AA5CD8FC3021BD0
+ stream[448..511] = 51D19A35575F8B43019548B27C67D721
+ 46320E470D5A6D710D4F881C07B6B0AD
+ CB817CBF1EC011B922DE0ECB227BC893
+ F0A79C9B9B39EE3B2243FB8E6E4C7632
+ xor-digest = 427797404EB910FB05D275A4F4672E46
+ 02F86BBD823B30D7E58DDC68B142BDBE
+ A37EBAC98B4A96298478F952D5D0CAC2
+ 346E134E45F29AD7322FFE4B44CCFA5B
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ IV =
+ stream[0..63] = F04079B197AB338459F47B7268784226
+ 9323622577E09DDAF5FA163A8ABAFA40
+ 81E851543C74E407FA03720713669BC4
+ 9D6E05F438F12CF1F8A55C042B09C184
+ stream[192..255] = 91C3BEA2C3D4B2DC518E4A6D311523B9
+ 17C7C219458037C073B399790A62C2D7
+ 46AEA28E28470186693FB8FE406EBB6A
+ 0D80FB6B63F5E0EA2409300914E8ADBF
+ stream[256..319] = 44C154CE2859CB89B4CD2BF98BC9C91C
+ B031FA6AEC3674800DAB1201FC249A81
+ BC18CDA2CB638D62D23FC371F981E8C0
+ 31D0D9983CF157522B35DEAFA36C4D14
+ stream[448..511] = 118AF19E7F0608495FF976E4F817C828
+ A3F0E696769CDAD40E7B041122638CC2
+ 2FA113C80714209EE8CD2B0B2E517754
+ C5A8FEE1D07942ED2FB4B0ACE77A9AD5
+ xor-digest = 68782D5B24680E6DBC408C8B8D9F29BE
+ 0FBEAC65B97B4D177CCC7B97F358EC45
+ D9E4EB1DFE602B6CAED3B5FD2531A487
+ 1E3B126EC6865F0D50ADF3C5AFF505E6
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ IV =
+ stream[0..63] = 3B91509DBF726E0CAEDF3F7E33988E54
+ D61ECD2D77632896CC7D03E0E2508C6C
+ D483D2F73A7D6AF86A4D520E0D7B6854
+ 3526D0280366E548A3F0CA600FA9A906
+ stream[192..255] = E3DD2985316C80DC869268E68C63F221
+ 18373601736FE08FDF1F797D29A1402D
+ 6FC3DA545FE7474BCDEEC8FCD8C1FC39
+ 4F6B5BE67B40E7359AD686A1F4C661FA
+ stream[256..319] = 2F41BAD8518AF773CDD05F40D618F46B
+ A9C87CC002FCA5CBE92746334A6F5A84
+ 50011F8AB4A644835E44877DCFFA4CC4
+ B1CE9E4C65E53852AED622AE39DA7214
+ stream[448..511] = C87EFF1F48918EC72A83ED62EB205AF8
+ 83592BCC6E0CB03509D15BAF659F523B
+ 3AB1BF7AB27D32B13FA5555F638D5DC3
+ 51CF33ACE983F5B9F8C1E0A773F00908
+ xor-digest = 801EC479BC971323676842B8DBAC8053
+ 32C7668544C1888B7D007352000D9293
+ 1AEB80D758C80B384EFC9231257C7617
+ 51969970FBF599187EA10D7834C62BAA
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ IV =
+ stream[0..63] = BFA6BEB8DE544EAB0BC625DE87CD3D40
+ AAEB22E39C10F4A03F7FEFC4111B6216
+ 818DFFC064A8DC537040588E3DEFF1A9
+ F9BAF13CA78FD40BA8875006B32DB89F
+ stream[192..255] = DDA22B5D4FDBFF769AC93A74B23649CB
+ 642179A4F5BE89AB63C03FA59F1D2CF3
+ A763E9AD4BF4F887ED318F9FC86AC730
+ 932F66F7CA4E1E6EE6FF6C7C63DB2F1B
+ stream[256..319] = D4AE98E39DF8C95AE56CA92B2967C17A
+ C2518EE79DFC96DAC06E49D61FAF30E2
+ 8441C004CBFE65E46C30F8745B85A835
+ 58829BFEA9BFA6C0CCE197CF47C35F3B
+ stream[448..511] = 2A38ADFE01B6352FF2C9C6A5C8158EAF
+ 859E56C93A597A44AACAA7E10AEE57FB
+ B311A39ABDD6BEBAB5B148B370795BF6
+ CCC605D5123C1C2602840BE73807D018
+ xor-digest = 9AAE2E96A563E5061B48A875CA83C418
+ 1CE9BC9D65D3030AB9CAB5370FFF9BFE
+ 9F0D3B0A1F0A8CA11DB3CF996C0C3E9B
+ 5942D910CADFCA0BAE3B99FC43534D29
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV =
+ stream[0..63] = 4C7549366D725389C0CFFD6182746008
+ 318CDB855A28DDEEA4616882F1A5736E
+ DB580C387C90B5F59906AE29B718015C
+ F1F672EFB64A7A67C6CB5FFE9AE78E63
+ stream[65472..65535] = 27929223275441C5DE13002CBEFED5E0
+ 1A81257E9560984CBF2C3EFE7704E864
+ B64F3F014F9EAFD3300E98B51E304A50
+ D06650C06388FCB9CD81B5E31106D2D8
+ stream[65536..65599] = 0DA038E03D0C68D2765EE86A3B42E845
+ 865B0C4162E1B7784FAA2DCDF1BF3104
+ 2E921C8F1958A2D16CE46709C35933E6
+ 2DEA2096676932471882819836C88A46
+ stream[131008..131071] = A7547D95631FACC4E929331A4566C970
+ 5F5C56989D829E672165BFFD5E52DF53
+ 59663BDAE332A43A6DCF1B22594D6D94
+ 14F817A21643D5D34EB5896B93B06F85
+ xor-digest = 46CF69A5F5F7104A55235778E3C42C7A
+ B133F4C114856D7FCFB465BFDA6FFD82
+ 89E38142D5764D662A0977988C60197A
+ 9B0E2C179D510A1668C17BF6F704907C
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV =
+ stream[0..63] = C9731F12194B379A2E9F4D16B69E5D18
+ 44822C2D3E23AAB172F4494E4A2FB160
+ 770BD121F85143008B0E490BC9AFB576
+ B8AB0D2FB097E27A9CE0D7468A9DD676
+ stream[65472..65535] = 649A0FFCC973B88C39BAB42BAE9300AF
+ 90C8A51682280441AADD8E6F1B92F3E8
+ 40CBE19B0A9CB3098B5A7AF51773CFBC
+ DF122F22B394D692EC2244944070823D
+ stream[65536..65599] = 203C53232FFEBE24C515CA25B8F589E8
+ 38FA0819A0017EFEF8272591EE9CA486
+ 2F880CC20AB2449C8B498453C9ED6394
+ 77833711749026EFC66F5F71AC7C1455
+ stream[131008..131071] = 507217EF60F37D559DA24EF7E97807AA
+ D0316EFCF89FADA2491421B6D15A67C5
+ CF84C8AA0CCB2415A76AE0DD86873E94
+ 932C129B8409516A6C715C91E4E1CA29
+ xor-digest = 5D636554ECD01741F3792C92B0ED98F9
+ 0DF86B92EC6B42E6CE749FDDB2C97F69
+ 83424AFD3524EEDEE9BF4E92EDB2DF21
+ 2D34606643047D6DCE635FA17CE9ADCA
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV =
+ stream[0..63] = E9963A4E0BE0226E92E5095ECBCC5A45
+ 407ED0AFBDA90E4B7F8CFDA08D310F5E
+ 31BB717CCF0D3B5470D29D2EF570B079
+ AA46D39752B790E7921ED3D1F56ECEC6
+ stream[65472..65535] = 796D52A2A77F7FD43513C0C2E9E16B26
+ F2BC3349B0D5E82272A9DD820D3BB3A2
+ 26031E6EB5E8D98C5E323E6D0E2C98D6
+ 01B41E9B06FA6307941DD69C9CF02E43
+ stream[65536..65599] = 1AC463A90883DE4BA94DB89C72FF4459
+ 1AE9BE96CE66D4413B4DB59B5BC99F80
+ 8BE201C04BFC4DF91CF10476AF179823
+ 4BDF4774789831D46D426B2062065958
+ stream[131008..131071] = C04BDA495E1750FE67D0E1AF6A911E37
+ 9A386889F7B423154DA8293E960C0DB6
+ FE284A786F7CA30EFAF7CDDD14F0EE80
+ 5C2B943B718899A6D7EB8A2513490562
+ xor-digest = D21FFE07CF7DD7E50B746A51A46A8FD8
+ 4B84E618EFED1F751D4D001A9CE09EB1
+ AE579D06FA56534F8E7A313B02CE31C7
+ 09338C8A9524A9D08CE0A17413F39FCC
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV =
+ stream[0..63] = B771A1098E0E3950706FA93CCB08CB3A
+ DA1C8112DB74402F35FCBDCF2297C5F8
+ F4131618C9921E42D4761D6A0239B85C
+ C3E0D5CF754C8A3A19ACE03B35DDDEA0
+ stream[65472..65535] = B5C6FC97D7D302B8DEEABFC28B301CB7
+ AE7CB7792F330D5F9610EF40AB1CFC1F
+ 6C6BA90F4A7AC3275038B3FB04C16251
+ 437093C4A1522930EED27FAAE475F81A
+ stream[65536..65599] = 0A24C01E0EAF05FA288AAFE43B7041AB
+ 9BB23AEADFE18E3EF431303F9D04E42A
+ 5B74004247AB19F97C898A81F0F3ADB9
+ E285D675395CAD38245B41B45E47E470
+ stream[131008..131071] = 1C5F977E496BF60A7D93EA2E5C293AB9
+ 8BE7CDF3C9662C32312B0AEEE28351A8
+ 18C18237BAA132C2978F29CBB886D3E4
+ 410C5151DD0421ADC124F6B033355696
+ xor-digest = D773251DE167937E9B3ED8C4D52EAC61
+ E92FCEB25CEA06034B75A7A4744403D2
+ 38598B844F33B4BB5115502E33F83EA6
+ E2ACA79317A7F42F149C57BBDEFEE41C
+
+Test vectors -- set 5
+=====================
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV =
+ stream[0..63] = 4C7549366D725389C0CFFD6182746008
+ 318CDB855A28DDEEA4616882F1A5736E
+ DB580C387C90B5F59906AE29B718015C
+ F1F672EFB64A7A67C6CB5FFE9AE78E63
+ stream[65472..65535] = 27929223275441C5DE13002CBEFED5E0
+ 1A81257E9560984CBF2C3EFE7704E864
+ B64F3F014F9EAFD3300E98B51E304A50
+ D06650C06388FCB9CD81B5E31106D2D8
+ stream[65536..65599] = 0DA038E03D0C68D2765EE86A3B42E845
+ 865B0C4162E1B7784FAA2DCDF1BF3104
+ 2E921C8F1958A2D16CE46709C35933E6
+ 2DEA2096676932471882819836C88A46
+ stream[131008..131071] = A7547D95631FACC4E929331A4566C970
+ 5F5C56989D829E672165BFFD5E52DF53
+ 59663BDAE332A43A6DCF1B22594D6D94
+ 14F817A21643D5D34EB5896B93B06F85
+ xor-digest = 46CF69A5F5F7104A55235778E3C42C7A
+ B133F4C114856D7FCFB465BFDA6FFD82
+ 89E38142D5764D662A0977988C60197A
+ 9B0E2C179D510A1668C17BF6F704907C
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV =
+ stream[0..63] = C9731F12194B379A2E9F4D16B69E5D18
+ 44822C2D3E23AAB172F4494E4A2FB160
+ 770BD121F85143008B0E490BC9AFB576
+ B8AB0D2FB097E27A9CE0D7468A9DD676
+ stream[65472..65535] = 649A0FFCC973B88C39BAB42BAE9300AF
+ 90C8A51682280441AADD8E6F1B92F3E8
+ 40CBE19B0A9CB3098B5A7AF51773CFBC
+ DF122F22B394D692EC2244944070823D
+ stream[65536..65599] = 203C53232FFEBE24C515CA25B8F589E8
+ 38FA0819A0017EFEF8272591EE9CA486
+ 2F880CC20AB2449C8B498453C9ED6394
+ 77833711749026EFC66F5F71AC7C1455
+ stream[131008..131071] = 507217EF60F37D559DA24EF7E97807AA
+ D0316EFCF89FADA2491421B6D15A67C5
+ CF84C8AA0CCB2415A76AE0DD86873E94
+ 932C129B8409516A6C715C91E4E1CA29
+ xor-digest = 5D636554ECD01741F3792C92B0ED98F9
+ 0DF86B92EC6B42E6CE749FDDB2C97F69
+ 83424AFD3524EEDEE9BF4E92EDB2DF21
+ 2D34606643047D6DCE635FA17CE9ADCA
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV =
+ stream[0..63] = E9963A4E0BE0226E92E5095ECBCC5A45
+ 407ED0AFBDA90E4B7F8CFDA08D310F5E
+ 31BB717CCF0D3B5470D29D2EF570B079
+ AA46D39752B790E7921ED3D1F56ECEC6
+ stream[65472..65535] = 796D52A2A77F7FD43513C0C2E9E16B26
+ F2BC3349B0D5E82272A9DD820D3BB3A2
+ 26031E6EB5E8D98C5E323E6D0E2C98D6
+ 01B41E9B06FA6307941DD69C9CF02E43
+ stream[65536..65599] = 1AC463A90883DE4BA94DB89C72FF4459
+ 1AE9BE96CE66D4413B4DB59B5BC99F80
+ 8BE201C04BFC4DF91CF10476AF179823
+ 4BDF4774789831D46D426B2062065958
+ stream[131008..131071] = C04BDA495E1750FE67D0E1AF6A911E37
+ 9A386889F7B423154DA8293E960C0DB6
+ FE284A786F7CA30EFAF7CDDD14F0EE80
+ 5C2B943B718899A6D7EB8A2513490562
+ xor-digest = D21FFE07CF7DD7E50B746A51A46A8FD8
+ 4B84E618EFED1F751D4D001A9CE09EB1
+ AE579D06FA56534F8E7A313B02CE31C7
+ 09338C8A9524A9D08CE0A17413F39FCC
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV =
+ stream[0..63] = B771A1098E0E3950706FA93CCB08CB3A
+ DA1C8112DB74402F35FCBDCF2297C5F8
+ F4131618C9921E42D4761D6A0239B85C
+ C3E0D5CF754C8A3A19ACE03B35DDDEA0
+ stream[65472..65535] = B5C6FC97D7D302B8DEEABFC28B301CB7
+ AE7CB7792F330D5F9610EF40AB1CFC1F
+ 6C6BA90F4A7AC3275038B3FB04C16251
+ 437093C4A1522930EED27FAAE475F81A
+ stream[65536..65599] = 0A24C01E0EAF05FA288AAFE43B7041AB
+ 9BB23AEADFE18E3EF431303F9D04E42A
+ 5B74004247AB19F97C898A81F0F3ADB9
+ E285D675395CAD38245B41B45E47E470
+ stream[131008..131071] = 1C5F977E496BF60A7D93EA2E5C293AB9
+ 8BE7CDF3C9662C32312B0AEEE28351A8
+ 18C18237BAA132C2978F29CBB886D3E4
+ 410C5151DD0421ADC124F6B033355696
+ xor-digest = D773251DE167937E9B3ED8C4D52EAC61
+ E92FCEB25CEA06034B75A7A4744403D2
+ 38598B844F33B4BB5115502E33F83EA6
+ E2ACA79317A7F42F149C57BBDEFEE41C
+
+
+
+End of test vectors
+
+Primitive Name: MICKEY-128-v2
+=============================
+Profile: ___H3
+Key size: 128 bits
+IV size: 32 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ IV = 00000000
+ stream[0..63] = B37BD3EEF2BD710D291DCF35D0084CC4
+ 288A7DA21804AACC2B1C86ED8BC36490
+ 9DB622B8CD084E6012E880B895B67F2D
+ BDFC654ADB3D92614B786814B12327DC
+ stream[192..255] = D82B9ECF74A9B2BFE7C81A4F0965BBEA
+ 5EE47F791269C639ED7BF8D66A87FC60
+ 9CB8BD35CBE569244A76B3BDE4445B1A
+ FB877CC803AAB497AC58D52AE07F7EC4
+ stream[256..319] = 36DBFB0129DCB1CF23C1F1FD91C4F926
+ AED4418085AD4DAF436650192345289C
+ E9C490977FE8126A6F253D2BA4ED0877
+ A5F543081F0BA32A74AA7667C240B272
+ stream[448..511] = 67D6D696A86FA3253AA4855B0654E708
+ 24B36F817B55E0DF6C31959E8B0BBE92
+ 55558BDC99560AC221FEEE0D71981BB7
+ 9BB8244FEC818B1139537CADA4133893
+ xor-digest = 42B136AECFE342C2D536C7019764DC7C
+ F261227EB91659BD7615FAC82EEA6DDF
+ BDDCDD5C25880EDACEB54DA1FC61F2C9
+ 6F529905EE7380BDEA3FD31E6EC2EA80
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ IV = 00000000
+ stream[0..63] = 77474B5B3EED0B96BB3871A341ADF4C9
+ E0E51AC301A5E4A45AAD7A3D50DBB427
+ EE4CADC44EA1108CBAB646ADCECA2E6A
+ D8718C92664DBCAFBD9E635A7A3071FF
+ stream[192..255] = AC26548A6113EF6845B37FCD74C839C9
+ C2D70AC2794FE2C9BB9057D3E0EBF28E
+ F7EBC91DDD82877AA3AA660A14E8BBED
+ A2F592B1BA08E5237CF4ACA5076FD6BF
+ stream[256..319] = 3A9F9E1E0F708CD4C520B97B97C46D37
+ 35D09281F389E205D3FD0F1AD04697C3
+ 4C0DC0560B83ECA5DC7436E35D490B6B
+ 54F9EC7BE593DAE89AC80D9E5F0855D2
+ stream[448..511] = D9C86DF2B435FA6FCC77349D03194051
+ 19B7D1D443C6EE4BF7A64FB98D108A20
+ 3099619ADB5A959E933E44BA69B91BD6
+ 6A2C51FD7481B5AFCC60D48FEF3F98D0
+ xor-digest = C5D7304A86C47E59122CCF21E05A5C6D
+ E67F7037217EBD8958CEE31F6EC87AAA
+ 59FD7F1CB7BA948A309245E7EED1142E
+ 117AB6829E240BA0D8EBE702BAF8C22C
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ IV = 00000000
+ stream[0..63] = 9961362D2F34706EE59650BE6149AF87
+ FD76F9579E189965031C141F7372568D
+ 648C6BA6BD8D898FC23F1E654789934F
+ 8AE8DC49A2F4D0BDD37B44AC0C23F9E3
+ stream[192..255] = 97E556C6DDB199BEC3105CF1FF17FFA7
+ C67901DEE63A74A9E745CE10E06F1271
+ 6F8FE6173B078ADC110786C4B94DCFFD
+ 9905A9875A7984755E2EEF6D69D8B663
+ stream[256..319] = B94B7DF8FEE1C6D9FE84903F8A567DE0
+ 47BDA2AF6A35853B9276C01528242A03
+ E954C606C267F1B95C0482022AB63CE4
+ 40D96FE2971E39D382D041B02E4F5338
+ stream[448..511] = A837F1E12413542A5EA03B1F2CC68A25
+ 1661C0F14A3BD398F136DA001125474B
+ B5AE47278615C057520884FA037910B7
+ 7B5E49A736F49856C4EEDEFD7A12F96F
+ xor-digest = 05E7AE01F0655297178975A3C8E1A832
+ 8712067DB824786CB4748F88AE7A9A3A
+ C2A249B07FCAE52F619177D4EFB2929A
+ 64F73039138D515A88DBBF0622125AB2
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ IV = 00000000
+ stream[0..63] = 7A76FBEA5768835DEE64AB4DCB08CA79
+ 9DE00AEBE3C27CA8EE7E133B74E4436D
+ 5F3F87E06075F9A5EDF160BC683141BE
+ 74F2A57EB7F4CC633ADD70F2C996B5FC
+ stream[192..255] = FEEC323C3E070AAEF56549EE1CCD5289
+ 61644860CC620B9E76F2774670855485
+ 610E753F1EED8FD0DEC4B1B0B0FDF139
+ 6EDB28AD6920E7783593544163C85537
+ stream[256..319] = CD7C795C4CD5F44F5B9D99FEEE31DB3C
+ 7F3C8181B7559BD05B2B1A3065944F2C
+ 42D1D6475B0507FBCBFE1C368B362B3A
+ 3210985C932B56FED7C1915F655F4ED3
+ stream[448..511] = B19CAADC814BEDB6B3C90527473BDBDE
+ 83AD1793F6CDF1F3492FF50534EE9F28
+ 39D8CC53BFFA3C39F785760A28CAB247
+ 39BC57EE5145E93DEC939E952896E62C
+ xor-digest = 7A46CF8C6B2BCA3AD673C514948B637C
+ AF95BD5A6147FB2735A36775A5E28A7A
+ 6EE9504518DD974F38243227876389B0
+ 5915399182A96825DC7BCD42C7F1F913
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ IV = 00000000
+ stream[0..63] = 6B454B9F9B02C1000F3841788149CFF4
+ C61D803B4283ED3CAC2C067FBFA2EFBB
+ 3BB8ABF513397B7F13FED83632C4FA8F
+ 2C9D6C1AB34565D8B8D972D5E4B8A3FC
+ stream[192..255] = 292C1E41F6F842605E0EED555EDDE4A6
+ F466C6F0D97BE86414A91FC56504EA3E
+ 1BD5D77CB5C07BEDDAF921A3763D32CB
+ 7EC926FFBBA55E00C2E1E27A660E2D4B
+ stream[256..319] = 64E921566E97C54BB1B3525225C433DA
+ BF00CA8A23BAB46840E60D3871234619
+ BA305BFEC14A7EB8D3BB8C137BCC8E9D
+ 7B6FB1B664CB249587B31A866316761C
+ stream[448..511] = 44B4182D0D61FB411EF8B7E2FB4A5B6F
+ D031F1E9896488659F392A26366BAF43
+ 759BA41BBAE0187D52996ACD9146EC76
+ 576E7891643EF53B3A3438D109884731
+ xor-digest = 6114900D85003B9C886F7E54FE2957BF
+ 1292C8AF8BD5C96B3C9BFA4E1A45F0A7
+ 5F78B41F7BB18095295EF30FDB84837D
+ 4EC13068B18429E8ED7EF57C70FC263D
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ IV = 00000000
+ stream[0..63] = CB9E1551A0477F39C87B971E7FE474BA
+ 37A145D8CE9F291C1AC173151D2D886C
+ A35F238E0ACC5DFC806A5358E6F3BDB6
+ F5EFD930B30796011DBBC76DCB9BC5B8
+ stream[192..255] = 30FC1197EA27D127D76740D951D4884B
+ CEB8784097CF570DC4C1F9D93596EE60
+ F1EC85610E5AC78EAC3B4D5AC8D9F741
+ 5CF577181B04CC17FB0736E85B573FE8
+ stream[256..319] = D49FE5F974F758D25DE27B427800336F
+ 5E269C002BA01472B8CC2A67F4182098
+ A6A554DE87A022668701D4A47938300B
+ C267314DB350B9269F381E006521B2FA
+ stream[448..511] = 6BCEE8A34EE3F5C26F6561A10548ADAD
+ B26D16519422D1DA7236D619601FCD29
+ BCD1E85668A7A8D793B5AE7EE1059D10
+ ECB9E4C1D35C0BED0A55F836B2FEE382
+ xor-digest = 25E4637DD2A8635EF33990A4BB4ADDBB
+ 44C1C52F0646786845ADC838387A0695
+ 3E1641FF44BDC5EA31308D49A29E6FF8
+ EC401DD9EA743F90CDDC27D1AA3183AB
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ IV = 00000000
+ stream[0..63] = 8B593BE52D1B2458B6998FD63351022E
+ 5698E54CF2963D99CB2C956443D6AB3A
+ 2684C0917B9A049BF9C371892BBC0A32
+ E4840CEF76B8E45B213B31DC7F081D66
+ stream[192..255] = 595A1F32B48116B9780A13E19B571AAB
+ 69CF25F816EE15BA2040C1AD5F6EB728
+ FF0DDEF7BD063297908369AF3AEDE2F7
+ FAD3931492FE456EF5CAD33DD27A9EC7
+ stream[256..319] = 843743FC3EFA4ABB3E5CCBA467FBA529
+ 3D85614D2AAA80F859BA430A727440AC
+ 24B089572AA3499C88E9F60A6D6E609D
+ 2E9DC60A94A76BED415ADECBAAF4DA34
+ stream[448..511] = 16F6812F22F120613DAD6E69D1A8BDB7
+ 3BCCAA7DB6CE47ABA01B337FECAB14ED
+ BDE533F3A8DA1E47BF2CE76E00F7AF61
+ 6D6542B15142E32F2D6B187E3B0BCF8E
+ xor-digest = 67688DC0BF9DD2B798B4A1E49D9DDC1A
+ CAEA7397695BFE770A7145D894D0FF4F
+ 84A95B1A468F4F5E0B53699379908710
+ B1EE76F0459D0F583F5E62890A7B937C
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ IV = 00000000
+ stream[0..63] = 2E8B4F696962F872FA1386DC3D64BA13
+ 27A6B30E0E0106DD9672FD60383A7397
+ 003F1895A2A2FC9F716BC74A4E90569F
+ 6AF611DA2FAA0B93D4A7FF792582F03E
+ stream[192..255] = 0E377E1BBF33787D59D0522A98939823
+ 7D2675B65EE5165B705E51FAD8705AB5
+ 910D04EEA93A2872F6783AF93236E5E9
+ 6E4FB4BA38677E737B1263F34B1ACD8A
+ stream[256..319] = A0C1DC5A94E1AACC7805C08C22DCAE97
+ 926DDB4F169C87DC20D45D35E345F21A
+ C355E46D60B41361859A944899ECF742
+ 95940DF610170B8140A0A1117C3EB7A7
+ stream[448..511] = EFDAFEC3177FAE03641F294399CD256C
+ F9685CCA27F45112BACFAD6AB40A0B5D
+ B8EA6CA64FCAD47DC233135368C64479
+ FF0D2D23A536942FDC4F541F5CF8F296
+ xor-digest = 925BF0457EE4191B9A8C27194AFB689F
+ 01F7F0A9B42CF9512A7EBCBFF21EF34A
+ 2F44000C1DDD3B1956080207BE2A2EB0
+ B2B18DDC2978C5AF3ACEF584E737B57B
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ IV = 00000000
+ stream[0..63] = 06E6AF1065771C8919ACAF03EE1C3EB4
+ C704E9BE5B4D1695A13FCC900AC524D5
+ CD38855206B525828021F62A49CCC3D5
+ A7BD6EE44E20B4F9CC586E910F4B80F0
+ stream[192..255] = 85BD6638E0D48ACF20642DCBFCEFCCC2
+ FF9EB242CA7A8E39145B4D6DCFE23C9F
+ 390D95B8948FD6828286CA36B540E258
+ A0578F7F97FC7BE3B54515620ADC402C
+ stream[256..319] = A46827C42CA28A9D4A7C008FE21FBC15
+ A0599DFF3933F5F854365A7C769A9AEB
+ A529479C40C955AE1A1D4FCADB12CD0C
+ 7EFDFAD2329763EC346F9DCE2491F300
+ stream[448..511] = DB69A8B6DEB972FB2638D4ED1A0D8153
+ 0449CC44992211AD8AA34DF7794BBE60
+ C34A72678A079AD74AFE8B3ECD986677
+ 905399C913AC1F40D91E2ECCC9FE63E6
+ xor-digest = 45AFE44C48005DA3D85F1BCB3C69029D
+ CD16BB5C6436C39A6789C2547F924DD2
+ 83C61132C15B2B6D44FFC0A0506AA5D8
+ FA2F6352F278FB69FD82FCB6865D43E6
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ IV = 00000000
+ stream[0..63] = 82B1F016A8989F5A1C6157D3D7AB68BE
+ 2342D7CA63393502A60E4943F1F82A8D
+ 826B6EA1D45366064A62CAD1A3224576
+ 546D2BB1EFA643434771663DEC372559
+ stream[192..255] = 3E2940F411E18E82E88CFCF069EB4442
+ 1F831C9A09BF8C9C08628836B8A22EC4
+ 1C6BA515AE7E79D6284877BDCAD4FDB0
+ BBA2527BB19E6F77016A9E9E76126508
+ stream[256..319] = 9398B2C6735CCA20511F9BEDC39DE9E6
+ 14016ED28B6110A3B31AD29A40C07360
+ B7E41DE96E42C36D082E5DAA84978BB5
+ D2D8139508CC80249A6064145AEE6165
+ stream[448..511] = 15615CB066008434FA25F920786C8A26
+ 59AED5F638184ECC678F049876D1E486
+ 632C84DD5E103352A0513BA1DD0467EF
+ 6837569A5D5A712A1F4F99536EC4B093
+ xor-digest = 51457832D842EC4120A9B0D8CBD66444
+ D51D9DF6E939C767EE3D0DC2875C64A3
+ 5B0DC3DB0F2D3CE71383E90AB014267B
+ 738F744054F97D5A160E8E90C85A0407
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ IV = 00000000
+ stream[0..63] = 70A07A3BBB07F5B3ACB6CC95712D80FB
+ 4F8FA5F9E59C9DAE464AB7CCC175A63A
+ 7B4CD052B196017498217CCC083D5218
+ 17081932C99E8BEC59A260BEAF124D19
+ stream[192..255] = D730B7CEBC22298EF218D39C12E5E44F
+ 9887A925DBACE8B430636A60DB60692C
+ 09AB06D6F0BFF22A55E2113C77911522
+ 6B40CB58DBE2634E5795AB2F4E3C317D
+ stream[256..319] = 55657019C5E66A60571B6F5D1F05801F
+ 9CB746ECC82F670C409CBFBD2B060BC3
+ 2AEDB97D2E3ECE902344A90117357BAC
+ 808E76881BB500542874437AA9AA5354
+ stream[448..511] = A3D1F153F3992077E47FAD3BE1E4C04D
+ 52DB934595660508F68F4DB2051DCC8A
+ 92FE012633AD30157A2FC66DD5F858EA
+ 9666293A02CFF12621CCCE42F08E3EF8
+ xor-digest = BF5B0FE53044997E756565C56FDA97FE
+ 4860C807FAC5CB4644BCC91B61813FF1
+ 443F992DD19D5839B762DE1AF8038BD2
+ B433144FA7398748A6634207EB6CD3ED
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ IV = 00000000
+ stream[0..63] = 0C71C31007E963D54E21072EE47CE28E
+ 097D180E2AA2A29C1F657374FA6505B0
+ 83FD920C10B42B549A483B17DE89EE22
+ A98B4A439252C04802F4AC22F7F2F6BC
+ stream[192..255] = 1F3D4FB3C475120BDA7D9DFFFC28A9CE
+ 080FA9067B3D03F4631347D75D898C0D
+ E70F3A8A6C8C08838453B0ACC3B15ACF
+ 98DA93708C63BFD5ED10C7FD70F3EBCC
+ stream[256..319] = 718031983996C095058A895CEA31E2FB
+ 70867A86A66EB7997B41EC51FDF9C2DC
+ DABEE8646A7C985E56F23682737BD887
+ A3ECE72AC6BB3D355C0379BB8E20DF91
+ stream[448..511] = 5A72704A787732B18D6A839641ECFF15
+ 4122874BD1A11B1AF8F10C7F878726F1
+ 7F656AED942AF2CC9D29B078A4385F84
+ 6A45179ED90A9631C3701ECEFAC53D98
+ xor-digest = 96D22823F290F1CE923AD0ED4480B131
+ 33BE63175D7913352F1E7987F1A26D1D
+ 5A5EE144840D83623A5D43B9871C6CA3
+ B0EFA1168058FF2F74B48FD665BB83B2
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ IV = 00000000
+ stream[0..63] = E4E976460C55414F1E89F8742E881587
+ 1465EA8AA1EF6BA701372F17FE4F0335
+ E1AF444577071DBA28AAF400F5E76891
+ 2A4BA4EB2DF4ED6F11F93490BE9BE7F6
+ stream[192..255] = 94D0941B84887F2F1C2ED1444B73E117
+ 76414D1BF8B1B0EF1D76E0CA834888C7
+ 65D272793C9022C1A7860FD44A5840A9
+ 2802B37728B33C8D9BDC95C3C1D62BD8
+ stream[256..319] = 3BE85D051C08881B3BE3E04006FBE08A
+ D0EE26DDDD75A9C241352E5163F305F5
+ 2F369A69CF84FC2F275F6742F0631236
+ 7B6B4904DBF75F7BB817E3F775E87C49
+ stream[448..511] = AD4C426E2887151FE34AA12C4466B055
+ 0A89539B67BFFE9C8FF1A758B49175DB
+ 97372EFE76905C95613BD6B6FCC9EA33
+ B3EAB32F12972218A58D73955E5718CD
+ xor-digest = 46A82F1FF4BF2CCBDACEC265E4B12E94
+ 5BF1556EEFA54993E06183322854E0A1
+ EA3F18434793EBFBDEFD0DCB91132310
+ CFB74F3D43434565FA2E5E7EF1AF3C05
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ IV = 00000000
+ stream[0..63] = 10B6262DBA26E3F4396032DBD5E09657
+ 82628E661B9A8F5272C8FE4B75EE6EF2
+ AA64C06079D3C88CF26306C664091415
+ 2FC0128C46731859C34D75D7F5C52F7C
+ stream[192..255] = B76740DA3AC51CDA29ECE99D60DD61C9
+ 4E127F4278DADECD220065301BD72420
+ 7D1545466B9B11664CAEBE961FE1FA8E
+ 069C74F4673EE59AED7A574C5D1BD818
+ stream[256..319] = 76F0AD92BE7E58684E8A807DBD472C26
+ E73B3225BB3D1D1DD442EA0A116949D8
+ CDE6157EB61DDB42C214C9AA1A1D2076
+ 9F8C89A881DCAF07D45D030C0F49EE2A
+ stream[448..511] = 3C0ACC23B04CCC0BB7B0BDFFD33ED575
+ 050C6B91D45BDED7EADEF7C5F4AEF2FC
+ 61CD8B194AA1E571FE3EB779BE61EE5D
+ 4E4CEDEA5BE18997A0231DB35E24645C
+ xor-digest = 4BCDD5C9E89D8FB170BD42D36525B710
+ F5E7A9643E2066C799AF288EACDBDC0F
+ 1CD86ABBAA0C2412DE282C88A110DB54
+ 9937A38C96C95A7526E918E15D614490
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ IV = 00000000
+ stream[0..63] = 197D3A28A9AE53D2AB426B644752714C
+ 9708434B7EF4DE1578A222697CF858FB
+ DAFE5E2ADE90CA8331A7A6A60CC47C02
+ 62D29F81A0A7F2DDA6043E24CD052A09
+ stream[192..255] = F3290E260CFC302C9C9749D513EED01A
+ 40B338875FA33D0ABEB70F4F098223A6
+ B9EEF71C0451A2D2976969F54C3AD05E
+ 17F85E7BEE4806A042941C43479BB314
+ stream[256..319] = CED4A95D10D8DC0DA3F78E10AAE33245
+ B5B6FDE471D674D784D73B0BA40EE6FD
+ 20B618C0C8F4C76CFD75533FC568B63C
+ 325D2CB0AC5E5E5D0512DD1C9C8DC136
+ stream[448..511] = 2FA8EE80DEA99ED5740F9C464369BE96
+ EB97F149E2B07B785B5446FBDB3C89E7
+ 0C980BCAFD39BE1A38149BB178A19AC4
+ 971B26367607E4BF898C32304FBCD78C
+ xor-digest = 81C612167368BA878BB066DBF5AB932B
+ 9DE756EF98369B9BAE3D74680328D123
+ 19E3CE5EFFD3DBCB1E38A1EF9A40D9AE
+ 7AA6B9D14475EF88F8A1C3B1846D7D09
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 00000000
+ stream[0..63] = 03AD4E6962B2D4C3A1925FA4666C8566
+ 52B7F0638C5555578980818FD1100FA0
+ 59F92BFB8AAEF108E6529D33CB94066E
+ 974C81ED4AC505310F482B845A3F75F1
+ stream[192..255] = A38B67240CD0A1DE7466D0A2C87B29F1
+ 9434DC7847E778C0DE831C4927E5A4FB
+ 962F5F4D56425B5CEFBBCEA38553402B
+ 33FAA64B6FC497ED8185B6CB88F616F6
+ stream[256..319] = E78DDB6EF270373B549E5142F92CB7C5
+ 0282DAD75F57F251530AC561B255D433
+ 6CA8BA2BD9F8A66D9D9DB2718DF07660
+ A7EBD136BCF884DA1F04AED80D31C595
+ stream[448..511] = 48E1347E9153336B40A20DDBD004F3DA
+ 4B8C52478DC56BCD3D74C6A438334D28
+ 5E10D7E7681FEBA86505E22B0420A884
+ 6146F3FC2A402A0511C37A24D9B45E54
+ xor-digest = 9B75CF6925279A17A0034701F505CCDC
+ 886DF60A8A7990D29E9CA25B989D85BB
+ DCF215F44FD349C855CA8EF332FEFC45
+ 5520219E7E1BCE6826129FFD588C984B
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ IV = 00000000
+ stream[0..63] = 71AF9573D9170CF2739F9DA1264FD87B
+ 685DFCBA14DA98948B12F15C94A4F29A
+ ABFD076D498C17AA96F64BE3E7CB3C4A
+ 7FB23AF1F6A26800F2E293257D905137
+ stream[192..255] = 298E5930FAC8995A1D30EFC3D00CCFCA
+ 2CA23769F91F9E60683E5F9F01836482
+ 5FC4E5AD700EE348CCD4395F30B02312
+ BB8B423292811F59AC0D0A22458CF0A7
+ stream[256..319] = 696440DA1C5ACE0086A6412423BD6010
+ C9795BC270468EBDB1C39F34380195A0
+ E957DE32BD08DB2A700D23E2D058268C
+ C588BF4745D93857FDB56A34FE7BBC2A
+ stream[448..511] = E2A56E1D99C2BE7FB2112764634C2051
+ 1B98D94E3156E714163757E04CFE75F0
+ 153F4BC888A2264C632E287B38E7A2BE
+ 89152096313716E69BE1BE056367D660
+ xor-digest = 7C585E72859A1C68D3EA4D0A9598A8D5
+ 31A4CC474AB5A17AB6C5FCAB34140024
+ 816DF356F048FCA61185F996D3FE8A8D
+ 4E1BEDFA0CF762CD9CBAD72C53968B47
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ IV = 00000000
+ stream[0..63] = 330C91DA9F41D351735B2132914CA322
+ E06C9ABE78336B7663BD69BB66ADB321
+ 477220A4076C3FEE9F8731C49D10E1EF
+ EE5C416F6D05C8328151F0EF529E004C
+ stream[192..255] = A041292340D1EA3668FF32BBA9498A3C
+ EEF95DDB2480A409C2BAA5F18F8E4220
+ 3CDD5534DD564BB649F5141F488BDA4F
+ F846B8295A8A4E153EB83106B0801890
+ stream[256..319] = 04CFDB38BCA26046136C0B159BED75FC
+ 5244106DA48861805BBBCD30AC4BF30B
+ F78CE3F314CEAFD58D11DC2FA4C6C8C6
+ 03500739AF087DA490C71B7F95703E70
+ stream[448..511] = D7519DCC920CD805982009EA6055DB3D
+ C33B43399FB2B76C8B239B350FBF10EC
+ A4F0A2A7A10052F8CF4CC5D80FA74434
+ D3B4025B34EC473E98FA56630B756AD0
+ xor-digest = B9418BC95350B592854D9174C0257495
+ 081AD482C3BBD061B40412ACB38DF35B
+ 3505F3D41CACD206CB609C4D4E1D1C84
+ DD32DC44B827F03DA0A866A762FA5148
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV = 00000000
+ stream[0..63] = B074FEFFBA7A1AF59BFFB5BC407A20F4
+ 3871BD9E09E89D331C2EED4B09A90413
+ C826973229B20F039DC05608423BA635
+ C7821C79D054CBF83C0E52981E50B823
+ stream[192..255] = 4E2D45344160BA8B1CEF3ACFB9E10D15
+ B6690C269C82BEE9E6F5E4588876B2D0
+ C2AE2588A35C3AFCAAC49D261F662D2D
+ 553A4B0E25805D3111A0F696EC4B02E7
+ stream[256..319] = 70214A5D6AD53BEE45BBEAC54FBC5505
+ 62243EE587CC5052DCB24BDE3D3C2456
+ 05AFED314F70BF6C7FADF09B553D13A7
+ 6479DF6288CFFA4D925DE2C78E6B5F93
+ stream[448..511] = 85C462852641C31B3A4DF975F7386AD1
+ C575155EBEE39181A326B5C8DA5DC713
+ B0BE1883C09FB1A80A3EF17C33BA93F4
+ 29CB140C28BFB54AF3594F34C259B7E5
+ xor-digest = D0255FADA4ED82EE1C87F518425D3757
+ 5A32234AD19FA65B623A2B315D79A129
+ 7C1C4ABB9522D1104B371A4B2097CAC3
+ D14D2EA4EBD86FCE7576D12F95474A01
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ IV = 00000000
+ stream[0..63] = 73E62B5C736023C92F1423DBDA8EF789
+ 385F386F3028345DC00C1A1BD5C6793B
+ E34606D2242C67F840180FF036F19EF7
+ 41E1A695AA493ECF9D92561C80EA4082
+ stream[192..255] = 43B1C3D424225C181216B359A7688151
+ 4787292F094DFA3AC03543FB744CE339
+ 8DF462991775FCBAAB44B8B3E81CF1C6
+ 48E1AE8DAACEA8653A64BEF9FC087D00
+ stream[256..319] = 34FD4B7A021068275FD7DF8704EED82A
+ 16338C8C18BE028081699734C5BDF50A
+ 345C6DB464325CEFCBCD6A2895CED528
+ E3C9D8035BFAB9E4A7926445EA3CF17F
+ stream[448..511] = 9323B135FAAE2D7CD85EFA8EC6F3C1CD
+ 2C96D78BAA40673D1ABD18001CB4BA36
+ 264BC7EE2C8C8CD487FA3D7516A9DCB7
+ 67F7B2882F8394DC5963B481A12B8909
+ xor-digest = 3687ECAFBA14BF1DF3801F8BE22D71CF
+ 590537BADF0DBD897D2DA4AC7726306F
+ 0B02B09C44B99681DF45E3E91C9FBFF1
+ B650C8AD62A0A751CF20BC3553CC6A2D
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV = 00000000
+ stream[0..63] = 7133D6B04A4F38C4ED6E7D203A4C3271
+ 67026830D38B02C3F00011669930BF7B
+ F658FAB2B939647B57D9C7C458908A9B
+ 5A20615C4D8F4755C154BED7E4188229
+ stream[192..255] = FB8211B17540DBC40BCADD223BA66CC5
+ 262CB8EB7FD1C3F5100EDFEAA5AAD5B4
+ EAED27BBF8DCB84C6540B83EF79F2FEE
+ BC8409E306A4D021344469C97B2F7AD0
+ stream[256..319] = 9A58580D016E46B8976F7892EDE93E2E
+ F9D7C64112BF9C3F930DFDB44C25744C
+ 4D9FC3AC8BA8374B391107558420103E
+ 60B55CD3B38908334AFB055547434FC6
+ stream[448..511] = 05F84C71D005BE15D85425627CB3B30F
+ F344250A3454E9B72523961564F76CBD
+ 4558E9159AFDC0763DB0A8E5CFA3BD32
+ 38AE0F74CCB6905A32771955077A3D86
+ xor-digest = 3A69DF46CBBB996DB1E4BB1D283B9653
+ B3B7794B5E765478660AA9A83153D8AA
+ D6C0E3AE23D27431F956DEE8B596C78F
+ A1A05E611EB0919D8944C81EA3CFA23D
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ IV = 00000000
+ stream[0..63] = 8909BC9305DEBEB45591DB9457770C52
+ D6215523C4E1641FA612E43D460993CD
+ 6E375690919F8B79D52A9F4FDD2E1945
+ CDE03A4D765DC03CBB4388EF099EC50A
+ stream[192..255] = B566C37BE85F6F6B71076BC60645EBD2
+ 9D99B25FCB78B20CBB8AD9863FD4F6BF
+ 5CDFB625C1D08997A2C38A1DA11D9A06
+ 57622B2C49719EC2078284B251DCFC7F
+ stream[256..319] = CAC1C10EC4AC58692CFD5C3B438E3093
+ 369DFA6ADC165C414791257B5F151CEA
+ 924BBE66D087EFD720F364466527FB6B
+ 1D01D330493F39AF9F69330DF28085E8
+ stream[448..511] = 0057D7C09D12936C3BF04889613E85B7
+ E829F97682E8ADCCFC162D53602A79AA
+ 2351C5525547DF974D51BE9E9BE59CAD
+ 65F0615C15EA4ACE0B08D0B2E00AB992
+ xor-digest = 08E134D0F5B191A7A186CDD54323D44F
+ 8C71F731D4C142F13332BAC04A6F79B2
+ B0E1F883DFC8082A6AD0D42AAB1F26BD
+ 417D6C6BA7A0F7AF1FF658D27177F177
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV = 00000000
+ stream[0..63] = 761F344591B872ADF7CA537818A0E96C
+ 5C5103DA6128FBDF078518B436171792
+ 93C0FD7097D4713ABF480A3CEEAEA2ED
+ 31CDC344B4701CA307B80A72D22B6907
+ stream[192..255] = 80E603950C4C38A094FFCE92DBDB55AA
+ 87C4F1A2A9C0CC6295E56AEBAE202AF6
+ F32BE66F09D8C22D74A4481CFECD5C7C
+ AC5ED3249E25ED41DF9FF1D7A7198690
+ stream[256..319] = 91D0285FB29C6D216707B5C6AA5D6A50
+ 39830F6BECD17166AABA998141D41551
+ 17C3082E0201083F0800A6E973B9153F
+ 6F81857831733376EB4C9F8742C02226
+ stream[448..511] = 675162259ACE7B31C743658CDD7CE8C4
+ 195860734B1EDADE046C54B42D22ADB3
+ 3DB97EAEC7F1CF9398E6594DDCD215D7
+ 76935CA3F0D0E985BE6766A4B24D1BEC
+ xor-digest = 30394DC0D2BA179764C6FC475DCBFDB1
+ 240E46101D17EE9165C42F7A66C26EB3
+ 63C79A4DF539D32B412E31993794E434
+ BC141A65F860705245A9AE54AC87F079
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ IV = 00000000
+ stream[0..63] = 2161A2C6C023093E35E5C83FE32E0285
+ 50E5ED5874C88231F2022933BB886BD1
+ 8A42D57F89C23585B7A44E4575299AD6
+ 8E96FC1A31268A2909F558E1CD1708F4
+ stream[192..255] = AAF43EDE282161C52695EE291C4844E7
+ 8AB3C129B54BE3D4C363508CE459793B
+ C26A5D89BA3A0D4EACD3DE0CFA4BA89E
+ 4569ABBD9E4C76D6B0B61C12999BADAF
+ stream[256..319] = 09521CD50C8AAA7DFF375779B1A8D3D5
+ DF59CF48D5C431D31E123ACF14071688
+ 02762C7CB8B724D15D2D918DF8164F71
+ FE6488B7D6C0D6A111F016A4950818C7
+ stream[448..511] = FD14AAA721F249B13750485FBFE325B9
+ 82E28FA3DAC4A7FD2FD922E45B09A3AB
+ E30BFC57A8D76616FD291834A4A886E0
+ C359AF14B96820BA90F3B3E92FC7DC1F
+ xor-digest = DFEE61E2D0D17F52B468FE2A06768118
+ 30021758E0999296E17DB73C087D70DE
+ 7DB511B8E1C23D08126AB9CA14857D58
+ 24B84BB81867E48477528A42BBB7EF15
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ IV = 00000000
+ stream[0..63] = 5C122E94C96EE13FC589C7047F5A7F19
+ F7E48D67EF37262959981E9E1E6DEDB2
+ A118D3270025DBA2567F686682FF9F59
+ D3E3552DBD885343BE5943BA05AED13D
+ stream[192..255] = E3ADFC246DB10878EFD72903FCCF99CA
+ FB74F660470E3AB9645FD0E713FCDC1E
+ B9D156EE3D1A7E761309D0DAD86A97F9
+ 6A41D402954CEC5F98F74C25FBBD6102
+ stream[256..319] = 20ED6271BD550771FC36200322A247EF
+ 710910B2FD8C45205646C4B3AB2BBA16
+ 1108643FC96767FF4125E353A27D45C0
+ 5B3D05435F6189C56CDC50D3F0395982
+ stream[448..511] = F1AAD1F1726C0646C85B578EED72E52D
+ 507929408C47EBE4A0F1D5520B460EF0
+ 1F810CB02197DA525EEEAFA2E84ABF48
+ DCCB3F6B2F834A820912A1710CA2768B
+ xor-digest = B4D3FCC380D2CF94C41A818FD8D01C31
+ CA2B4A2B5127289FDF92BC45143E5D49
+ AB63E2EFA9B0BA6B947560A1ACFA78D9
+ 00AB872FC9D21BC6A5B8423583861C63
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV = 00000000
+ stream[0..63] = 3C253078AD7D6C9C6FE16636FA2781F8
+ 98F8E213DB1EA28F864EE6EE73BB0E9B
+ 4739AF9BAC3F66573CF93FEA457A00E9
+ 5B3C5F6CAF56C7968315AB30A11F33BD
+ stream[192..255] = A538CFEDA8B89A89B0F6B2E9FDF00DA2
+ F31A5B5D35BB6EAB2DBBB682A49FED29
+ 3A1630BCF62EAF386788966E4D5B5B49
+ 1FE7062DAA55ABDD75A52CE753CEE8F4
+ stream[256..319] = B965BB204E8F99B9B370BCDB34362028
+ 6FCEAA58E51F3D001C2653224F11F16D
+ B4C5C91E962EB0AE154B4BABC57224F5
+ 6FC4D6975FDDB847BFBB6E0CB0B8A238
+ stream[448..511] = 3E628A1AD9283E4148AB61D6C9637E79
+ 0AFA8856038EF6EEF182503859020528
+ EA02F6A7887A0F5E0DA42B9C7B2ED677
+ 900C87340B1519903204C19C50D0942E
+ xor-digest = D27BA9B016C3E1A53491AE8B903C8B8D
+ AC2D1021EDC4A4C34BA67271B0BB36F8
+ 401D16045FADE1F3EAF1958F27AAFE01
+ 7CBEC385D5C04245123CC3ACF8DE6B3B
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ IV = 00000000
+ stream[0..63] = 76BECC20172CD2A001654648E13CDB84
+ 5244FCFF20A2F2110DE2AD74FD22BE1A
+ B5B469A878A8A4510976FE81AA5D888A
+ 1BF7FCB450095758E2DEF696B979AC2A
+ stream[192..255] = B37DC45C4F2661E46654470FB0D38350
+ 9B5D9591E0B4B8D0715D8A47533E9456
+ F8F8C2631C390E5CF0357BD768B33F96
+ AC1C8E3AB13439AC11E0D83391C16147
+ stream[256..319] = 53E0328FCD518293BF9CCDA910E07831
+ 4382E65D59B24733479B841BD2538B06
+ 25179D22AFB65E02F4CEF61E52EAA8B4
+ C12D89639BC4C2D0AC993B22C75DBB3F
+ stream[448..511] = BEF57F1BC13E7C8B156B91C5B7688668
+ 64DC4E437620946B5A2B97F5205C3A92
+ AB28CB926F00CBD56D19849D472646B7
+ 8A7FDCAC37B1DC9780C5E924C0C66C54
+ xor-digest = 68E15019C443F81E0064ABDC76E442E9
+ F36BEE832882E01DE983EE9BAC136B1E
+ C92049A59335595EA8575B4FEA25D35F
+ 64A6CFBCE16C9CC7AB1F4E4F831B6905
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV = 00000000
+ stream[0..63] = 69598CAAF8F3F227C2FD175AC958BBA3
+ C91EBA70CC52FADA577AFFB2F5CB0DDB
+ 091AFC49FC03C968B0FECE43C7C542D6
+ BFBE6E26069E28E702BC2BDA89FEF596
+ stream[192..255] = 78F1E5E33571AF9131FCE47965A601F5
+ 00195121769E3EE0A200C71052354FFC
+ F8FABFDB3F3BA9A8C0B914AEA4A804F5
+ CB0BB99136AD8FF16CEA3778FD94D998
+ stream[256..319] = 3022B71FB3A633D7AEC22190AA42A1D0
+ 21CB1263EAB7009B141B87751B0B9257
+ 0758DE697A8D417E27CC744422B2ADAE
+ B743EBD9A93EAAF46479A50B45B39034
+ stream[448..511] = 66AF3504AE793C5F623304E597FFF62A
+ 023B79AB1BF70762A43E28D45B8D3EA8
+ 620F11F9798B1CBFEF670E1264DD9C51
+ BD9D6684F9DD961D232E195B02E7D4A2
+ xor-digest = 8EC190E7FAEC46E26CE8BFE2FFD6E0DF
+ F32964D66834317BFBD68BEDA224F17B
+ C677CAD6D81DCF8CDCDB58509D32D77A
+ 3ABA58C9759711C05B034B6B970CD7C1
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ IV = 00000000
+ stream[0..63] = 3E1C0A2B4EE217DED97C5DAD2DD835F5
+ 4730930B320438C1A126348528D857FD
+ A4016DC92A2646111C08B80C43581C67
+ 281CC01F47E9577B6FB3254991E07124
+ stream[192..255] = 44DA8C61CAFC7EE7222304DFE6F8FBF9
+ 215A3D3EAF7A678C76F8D66DA7357EB1
+ 5CCA5CF0C6FBC6BFCE2601CBB9A6A2B4
+ 8C91F53D966EC6BB9522AC910E1AE185
+ stream[256..319] = 9B0EEE67AFCA79E391653D91BBC21C45
+ D4E091DC1B90C77482572723B22954FB
+ 71EEFF8BE3ACEAF6ACC84C44CE6F5B65
+ ED45B0035B4D0047801CAEFAEFE257F6
+ stream[448..511] = B32152FEBD0ED7A6A56639F20C97013D
+ 55380ECE3A40B2347FC806F7ED36012D
+ DF6198755D124C4BD60B2709E2F64A9E
+ DA5647DF8C2A53A22DB3226CE6FF3B57
+ xor-digest = 7AA67D4EDC1D54F46D909AEE20A93A22
+ 3BF2DA4AF1BE62563EF031EB88B32CC2
+ 8BF4827AFB0544C8E70F7CEC00E30F54
+ F5D8FE12DFBDD9A4ACE1D41C4588BA8F
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV = 00000000
+ stream[0..63] = 032E6D53DBC65816B197DCA5012D7029
+ 1FF9F74BC37BA70D649C161E9B5B2CBB
+ 2D479D5736F5D3427CE885BCB213DE8A
+ 9E954DB0C5C60BED64BF8FA61B887972
+ stream[192..255] = 908C149C617EEE237008D248BFDA47E7
+ 1B57BCEFA89A2756FEF25037FB6CE995
+ EDD9A50BB69F2C2AD24BBD0C594F43E5
+ D2064BD0A923EB971A24F0069385EFEA
+ stream[256..319] = DBE0C3688448508AFFBBF2F32DD3DE3D
+ 5096549CAA6A5454287FEDBE9E0C8E9D
+ 218BB6CE78EA923031704338AAE90984
+ CB2BABAE690A4554FB1597705C3DE642
+ stream[448..511] = 0A2DD5D3ECBEE9483DFD1F79F721B88C
+ FAE92BAEC51F57E163A731AFC0D42EC8
+ 33B1D34FDC56F9651D2AAA735DAB232E
+ 9EE4ECA1F782B28DFBE884B72EFDD467
+ xor-digest = 98D31364157256768420D28DEE0102CE
+ 69E2096673D51C4070D4AFEECEEBB61B
+ E3DEBDEC4DD66C65628651998D25DAD7
+ 9C7754E1A2866413E35756DE90DFB6B8
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ IV = 00000000
+ stream[0..63] = 9ABAAE128AEEE150C7F0FC5EFB3403D5
+ 854F09E407495E6F082822C71A6BD7DD
+ D91E9CF0DBCA219105CF38209DC9C938
+ EFAD92F994A918F0D9AC3E589416A4FA
+ stream[192..255] = 09D283E655C886545C2A6E831A7E72E5
+ EB5B8266B2007B07E93C28285569974E
+ 1EAD9E835A320A42A2054287823B17E5
+ 4C6D919228E0B82F712C9D279D63F869
+ stream[256..319] = C72549CFBF5096C3A1A6C263196D510C
+ 8E1A824C90936EEF460967482FD9B808
+ 463871D709EF3DC097AC21B2A18853CB
+ 975924BE9C27252AB8109FA5A8164CC8
+ stream[448..511] = A6CBCCA10161FC5C0C913DDC454BA7E6
+ F79FF47A8C9156190E5D0136805D46B0
+ 1B03B5DF8C026C30133EF19D3A690DF0
+ D969CF5138CF20CAB9A79CEDA6E9813C
+ xor-digest = 02B890BC291C1C53CA1CEC33A6D7D4FD
+ ED01CFBA0CFB2009D8D2FCBA35D1FDE7
+ 487B7594F7703F2066876BDD4C6240A7
+ AD7C312F717BC9B701445B9302690F45
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ IV = 00000000
+ stream[0..63] = E2857E1751330106A8E1E8116C35B081
+ 630D115A920B2A96351384A1E4BF316B
+ 3994E48E2DFC33D1944028E08F8EF8D8
+ 0E30EA8B834856E7E458041FD576B605
+ stream[192..255] = 1B0F9666E4B202E286EFCA7F14EE6D4C
+ 9FA41150E921F759CC65E85D968C5273
+ 1F8E5C6228062DC2267481BA099D4E5F
+ 004389CFD072DC73A939F514E14B6C37
+ stream[256..319] = F7F3027390002A55A1C53E8DEC7D57A0
+ 127F41054F7D8DA1A227F2EECA251C02
+ ADEDEEB344B07FEAF8B70863172EC5A6
+ 0D73E6082F9F8B13796C52739957140A
+ stream[448..511] = B516201817CC7BCA653DC17FD1923B78
+ 17DA3C0DCEF16E6417D2A59496FA9B6B
+ C86F4E2C59E2AD73B7C6F32482A601D8
+ DE2D691FB1DC139380ADDAB0D0438693
+ xor-digest = 1D37589CBF9E7E45C202AC82B491DE97
+ 84B48A093D12BF8BC1F1F83BB62C573F
+ 163E2FAE2EF0CBE059AFD6D88F8921DA
+ 76A1C56A8FD4D317C64BCC18E508B0B8
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ IV = 00000000
+ stream[0..63] = C296CFDF1CC99434464330E5D97A7DED
+ 53A30036938E67D867D1D59148920627
+ 5F8CC0E79F00383E155FB8559427155D
+ 6378D1F6FF08557344F45EDF853F8F1F
+ stream[192..255] = 4268FF91D5465174AD2C74FDF8CB4BB2
+ 789994B5B7E22321E250EE5D8BB252F3
+ 2A208F4382C49924A1595892CC92D167
+ E82055798BE63A30660E6198AC87CB60
+ stream[256..319] = 9E120DFAEE5723DA274F9AAAD9BF2C93
+ 7C7FD2B3C72B08129D22E4027E17B2B4
+ 73872DFA5F6D7AE40C6F08B5513FA5B4
+ 4619CA80A96C860D577B4471AB835ECB
+ stream[448..511] = 8E11DEF886955C51DE5EF5476DAA6E91
+ F97F01AAD887DAC3C1D256997D1050EC
+ 0FB7E34412AEE73BDDD671994878979F
+ C12EB25439A5C48894DE19F83F6121D0
+ xor-digest = 146A9F4D749881D3BB5BA39615D55528
+ C4AE0FE8E7557E127CA6504FBE960AFD
+ 81D5CEADABB14B13633241D908271F83
+ B0F315F0D3C2A68798E99B1741A762D1
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV = 00000000
+ stream[0..63] = 0E647E11171185763893DE303114AEDD
+ 73EF2434E07366AAB400E6E274A13071
+ 406C2AE959FD2623C24F784A84615F65
+ 5566AC96FBFA5DC7C37DF84DEABA0B76
+ stream[192..255] = 2E412F2DE9745FB8D1D728042A5DE0F8
+ ED6CFDDB0FD648AE16E7FDECAA10ACD4
+ 05943C6C54FDD2F4759A32BEE6172A16
+ 25E8F81F241D772DC9DD5BC4DBB1BD05
+ stream[256..319] = 59110F72E4C2AB3A1F724070DE4CC8CF
+ 64EB0B613A57088F21F1412DF71E27F9
+ FCEE75F33DCFC1FDB6C75F6B75AB3B43
+ EB0EE1DDBDECE320918F859ADEB28E12
+ stream[448..511] = 46CEEBB68D4B63FA03DADB7F5E3DF8DF
+ F1D27F7017DFCD5E8EA4C3EDB1736B63
+ 000629D886384487CD63B17AC52E042D
+ 97E89AAEC33429E255785D7385757AC6
+ xor-digest = 32611B44C30886D9A1B1EE1102248AD5
+ AB69588C613B62F0D5A7EC90E13DA5EE
+ B488020E0BC388FAB0BEB27CA0AE9819
+ 73A03AA3A32DB4711C5548BDE0E1CB85
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ IV = 00000000
+ stream[0..63] = BEA9600DF5410BC3B661731B859DF849
+ E3BF746EDB15A9B72042A880728BAAA7
+ 0E00F5146E3296AD73982185F39F99D8
+ 8112493CF0C94523D44E11279742075A
+ stream[192..255] = D349A02115143BAC156CF530CBD84316
+ C3BCAEC40C166ABED192284553E5794F
+ 62407A1C4822B358C33ADF9DA194B392
+ A3E43799ADC973143C311C1BA3AA447D
+ stream[256..319] = 1D366457F22A12BFB2E016B97E07CD0D
+ 77F8891E88EDFBF9A5EB90F3683C9054
+ 384442EF5C846DA56A84D66F650A38C3
+ 165CA81637B8FF54DDF7916326E27D56
+ stream[448..511] = 0561FCC883738EB25893FDD6F74CD81E
+ 550622F4EECD176A9144F927B6FFA4B0
+ C6CFAA1C55CB271E16652CDE74D7BC50
+ 4092EE24C3C5C00CC27FF911F1A90E9E
+ xor-digest = FD8216A95AA144BAA06100AF1FB24C50
+ F59D7F8FA5D333F25B3C99E2BA6D0572
+ EEE2E15F95884B29EAF8F980F4C900BF
+ 868916506884CA9C821467309883E787
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV = 00000000
+ stream[0..63] = BC035029B7E9D9B54899369F6C5A9113
+ 69AE0C1471B1FB8B6DA7C2C6D2A69F85
+ 53F812EFCFCA7BF620ED73140FF4EC99
+ D54ACB275F318FF84AC5AD7F75D8DCAC
+ stream[192..255] = 92163A850B0A0FEF01320B5C9D75F4BF
+ 61CD1FE8B93AA4BD442A5F81B5F5E6F9
+ A03CD598ECBDB62F2F3A693537DA3085
+ AB4AF593E5C676CCF4BAAA27D4599ED0
+ stream[256..319] = AE695F898636DC07ABCB37658F6E5E70
+ 9BD0E08E79B1A94FCE0D6145B58C745D
+ D5C5544645D15ECF1D4CA06BDBFE8A7D
+ FA578FA97FCB9FC7AD9D2FBD8E61220D
+ stream[448..511] = 36C128AB4A37CB8C4ED1FF49EA6EC7FD
+ 57C0125DD660DB6B3F831111E0D4D408
+ 3F77DE580741F4EEEEEC7588F9C97049
+ B99CEE458915C221F4D398BD93F7214C
+ xor-digest = 095637FC71627CEE8802BBAD65108880
+ 560F6FD45AE7D32CCB6A2913B12A738B
+ 42BC25BB4823B36B98DBC956DAD5392A
+ 88C7A4050DB6FE6197CE8C08C6EB0FC9
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV = 00000000
+ stream[0..63] = 340F6FEB83B96DFA37343C233E05213C
+ 9780F81D508D1C239B98B23087CBB340
+ 821F9650A1F428A0F7E9760D7B8B8387
+ F055AF126A8197B518A5EDD89861F361
+ stream[192..255] = 8CE80B847FBB4490E59369C8C7856D34
+ D3FFCD6DB688265C0C20326C86E8D914
+ 6520CDE8EA3C3F02A7646E39EADE6F28
+ 305F81546F078F6C1D3CFFDD4E04BE10
+ stream[256..319] = 8F899D2EB430EA6C05A25697F9D2CEA8
+ 6C765108EB7314C8BE9DBC0D72A74BFA
+ E7A0AF0C25D1CA80351E4A9101466092
+ 2ED9F03D71354386EC48AFA0A043BBED
+ stream[448..511] = F03CA05080113446D10B3F6CA1349D65
+ FE445F103190D15345F9BABC72F3C458
+ 97CA97D2E272F2CE821E65EC0339262F
+ FD0A6835FBDA8D0DBA5CFF81CF4F07F2
+ xor-digest = 57F886C18D49C31FF1EC8331BCC399E2
+ B8CEDCA068476AF964FB99DFBD742A64
+ 626D4E6E47E75A4E2CD63FEBE23974FB
+ 967F3879740849F19121F3D53ECA94E6
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV = 00000000
+ stream[0..63] = 834E8BF798344A4380F2EBA4ADF25D87
+ 49EA4996B874643D11956E73508A7962
+ 9DB0368F268EAE54B2F76EBBA23790FC
+ 0C02C99B80120CAD21EAC638541CD82C
+ stream[192..255] = 94CB9B71327CE571A8837C21CCC0AEF4
+ E418A958FE534D0C5E37B078C95009A7
+ CA53CD31D7641013D4B6DF3FE437689F
+ F446B2B7C1D735E8C72FDBEDD52F4C90
+ stream[256..319] = 16B81E532A1EB2C0B40B9C85587A3583
+ 57E56065EE93A06BE50704A4987261D6
+ E7AAE8412FCA4BA8E597EAEB42A5062C
+ 59957CF18DDF23E11EB1F1E3276C09CC
+ stream[448..511] = BF651FDA61FE24A18041A91D660E7F12
+ 13EA9004DC17F9288516376852C1498A
+ 95C87E5B63066FF5B1B2F9F4DFFE4FFB
+ C928849D72CD21BA2FE2A7309EAB6EAE
+ xor-digest = 6D14B773E3051891BF6EF64E3D6F8CFF
+ 72B8F282FCD492C8AFE5B8FE22A735A1
+ 6D2C3A4793A28C2D7669AA1C553CF776
+ 79859C861CC9A4CBEEFD962E305B2E27
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV = 00000000
+ stream[0..63] = 9704EAB4EE00F66BED8B97563ADB3EB0
+ E5E22DE44CD28791DC54A21B8D0BFE73
+ F5B02C12B127EC315BDC886D36B52007
+ 884DAEA8542254CCFDCDC423060289F1
+ stream[192..255] = ABC1AF4B882EF30D7861DA739B076402
+ 944C60AFD4679C01D27FF35F41527DE9
+ CE521D34C97102AF7ACB2DB50971507D
+ F3B792077A84558F29079367956CED76
+ stream[256..319] = AD9B315D9C815ABFCBDE6A1314FFCDC2
+ F09C980314F143BE3AEAED992110A0E9
+ C837F6D334654D3DB208B32DDC68FC39
+ A5C64D284183D889BF2493B00F26BB75
+ stream[448..511] = 12E7830CAAFD55C58A6588EAA8F3202A
+ 65FE5D1EDE662036DDAA9947B78F7913
+ F09F83687336073A77A0850E4031FD86
+ D508E29E8FD5D6923FCA2C13428CB623
+ xor-digest = 144A74BECB6E62F73D90E30CF31C0D3D
+ 9A74D75445C0FDDE41891398E26EBC8B
+ FD2AF00A5FA32A83C8E38136FA0E4F1B
+ 1C9B48D245F4ED3D8145CBD84C6E25DB
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV = 00000000
+ stream[0..63] = 25CD3487315B7D8EAEF014C442EE1EFB
+ 793B2039D21209C4C9DAC63CA07244F1
+ 5E1F7EDCF49EF612A6D5FEBC76B07FB5
+ EEE78BE002192C5C9E65AC96B9DD829E
+ stream[192..255] = 883D2852ADCD200A79E275FDB727BCC3
+ 6837BFADE0D10601779F46836FDAF142
+ E6557D528C6C179A6F4FE0D62F54E0C7
+ FA65C4F50CEE63DB2D6765EB3AD22DCF
+ stream[256..319] = A153426804409396D5667A9708AF2F83
+ 8D50BA548354CE8BD2087D2DCB2FD1EC
+ 06C9463240AC2806C08B3885094E334E
+ 3B16D2EFFED021D0FA503A44C50AB979
+ stream[448..511] = C1224867E6E2BACF8EEEFDA83484FEC2
+ ADA53204F7BBB0FBF59402BE87E77610
+ 29D95BDFDFE07EA30D881BEE0F998677
+ 3F1A24A8A1ED44CB0B38504933723E24
+ xor-digest = 09A4E606DD572EE1C5E12722B15857F5
+ 3FF39E5A9F3B166B1BF2ED0924CB5DA7
+ 31F99044F2C625E63338689B1ECB5040
+ F46281C047A96E595E64C1B974A47750
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV = 00000000
+ stream[0..63] = F9CDBBE90042248C25900F845D3CCDEC
+ 2B7578ED37AB62B16226AE59E626D7AD
+ 9ABEC511F610702682E403BA27FAB5BA
+ EFDDA22CBBF9A1026000DCE6EBFCE5C8
+ stream[192..255] = 606F33DD986CBD5E2F48EE0F87613198
+ 75D19075D73251DB8B2D43365AC2E838
+ 8E5F02F9B6D4078377A53C8723A01422
+ 87DAC3C382A2A1576AEA65A28186BAB3
+ stream[256..319] = D88DE3CF5DDCD1F0A69D0EB8E71E30EF
+ 467D5D42D0D9212A67D6C144B1ED0486
+ 9731B3D695F961E615B1438A3E0CD001
+ 73C41B79C15C9D214D5568DEEBFBE061
+ stream[448..511] = 9D1581ED14D664FE3C2E84D80ECF6FC1
+ 2D69026BEEE4EEAAC69151C8A5286F3C
+ 1D01401315DC68F4AF40B3B72CC4ACE6
+ 6AEA50347D1CB7E2390FA05342BA131F
+ xor-digest = 2AE875365854255D7D52D57185BF25BD
+ 130777B798074E8185BF0E135EB7E152
+ 85AFBE7770E25E5C744D62851C614618
+ F25C06C500ADA250688520AD074E7DDA
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV = 00000000
+ stream[0..63] = 308FF48BAD533C83B01AFEA0D71D5518
+ BB16CDD9CE4DB610D399B373B20AEC04
+ 235B0502AA8C0100C6B92F3B40F2FA0A
+ ECC427DF5418BBD2400E0AE00011D86E
+ stream[192..255] = 4E402EEB5148E21FDE18CE56074C1C9C
+ 723608D9B964FD955E6B2503A01B7EBE
+ 32C924D6EEDA289A8A114A0DE9DE3273
+ 1203A5A3BDDB043F7DCE62231DC0076C
+ stream[256..319] = 6D4DDE0635DC84CB2464C13307931D61
+ 447D42364B9D3446E5D8112EBCCE2871
+ 5787A8698B24CCAD63F25629A7B551B7
+ CF0CF6EAE38E748C3178433CB832699E
+ stream[448..511] = AF1DB2C2F2DF0F3A52F9229BF4A25569
+ 0536B76049F7519B780FB63C2B7434A2
+ FBE6B78F1C09093086BE221422FA1757
+ 25C5C99DEECA9050ABD2797B89F5F052
+ xor-digest = 577ED6F2826921E63DAE00065DAF17CD
+ B80A4D00DEC3BC6DAF82F4D92AE8BC70
+ 0664497D37A70D4CE02964F63846F26F
+ AAF819F92EB99699FD618FDCF797737E
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV = 00000000
+ stream[0..63] = 137833EDD988E9E0BB231F8F2ADC03D9
+ 731F6205FA23D3ED4CC9B5A079B2F673
+ 7259524E390FDAE8E85FEC23C02FE15A
+ 3EE214027EAA3527A413E519EDF6523D
+ stream[192..255] = F72F152191ECD51DCDEE2349898FC655
+ 0F5B5902368B8F02091198EFB225988A
+ BF7D936DFD34D4BE53B16B94BE6976BD
+ 37767601BB7AB01E830F4339A79BCDE4
+ stream[256..319] = 18BE9604BD32271C0229D6E3F0FD4FC5
+ CB585B2A1914EB4F622B701BEC553D11
+ FAD2C609785B6A01DF4609BB5F90EB28
+ B9A69E019967D71BE94410D3D65AEF4D
+ stream[448..511] = C35C474F923DF53CF45E932E3514AD71
+ 0BE6383E93870967DD6B5DAFDE6AB3F3
+ 78C5B6F46295175179163536818E112F
+ 1ABF9ED4882F32F6BFBEFC97D52D7A67
+ xor-digest = F506E811320ADB9218C3A25B8A248162
+ E918B941C2BBA62729BA5A06DC36B7D9
+ 904BECE509E2A04785F1743C485AF9D5
+ D74B54DBF527D7E9F2B2B475BB109E6F
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV = 00000000
+ stream[0..63] = 90813F4562F8B0CB87E1948085F01DD3
+ 737E7F95CD89F393BE7630F6CB10D7FA
+ 7CA6DC18ED14063766EA140B841ADD36
+ F00A5F49990480ABA3036E068DF861EA
+ stream[192..255] = 8ADA644E09E46B99BC1B903368A49E5F
+ AD3363E3E374C9E518D90B4D6943FB7D
+ DE0FF2FA62FE7FEA0BD922219B9F878A
+ B70FDEC0294DD9C3FFBF13CC95A67714
+ stream[256..319] = 5AA0A7B62DBFC0F1C6FAEC69D6E3750D
+ AFA610F879073D0FFB14A04A22698D1D
+ E8078CCD1E376BB4543576B9E2F707B6
+ 28D1866F48AEF79D65F2FDA03FF40D3C
+ stream[448..511] = 1EF40AA4607379868A04871FA2E31844
+ 05FFD372E0DDACBF190A1F627412AE3C
+ 6932922BA3F27A7FEDE3A9020D177364
+ 1CC14F4A89BA500A840BC36B62D0523D
+ xor-digest = 8EF0D4DCA50F3ED43120C9A3BD7EC2CD
+ E97B8B9473F11FF7FC03430B7081F019
+ 50AD462381E61C59DE78F28C940ADF88
+ F17420A0EF26145E7ABCAFDA5F2C8AEC
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ IV = 00000000
+ stream[0..63] = E06452C2E207C92D34BD980F2E00ECD0
+ D95481A9D96F30C5E8398AD4EE90769D
+ 86CB78BE9CA6330F25C21975684C1770
+ 77402DD98412CC53AFDE8E1397E547DA
+ stream[192..255] = BE1E1ED83A7EC46CAFE22AB5D5F062D1
+ 3023145FF57A01436539618A65910A96
+ D6C0AD82BFA5F889DFA5818C489FCC1A
+ 4546506CF924DC8A91F2D641BE63F19C
+ stream[256..319] = D7DA1B8247810A0C0C2628612D61AEC2
+ CC68E974C333BF5109650B62D9360CE9
+ 355F2F8AAFF0BC7AE0C7648A71A9879D
+ 0AF02C7752D678320AACE995624928C5
+ stream[448..511] = 9A5CF651705358FEEC5DFA8508763F7C
+ 9A71017713A18E02BC52C2B94C11418C
+ E3AE453F05A06A6D50CBFA998150F3B8
+ 574C14219C3DEEF7F7B480BE98A0F0E1
+ xor-digest = B13276CE55739316928A5DEB41B5EE25
+ 5A36F5F5D1EA0E8EDED9CC82B2A026E0
+ D24809673D991ED39712EDF6BBD6AC4B
+ 6DC0EC8D1F2A358F1EFBADD73A40AA1C
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ IV = 00000000
+ stream[0..63] = 0DCCD386FAB06F3AA2451F82081123EC
+ 9C00D157D868EA513DB478FCE80FE9F8
+ 1507C2C02D3842120D040B650BEAF306
+ BCBF000CEEC0122A07BA3487597FBB93
+ stream[192..255] = 2E28279137756F8F5522B9B353A1E24F
+ 2970927A6DA9A482590AF6B737E38368
+ 60954D8DCF9360458468DD74D05BF7F8
+ 928B93B4BE1D93953DF92DF4E18DD8E2
+ stream[256..319] = 6B098CFFC0B93A3B73E181ED05ABE5B2
+ DD01C7C0CFEF1AD93C375B646B16EA31
+ 4471EA3ADF6C0BDFE187CB10310FC9EA
+ 9410C9B342138B82AF259B9571EF1944
+ stream[448..511] = F350920B643A44C7D9669AE346844DB5
+ E9DC4645C5F57C92A39A79ECD0BEA9DA
+ 417342C43CECC61B99F1FA89BC914B0E
+ F4154190342D2159F976D86DB5CD8295
+ xor-digest = 957811BA1E6D77985E956DA6A80C418D
+ CCF1E8F512457194553BCD5D02C82E7F
+ 47AFAB57BE085C106484F0F927F0EEB1
+ 54273FDDAA408F3115289C4018120334
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ IV = 00000000
+ stream[0..63] = 411351A03A76C8E1E76006701F23D5AB
+ 4614E7AA49EB639E139A9F3F6E11E1C4
+ 63BDA9E6227CDFEAF91CC0DDA126F4F9
+ 6DED9F21DE1D1E7A22497307981B2CCF
+ stream[192..255] = 3DC54DB88D5B54DF7F7E8FF65D2B643C
+ 416CA2B364B5E33F09A4EDF34D41FB4C
+ 1AE8D585AAC16C595C939DF222F1EE7D
+ 83D6C2193F4599AD5C3831283ADFEF7F
+ stream[256..319] = AEF5560348E6B5F183FFBE24D8BE1B49
+ F3E3E05A47E4E00CEA0088BD14CB6BF2
+ 3A47C48CD4F87C258A55AE0BD1684547
+ 4B5E16E9EDE94D87459B3D85D33312AF
+ stream[448..511] = 47ED2C5EC32D9E7C4D307E479837F3BD
+ EDA44E19D231BE1C6F10C3663D1A3560
+ 436F859D5F2956FAAE170C09F0A41D08
+ 99772B53942C643221ECE741F149B13C
+ xor-digest = 24E80C9EA59A20640A5DAFB57BE92D77
+ EE59B33264629D14F54D3151CA8D1C3B
+ 145F825FE954EB9309DBF8A0A52CF202
+ 9E2B2F4089F85B40C1C4418ED56C9AFD
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ IV = 00000000
+ stream[0..63] = 495B79ABF0B112286C292315A7ABCC48
+ 1B28C06997A89C38AF4F02F934D00EBC
+ 95A644EAE9A5B9C583601FB558A5B62B
+ 628D684EACCF67C472A72E579E8F03CB
+ stream[192..255] = ACD642B1B9395E1A7D9143CB01C7BF7C
+ FDEE76FC02DF3901E57A70FE5589EAED
+ CE59A12AFC04F2CEC7DF63BC91677A22
+ 2E7BBE2C5A98B3D1691C9E7C8D91318F
+ stream[256..319] = 659502D87F9FD7EA2139BD3D36C81127
+ AFB3FFAA8E54DC517A95B108F94BD486
+ CD006E60745EBDDBAC442D2CD1D043B0
+ 693A584AADA60B67B5D44F54B6684599
+ stream[448..511] = 1D5D7CE98E9DE4C876E51FE6995E4E8D
+ 81508A8F939BA9137EFF0AAD0DCC3197
+ F464224C55F770200E36932B99FB9A24
+ 0DBCCDE19649010405A11D747022296F
+ xor-digest = 145A3512C03D415ADBB2F4E5AC0FB742
+ C97657D29ECBCEF010DDCEC85D0E9D98
+ 7E999F922BEEF2061B41184D228303B3
+ E09FA12FD39127E9B348DA921FE9DE71
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ IV = 00000000
+ stream[0..63] = ACDA6BE031D0B9723B36BF0FAAECA3DE
+ C9A991BE697F9D02648213EAAA95963A
+ 4EBDB9091E9AC6109C9D87F3597FA0C6
+ 1EE7CC205F0CA5D6FCA683B039A5637C
+ stream[192..255] = F5EF3D8B0D231CC3BD06BC86EAA06291
+ C2842526AB60F5A90A43DD861B9A9D0D
+ B4069D06032A5FA162B94BC1C52982F2
+ E360EEE81FB99EFC41681444433F8494
+ stream[256..319] = F3FE1BD24BA1AE6C59335B2A403B5FDA
+ E2FBD9A39897B9F640455CA3C9437FFE
+ E2DFC347FF0D2056BA9B53A24224AD6C
+ 126CC9746FC5B493416ACB2D5C6F005C
+ stream[448..511] = CEA7F812F218A3F4AA756BEE7D9C1C86
+ E6009670E2DB85216F6CCD2F858B2956
+ 78C8EBA5181013901503C355F603AF33
+ FA67312769FDC761C3CB8697239D523B
+ xor-digest = 6C66091E203757C94BC7F398477AE8EB
+ C85DA1352EBA5CD5DDF9B74CE77CD237
+ F8C8ABAFA3A716E726331EFB4E94181F
+ 08C34786B1000CFBACA68C6868079288
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ IV = 00000000
+ stream[0..63] = 684CEE53BA8DBFE7C362F6FCC8BBC3F0
+ 5E82ECD5F8E2D10AE80F2858E95EB256
+ 5EA7D5729BE216FBDD27DF1829D066AC
+ CF328E570390EFB87374BC7B934B712A
+ stream[192..255] = AF2324974367960CA99B8A11FF2A88BA
+ 9AEC75E3F391357048E6274DFF77F2E4
+ 1FC46B1562BCD30FA8038F200ED9A903
+ E0A6FA159E7830C050EC76D79D863DA0
+ stream[256..319] = 95F9DF3799CDE6893E1E2EC25AEEBBB2
+ AD9C12DCC316FDDAE603A2C239FA3664
+ BF866CBB4C0D836DB42E67238E36CA29
+ 526C74010494BE29AE1A5C95C2844431
+ stream[448..511] = 938072F1B0F0BD87EE328402FABFD235
+ 14237B3794F9DE8ECA643DDFB40524A8
+ 2166CD3146DEF4BFF050BC5B91B2526A
+ D28E4DC70F8917D5C797B933443CA9AD
+ xor-digest = 1E8B6A4304A7B9AA31002F25ABC29845
+ DE6E1A4835C891F57697DE91F9191480
+ 983AE4F0572B5205E522B51B147EC6EE
+ 792602ACBC08D8E71E8EE478F3B97334
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ IV = 00000000
+ stream[0..63] = 89A540ECC1B1B6989819ECDF6037E6A1
+ 6C21CC3783A8B988E2EED0CE99A62F05
+ 3C66B7895AEFFBE593F4407F3627DD61
+ 7EBB70D1F71142E7521B5B3F3CE29276
+ stream[192..255] = 38464A71EE329567E011D54D40C6BAF6
+ 518FD61137B141340D7DBE1B3D58B223
+ F03C562231AA5A3CA2A36C0913D077AD
+ C0CE3A9D7537E2F544F02975CC385F67
+ stream[256..319] = 77D1556FB534D4CB152C9C05CCFC7254
+ 9B0F4DF877D6BDFE542576E645E58732
+ 63EA299C73078720B7C733D37B356C7B
+ 59529E0E6FC29705E7981FFF45A9CB4F
+ stream[448..511] = 4A4A9411EB21A84A84826BDE25684E68
+ CEB761208BF0A0A775F1CA8D0185790B
+ FD2326836B7CD5D208F8846782C8E880
+ 51124B4A602D088349EE4D9419AA50AD
+ xor-digest = 6362306A8E7F2398ABE6DBB33A2D7CCE
+ B314214CA1948A843B8D776AEF8D1736
+ 07F758B3BFE44BD1B6277B9ADDE92AA2
+ B643030556C0851A635738B4865B7152
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ IV = 00000000
+ stream[0..63] = B0AAA0A8FBCE16391FD1B5A46AFC8817
+ 925E0B30CFD24DD352C7C2DC77568075
+ 92D3D538F2D5878DC2DC0E36EA87CE89
+ D58C6D129C432C01931950FF32A14370
+ stream[192..255] = D8A6083753D8C83CBFE3E5C331220CAF
+ 8B995EB7C589FEFB24110A17757C0EE8
+ E3DCF37F6677DC0D34ED32FBC6318C42
+ AA9195C4D20FE35E7149ADF7E978038D
+ stream[256..319] = 9CD35F54B8AE7C092A99642A387F36A7
+ D0ADE2BAA6F4975852FF2F9D95C19A96
+ 0D3501E59DF2C82065020B6ACC8F7F0D
+ AF1F19E87A7C9117C880DB14D9069D03
+ stream[448..511] = 9471A7E22FD03366C238DCBD6421C2CC
+ 11729791B08FF6B5DFC2213AE3C26869
+ 677DB62DDECDEDF34709AA56FC623198
+ C6E7340423FC6B425865F8EBBCD97D91
+ xor-digest = 6DB03B283A1F065B0474CC489512669D
+ EA492CDBA603AC13D5DFC16BCBC5D3A5
+ 314D58C7A59617E1DD4BF2BBFCC1C14F
+ 85335ABED0D4520E9C41969FD61B101A
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ IV = 00000000
+ stream[0..63] = A59BF9F7D8D41ABB186D4AC875E243D7
+ CCDA9D92715BD61F67E7DF519F881936
+ 4E2CB26E25AE791B8EB5161DBD9BC5DD
+ D73CB1C019FCB2669ECF291E713DD1C6
+ stream[192..255] = 4EEE39CBA101E88D8B7943510D892829
+ BCC1CC67E7E936A41C91FBF1EDEA2D38
+ 9C77281BEB86E6DC96E5794AA3751B61
+ FF5DCF8D7570061B2A4F62AE60589521
+ stream[256..319] = A764031F040435DC526D1F6DE6E974EF
+ 2FE52B030982D68C2C70919131DC5CE8
+ 1EA4EC758972695C52333437F0D46878
+ 9F8F951D1730A8713F8CAE806A53D179
+ stream[448..511] = F2DE12A444191540803A6428BD87E74F
+ D103B94D276079F634233D6B582CE72B
+ 3D9A50A6B290E6E19575E818761D9C7E
+ F02CE3C983D06694EB96D5A861D5DB1F
+ xor-digest = A41B6AAB905D6CCAF74C69AAF67B4D41
+ FDA92C72A7ABD272408A0E4B501B92D5
+ D42A61A7CF8D1B1F86791581C9607C88
+ 0E10F6CD23D66ED6F11CE4BE55CE21EA
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ IV = 00000000
+ stream[0..63] = C7849856E2FA006E45A16B5BE00D4FCB
+ 75946DB7247D75BA13915D52D571BD50
+ F95BA9B9DC096FCEDFE8F288246135A5
+ 8DCD90834AAB933ED3E487455495FCB3
+ stream[192..255] = 11C65CF7BBAF46D60055886992BB6D01
+ 69A6C55BC91B17B831046FD76C96310F
+ 5E1E6B36148C168EA850AA25C537F618
+ 10618084340C1EF643A34CB9676832ED
+ stream[256..319] = E170673139F4FDC29DE3C36F2E7ADE1F
+ F027F8C8B9BE1AC0BF15D4C70169022E
+ 891502F7F39BCFB61D83087D36042102
+ 805F815A721B9650623175DCAE400814
+ stream[448..511] = EDB911729CC51D039EE9DAA393CAE1E2
+ 1F569B2CCCC6583946017610E8B8BC97
+ 2B3CA1812BA72B0C553329253ED9557D
+ C217F27FFEED671F8C97B340B6FF9D45
+ xor-digest = E6AFCFAED9AA64E3A64AB1EF419F0037
+ 559A5CDFE7783C5F5253E58141B3C244
+ FD32A789195C7C39EFDA863C00A508F7
+ 7130FC39A58B962F9D0389EB757A240A
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ IV = 00000000
+ stream[0..63] = 4E121E47137918BCEBC095C1DFC1B566
+ D7C26A8A883A1E789F55916ADB8D425F
+ CC9BB78131416A65FE50686327525909
+ 70BA4B590DC1E5A1434A7EF6FB3A143C
+ stream[192..255] = C0D36A5989B0DCE63EDDFCA10113238D
+ B0CDA39B95F5C30AF9F03B62A0A1EB5E
+ 35119500925D809ACC78BEAEAC0C0A4E
+ D5519C5EF4373890C1316773800D472D
+ stream[256..319] = D3702BFF721D1A19A8447E8C685EF2B6
+ A863541B88F9E77E2AD1762EB10BCBEA
+ CB3B2FED9BC6CA324BB18BEB7E3959F7
+ 89168C5FBDDD952A40C47CB8AFEC904E
+ stream[448..511] = B5B328E6072C189603A7D5C4F9A4F693
+ D722C70D4495C527B1DF96530CF47BB2
+ F825C96849E63C30A1F86A4755F5623A
+ 6A74C1D874D4AD207FAE99F5B5F3876F
+ xor-digest = 549FA637E6767B1701F9F9292E797994
+ 276E26D79E5EAB075494784362FADD97
+ 263FB8D9C573DE7E38A0145677C454DF
+ 20234BDD1DAEF5FF0862396706835598
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ IV = 00000000
+ stream[0..63] = 5AD5AF14F4018DA67953EB310B63308A
+ 3DAC76347F7DFDC4CE45EB4F9D8E16D6
+ C909D282F26DED3717BE0C699FAA937A
+ 954A1AFA907D5D4DAF7AA052CE0A0911
+ stream[192..255] = 0EF9EAD214485BDD9B6FA1FC7BE8253D
+ A143CA7E5C2A72205AB59817854BA0B8
+ D55A17D84913864D0FA374B7E0D23CDF
+ 98F8C0133B12120F2805A72D90E16A58
+ stream[256..319] = A000D7E1E1BDC8D6C526ED1F4B2FC76F
+ 9B562AE97B691237B7EC6C1E9CFB9B79
+ C44A834001023F13312803A5F580382A
+ C4622019637833701159A976C53C0FCD
+ stream[448..511] = F24E4D03384D0D15175E775D7E9AC7DB
+ 2633C32310D8F5ACC3B26F22907EBC82
+ B2F3719A94F7E3537CAD29CB3D60DD9E
+ E474EE2719F1E61836DF9DFBC42B4E4A
+ xor-digest = 02ED481FA2BC353F7930B771013963A9
+ 8F51E5FD0BD26CBADA793CB8AD6B31BA
+ FCD711DA8684F70853994DD9F36779B8
+ 7CBFDFCB4B5AA7F03FCD78AD5583446F
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ IV = 00000000
+ stream[0..63] = 4DD4308D2F2D98388538915E71795AF1
+ 8FC4258F60321CBA622587DE32A11A56
+ CE14358BAEE0A12ED6FE80ACB4946C06
+ FE57BB0A2DDEE8848D98A465DFFD85C9
+ stream[192..255] = CE779289341B05A323623C1BB729D03E
+ 4ABE1003A614B20439CD0E8B3F5A762B
+ 440A4C1C41B8AE2707E3D4B1D0EFA677
+ 0D093FF3FB68F2C0491B2F65326525D4
+ stream[256..319] = F0E60279593D596F4A217CBFF747D116
+ 66A5CEEB3B10D5FD54D01C197F5803A4
+ 350A098575F1D6C542E9EA1AB2931D34
+ C7B797EFD3CB8CE08F293F352DB6A42E
+ stream[448..511] = 46FD0C2DE42E3B708AC571BA7F2E8AC6
+ 3B1E719F9BF7CFC08B36FECBF3EBC527
+ E8399B7902B3C88407BDADFD43B52100
+ 9480C166BE42A08251FD843CC2B1C4FA
+ xor-digest = 8044E57E92B2B3CDC9AA7C129E9E8B12
+ 0CF7ECAB4240A936DE50AAE42DEF209C
+ E68DE001A4C0894DA6696547FB487317
+ 7EDB0CF7208296307E8E4AAB90D741CD
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ IV = 00000000
+ stream[0..63] = 8D25681FBDB33090E867C7E86945A600
+ E9961928A0ED342E688862A238B55203
+ E96736054E75CE893CB12D046C3F97C7
+ 73C22B71209494398B95C734A34E78AC
+ stream[192..255] = D0967DEC326708015403D787C49C9AB2
+ 0C1349ED14B080BD72A85C413EDFE094
+ B9786630FC37A20E4E1194C8A13862CA
+ D17D3FE7DD2919286C4C789564DC8938
+ stream[256..319] = 7EA195ACC488884B7CE26EF3206D84EF
+ 88BCBF61E119F1F4C222341829520754
+ 0C45C3D145E178319B7ED63EB1695741
+ 2C9C3C8C9FD6443E50253CBB40873E76
+ stream[448..511] = C787183ECA480C330E994588E7F84D65
+ E48A011452C0983CAD37CC3E6F51634F
+ 0E93870BE99BA7DFCD5D383FF09A2B9A
+ 449B605CE6835C03F6F319B15176DB7D
+ xor-digest = 428BEDFB242CD9B39E115DF7F32DE2DF
+ A8C3794DA3816C2681E276E327164D5F
+ C1835173C30E022073D1A150A6F42018
+ 444045B62273A46FD25228312CC8EC3D
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ IV = 00000000
+ stream[0..63] = F668521BA3A78928B2C490506D5C8339
+ C08D1BF500978B02225338023168010C
+ BE555BE521D51D1E37690CA114240B3E
+ C781F1998F5262857236EEF8DC3FE917
+ stream[192..255] = A856765DB93D6F7DE17774B0CD414C1D
+ A0F4F7F6FD226AB8DBD16DF80BBE49CD
+ B7EC5CF575575E09542229D54E5339E9
+ B681D4978102C7BC60E22D16C8E44873
+ stream[256..319] = AB1E43C238AC403F07B47FA755D81912
+ DDD67906C592458AE5177F587071B229
+ 630FB224FE1412F8167CC9D15AA0DE0F
+ C1165B4458AD013A6CFF55E67FF3B3EC
+ stream[448..511] = AFAD771252441FB0A2B769477BF02001
+ 1C46FBF36915F5644864C92419F9E50F
+ 074D0EA340FEF61804E1C0F03A9E713A
+ 91EDDBE152092EF800E82F33826576B7
+ xor-digest = 1327FAAF361233DEF7E91C3D24CD61C2
+ C2FEE7B3CEDDCA933C90C25F6B4004DA
+ 3D5346DD8E0761D2BC66316D5035B0BA
+ 3F2388448D3B2AA6CFA675D8CB0D0BC3
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ IV = 00000000
+ stream[0..63] = E9088F6AFBF663C677170E1954B7ADDC
+ 1407008BC320659E54E09D1CA2738D16
+ 28980E30D85ED7952A9E9E8D95365ADF
+ 8D6B71666A84A47A2F0D390DC6B278B0
+ stream[192..255] = F597D9D03B699529C18120969A10008E
+ 855A9062211B0AB8116AD19DE26236E6
+ B60D409B3F83682DEA3E84814FCC847C
+ BFB945F65FA2018D8E7CC2F454E02C3B
+ stream[256..319] = B79A86655830B6BF46194994869A406C
+ 7BD5ABB85D3E106E9E582531EF0E8FD7
+ 2632D89BF442DD32A8D6D8809B34F161
+ 601AFB93551AFE736148F3E9380FC46D
+ stream[448..511] = CCE004F4AA01AEAD970C69DD58C6AC3E
+ 7DA5E41FD23FCA2FCD8959D33C0DCD66
+ AFE84D9D1A2E4F924734D26EAA5939C8
+ 4EE2156DD70C4535CC801C65D7619A3E
+ xor-digest = 0079218762A2E5EFFFD71AE05E25FC49
+ 48F5AF1D95D81D83D483477F42D11D05
+ 3DFD62BFF9008F56CD0511681F354697
+ 7C6B35D97F10281930B0672FDF5E12E3
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ IV = 00000000
+ stream[0..63] = 7A1793DE4C1AC97ADE854459C274BD19
+ 9047EACB9A0E39FBDA697CFBE439E652
+ 30A9B40B21BAF60DAEF8BD496919E7E6
+ B202397AAD8BEBFEC2D126BDAA6EEC40
+ stream[192..255] = F86B9528B2991BAB7AA5B46CDA54E896
+ FBB345897DF86A4416C3E191BD625C2C
+ D5BD1A868C1D18817410C130CF209F84
+ 6EC66F99D24EA5F49FD4500F7373490B
+ stream[256..319] = 034EC1E31A5B2807BBD03E7F3C9ED9E5
+ 9C5653688357094B36BEAC7B2008CAEE
+ 8E58086C645D895A192FDBDEEED110EE
+ 88A0D2C7A60DBA467BE410D721C27534
+ stream[448..511] = F5C8DBC99FCAC1126A76EF26BAD59095
+ 12074004C995E580510E51E883C6E15F
+ 1CA10D2547D2B4DA7D05B9E4DF7B483D
+ C35C32D9D941647DDE0A7A1ACDA34C25
+ xor-digest = 04F7717E839BCC1093BA45DF6ABBFE29
+ 3EF26120BC5E8037482855E7AE0D9E07
+ 75620075803F6D12ADC011FE02D6412C
+ 89CE076F73404855DDB584E0BC34454B
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ IV = 00000000
+ stream[0..63] = 232393557568131EE3F600034FECE95C
+ 5B488C932B2E58BA9E932D0BBDF6F2FF
+ F1360C307B5F1DE2E4A9D20D7C5C4752
+ 65F23C77063961B476F814789BB536B2
+ stream[192..255] = 94FE6471D6B501AD3F18C1B59B8FABCB
+ B00F19D71182C281BA34FE71254E16C8
+ A06BAFFFB339DA2ED6E9C52A49506594
+ 2FE17EBA449447F3F7A6B4B0945FBCCE
+ stream[256..319] = B354E1408F2156059384C18491487F7E
+ EFE6C5DA49E5C9F534608A835922D0F0
+ D477705E6B2ADFD434BAE02353FFFEB2
+ 72F2F0317A9E904792F08FCEE2C067DB
+ stream[448..511] = F74F07635EA1866DD7C25165D66EE1D2
+ CF93E1249F0382E2798578383FEDB7F8
+ 85F50D6A49AE91C1CE6C58F231C087D8
+ D1CD6D105B68CF63F7BAD8602AEF46D8
+ xor-digest = 33CACE30447F1603D727DB0FFA10B2DE
+ EB16F2390C3CA0144594561984B26B69
+ 253C548619D1C7AC97EBE5BFF6C8DC15
+ D550EE8446BAF52AC8247F98487FE2C9
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ IV = 00000000
+ stream[0..63] = 969DC4F5292026A873AD8EFF61B2E2BC
+ 3E2DB9AB1BC67D1C0556B7DEE7A848DB
+ 4668109684A95EC9EAACA39C579E4B0F
+ 46D2F8AB97F33B6FA1241A6D7FDDAC5B
+ stream[192..255] = 25321C5C0A3037B042B43A27BB055696
+ 381E86BF661F7AB02415B1AD5E0E1006
+ 0A5398AA2E770DB33DB5B4781D68506F
+ 497BE28B233897CFB2C88E504583BEC1
+ stream[256..319] = A4BB499C11C906625628AF7432BF8864
+ C913E0044A7C82867AF3B41E21B51573
+ 7FA2B8AEA87C163E51C4B9FA253A79D7
+ 3EB9D2A461F74928BE76FB52C73205B2
+ stream[448..511] = AD0050DBA2FC511769635AC264508C76
+ 3056F7C223D2D7889D88FDDF792580C9
+ 44AAAEB8393E5B793301997B83DEE824
+ 70287EBB5AC9A81F4E08258635D61CDC
+ xor-digest = 872D7F117162F1C0B6DFC80E5D1C1E1A
+ 00E7B7B4869696DC226CDCE845BE4E72
+ 3F508FA4F300D7F814D37249C4678D7F
+ 5E367304B98724BDE42986A26C68403B
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ IV = 00000000
+ stream[0..63] = 9BCD8D369D34E1F0F0A8FCF1B9D5C246
+ FF91B68A2E0C3195B3DF493E9BD4D8F9
+ 42F0BA84343106D0111D1B25F6E3E893
+ 094A2725D9F83A6034C1C2205E456A33
+ stream[192..255] = 8C14E2626187B7202659052C48933315
+ 76AC5B2B49FF8367A4981020DDB43F85
+ C92C518FFE266B1230F8616E25E1E436
+ 415E01F9A35839194B5EBB83A5384EB1
+ stream[256..319] = 5281BFAB1826461C3FAB3809C80EF5D2
+ 85ECBDD0F044580B5861A8790281B937
+ 9DD8F0781AE6535984A3D542D2C5E089
+ D5866953F6A73DDA0E4CAA0A34384D23
+ stream[448..511] = 4A3BCE2ECDFE4E74D4C4CEA0DC69F0D1
+ D56F04BD314CB91615EF10DDA7388354
+ 35066C7EADB61CF96769ECB90D829A65
+ A4A15C96AD09FE42120192A8A61A724A
+ xor-digest = 7E2843F5F0EC61E36E136CA83E9E82F1
+ EC19B4686CD92B6CA7B52A30B4149AEE
+ BAA1A47E2340C4A2EE3C4294255B719F
+ 274E511589C29C16171654FBEE89B66E
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ IV = 00000000
+ stream[0..63] = 414F7D8C991A027AA85BD85650157790
+ 5BC8F1560CAF885E22D35D1A2034EC2B
+ 7629DF6B0A7E401F8BDD8608ECD0AF37
+ A3AA9138FBF03F5EAC84C3E4CD12861C
+ stream[192..255] = A84139E1CCAAC57B77D9C17199268EB9
+ 1630B25F91E1FB9785E5DF827E88E17B
+ 0B2A7570EB2ACD34A9C176D37D0970BB
+ FE7832B1C0CB078DC00822AE71F91730
+ stream[256..319] = 1DCEE963BA628EBBD22B58CEE20DAE80
+ 501AA55967F102834003480394DB4651
+ C077EBD446D66FCB6F9C82CE1D7583E8
+ F6895BEC05B95D094814E7B62F6A1C9E
+ stream[448..511] = CB00448D5FC7466690DFDEDF6443B6BA
+ 83C47188256EBDF01798D0580B79DCEC
+ 9B5D04DD3EF26551626C8C7541ED4148
+ 571A2A7923147904F27869A49D8AB01A
+ xor-digest = DECAC377D641CD8D7FFE3AA57D45358E
+ 066EBFEA3D13D255EE1173A4C1797A52
+ CFB3D1800A67B13FC9CD967C34F54B79
+ 857EA4205E21BE4EE0860A23DCC9AAB7
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ IV = 00000000
+ stream[0..63] = 2363AA4C3053312189D611CB596B69D4
+ 34B4E1E0F276DB883D0400E9627B0B3B
+ 836B95A8AEB1F7F6034D827552EF2019
+ D5696079A4A9A4903F46B19814DB280E
+ stream[192..255] = 8543E852F441BE6632ED127D05C9092A
+ B575D1A3BFDDE2062684A0252B31ABC3
+ EC4D3ACB983357CA51D90DEB8D1B550D
+ 82850CF266BE46D0E8C0C50E15E9CFD7
+ stream[256..319] = 15F98D063D166577EED5835061A6FCD1
+ 843F72D8CC58BCDFCE531998368CA4F1
+ B3359E78B5A71754867CD87F7828AC77
+ 4A251D33FB8E65608DCF16EA74B8E016
+ stream[448..511] = 9A9C3D60B7109B40AABABB0868658CF9
+ BDD2444AE2462D523C9FF3077071B24D
+ 88CEBDEE30E948A2B3E4EAD79366CF8B
+ 7E6C8AD99C447837A2348571DEAB0309
+ xor-digest = 1A44287CABB9D367E155D0AD9FE4945D
+ EFC6892B1D5791B26489DA6B3EB29095
+ 5D2AFC3739D663B0F561583669CC6B23
+ D4FA8CC09ACB65AE6788388BF819A91C
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ IV = 00000000
+ stream[0..63] = D58C58749C6DCDA610417C58CFEFD258
+ BCA7EF8B5BFD0D719A73FCC8F40988A1
+ D60B18933288F0673B4537AE8044C214
+ 2FB48EA201419E7E1C0125498CBD1490
+ stream[192..255] = 19769B67AE27F77C8FB97E6A99FC5622
+ 614FBE3A74D5E7AC216D2F1FCC591BEE
+ 37D10F2E15CB826B909883D3A63685F1
+ 28B58F56EA4F0D6DFC589E46CF219313
+ stream[256..319] = 61A8D40BA1353CC49DF729E5CB714D61
+ DB4733B649364D8CF508BA03673E3A78
+ A9354C4D34FF2A3961788834C4C79A46
+ 37E0B8C79FA06B2EC4D56B05C44E863C
+ stream[448..511] = 584E6B142532BDBB6119FEF6E22BD0EF
+ 538895F167384DE6D0BB452D2E865942
+ 599F5C2E987D732E92ABB4618407BC70
+ 4F30523855F641018E6B6F40BF2DB7E3
+ xor-digest = AAEA04E71FAEDD6B3217BB73E38AC5B0
+ 03C65C0EFA5C1FFBD2BF9829D5DE660A
+ BF75224F97BD826153B207169C02630A
+ C5F0CBB5E9F3F459695D920A2B18056F
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ IV = 00000000
+ stream[0..63] = 3A833F3B29FF143BECC9CFC0DDD311F0
+ 354531BF606658C56EF3A7A0649D813E
+ E2C3D3A203146BF0E28BE7E2F5283DDE
+ 92D4C118EF65247F2977509D264F89B1
+ stream[192..255] = F73EFE7A192E4E3A506072F5F067E9CB
+ 966CC018E53B48721F6D2E9E389DA0EB
+ 6609CEEF5D14CD7703E92872995AF710
+ 76B936F466159E1C9072735717B2FF52
+ stream[256..319] = 469870055870BE35B90A12D6347E0F8C
+ B4772AB5E7986A9BE9F84848C0A63B09
+ F718ADA7D0454DE81F652E8951912E38
+ 6F70C7B22E30ACB42B877556800BF4A1
+ stream[448..511] = 1EFEED4353A1EDE3A1AC97ACB9B435CC
+ D8565F51B06917A64E9D46E72F962876
+ DF9EEB668A1CC4A7214B71C3CED3BA85
+ 521660E758C45A6FE4937ECB95BFF356
+ xor-digest = 5927765CCE3419C793B3E31123A3F5E5
+ 112476ED18E92CE1F951F376CA241A2F
+ 7E129EB4758277AF2DC138E1BB0E5C24
+ 4EC107938B007E3838350E577F92A15B
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ IV = 00000000
+ stream[0..63] = F3834FBCCD1A984D830603079B84BF1C
+ E206E384291B02568A1B28382A8F3857
+ ABC5330AF9D2A4C2CA3793C38BB93133
+ 3F2F2F002A4140F51F9FD46A485F9DCE
+ stream[192..255] = 2BB4418A91CEAB46A01E20C4D66A223C
+ F481700D7943073915051ABE06A7B7C7
+ A76B9B32E842D6D3A13A7DBA447FCCB2
+ AD22B94EF0075D064B90A0F876B2CBB0
+ stream[256..319] = B7114E94739FD4EE34ACE32F18D37D75
+ 8691F8886FB56505D11E24AF5608AB7E
+ B1FC3B138959BE51FD435713462049B4
+ 7EB1E55207ACCC666CE979862BFC281A
+ stream[448..511] = F77F62F0D64C1361603562425F90D109
+ E06599E3EDAC1A63E9012F798B52C0C0
+ 8C25F401CD91CAC1F8920B23762513E2
+ 74C34E9223B24B2453EDD8D9483F33F9
+ xor-digest = 5156D21FBE5469AB098977FB82CA1329
+ 296DD99F2E997EE007C48EE564F167D2
+ B35BDD80608B1617BE8B050DB1573FC6
+ CA9CE5B4B5C6A100A9C6AB4D1E800D63
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ IV = 00000000
+ stream[0..63] = 3EA4FB22727BCE3BB35CDD6CFEE54DEE
+ 67930EA0082D162FD5DF1106A22A8648
+ B0C747B8057D37E8DAE6E31A7C8FAF5D
+ 1EF70E53026546C33779F4ACB45A8112
+ stream[192..255] = 564261A1DCCC10D45EE18909A26424A6
+ 6C2BC4AC5662D4869927CD4E47BAD7F8
+ 7BBC61FD4F3A855CE095E27BC9A7BA0B
+ DDF469CD050FEF369D9528650AC151C7
+ stream[256..319] = 2ACAABB71F5579CCE7CE685A490128C6
+ 7DD867FF711ECC632B99F2634EE0CD58
+ 4D0EADD0944F6D009438EE37EC180C58
+ 09863CBA2952E747C9F5FE72146AFAC2
+ stream[448..511] = FB1DE19260A57F15B17AF650E69D5647
+ F08F0E44F22B06DAEBAE2BA656A2A52E
+ 191695BEB824AC8EFCF4615F1FDBD869
+ 6D061B3EEAE53829BB84C9C7510BD980
+ xor-digest = 4163A798C0278C8643C15B716897D38D
+ 14300C828ED7924E1266573FF51E505B
+ E06FB33644DAF63FEA3E65A894131332
+ C240235C225CD7A11206660B90A2F5AF
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ IV = 00000000
+ stream[0..63] = F00A4C98E4A14F573FFDA822368F84F8
+ 3F3A3441A3CD615B2716D5C241E34416
+ ADF71A5F21636874F9008145F0EAE5F3
+ 4727DA78250D7B6627A991F908A278B4
+ stream[192..255] = 1D7BE59624223C3A896BD0C1B7663DDD
+ 1145399610A5D108FEED3A4153059ADD
+ B1ACF99CD0DAB103764952C8862CDF83
+ 609699048A1F4B46D778203DB6B197CF
+ stream[256..319] = 5A4E1ACB711437598A83FDB2D40333C7
+ 76405A11B9B4919ACDA954779A576A0A
+ 9DA920D8A84C2079203AD9DC41C70FAE
+ 92A74ABE6011A0ADFE3C89E2F1325168
+ stream[448..511] = 354B22541C6345C4036EADF9BDE73DB6
+ AE9F64BD9BA1C2D20E33095222D8BA5B
+ DFA9D332E3861125FE9B09DBADE0B624
+ 22050316463789E0546ABE84739F8417
+ xor-digest = B5F7A2ECEF3FAAAA53BFFD4A5CC30E1D
+ 3F5A2397012656D59C09E627ACBD3418
+ ED0D016809C18C837C3D06329B037B86
+ BFC915B208E6B7627F5BEA7F030E408C
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ IV = 00000000
+ stream[0..63] = 4ECF12C3D9161F42E0997DBBBD1E1226
+ 067F62859BA9D4DEBF38E70E798AD08E
+ 5A1C1FD68DE029123815FE55E68EBF0D
+ 4F4B0170501E40EEB93BE5FE48E37D5E
+ stream[192..255] = 04744CBCF03F479073AC673C4E23BBBD
+ D07A122308E13CFEDAB31D8020319029
+ 1981EB83F1727856C188928C77AF3FEB
+ 5FEEBFD9A94EE379E65D03D37E425BD8
+ stream[256..319] = A9BF2D8E2A5F1F977F6D206FCDA6C907
+ 9077EF0381AB4BE7AB370E57D58317BA
+ C96E5162E5A12F4C88BF69D6025A4273
+ B33BF67DD789393EF6F095F3040959B1
+ stream[448..511] = 06DB6C491B8055763A84AA71B80508A3
+ 31D67B05601E6FC2D473C8C3FA12A5AB
+ 538FECF89C5B3A8A23D5900778FBD5B3
+ BD34CB7539E423149CAD08FB464E94F7
+ xor-digest = 3FB39D5FCA6A456B7A775A6CA39A5702
+ 71A3E8ED8810DF49EA21D733E69615C3
+ 74E0A357FCADE80CF0B5730AACAA0758
+ 0CA8C50D458B6A6F7647E846D2D626CA
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ IV = 00000000
+ stream[0..63] = 486DB0C01C6D73EEAA6455E7398367A5
+ 683D56345C6B22299E05D72310BBAB4C
+ 37502C3A5D807F7FFF3D2221EB5504DF
+ 4122F0DEE6D388A6034B5D9A62FF17EF
+ stream[192..255] = 053BCBE1E381A03C372E3C2C44E0435D
+ DB8981465AEB2912988CE766E8CF29B8
+ 6EB4DF1BDF7E7B8F6C538CD603F5BB8A
+ 619510D9B0B8DBE9DF542E9225231328
+ stream[256..319] = 6751630708A36454DE478DA1D472A86F
+ 92ED0555037DC3DF7F270EDFCB70DB52
+ D6EDBB2981A16F7D472C19EF52668C65
+ 8482AF01086017D90CDF7C2807CFA29D
+ stream[448..511] = FF7E9D038685D9CB7B573326ED6704E0
+ 0FD148CA25AD229481456FB72702D60C
+ 456701FD84855746540E9C3E26FF9CAB
+ A2545612643A4C0518F0B55D93F4977E
+ xor-digest = 48E7727263924CF37EA1A4B5592D4FDB
+ 5F6A0B704D23FB37FEE485811DE286E2
+ B55ED8D9C4DD034119625A7996F12C26
+ 03E450C1CD6ADA9066B7841EDCA148D0
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 00000000
+ stream[0..63] = 9C40A388FF35FA3E3F24CD2735EEB564
+ 6A0C266AABC0867DB07BA4F1F40AEA66
+ 1BA13B48EE114E9E21B2221A04377A57
+ C8339DF7B4EFADEA1112A06EC1B0A85F
+ stream[65472..65535] = 76E1EBAB53B9B590BD8CCB92A8FFE44E
+ 2EE82CC98182ECC94013E714F4B57D14
+ 723616083A34A7DE196D148A780B53B2
+ 0A6C7D194377051FDCA45054FDC90321
+ stream[65536..65599] = 90B51AF180EDE2F08414FCA094696343
+ 5DD772DBCB909ABC9A829540B59DA2D2
+ 071B2A8C3540BBB94B6D6615DD5C51AD
+ 54D3D1C07BDF02EE9E193CB72D4FFC97
+ stream[131008..131071] = 9797F14E317DEACA2BE0F9BE78C331E8
+ CC7A1BAD3128483A9E33B13931708BD2
+ B85E8FCC804F5F34FED7EF0E564DDFDC
+ A3AE71DB99ED8D711EA32784FE58331F
+ xor-digest = 42CE020F9181052A1A65B28FF70534B0
+ 3C5AB0D14ECB077F8588AA6D36782C9E
+ BB8E814321C111011AF1A97637E0B94C
+ E1D2374CC3B3D67191C6CE8C704A20E7
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 00000000
+ stream[0..63] = F7FE906C6146C1E3D267F18FB3ECCA67
+ 750483D00A9B64225296D863E62B8191
+ 28890370B17D66341AA2DCB5A03AFD84
+ C83BCF65AB06D624737B00D622C32E1D
+ stream[65472..65535] = D6A3A4AD9003B92B5FDF238653D3FF20
+ 3A60D1447C155C5630718D91A0D98B76
+ 2E9F562CEF27079B4B0457D06B7930F3
+ 777358B1B60CE28F13690770B8E09143
+ stream[65536..65599] = 86DB40C891B94AB5D1B6E8C6B056F394
+ 4DD7D96FEE6C147CACF6C1434B9225BA
+ 8E190344529DD1B64C2FA7C7FB451637
+ 9B9F23D16FBEC12BFAD5B907AF3304E4
+ stream[131008..131071] = 8421888AFC70FB150785B7F06045A55E
+ 6BE35A77F38F06B0DC74138BA876D93E
+ 79A1F24DE88FF208A4FDE205B5FED4F9
+ 47918E4CF05A377E5CC802B04CACCB90
+ xor-digest = 917E6E1B1EC6532290D1F6479FBC537E
+ 983006F67BB84B53A46AC552D21D901C
+ 04CD223F5E870417A1F3DE0571781ADF
+ F7102FFCB50CA0EFA63A6C3C9C503CEC
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 00000000
+ stream[0..63] = 95D8A0DDFCFE15D58A5934C044BFBFDD
+ DAEAF65951E92FE61EBC78AC915105C3
+ 8B4D1F2E2B3401B7816E2F8C798D5055
+ 663F6F3AAF9C2AE3D315825E0608C070
+ stream[65472..65535] = 8B90D10356BF0A50598C39A3B2322B2A
+ 51D97D83885BF2D520F21C5A0AED7A8F
+ 56089E2D9A39BE6036A4CFAA33C65139
+ 49A4F7CC3915613BF89161DD46A37B5D
+ stream[65536..65599] = D3B5C6960F4E022DAB9BB8432E16CAD9
+ 55E367E32AA9C5AA1F69946F2BB30CF4
+ 3760DFF83443B285E39E605A41369D0D
+ B752BDAD400ACD443C848D73D4FA86E1
+ stream[131008..131071] = 608872BF50550B044B565BBF09910F28
+ 522FF0F5C398A7CD05C1DF787F26063B
+ BCE08D097C16DA8BFAD7B18DA1060487
+ 72A15B068D11B0BADB5D5D258E3848DF
+ xor-digest = 7AD6E7965B89D3450CFB5DD916A7FD72
+ 1260BC14D3DF97D7D82B84F175382D87
+ 0ABBC65D50150D2F23599ADA8F80204A
+ F4828F5243CC642A36A089151558A475
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 00000000
+ stream[0..63] = 761F923E918031E964DE456A4F7599EE
+ 2E5E861191677EE9848AE2F54F843F11
+ 85FCF0E5FB6E4BABB5058CED0C8659E5
+ 04A5C04B9E37D34ECD5E1872072AABA4
+ stream[65472..65535] = 319C06085E9F3600B61B4B5EF33C38C6
+ 9AF504336AA35C1759EAA3A052EF3BB6
+ 1150C18F675F2C4EECAB1F70FF5ED8EA
+ 2CC8725BB810676A64E452858F829C16
+ stream[65536..65599] = F2EE659D3D59D0FC8B53CDEC2CAD94AA
+ 1B5B8D2AB0BA851EF557CE2099F4FD31
+ 06B25A96E6004BC59F86A125A544B33B
+ F062C96F96756A636900A4CB50156DCB
+ stream[131008..131071] = 518964C154283B2A775FFDEE59796C98
+ 9D437C93D5475B8EAE5BA9FBE865430D
+ 89C2A0D738263F44670A01DDF9D87D51
+ CED715AC982A0BF13CBBA73B8CE820AB
+ xor-digest = 6172120C7380799A5F114A7912983BA8
+ 52E0A37564AC3F4B263CD2F340E63372
+ 6D3CDC28B0025B97B98880055CB3BB68
+ 3C494379013AADD13B3BF5A701BD4B29
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 80000000
+ stream[0..63] = B0E282B22F352DFDC07DD288B550DD15
+ 5CAFC905975486595522B8898C2568A5
+ 91E43B3591C8E73926C15C3DDA97B8EF
+ 436F7BF3D5646333DCCE88B09898B5AD
+ stream[192..255] = B2FDF8C8E028A2EA66BA9368EDD463C9
+ 6DEC5E37EF17015C2DBE2FC3F26D4A45
+ 4D5DF6D1D8FB7EE876CAD67C035CBDE6
+ C8F1FBEC780CF4543E0E5475FBA3C23F
+ stream[256..319] = 9FFFDA707ACCD290DFD9977A00D466A5
+ 711C56C295262B4F526E456FBFF127C7
+ 44C1542733A4E1AF6184E1EA8F7D986A
+ A7F7F7190F00D93C1843F6C2B5645B97
+ stream[448..511] = 729E3C64569443CFD8D5B41DDCF8F5E3
+ A44530A63519E5CE67951BBB5D7C0679
+ E0C1BE77DBBA04CAC68E2D60AF5478AC
+ 963C4BE1B3A3613AE0AF3C2AB0FE68D6
+ xor-digest = BA0FAEB4F52072D4D76A74EAC480BBC6
+ 3182EA90AA942435543FC4D8F2CD909A
+ E1CDC64501D262A3D842A08823CB2DFE
+ C11519052363907EAC5602E5115A55C5
+
+Set 5, vector# 9:
+ key = 00000000000000000000000000000000
+ IV = 00400000
+ stream[0..63] = 5ABCA10CE344CBB506A18BA516AC4F61
+ 66473172D6F7BB52E729025D9CECB873
+ 85445B538226DBF0DFD1ACBA729CFBB5
+ 20DCB1B7217516BBD43B9E12E33824A2
+ stream[192..255] = 091D625CE6BAE1EC8E10BA64BAC45729
+ 71051D63C84EA210BF2A9F631900274B
+ C1B4EA16EDA9295D15BEFC10BDD90B98
+ 358CBDB0943FCDC6B16DEEE7858B1D9F
+ stream[256..319] = 9665C89EFC92AB9995A25FC4DCA5463A
+ 86C9FC62A9B5D6A958CEE471A7F4B484
+ 6AF75AB77F9A02D0776CF7B90EE0D777
+ C85EC0D33B43B5C0BCF580D7106E16F8
+ stream[448..511] = 4C5AD63A38EF0B2E47EBF74B6615BC32
+ F08EE9DF29108E78946E12DA5A72985B
+ 6AA1449CEA2A7618E9EDC488FF3A32DE
+ 899FBDA283EED2369926E2D0793C4235
+ xor-digest = FC132CE103259B41DB722CE1A742DA43
+ 029CF743B4470A301F32D1365C671560
+ 9147FA4A0044DA6A1D6732263C7C3B6C
+ C0E45188319A4CEBDF117A8F263CB7F2
+
+Set 5, vector# 18:
+ key = 00000000000000000000000000000000
+ IV = 00002000
+ stream[0..63] = ADFD06EB5396BCC5CA50C9E9809301FD
+ C1B0D78422F83A519C4A4F0DD6C5C25F
+ 61257633A09B28DFA9A529C6EDBCD51C
+ 4B3617E44DD64A4F47FAB053B482188C
+ stream[192..255] = E4CD4141E8194881AD8CFC356EC85D16
+ 2639495DA41463436395CAE8DB926EAF
+ 9CB638FF57D7A6EE407AC2A51DC8827F
+ 7E89B1012F3DBA476605482DB804D188
+ stream[256..319] = CE929FDE3CF836FCFDC844E861EAECD2
+ 863A3099B8E51B144613A5AE4F045CA8
+ AC90CBF31E887BDF1CB0EFBCE323F164
+ 314D1C616D0A7E76C93F4E2F5707D9FA
+ stream[448..511] = AC1B87CF4389530164FD6269751C82EF
+ 34677A80FAFAA421BDD302E1B232A1DC
+ 8230068765D043934A105067FDE54461
+ F1CC17DF0F136640A102C239F62471BB
+ xor-digest = E3B0803237E83D167191A1876648B535
+ BF5EED403AE8FF04CCD081836B3BEA09
+ B76B6FA7DDE3AE55783C4CA9F261BC21
+ 82697EBC34D5C09C02BD10A9DE83C121
+
+Set 5, vector# 27:
+ key = 00000000000000000000000000000000
+ IV = 00000010
+ stream[0..63] = 4C800E3A471C52FD8B67DA887FD15B2E
+ D4AF608D452C47A91A2C1FBAE3B7B194
+ E840E8B7F42C50107EE861B84766078E
+ DFB53DD3DC639BE0E0B0E2D72C46A3CA
+ stream[192..255] = F4FD50DBE7C698C6578D602D0573F2C8
+ 4A958DD411DF5353B7A430182E8FD924
+ 1413EE3325E0E7047CBF6A5E5AE334F3
+ 1AF4C6EC9D3B3582FC773672ED150F35
+ stream[256..319] = D18FCB41EE9D7456A31976F8B17DA6EA
+ 4B7FF5AAF5A5942BBB5B9154F2CDE72B
+ 6BE7B590B952B4725B4445EB8D05E2DD
+ 3AC2AEF3AA2CFA38456322929EE637A1
+ stream[448..511] = 87EE9E24F0D4A69CC05123420865500C
+ D5DDA7AFEC43B1CF3643B5D03677E7D0
+ E53186E8E1920A8C64B4142BE199B153
+ 003898E23DD2D666519FF17FFA33089F
+ xor-digest = 520818FF08152DBACCCF1694EE609EBC
+ 9314C19829BA6D6792E85CA7F7A47349
+ 0A84A3634B3005C03A3F22AE4EA8107F
+ 0C65AD19CDB547B626915991DA3BAECF
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0D74DB42
+ stream[0..63] = 98622F94A7A39FFE32995E487A9D02CA
+ DF72F9D3E78675C7931D4B6609A30769
+ A45DF93314DA5CFF0D7A8B42800BC681
+ 5EEBA8C8A323449389519D07075EA658
+ stream[65472..65535] = 1FE3A6FE1E4F103B36422B76FB7121A1
+ 8D99D207192A0756E6CE15A796E6B970
+ 31FE2B107145AFEDD38FB4A3FD96D917
+ 81AB7C03DB235F6F8CC1DC37DB130D48
+ stream[65536..65599] = B8E686CF6B51E93D5C5088266DD9FE5D
+ CD220E0C801D45FC9660AD5AE4B13F0D
+ 96A2B5604DE5BF69D21BBB2D7B163707
+ 8D0B6DC75523AE976DE098B9D910621D
+ stream[131008..131071] = E8217BCA0D3E1B007120BA60229D9A38
+ EE18D0D08491E54324AEDA1BC26F98BA
+ D1E738878BEA001756725B7695E481F7
+ 8BDEE839401FF9D623889AC074D74A5D
+ xor-digest = 49ABF14EE94FEB5644ECB4F2CD9B569F
+ 83115EC3034A8AE5960278352A15CA6B
+ 849D58E0E96A7F0FF7A0EFB34BA0CE8D
+ CB17573228378B57674EBD849ED8AEAE
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 167DE44B
+ stream[0..63] = C7A9D822E7A9554E090B8DA41FBD7382
+ 86C2A0C9479541C8DDD226795DD21936
+ 9FCB25B0C6F1262B701B55808C332CFB
+ 6BAE5C3A953047AE028D401ACC34EACC
+ stream[65472..65535] = 35ECC704787D55E0C854AD5DEE262D4E
+ 6FB7353DC3D9EF5903ED4C79B446241F
+ 32A4061D20683C12BED1E84E1579B41E
+ EF4308AFC350FA554458FEB462818A30
+ stream[65536..65599] = B540E8E105FBCE98BFC8BDB857EF6DA1
+ B2EDC5C74485326FE4FA9BEC7B86CD17
+ E66470DE0093619C9101E793A97BAFA4
+ A5922660C43F00322D76D10451342ACA
+ stream[131008..131071] = 4D3BBCC728663A4CF5C6B8380E316E38
+ FAE036735F889EA37FD1B85BC4BE4A1E
+ 0E219D457C53A778749226F136C5D2B2
+ 1E22E1921DFFF9C40C76B526E46D3DD3
+ xor-digest = 79E9986B91706BE8F5FE5C92B3C5472C
+ CFE4FD2207837244AD00243D467E4FF5
+ FC85D3E540A9EFD2BB81839372F26F70
+ 8F9D0612D7467F65A9B6D737C9D1E3BC
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 1F86ED54
+ stream[0..63] = 866CD04AA1C99037246FDA7F32CE2981
+ 3D11B64F3F7A0B28C52010D284F49525
+ 6ADAF65BA72EB2BE4A67F7360A9074A6
+ CF270DB522DA6D7AF12B298912F7A8A6
+ stream[65472..65535] = 2549B5F66AB71B744D8AD39E3D7A93E9
+ C4D7EC516615F080185EB698A4F07418
+ CA564E4F1D27FE64DC07C91923FF1E99
+ DF9EB4BFBCB95274F6453FEDFFB006F4
+ stream[65536..65599] = 9D15348564734E69913D29BA5F5B2A68
+ 2200F7FDC462CD7F5BEE071893F20CF6
+ DB959888712ECCC79B963D7F6FE2A831
+ F86108F520C504FEA7227013DB2DD8E0
+ stream[131008..131071] = C1085896E1803E8EC1E46928C7C072BE
+ 6A3577217BA8C66F8D0EDF4C8333C265
+ DE6B5D55CC09603D1B46A2273D776EBE
+ 5C709F7F39AF274A9864E4F10E805A44
+ xor-digest = A8A0CEA201827B0C6D590E0C3A8FC9DC
+ F3FF8A8C98C14F543583C2249EC22275
+ E2F5B3981BF4371805A193D0601D560F
+ B9BEC3E5C88128F3856EF5B9F44B8CE2
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 288FF65D
+ stream[0..63] = 7B362685AB703B854BB27BBF3356FCE3
+ A1D82B2D7A9E4980F1AA290760D83433
+ A1B89E0976C734A70C97540E0ED3EDB6
+ C1342E7A1CBD1AA9CC9866DAF44E6602
+ stream[65472..65535] = 42CADE14EBCE4BD010AE3AB188FB781A
+ 66BC6B48B5CE92598C39AD5DAC787126
+ 7C0AF9ED3B6000CF80E4401F358A5AE4
+ 900C7B10E1A2E9861EFC0247A55FC725
+ stream[65536..65599] = 7816D058DF6B55151CBC8914B3765E82
+ C98E5D66B62FADFD69BA20A17700F89C
+ 70961CC1A5A4864BF0A0615A11506232
+ A9D32707D912D659548C6B2942FDDFE9
+ stream[131008..131071] = 29C2155DEFE694E96FC0E115CBCA41B9
+ A69D1827A3B2ACDB62C3AF59AF83884B
+ 544EA2EE39211415DC667B5CCEB457E9
+ 24B54A9674003F81C8493BA469C4E5B9
+ xor-digest = 9D4DA8D4F687A749CBEE317956E60DA7
+ 9DA2614FA51288CCC4AA8A0A4D8DB2F0
+ 4CA77F8CAADA930FD773C9E1F09208D4
+ FC9A96EB7CC1450ADF3266E2192F4D31
+
+
+
+End of test vectors
+
+Primitive Name: MICKEY-128-v2
+=============================
+Profile: ___H3
+Key size: 128 bits
+IV size: 64 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = E6887D450053C0D62F9EE5E4171DDC83
+ BA2D1D3509704DA31CBEE6B3AC30D371
+ 6372B72D26B0A06BECE677999F213953
+ DC79BFC1A3EBEEA7869758B4897DC9A0
+ stream[192..255] = F9065D5F308845FF49D4C2C1FADD0BF1
+ ABC35E9627299BFDC6193B56B9A2B17C
+ 4FDD65F8A1CA878EF37B3C0B935C7723
+ EA0155697782D008D8CB13F4838CFD7C
+ stream[256..319] = A535DF543C40D489A3BDBEE57ACF0244
+ A700BEE6F517A02A60D3695CC0D7EC1D
+ 0E9ED382DD8DE3CE9A3824FDBD3188DB
+ 0CCCDA9D898BAD940DCC0C68B78CD4AB
+ stream[448..511] = EA400389389186C32509E4BCCEBA8F0A
+ 6DAC48E883E124BF95A376DADDB0A367
+ 9B240F4EA2377B5BED0FC688CA8F0CF4
+ EF93B248609C2C0CBCC77C3EBF9BCDBB
+ xor-digest = ABCC2ECAC0E3FB8442716B6B18268F05
+ AC87ADD30E80FE1C093A325C8A221E6C
+ EFBDD222D6192F5DCDD54AB9349518D7
+ 6BC0886B9F648F69E729A81DC420234F
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 13BA36B6B50DAF2D68287D9ABCE4B4F1
+ 880B670D6619231C9D7EDB008F092E0C
+ B64C8FD77A01324E9DFF730892B0F809
+ C0EA390A0A10E6C946F2EC4EE695C50D
+ stream[192..255] = F3A0976FD8B4EF86AF5ACD114036355C
+ 35225EFFC9B925086DFDF27210B8F8F5
+ 4ECDE789F2E94BE24696CCBDCCAB7BD0
+ 8EBC2BFBC22E5D7919BD674E958876A1
+ stream[256..319] = D88902D6F5D9B1AD1E0ABB269B7B4C13
+ C061B05A334167DC5A3E896DB2C65EE1
+ 1D73688A6C9258C94654059CA74B3DA6
+ 2093B98E6FE07698B8D83EC62FF946D3
+ stream[448..511] = B9409DCF08B9D14CE36CD7DC4AA330C7
+ BE76F465F34CD70E1F172BC75A5DD5ED
+ AED63FFA553F47F2FFCF6307DE3ECFB9
+ 00DB77910AF551738806666002A10D35
+ xor-digest = CD3511757980DE985E155BBFE972421E
+ DE00E00559B369AA93F9F836077ACA0D
+ 7F8284034A32582E828F33FE7533937D
+ 6C85AE15E97C6A0D1B189B6BCFEB0D8C
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = CF035F78F8E4354CE01DC97C98BE5D9F
+ 49400DA85253ADBC98D5B8454D99287D
+ B1311F942E6CBE824A8BFC38B3AEB6EE
+ 9B9CABCA9DBB4BE6F8E15C6FB6C8B36E
+ stream[192..255] = 60E6D51F3FAF1A10DBB79F24E5E57791
+ A63EA9139092E020899703B8029B18B7
+ A9549F5A531557EFB01494FDFDC1E08E
+ AE54CE24210EABAD3DFDFBDE64365058
+ stream[256..319] = ECF5C1ED0A824EF4C77ECD173A9E092D
+ 4B706E54656260622F7A95A7EFBB7429
+ 7CBAB49898F1E290F7E05EC7014D924E
+ C2D250233B8C1756F73B2FB7D3DBC051
+ stream[448..511] = E08D72F133FFE173D760452988574531
+ 387AAF1A19A93E1B029338BC0627E0D1
+ F74DD16FD5131D97C398FDFB00A575BC
+ DFA29789D8F371C19448A85A971DD020
+ xor-digest = 4D053F2C605E553564FA6F0317131207
+ 56C88235377D65E957EA6E2645BD61EF
+ 9A784E0667A2D88C95CD4E96D166365F
+ 600C334B5340B39BD73119F15259CFF5
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 7F5C81DFFBD7810FBC6C3273F06209E8
+ 313CA24E8CA405F80A4FA5C6DC71AB0D
+ E7D3265A8CE67642FB76F7078A6491FA
+ FAEBEF3F8C88DF873AD6144F32FC83F1
+ stream[192..255] = 67687821C0B97857C03678B02E6539AA
+ A877BBC835C899D09F67A5622485F37E
+ E9DADD77DFC5AF02132130884F877CB4
+ 22EF27D5DEEC4C6CC71966806E2E5DF2
+ stream[256..319] = E48CF1978133FD4F38F398A8207F41B5
+ 5535C3D78B897A4A7E785785FCBA3AA9
+ 18B4C2731F687A4603152CF7307BD3F0
+ 8BCED11D7F5F78BAB33D14792A7FB9F1
+ stream[448..511] = 0D45DC12AD2BDC9384D7EBE64C7C94D6
+ D7BDEF20F269F35D8594D8886469DC68
+ F3B08B67EA2BF386F2C42240025C9830
+ CD08E03340EF129141B5599C5D24D14B
+ xor-digest = 380553049205E68119C6235B2E9EEF88
+ 06CE1CD5726C2BDB33E763EF29E0BA61
+ F293DF105B96BDD4D8A4288E941E954E
+ 610C3D2167066E10449D694ABA8BFDB6
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 9CCA2987B686B7B98E016D4F179323B8
+ 6AC7DB772D7F580C81910193762EA669
+ 98D0A61245237B565AC1842E0A556BDB
+ DEA31CCD4BC170ADFE8FD663EEBD0A7F
+ stream[192..255] = 69078333472B771AC48E7701D2F173B5
+ 3E0101168DFFEF2683F2FF79991BDB14
+ 292011B57C240399C5A5DD08A60FB47F
+ 600AFA8569DE011AC81BE54D0C899108
+ stream[256..319] = 5D9B5273155AAB7368B2AE033DB55FA5
+ 2814CE9708A0038C8D508972D3E53D2B
+ E0145FA56D517BFA0C6F821A1B197AC1
+ 3F2F20734832E45ED2388986EAEB0DE3
+ stream[448..511] = D9EF6A6E14BE40B36B68A6289F24CFB1
+ 87821BA57E439A9D4B58D3DAB0AA770E
+ 0BE718629D0417270677DB5265AE3D24
+ 76F98DC35C8002EA5E5C30E73B2ABE6F
+ xor-digest = BD43F9C41FD0C995F144DF7E62352407
+ F7DBD604544A7879884504A0D935B80F
+ 07C6D0BA8A7E8439BE23953BF01D356E
+ C66716BBED52C537E560F5148FE11298
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 73D363150C1DD7905EE4ADA4482B5168
+ AFFA60B77A2DBB0351096D57FEF5F80A
+ FBD958568042C36B701D3DC8FDBF2385
+ 65F53D1CCFB775A7BE4B39555A9EEF4F
+ stream[192..255] = 03E99642BFF00D2EFCAF2FD1D24D339A
+ DA075B330919F09BC12F82A853EAF6EC
+ E79799C9F9AB271F46CE2D173AB3EB9C
+ 24199E7BF0947FC5AE840799483A70B8
+ stream[256..319] = 19AC14C1A50D78BB0C7D2BE5AB52B813
+ 49512E057378AD967AD1132CE230F1ED
+ 7F5AFA779A5FF94432F4E3F6A245B4C1
+ DC1949454731E9FBEFE1B0A0D4539718
+ stream[448..511] = A554F2373E55CB98C7E48BBEA5565890
+ 9DADE8AB22CBDFC09F7E8DF9049EB8D0
+ 41C71981D01A59CF8F0C2690CE62F8AF
+ 4D7BE4575DEF6E96120DAEA351D8662D
+ xor-digest = 2295313D387B2001021A4922958682D5
+ D47EB090F9B71C0C0F78D527393D7B8F
+ F0E3CBC8C10F03FCEB2D0652C8373083
+ B654C71FFB55BB5050284C9D6CC3B781
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = F60AC832A3A3C03D337B00F03BA5A5B8
+ B1B7264037BBD0D1C502A1B32AD8B81D
+ AB37544165CBFEFC6D3539CC9132BE74
+ A05A2A2C52CA4322E4914B93C90C4801
+ stream[192..255] = 50D74E90D050BCDF5DA0B313A37366D9
+ BED21F793254BFBAA1ED4139351C61B5
+ 05F1D052BB8DDBDAD719CEC63E8FE4C1
+ ACC0E0AC096975AA93584CC860FD7D18
+ stream[256..319] = E4EA96F0DF02687968A0399B94E24007
+ D5B1D4AE469A655F9769920A4616BCA9
+ 4620661A88621B76DB5FBB43AF76211B
+ 3AE5098C58A759082FBB1E6EA239732A
+ stream[448..511] = 08B8C51D5C53FFC1E178D16D29D85053
+ D8B38641896E66F710F1E1BB61DC2864
+ 0D8A6B8D53B0234A4219047C9C2D7DE7
+ 885D40B0E0F7A57041E26129FF1D7017
+ xor-digest = 13F361630095399CFBFECFA0B90B8A49
+ AC75AE405289A33C4DF568970F98A5D2
+ C3EC204108FB3903A819A096A4FC3F0D
+ 0F33F9FEA9DA240DE2915FD980F6F865
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 5AF1E91AA8FD3C02F16435CA09B62144
+ 9E28657920A810145A07ECA68A68C562
+ 56D7EC4F44D8E8D58B2CBDF68557875C
+ DF03EFC0D8685A497FB7A4AD808FE390
+ stream[192..255] = FCB7FCF0C1FA3CC4B1BA15D11C5C7D96
+ 4F7BFFFB8AEBC65E45C010CBE46F055A
+ 666EB009DEF6C9C4EAB9365650945B54
+ 274C522857FAD1A683966557979CEBA6
+ stream[256..319] = D51BD4A70C3E3A19B9B3AE32E8D2140E
+ 5CB891D0E133FC892F76A06493129870
+ 31DCAB6CF51FE3078234044634E1DB38
+ 4E8E12DADDD65F48899C5B563E3DD3D2
+ stream[448..511] = 8BFA74108C4BA8B6660D8CF835703B6E
+ 4E8E7124F5823B21808F72CF71104085
+ 338C092D0A4D8637BBC4D55F81A8ECA9
+ 6D885E7FA4ABAFCB12A5EE57DC5B8207
+ xor-digest = 06DAF035A3A51A0E3DA09EE51D52DD8D
+ 26D3D8031E34720B8AE61D474E4B05ED
+ EAB5E943A06B6365DBE1A9419FCCE56C
+ 6A09F2AFEA9C7C7E50FC2D526859F26E
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ IV = 0000000000000000
+ stream[0..63] = 8302488BCB93647317FD604B822208C0
+ C929BAB392AC1F73EE91F57A4BCA734D
+ 321707E90C0858B337E24F1D77929774
+ C5C462CD4A606301B332D549689C374D
+ stream[192..255] = 42A94D76A5CA950CDCABCA94E9ACAEA1
+ A83EC25734DAC0CEEB8E9AA43D22423A
+ 799FCC0490B6E90DF20E1726F78009EB
+ A62E222AEFC19C24DD93E5E7DF5E5355
+ stream[256..319] = 0323153B38CC7B2FBD3B0894EFDDBF13
+ A694B5E31BFE27B39A995884E04A2AD0
+ A1B70E490D29660ECFDCE12966672B27
+ F97A39856BA6FBE30E8CF88235955D07
+ stream[448..511] = B374607D83A79ECF86FB929693B23452
+ D926184DB1B56ACD9A5A9C14F4FBDF60
+ 268EB46B20FDB4506A5C9E77E3141B27
+ 49749CDBD9F38B46332D9C41CCCC8C76
+ xor-digest = E8D9EB83A91BEFE1571F507B4579F2D2
+ 4DB980313865BC84759204EA9631B07B
+ BB6D1C0757E7EAB7384F345AE6A16974
+ C44105CE147E80A08E81488C32ABB72E
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ IV = 0000000000000000
+ stream[0..63] = 3FFC8D219FFD3D6A6DB85EBD083BA106
+ 798074824139F2322D5134F601F2A226
+ 5364548210AE428E965860800FE5FFDD
+ 967590EE461AE5FC1C958D0D60C0D84D
+ stream[192..255] = 123C3B417A2B45B66536056B92442F18
+ ACAF2C4456D76EBC91CD27DA8D8DE7CD
+ 9F2BEA5292E47DC515BCBC26C6D52987
+ 305369E79E8ECE5E8E5B1022863C7AD3
+ stream[256..319] = 5FF6953FD1643FEB6CF91E69EB8A4190
+ D813E620C3B926ED6295C41175915943
+ 5A8FBCF572FA9B0801A131451AFCDC22
+ FAB99F9BE81A6D7C7AACF6E6147F634E
+ stream[448..511] = 4E97785EA27A466A38B0DDDFD7317FFB
+ EB3D9ABCEB137205FAA4054EC0D1C3E9
+ 2972E2C7201EEBECCD9ADE453FD3F5FE
+ A2DAF1A2E33A592CC16B1EC39080CE78
+ xor-digest = 5CA9C50F8376F05FEF19103502EF8A49
+ F799B5830B87C294C9FDA449C54993CB
+ 31D7957F5931165A1EB6F4D389F843AB
+ 463F16CD128BA6402869B2896A57FDDD
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ IV = 0000000000000000
+ stream[0..63] = A6CFD108628AEDD7DCE68D148DB7E41E
+ 53EDC7571046C6592B3D90FA7CBCB8DE
+ 4A81FB49914FC954C9D177D6C49B0214
+ E4F46B4A68FB1AF44D23F856845C1F9E
+ stream[192..255] = 3FE5118354C667110E6E469CAC47EAF6
+ E8198FDEFB3A9962D32A7C6B5E4837CE
+ CB7CA807F3E484CE17D5BECCD1EE81D8
+ F7F24031AC021DD91711BAD70CB9B4BE
+ stream[256..319] = 3D7E37A0DE196E011B6C4B06DD7665E2
+ E383A92DFF309368C8FE2DFFFC9777E6
+ C2F6B1196DFE70E0C29AE8AE426F201B
+ D3DE7699DF3436206F98DF89ABCCFFB3
+ stream[448..511] = 6D3AD630DD37D9A8053987BA5BC6A256
+ DF4689A469623A84DD04882020E96DA6
+ C287A0DEC2C133BF9C9D86FB5218FCB6
+ 93870D91068D76CF05BE3FDE440DA591
+ xor-digest = A2E1D8F752B7D252E2C781683217F977
+ CABADD413A9C7EE7945A6541EA13DB23
+ 1E4321B8FDEDC00C80E0ECBC4C9E40F1
+ 4C359FDCDE3F6A9DD8E60A8494D085D9
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ IV = 0000000000000000
+ stream[0..63] = 7292F1312C8FA3256F61720C29777115
+ CFE60D6F4B5A0651B7495510EEADF1FF
+ 869BAAE8D87AC5FCB0E94E33B8348A3A
+ D455B839F943C00B7592FFF6021849E4
+ stream[192..255] = AB661199191824E12B11E2E52ADA5623
+ 23ABF09E05CE1A03F8F6B77790AF2FAA
+ 356F5156CC597C94D619A435CEF4536E
+ 804677A80F0AAEF79B5159D2ABB1384B
+ stream[256..319] = CEF7125FD5F999764218B4D4E79C8941
+ 53E522F90B9594B90FA892F173C83840
+ E1FC53B8846ACEC795B69B2137A25D8D
+ 1DB907DF80EF9A7DF7E3263C02B26448
+ stream[448..511] = 2621CB524DE4C3D38FF3A20E4A1FD16A
+ FAA769B79D3FD90C47D1B6A5C7C3ED3F
+ C967453E98C4526313F7966F869E209D
+ 40133BEE82374B999F0409C6AF00AF26
+ xor-digest = 9B13E295A0FAEBE0E0BF0F73882E2F69
+ 51B9623FA09ACA3AD8087423D402D67A
+ 4DC855DE90E228EBF41EF7C6357A1A57
+ C89F1136D6A98C4766587314D2E3AA54
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ IV = 0000000000000000
+ stream[0..63] = 34C5C616C29A5B76718EF92055AADCE5
+ A90DCF0D6236E4E2BF5BEB961DBC2434
+ F694812689B4DDCAB1A040D2C7EF3E32
+ 7D2E762862CEFF1A7C903170FCA861F3
+ stream[192..255] = D1EFD53DAE425A374E3B1D9B58EE8100
+ 7EF3EF72E5C8F9FC81F9868E27F50E4C
+ B2883B0F05848E15AA4FD9527EF9916D
+ 2AEB832C995E6DD2FF431EA215574486
+ stream[256..319] = 162B0AAB9926CF3AC6A49954E9C75E3C
+ E4D829234D1F9F27E2A7C906769F9C72
+ 5AD827C6170DBE22AC3E1691E45A2416
+ A3C48406EB6C7218158B21D46F2797EB
+ stream[448..511] = A2D34B0F8179F3C14AD218E33A1DD0E7
+ E8067A8705799F8B49C13C4F6B8F9B0F
+ 8FE8F7AD8BABBABE37FF9A4542656667
+ 2547C78CD182249A8A17673B40523238
+ xor-digest = 831BCEB5C21275C373BF9048143170A4
+ 1ACF5F633310CCA9EF25C886C4FA966A
+ 422D30172B97D3AB72FF54315BA5B8D9
+ 7A17B1BFA1284C4A95DD7EC9819C7C59
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ IV = 0000000000000000
+ stream[0..63] = 8C96A2A1AB379A77BD4E3FEF9D9EA08B
+ 90A877420A33016A449C723BA0D47596
+ 71097DD74F870E64576D6C0A454B35B7
+ B74600881D6D56F71CE152439B92C3F9
+ stream[192..255] = 8C667BF29A3657718E99A676628463AE
+ F57DABDD12669453F22B68D55DCBFBC6
+ DE298FA3E777B67FBF60C841F5306547
+ AE1E2C24E3D20691509B5D2B0CDBDF27
+ stream[256..319] = 7D964834C025CFEA1CAABFB0FAC7B3DA
+ 8FD2BDAACBD28CA7A7F7474898D4D7D1
+ 8E8FF8B1435C0BD40920E3BD0B806D12
+ B2F893D146221C04450F9A952621993C
+ stream[448..511] = A071674848FE95DDA48C7D8654CC6363
+ D9CBE4EAFB7C8BE8DCA5BE27AE503544
+ BE0BB5CA28B16757AA5DEC8249D1FCA3
+ 8025D3A33C4D6EE687549CF55B6C229C
+ xor-digest = 945CC28702A4F3ACF28393724BFDE5CA
+ 13CC9744F55EA70129183B1281766FDF
+ 4FA03908F98C1DABAD3BC18FECA7A9B9
+ 17452F1EF5411C62A0ED7C8307C25DF4
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ IV = 0000000000000000
+ stream[0..63] = 6D488F1EB654F5B9DB97C453488D4849
+ 0DA8AAC3DDC72B46125EDF5CEC1277A7
+ A5865823D8B9367E5DB564662BADC28C
+ 4F7979572C48525217CAD6F7F527A4D1
+ stream[192..255] = D6DA6B522C177465D6848580F2B3B45D
+ 1C3BECABF5F80B5B4667676E04CB316C
+ 0998580618938DCC901655193E7AF058
+ 112EF6BFD49C997025326065CE07DE04
+ stream[256..319] = F482987868AF5F55695DD3F326983D93
+ BDD6FF8C5D65E5D7DD402CF5D9FC8F71
+ DF78E8543C6D14950C61311C5DB74FF8
+ 0C156BAB009116DFBA31FADAFF97BC74
+ stream[448..511] = 20CB4188EF13B5F67275FAF6D2984F93
+ E689C56F9AF3FCBC26AFFDA55D2B9377
+ 7F7FA720AD5E0A8969A66ABECA5EFE92
+ 09A9A217B43313840E302CB6BCF55558
+ xor-digest = DD380F287EDC96058D40116D7C5EF7BA
+ E772F2CAAE5BE09DE244DB3AA0C46E52
+ 3D501F887C00082DB550489A8D6D89F7
+ EC719209A1FBA4DD0A3D154D629D1F96
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 360EEDB37EE5F8BDE4D1BE3BB9BE856C
+ 4FDAA39055AF18CD3D6526EA79F557A5
+ 24B6359E119CF998D4DC2D1EE68F8FC4
+ CAEE79D83B8A715F713523794117557C
+ stream[192..255] = 85E2D49DF0D66BE470BAB4185A192A34
+ F8FA127B4720287EBC131688C462DBA2
+ 24871102B088A52FAA966F28546A0947
+ 9B0604EC2675919490583746BDE59D45
+ stream[256..319] = 3EEDD1F32973B6C98665039524C2916C
+ 8CAC83F190B83DB028605DD4C5CD2B48
+ 1AA16BF8D29ED50F45422F924631A1D9
+ C50C391C46593DDE91F664C780231DB0
+ stream[448..511] = 60B471AA2BD5C9589CE13B29455E4888
+ 53E5FB4F7BB5178BFE160C0909B04ED9
+ 8E2E0722B165FF39207C0F34824828D7
+ 4B59CE3C5D52643B0B3A8A33F2842511
+ xor-digest = 38A2BAC1B10790331AC66D4284B6298E
+ E6FD06E19E579DDFE69AAB5DABB901D4
+ E9E8D92C636D04C91D1142AEF7A799CF
+ 7021285BC060408CE61FBC47176656EA
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ IV = 0000000000000000
+ stream[0..63] = 85CF2E9D67E09DB760561A917554B1BA
+ 4F8A3146071A9839A57EA66EC93620F5
+ 4A5758CA2AD2F46C6A0C2AFC6C4B836A
+ B3C53CF803A3933F9DD5B7E9D4B571E2
+ stream[192..255] = 38C82BDB49713FE42B21F3896AD2D571
+ AEBDDC5A45787CB120FF820C77BEB495
+ 70F881D3AEAB175BAF0A5A0784E02C02
+ C094BF121BBD6EFBDBF72D21C6176064
+ stream[256..319] = 6CB338DDCFB57F20FCDDEC124B9BE58A
+ 4E20F6C48B99ED04F05C6CE8EDEFC1CE
+ 4EA2E1029CEDD6F7CF5C38647D7E8C6C
+ 3B19BA46722907F45F1DFF178C3F048F
+ stream[448..511] = B33D4663754329154B1242E7EAE24B3A
+ 6908F9B83377380DDA04558E7F0EE215
+ 3018817AA8304073B752325796633BF5
+ DAE711EC54CCBAB6F65E5D127106114F
+ xor-digest = CCA1E9DBB31DA6C1FE383971D7348F5A
+ 04665FEF145B9F7D1805201298F079C9
+ 78B7BBE6687E88690AB152A9E5991544
+ 9B4B737B8E11EB32F72D3BC9696AD299
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ IV = 0000000000000000
+ stream[0..63] = 2A059CF2F512A7E31D86A0F7873C1FEB
+ E9F8BFEDD1746AF582808054F5F558CD
+ 0CA07BE1635F58D9DE8D9D6982D6CF5D
+ 477B5D88F7C684D8AA3C00340749EDD9
+ stream[192..255] = D654AA2FABAC613D57311F163AA199F3
+ BF6FDC16365188D8A1403A478DC7A648
+ 70BE89715496C030D461D49E9055B695
+ FD9A62AABD1C09FFC737067777DCD7BC
+ stream[256..319] = 94A3F9CB8B2025FBB427DD6B45E8F933
+ 4E438688081CCB498218D9916E8174F3
+ 4B22BBDFC3EB375251E52CACF128A7DA
+ B4FAEAF5E4A63D99D788AE01722C7164
+ stream[448..511] = 68DA394EAF03F0E4A897FBA7CBC373A7
+ 5FD83AC4A1E4300875A6A919FCB66955
+ BDE522DB97FDA2683A0C40F3AB5CFCE2
+ 085BE32D64AB4875105AD5A8AED4F790
+ xor-digest = 019AA2972A1434888F0DBDE316F1FA5F
+ 866D414D1664C53F4E1DB1B01E1BF294
+ E6BC628D39C81F881F27F5459F3E1808
+ 1BBD70DC07EA756531461520C1A21438
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV = 0000000000000000
+ stream[0..63] = 140234334E4780AE2C91D3814D7E1A79
+ 92A8A46C8E6970FBAEF6620B5913C9C2
+ 213B1445DD338E4335B8CC7FD3D13305
+ A70EDBBBA84491CA8BEA05E50784C59C
+ stream[192..255] = EFE189BDCFC3041CDBB55E3E09C16005
+ B2A15BFD63ABAB3071BC314BFBF5DB9F
+ CEB19A87EE17D693F8F0A48AD36C831F
+ B8849E42FF86BD2D451199BEBA2470B0
+ stream[256..319] = 002CE41A389DF29CDC5D1BF26A941B8B
+ BA45D434BA220209DE0D7DF1A1662D30
+ 3A4760C3E40B0EE5A27D15FC2C77B391
+ 26910CDC11042B3C550CA8FA87B142DD
+ stream[448..511] = DAE56B2F57A845083C1D7CA6C2313DDD
+ 69001E4ADACFB71DB1EA60D2C31762C2
+ 501872B5E996218237A0480C9792EEEF
+ 44007DA19DB95A62D6F0A966D49C6A25
+ xor-digest = 1543DFCFC775B6A5CDB4DE9EB3F6EB6F
+ B09792DF837CF518BD0E8BD41CDA37EF
+ 4FD0AD5D274CF9546B599BC982629493
+ 189F384E679B76C43E4891AF0F3EF4B1
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ IV = 0000000000000000
+ stream[0..63] = 94C933142B8E253E76469E0AD95A9256
+ 0E94CF96403D45A74BDAE15CB0B5DEF6
+ CCAE658FFED46DF88A3BC19C95B04F76
+ 96AB1EBC7863BC11703C0A6FD25778EE
+ stream[192..255] = 7BA006DC1ADA716354A9894F5C7F3FDF
+ 98DFA197C2B1E7C90B42820A247F1CA7
+ 8BB1309D375C02E765CA2156952D2D58
+ 7AF3C0BB94B839013243A2DF6640471F
+ stream[256..319] = 56316AFB5EEDE848997D5E9E9971660A
+ 6E9F846A2A2260A17500D824E23213D2
+ 9A485E1809F6823616A50A6D31E88333
+ 9991A585CAFA89C45F54A1A0E32710CB
+ stream[448..511] = 1847474B5C29E5393B44F20192A3703F
+ 65F174FF2BB6F378BAADC460A35DE288
+ A85A5EBACA71F59F19EFC8E88422B7A1
+ E74BF3E3BB30D761E469794E5F644F09
+ xor-digest = 8D52658B3EF356AA47EC7C48A89C650E
+ 8450DC718279E32BE0E02461B450EF34
+ ADEDD4ED6E6D2EB6A9BF1514E1B36D4B
+ 705E1A8076D94D117B9085B83DDB9BC4
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV = 0000000000000000
+ stream[0..63] = 10E3A8A46857CE668C8836089BD692B2
+ F0EAAACB42B0105A9C1B3D3E996813A7
+ 8C811C9381B80E40EDD11CCD19B94E2D
+ AC42A3A8F9C176591E600B17FA404A63
+ stream[192..255] = 5A6638019B9E2D74DD9CCDCC7B570583
+ 4C44FF04071272B6884468685EEBC534
+ BF8653BC669926ABAC223EA8D0DEE35F
+ 04FAE7D835193839E1D727967C3317EC
+ stream[256..319] = CF3C40C4AAFD382A51A512EC306B0C95
+ 050D4E703D80818E232C2A87ABFEF4C4
+ A472402AB9D1342430D0BF1BA9DEF0E0
+ 3FE216DBF5CC757F1F7D79082C9D5847
+ stream[448..511] = CF16A671AF8FF3417A850919AEDA4688
+ 809D63E51BC8034BFBA4956D712147EC
+ 2C18EB033AFEBD50A156FC8E89A6157F
+ 57925A1D04A614845DA29BCC18CABE6E
+ xor-digest = 1B5E4E99A093DE83C7EF0D00E97D792E
+ 63C981733F64F48343191AD6A068AF09
+ F38225B96A0305F39833077F198E6AF5
+ FA8FC41FE8E956EDD14FE83CE64137F3
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ IV = 0000000000000000
+ stream[0..63] = 483FCA84A4D8A1828688E3FAD934BCDD
+ 0B8374314D956C329D2E53556DF6B13A
+ F9D341DAE8DFEC2675F48563FDACD5FB
+ E0ED7B75A0B90D34413660F670A07BFE
+ stream[192..255] = D86AE8DB7B30842B2EA81468A53794D8
+ 4CF484AE81C721A3C3294E4D5254E1AB
+ E20D1FCF4841086709D4B568102D43D1
+ B087D4A251BFCCD47FAAC4B97B2A9AB9
+ stream[256..319] = 39B1149C38F482FBDC42CA5109168B58
+ EAACA9681779028FC1C0A919202F3634
+ 814E5E1BD3921A82067FA48814CF64E1
+ 21E4DF07EDE5A21ECDCFC8AF57B6788E
+ stream[448..511] = C672B3213251FA54C3165D0D68256800
+ 56502E60A90497E457907E12829F2E7C
+ 6ED951623A8BF9301FA8A88206CCF13B
+ 4EBE5E2D3F9B32CAE74AE6535A0F83E5
+ xor-digest = 43D57D3F0F4A29FC46DF9A3003251B5F
+ 6561404CEC77E0EEDD21CE1DBCABE046
+ 65BE577A4988432519CE9B4DE28E2A2E
+ C75873934BC3C8D8E0790E29F0C9F3C7
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV = 0000000000000000
+ stream[0..63] = 8F842A91E6DB9F5EB0FBDDCE0F89261E
+ 300B7D6081E1CC0E593565DC770923D1
+ C67BC5317C185B07A7CCE964B135DE79
+ 984F6D19FD9B6BEE71A180364EC753A5
+ stream[192..255] = F373F7FD82CC1B0349057C3521212F3D
+ AE8954286413EB27695055D8F1DC1CFD
+ 9564E92039985F0FB908280FF4D82935
+ 2E28150C598C8BE7998F460427EA54BE
+ stream[256..319] = 8025DE48CEA0F1001DD39EE49CD98AAD
+ 481487DAA543D19D39A6752E20A459D1
+ 7F541B6613DD2915D7C36A7E826093AC
+ 9DCEF6905A661E8AFEE00A2A22BC5EB6
+ stream[448..511] = 29B9A2D288FC2E2F78BD91C6B2928ABB
+ DAA8C3CF09D910194E044446DDC134B6
+ F0AF65DD22BF9A8AB147754EEE16F455
+ 7E8877C9593A706A439DD54E7AA32FEE
+ xor-digest = 2E19363248915932FA84D910FA5AFC7F
+ 27EF7C5EEBD7A3C260EECDE73DA944FF
+ 1827278AE49387226ADBCDB1B91E7C6A
+ F55DC2ACD2CF79760AAB3B51F00894F1
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ IV = 0000000000000000
+ stream[0..63] = 8DEE8D52A42D9A971A51C7ABBA43490C
+ 73B3EA9A1A4220D8615A02CF0DAF2C0D
+ 6B82B95298294A3D9BDFC939E1E61363
+ BF23232C1D94FC989D7E3D2D82ED063B
+ stream[192..255] = 31B5A09256791927B63362FAD09641B1
+ 85493F3E5D8864F6F203612C486394B4
+ 073703681DCC813B066BC6B144B6D615
+ 749C84C80EAFB48404BF4CDCF8170DAF
+ stream[256..319] = B611E6D58CBC67917751A224F7DAA03E
+ 28F141B809D304D08C854F805621C775
+ 8BC1718185B4311CD5E4E6C64245A004
+ D7713D296647FC12F42A6C7A646CA20F
+ stream[448..511] = F3FEDE3C7D3137A79A00AB7DA34804D3
+ B6E468F39354D4023EDC4E502C21B1CC
+ 2DDC291E890F05A007DB6173D7229299
+ 6014378D198E36B63D0515BC56141CED
+ xor-digest = B35EECA1424B64F2C4F74BA9CADFEF97
+ F3F99CFAA387E191E4BA7BB92D88941D
+ 16D08528FA52581A5DE9AE3AFA9F7213
+ 7E8A5F26A94ABCFADCB95854A3A91E97
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ IV = 0000000000000000
+ stream[0..63] = 7C4563BB6D7088E164D55C388AADA06C
+ 885FCFABFCA4BC86EF2C1E8882C91EE3
+ 76EC37CC993B0961FB7D12D9205A5DE1
+ 22A88184324978ACA2D8FEEB0F64BB39
+ stream[192..255] = B18A96162D9A459126D8779B0B871055
+ 0DB5FBC7E328A70F56C757C717AF2801
+ C29CD588C5F6FD7A8F1EDA5B016E05BE
+ 64F82038FB2960094626C0EEA07DE508
+ stream[256..319] = 5CD9B07083F8BDCF7EF1E718B11C63A4
+ 2E556993CF7FEC281F8F501F42AB30D7
+ 53DAD17E388704B527FFEA0A16770396
+ E110C1EFAC0208A37EFEAFA6DA341ED8
+ stream[448..511] = 4AC5CDABD133D106E1F781B8F93B596D
+ 54BB200EAF06E70B55DE3DC1FF6C3A27
+ 38F1738062DC3ACF2761DAC8513F3106
+ EDC4AA4961505EFD60164B9D5A67E8AA
+ xor-digest = 3606EE1827FE644903023FB49BBD83A5
+ 59116005E32A3F5A594C64F829206834
+ 4D56DCFB8A1513E04A6C5E06757D50D2
+ EAE4B447F51D5919D763A95BD8F7D7C0
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV = 0000000000000000
+ stream[0..63] = ABD784543A9739DB641E894C0D9ABB28
+ F60FFF76F462CBDAA0C60E76A23DA74C
+ E69403F448880C7F540885106380B9F5
+ F1FD15E0814D1F64386B4DD781BCE570
+ stream[192..255] = A3C424288BF097D59FA2B339409BEC84
+ A3B40F4DCE5101AC377CCE76AE249E20
+ 81804094DB0C744957AD8B8EDD37038D
+ 71A3C57944D91877044BE61C89969794
+ stream[256..319] = 97BD1ACFDCE7B185B577CC5984CCF198
+ 77DA63833FE4C1D4CD15FD4B2C06FC3C
+ 416E882243F27C1ACCDE68E869F7CE91
+ 003B971AE694512FD7C1C2990423ED08
+ stream[448..511] = 4CEE7545060D18782CB5D23AE78F9468
+ 1F9AE41DC9AA49C53D3A074CBBFDC6BC
+ 893044D9B4EF173A66D53E17BE0D1975
+ 07778490E564582348E770B891ECEBB0
+ xor-digest = 171AF1589D7BC6E6382FD266BCDA2AFC
+ 8BC85DD51F190F37EBD405089138CAA4
+ 95FCDB7284AC32CFE97F989993AE32B4
+ C329B02A08771CB020A681EB33333B7D
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ IV = 0000000000000000
+ stream[0..63] = 7C4611A21107ABDA8AEB4F62E29D0B1D
+ 7B0BA79E916F4C2531BE60467B682717
+ 9101876F4A75122283890669438DC8D7
+ E737D580CD26274CBF9620DCE18591FA
+ stream[192..255] = E477BFE280E798B99F573A8872D82DC3
+ 9F5612313BB6563C7CBB5C47BB7C4484
+ A929A32A6573B3B50F4F735488FB1D69
+ 321D5980C0300D429F6003BBFD6DA5DD
+ stream[256..319] = 7A247CA454C73D852505BA1D513548C1
+ 4451D537BA229FA332073BB4D2D4E867
+ A0F89D666EAD97F1A68475DAD98369CF
+ 05753EAF8AAB5722CFCF79C331359CAC
+ stream[448..511] = C5B34F78314E21E6D27C5744633D7F77
+ 1B6FED6B4ABA229D52A222E2D99CD255
+ 5F7EFC8EDAB78D341570D5E8047EF6E3
+ 074C1F6E6829478608631381CD8D21BC
+ xor-digest = A21E7C1C9C781B0CD27535FE31071432
+ 167AA8EC82CE9EBA53CB83E6F5E1427A
+ D0FF471F44E6CEA4CA3A902CC61FE1EE
+ AA8256D169846D0579E5F645C3B4EE18
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV = 0000000000000000
+ stream[0..63] = 5379E8EA4C8F2C6CA123AED04E0CAEC1
+ BB09170C219D6B25CC9523984D1BA48B
+ D3A5E90CE701C419EDC5DF20D8E3F208
+ A71427ED05BF330F6290B7791DB7C9EA
+ stream[192..255] = CEDA7611C3DF41245597A5634A5F0EB9
+ 16666EF543CCE0FCB8A51F6C3748A848
+ 5979E608EBBE59B24266C8E2D4FA1C9A
+ 0184AA50921D9B6D7EEAD2180B84772B
+ stream[256..319] = 7D55D2539FF8A16307E3C2BCC9C783D1
+ 4DB93C2D2393A19574AAB15475545E90
+ F28A612100675499F53734730B829D43
+ 33FE63FCA316164527F3BCD9CF75B429
+ stream[448..511] = 1AAD97FE179F81C455F545FCB56E8F91
+ CB653B1F597725F2B88BF21868630CB9
+ 7FD76D030BF79F6A9E271D6BA431356A
+ C8C33006BBCA35C3DB86BAB806059D53
+ xor-digest = 39505C19C4D2C94247F2D679A9617B00
+ 38FE6CCEA8B919AE756170F15A3DCA7B
+ 47F9FD0A413F5C4CC64174AE1EB36D57
+ BAF36D57B5EF93374B260AC303901149
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ IV = 0000000000000000
+ stream[0..63] = E7EACC12F3E08271E348C0A2ECC524BE
+ 0EF67B52DF9378279188A52400AF048D
+ 178844D300DB4289C9589936C8D666EC
+ 8BBED66890B1FC25960AE19CD06E94BE
+ stream[192..255] = F6054C714FEC55D96389EDB16C615C81
+ CE240D1C3D06C526AEDB8C40B4A9207C
+ 5B865284AD3C6A4E70CA55DA8570B693
+ 680229485D1451CE03B6803A782158D4
+ stream[256..319] = C45C82E93875877303D0B4D884882EB4
+ 6435F014F8B0F850A6F042CA6782013C
+ 7286C74CE608674E4E63435D8F6CA119
+ 14EE2F14D91C1A4776D760436229FF19
+ stream[448..511] = AE54AC176158DAFB8DC80BDC2FEBBCAC
+ 1842DD95622C1F8AA33D1126DA79476E
+ 3885F5E4FE12D18ADDF0C873A34497D0
+ C297A4C1A5645A604ADDE9890A67C7D4
+ xor-digest = 88B51EF21BBA6713010EBFB8CFB0B459
+ ECA161517CB875869BDBC5D1F654C96A
+ 0A82AE6371B2650E1CF0973CACFEB6E0
+ 61CB8F8CF4A4D5FEE7D6604A68DEA393
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV = 0000000000000000
+ stream[0..63] = C4B13180C3F1924C5762B6BB91A1315A
+ C3553DCD168DA7F52422E2DC4025D688
+ A3BBD453F8FD80C9105796B9B28F598B
+ D2A24192C0100DD63FD029D5E95223EF
+ stream[192..255] = DE747550BEFFAB3C27F3EB999C6320DA
+ F3CF8F93D0A0569B62AD82660B96B07A
+ 674385DCE270937BF79E9DEDE618DF15
+ 08A81C8545C474E0BFB15C9749E74893
+ stream[256..319] = 1BB084D0E57C6DAB7E4C685E1C33BD50
+ E29A94820CA529B465594ADEDA76EE4D
+ AE432BEE62D0C3E76D3DB279D49E1575
+ 9376CC27396FCD9B447D0E7D3982F10A
+ stream[448..511] = A56828453719A4BC2944BE3B56F31BFE
+ B1D854B81AEBCCA1A979A0875DBD0919
+ 56E537A93EC7765AEF93AF7442C465FF
+ B17E5E7A78B470CB9085153D5C8FD4EE
+ xor-digest = B71BEDFEA820A5035967DC8F679C0B12
+ 4FEEBD40193650E461572BE219180B50
+ 02AA09757D06C65A69E7377364489C02
+ D25E65C2A85986278F83E0C93E455D2D
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ IV = 0000000000000000
+ stream[0..63] = CA94576DB438A30A014BE8F8838FABEE
+ 2EA3011EBABD15610CBB63018C53242F
+ 1A16D0D9E16C5CF816F375F176C29318
+ D368D59B6DD24CBB01C74969B5234203
+ stream[192..255] = DD9F797F47692D92573B631E4523C299
+ BEE27BF185D283D28697E12C6FCDF931
+ 79B430F6D25B07657ED5FDF671871966
+ F13AD8E41455FD6EB091201C2E659321
+ stream[256..319] = 2B9E767641782839CB957C72D250426D
+ D164C8368F777D08D29A48AB27A18360
+ 3CEE68EB851B435F0257B2F523D06BEB
+ 44EF3CC7A204C3BF89285A20AE2460B5
+ stream[448..511] = CAF6AB630F8F24F930D346920B8DD4DB
+ 0CC9578A1C208AE5286A57E97AE2BF92
+ 413688C1FF6B86CBAE38D6A310A419C8
+ EF587673E7D86A6B57945EB25985FD69
+ xor-digest = 5A7ED1DE15B4111FB203EA356D1B8D42
+ D48CBF8AA2F03C41E8FC36370E767A96
+ B88D710EA549C3CA75596E50EAC61E82
+ 669DF03ECF61658E66D265B462C9EAB0
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ IV = 0000000000000000
+ stream[0..63] = C1644A70191480A9C49E8B2E9AF7C725
+ 25EC626C82D03E423DFFD7542CD0FCA1
+ 16AFE086D407A5EBBCAFB5531B382318
+ 7C66720F5C3D123E741EEEC3C8CEBEAA
+ stream[192..255] = ACEE3B5EF982C9EEFE90818AC9649EDD
+ 3CFC0FB2068598190A2CB09F410BBA35
+ DE08C51AAE0B17C3EB0B1014415B4546
+ 036977DCBAC7B824BB1656B02B3F6089
+ stream[256..319] = BFD4EF9962FF58D513C72F8BABC4E354
+ A6B262BB07DF99E7BFCDE0E826BBE1CB
+ 72D722A4CF5EE36E66EF4F39A2BE9351
+ 270B15E496AD6141836D88EA750EBDA4
+ stream[448..511] = 9E9539BADFF8E8B354FDEE61FF8DD519
+ D3CB2FD0B1533341AD2BE07B0011D32F
+ A38FFD5788E35697E33CF3D507491EF0
+ 8091C3835D62DCF392512A5E6BECE0E7
+ xor-digest = 696014F6B803C90824ECE7ADAEC4D8D7
+ D116D2E0C14F667600DEBB7E56314985
+ 06FBF99459B9529057057082F28A7531
+ 341F8494D2B0A6594C03EA900A52BC76
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ IV = 0000000000000000
+ stream[0..63] = 80FB21CC246DEF01C0A7DC14E952A1B5
+ 1467FF893B84F69141A47B5E4193AFF8
+ 395D16E12728BA9C40FBF16AF51721F6
+ 1065BFA4EBB207CEFBC0966F4AB882F4
+ stream[192..255] = 5457C1A60EFC31AC7CE945AAD94E5473
+ 75B525C5F0F275634A5B111C9052B695
+ 84B0A2C8FFBE9DA516E6DFD990E8012B
+ 9F57789208C547F2924C42A2E6866C2A
+ stream[256..319] = BF5F6439D2730861E8808C705F282132
+ 1C762DF9C4274002E814BC11ECA5C9D3
+ 36EE45866E2B74C801A08656BB211884
+ F034E1C79DC5B153E7CB8AE239148619
+ stream[448..511] = C144B63CF8E76D88640EDC783D7C2A55
+ 0968D388E58FFCBF13F1B1A2C3FD8C9C
+ 95BCD7008C683CE40E50C2E291832217
+ E82582F5BECFA740F8040BD07CC114F5
+ xor-digest = AC6967E81701A2227F79EB890C6EAAB0
+ F73F95F066FF87BC13CF16B76D33039F
+ D1B4CB4C79C554646BFB5C462B07088B
+ A0816AFD83B2C13E2EA3051E57A19828
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV = 0000000000000000
+ stream[0..63] = CFC8BF638FE1F0205343EBB806EB4D32
+ E40CEB360C6318B9A28D58740AB8FDCC
+ 1EF60B4056201A5A2AEA9605A3A847FA
+ 7634FC7D6C5454E41EA7A9B063F48CB7
+ stream[192..255] = 9DD247F308D6368C3B31C6F0E79C68C1
+ 7F07387E314DDA4BC9A7E6C6178BF53F
+ 5AC9C6BA7016836CEF576E5695BB9FB1
+ 964096372F3E0D14E37B0DFE6ADA5E97
+ stream[256..319] = 49D0D4D9510DFCD0C152A2DEF297BBDE
+ 8EF4F9294A21B64C463918B5A996CF6D
+ AC065CDAED458C18C71A71A18C291FEC
+ F69E4530E353E3FCB10B77B105926C07
+ stream[448..511] = 1CCB8B11B15E577A3D2C31687B97C685
+ 5A4119C9C8F57D3E7F223AF96DEE34A3
+ 3EB39B16B456D51D4B28CAD32013D64B
+ CF1C94008B2E8A7A21E56186CD15D89F
+ xor-digest = 13A571881314B005C4D76586D9520ED6
+ 0551F836742C6AD21E0597AE3449BD37
+ 26EDBBDAA5A8D023641941DAA4E50629
+ B138E0E6D04A3E9FE999035ADDFD0329
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ IV = 0000000000000000
+ stream[0..63] = D00A0AE4BF696A045F3993A905E1EDBD
+ 57E656A464A51DC1E889E2D89E79DA18
+ C5D0DDEA9E7EE71694225144A2B3E051
+ 014911A410CEF8CE65B98B6C32E09179
+ stream[192..255] = 60821023BF43F061B2AB2452662BD183
+ 737BC42E3796F8800E1A8C6ABCD726EE
+ 71E4EE435CF4CC828D6368F656E05A6E
+ 3A35A1C2BA9D0D1BE438E6BE0DB45F3B
+ stream[256..319] = 6A5ECA2FFBC4987AA82196CAE4D321CB
+ 80EEFA1BA35CBC5D24B628C3414CA98B
+ B53B0943944A7971CD3E5D82EE330D13
+ 7D151E534853C03247EB0F6E9F033AA9
+ stream[448..511] = 647605633692CB7D2959145C1E9DC54D
+ CBF7BA7BC1C55CE4BE043EEEA199077C
+ 3BD3A5655B8E417053E0033BA721CC36
+ 9D07BFEB3ACEFF015B4E6622C82D2037
+ xor-digest = 106B427A3811CFE5A1E1ACB91196E3FA
+ 6C2649BA75516F6CCD17044AD068E282
+ 1712D5FB01371E232D24EBDFF12CB85A
+ 8F09CA095CEA78F038EF927A7547A6A1
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV = 0000000000000000
+ stream[0..63] = CEF151343F474AB8C5DEFB3FD6A09F93
+ 9767673CA71208EB1893B118A7FBD881
+ EF3DE28397AD0CDD9021F260066AC006
+ 118CD20D5B1B0F1E92E204F454AD1838
+ stream[192..255] = 5DBD249066F7EB05294B2E46B142F6E4
+ 0E7C4A2EDF035E8B3BE596B109F45868
+ 887AEAF0CF36E539C8DABEAA7A2FCCB9
+ B8F2794D25A760A309C498308E8F3EC4
+ stream[256..319] = 9E76FDE8A7D0AF758DFD3BE43592C591
+ CC8A90BE6E433F0025F446F8069ABD64
+ 9D998F5006DD5B0A3E38D8D646E34589
+ D4ABB340590E59B5FFA36328EAB297A3
+ stream[448..511] = 960AC248F86A9F850DCAC7183A7B4572
+ 8A0C65CEE570CD33C376D4F49963CB8F
+ 380ECB94BB1FCCB109A83C6A427E6FDF
+ F72BB4B39D8B634E1D1C6147CC4732F8
+ xor-digest = 9C6E51278A2B98AA34ABA2DFF4B7A532
+ 6AEC4B946B99AC45073CD26FDC4E0B15
+ 5A8F3599313DF44A2F0619AB5867BA19
+ 93D091FA53E9307ED07A9514824AA137
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV = 0000000000000000
+ stream[0..63] = 162B75831A25E9702D101DEABA21928B
+ E1589F0A74AD1DBC76E05CAEA637F339
+ 34AD57CB90A2FF9A8332AB2DAC9D0D11
+ 808BA1033E178F315212E99794A5C958
+ stream[192..255] = 88428D0D85D15A5539ECC31C70A112B3
+ 73214F49B1A196E6618414A1E4613A52
+ 345D44895FBF3527813BA75CD73FCB73
+ 8AD0C9FC3EDA9E08BF5146B4C172A8AE
+ stream[256..319] = FEBC5B5A447B2FC3B49E4DA9E6630146
+ 08426B1C0E60B91DC0A007B112A8C932
+ 21BA7BFD5484175B608CFA4F8E783B8F
+ 715BBCBBFE2674FCD6A583D1DDC9DC12
+ stream[448..511] = D83B20E31B542D185B8E5D8825324660
+ CECC685CBD4AAA6B86632956F7837611
+ E71CB10836465E89A0716EC0085FC0DD
+ 4F6278A8448F58D0CD1B7589491C6B2F
+ xor-digest = E31C67E663410A28BB6C57381B1744BA
+ D719AECAF66858B56A1E3C7BAA45BD57
+ 08D04CEDFCA378450E395F4797BD4626
+ FD931FB51A1C140AD535C5D97B8C71A5
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV = 0000000000000000
+ stream[0..63] = 53855B63B1C0DD07A587CA7CFCCCB525
+ 195B8132ABF0C34B11EB426C1F69C357
+ 372D79E1EDAB28188E36EB2C674D1151
+ ED32321B0C3BBEC8FA699D054218877C
+ stream[192..255] = D53D30FAD0F2B3905AEAEAF4F7B527F4
+ A1EC09626D0DA811CB1DEE13F8270D52
+ 4A6FDD22E1F7478A5D724600627E9927
+ 95DE57D1F34989DD6F74E7C4942ED096
+ stream[256..319] = 13BF8A3A934C24A785EAD7869ED91B42
+ 88BAF783955BA695188139C54B8C7345
+ BE91C17F608C467913211D4CCEF4CCBD
+ D3448E4CB2A7326F8A767003BAED4F4B
+ stream[448..511] = 73D8C2958673CB6F713A2072002563CE
+ F24D98574862958A7A2BB1393B1D2724
+ EE987AA9B4AD9C443F33263D1F7948CA
+ 5C809399A8528132648FEC4000D97C60
+ xor-digest = 83382D9F211C3CE3E7EFC6233DB4C123
+ 9CFFB54A1E36EC03E9DDF1C0115D9866
+ D4C0F8B72E16B1A8055CC3220406736D
+ 84DB45720E078966960887F1990BA6D3
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV = 0000000000000000
+ stream[0..63] = 7CA556D623F7B07BF772B03FF04656E6
+ C6462F34F3368A05A69FBF793BC48974
+ 22ADCED0596E7CF8A5083A6FD433F204
+ EEDCF8989798206B9BC85412CCF814B9
+ stream[192..255] = B9B93B57E5308A0493DE7BC46795779F
+ 26C92402D8CAB1008DF56407FA96012F
+ 7E2A14AC87A8C716A83171504D26647A
+ FC2C31AE86FF7132B4AB12593FE80958
+ stream[256..319] = 3F76FC641B8B40AF0DD7F65FC29CED44
+ E134E302036D1E2475C69FCB32E3D2B6
+ 9CDEF3785A29E695D95A70A6C701A8F8
+ 2C075E1EC7CBFCB9ACB4689958FC592F
+ stream[448..511] = 9EE91E3F33C857C9FC7F47F44BC10AC2
+ 5661086DDC03C644021D8B0C5CF76727
+ BA6FB7A58DC9178342F997B9C6822A59
+ F3895E2905659C070EC697C9F2665DAC
+ xor-digest = C733EEDA11A8A575BF225F1850E7E5E0
+ AFF5A190FC37A40A04402B4458361BB4
+ 1CB0FDC70FC5000DADCCFCD3884F220A
+ 696545BF82C2A430CDCE712813E74D00
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV = 0000000000000000
+ stream[0..63] = 6DD4A5C369533D9C50A308DEFDBAAE52
+ 3C2A841B84EA1975FED47B53A5FACBAF
+ 9B6A209395CD578B4BB44E30FEE03737
+ 33393992FFD27D52C9A052E8D524F143
+ stream[192..255] = 94A174E5BEBCD779F787F9EBC6E1A77F
+ CFE63A166BF2B595C0FCC90831E8E79F
+ 56497E38801B73FDA81566869D3BB943
+ 105363AA143E689BC1FBB8CFB43B77E3
+ stream[256..319] = 45DD4434759CA69DA87EFDB514B1DF78
+ D3CE9C61AA8BEA46A9F240F5E772F033
+ 39815B81A8B0BDA48A8322F0F9B8538D
+ 40BCAC2C7CB87DAC481FCD7DE23B7CD3
+ stream[448..511] = EDA423AD5D00AE28594CF283AA249FF4
+ ECC28F75051FCC207583A90932356873
+ 910B9766CC9234E3A4F8EA2B6708BC19
+ AAB59172BC73ABA22A4C1E904672A869
+ xor-digest = 7D7D4B294B8C0DC374C9F17169443533
+ 91D2EB1F8B1CCEB2F0D4FE2926CECB74
+ 3C0C4FF185B3D0309206DCB39C7DBEDD
+ 45B3F255E8CC0EDA71E836FA0119AFB5
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV = 0000000000000000
+ stream[0..63] = 77E91F6E2780E257FC98956F1F256031
+ 798BB8AD1FF50C706F03023E309CEDE6
+ D2478E95E5B24F9464429A7A775D1659
+ EF51E06F05D01A69CE1FC17A0351C776
+ stream[192..255] = 61B3FC7436860843641FA55D2B60E428
+ CFEB4F45821208FB6B31551CD264CE73
+ 453B64BB909AEFAF7A0614CF7F9B71F0
+ 6E090F6F79C94EC2589AFE9BD58C173C
+ stream[256..319] = FB6686577162B7EE7A5AC452AFE7D84B
+ 79E3240BD8DE9F65AE71C85B63BB444D
+ 117146D630839D25A61062D0F407E1CA
+ 3AE19BD798DBDFC5518ADC3459D7FF7A
+ stream[448..511] = 905FD03936B115E48DF46A752E712E2E
+ F94DFD6F89086C37F00B6E9C761CD6C3
+ 1A25F9B6A714AEDC8643CD232528513E
+ E1B2A7A293EF250A39AF3F0BA979265F
+ xor-digest = 29E515EF8BD7B5B0ECAF5F479326AABF
+ 3CBCACC9D011BB643E6CE23C4CB23FE2
+ F51C8A82CD64B03042F155684C2EE45C
+ 6F5C76F7B240912AC15D03908518EC29
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV = 0000000000000000
+ stream[0..63] = 5F7EDEA149A56EF3764675EC8A5AA5D1
+ 54E846128173921C4A30DAE2F7274846
+ A292CADFA1E715744DA45DEECE277FF6
+ 98FC6C30454AF56ED3F5AC1C4283D1C2
+ stream[192..255] = 22C9D6C7AE3995258E90083B5F1298FE
+ 5EC34955B5F9EE189C6073EF2EF47FDE
+ 532E45EEE4F6D1E34C9777F0960BAB05
+ 1A64389650780AE4CAED5F900875FD17
+ stream[256..319] = 689832467F8AFAF755D269F6CE35CF76
+ 5B68042D1D130250581DCD080E98BFC8
+ 92C65831BE55262E91BDE5088E467FF1
+ 1AE669CDE48B1267DA197C600810A372
+ stream[448..511] = 6F8F579C57A77CF29D07C51A97CA17B7
+ 638125B40B4DE9EE4A856A49BB41E2A2
+ FDA29B17893F22E145CCB6C789837902
+ 13E22C6E0116014DB295F7C679FE2706
+ xor-digest = BA6032500E39D7282B1C6E7F22109195
+ 57EAD3C5E37DDA00653B966F1F08628E
+ FB9D553A0A2741DA81576795A2BAB23F
+ 02DC8ED5ABE16FE3F7F8E9F17467434D
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV = 0000000000000000
+ stream[0..63] = EC2378E60EE821607DBA6C7DBC5B0F07
+ 6B46F6243D7959A454E9C904BC553546
+ 6B413DC65129A844F989A1DE74B090C0
+ 3548F1EE8871C546129B7DA962C28EBF
+ stream[192..255] = 44CE9257B20E8FAF9F55902C47220005
+ 5003D41B847CF65D4A65D01D159A90B9
+ 0E3668C7AAF7D740C37D271A28EDF9F9
+ 2A08E1491325A89E1407BDC3B1E02E05
+ stream[256..319] = 4994E4692FB323ED793BB4EFB62166BC
+ D51EB9E1033241EDD2A8DC5DA778F345
+ 1950165633CB0ED4EC58EBEE15555596
+ 0560B23A3F759DEACB589756CDD423D3
+ stream[448..511] = 098A24EE24817844E368865D472A2FEF
+ 34EEE979AE2BE2ED2614A80B6EA57D39
+ EEF0812B4EDDCE18B405578F77108B2A
+ 785D46BDC30A797E1D78754740699A09
+ xor-digest = 725FA72CCCA3DE0EA0D286580981FD58
+ B53D2DBF611830945A478AF31B87CF24
+ F8B842071E020D978E1692BCAC0AA86B
+ 15AE44017F0D6BCA5C5D7C6D235F293F
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV = 0000000000000000
+ stream[0..63] = 40A12D8CFEA70F7B512D9ABD1936C98D
+ 26FDC08796BB309681B39F307F048AA4
+ B64D16682E0E776C6DDD7460381DDB7C
+ CAE480164ADD072A6C541DAD869ABCA0
+ stream[192..255] = 2D302352F9426CE43C3F706E23CE4E7E
+ C43D911A58A0C46248B72B46780A9F3B
+ 31546C09EE1086F300A65CC119D62CB0
+ A131125FD46501C88F42E3C38B379521
+ stream[256..319] = 04C0B757C362C7986D5DB442DD7A42ED
+ 4B62B4AB22130AA2BF734F1C3AB3E5CD
+ 95DC47CEA9129E57E2B30DAAE8EE4065
+ 41F34A38F7316E55060A2AD5837E4C88
+ stream[448..511] = 3D6AC11FF5F29D276D61FC39F82416CF
+ BF888DF19848AD67E6CCC940A12A71D9
+ 60DA6C57FADC1A87549156873C2A0836
+ 506A72831207A9F934774CF6B54FFF59
+ xor-digest = 7F43D8BE91BE1B8C1758415569B0E40C
+ 0A660BF44C4EC4017744BBAA39BFCB9E
+ 69A43D06FD4F5B06079351FB398508D5
+ 4A0D589790591DE5F041550E276AEC63
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ IV = 0000000000000000
+ stream[0..63] = CBCA9C6C7C9464F723F561EFB4157D25
+ 98F3D5EF4DE6B969DDFC3A541C4864AB
+ 9ADE85AFC2D40E5B4C2E77884A67C754
+ CB8AE8620B36B69C125132599E30AC20
+ stream[192..255] = 42D34106BDFC941A520C1791DE6192DC
+ FB4B55BACDD32611EDBBBCBE42C57794
+ 0E1A0AD2228ECC8C8928BC03B0BCA279
+ 742DEB27DA7FC14A3D60B9CEF00DAB31
+ stream[256..319] = 7E6DFEDFD587B1566BBB8DEFD28C7314
+ 1883D625C3A525C7A5C3720940C873FF
+ 10AD7E090AE94D3A5D7EF4D01C9B5323
+ 014D6764573400BCA613ADD978DD5BBA
+ stream[448..511] = F6D3694BCE476913DE403EDC428EC901
+ 15B2798763032E1DE7F46D910F80CF97
+ BF896D409C853AFA6A68AC02EE37D21E
+ 7A00ED47865CB8B9B8021A376EC890CC
+ xor-digest = 5280C4A95164AAA502B22419D5669A31
+ AD5448693475261E392DCE1F7BBA3E3E
+ 91E3F30DA978AC431421796BDBC35071
+ 594873C141914AB02CB3E0B70C35A007
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ IV = 0000000000000000
+ stream[0..63] = F7CB5BD41B7B845B645E6AB6E6FE8B61
+ FAEE01DD3E389DC2DD15FD7434AC0789
+ FC316FB8501157D0A69CCB0E191031FF
+ DC808B476781F88DA85A4319C2B0E7C0
+ stream[192..255] = 314C682AE7308FADC96D75FD37548454
+ DC5B55C846D68B7567C3A60E8F8572B5
+ DF2F1764AE5D73663458EA5E7A62079B
+ E8D58836F5F0DEDC539803A640B4647F
+ stream[256..319] = EDBF56B598AC5E0CA67198310284F605
+ 57508BD78A5FCF6D2224A359535277D6
+ 3BA3C477BDF57836D3D9EF106E6FF26F
+ 10DC514E7955812994E0A2BB24B3AF0E
+ stream[448..511] = 4452D189B2CA2D6BC00CBEB6ADEE0C2B
+ 6AD026E463AEBC00B42EE7EA1B4F8278
+ 587E00081FEA85E5473A495B1322A7F7
+ E9ECE56058566E45ABFFDF92EF2AD054
+ xor-digest = E9083EF70A55718C36AE108A98651EDB
+ 5D97B340CA2E7262FD01B227E61FAEDB
+ 12385B06F42E74B804939A01479C0CC9
+ A344C7DC69A776D290417129D3DDB505
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ IV = 0000000000000000
+ stream[0..63] = A7C1196D5980F749F7E90BF0788CAB59
+ 27FB8F0527320C818FFE1F73D54A8021
+ AB26F1570E35600C7AFDD01F5BB73A55
+ 600080D830535B196BD3C48C37DE678D
+ stream[192..255] = 8D5C5A205A8AED154E836C53F0EE1F62
+ E63828638E988ABBB38561430A5FD6A5
+ 1F52E89F5B0FDB7057993E567E20A935
+ BE0471C184B4885633B18FEB38F51B72
+ stream[256..319] = 5E15C99F645A117D7D4E8F60D23CF951
+ 178423989CFFC27842D44941C3230A79
+ 936D9DBCB110840093518FD2FE9E779F
+ 1EE6AAE4AAF36013FF082F1D354F415C
+ stream[448..511] = A57B2BD5473F385C3BA67B308311D7B4
+ 0FF09C7E5270AA784B383F660B601A0E
+ 1F260540B7E71436C1150FF12C927D47
+ 643B242EFB447B011A9431657311C222
+ xor-digest = 34FF1B33F5A241D5F5850DBF26A9EC3C
+ 6BF6F251328912EF09D75B42616EFE19
+ DEFE1A7C2AD4E5397AC3669449D3647F
+ 1D2F224681EC92BC979FA9D8BD32C0DA
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ IV = 0000000000000000
+ stream[0..63] = 205BA132B60C7B03B73D844E987D0F60
+ 797A1A65C0827DACC2956F0537674A43
+ AFCDB0121A0FABC25E77F3AE8F8BB748
+ FE7809EB6C12F29C4AA15ED0DA03F90A
+ stream[192..255] = 937989181178BAD80BBA9D98D42A0319
+ C0F3D99AC27C041BE020379A164724D2
+ 908D94CD9E9219A9B493626F8B69E8E5
+ 3BD104E71B830A69FE44762C5154AF12
+ stream[256..319] = A93F96FAE4FAF9B5E2C73F6CA32A6B50
+ D128A45CA51D498F284236C7BB703BAC
+ D8517B3BCEC887519A28811B6612C890
+ 6DD017E59FC10370BC4FAB4C36E2A138
+ stream[448..511] = 65611E2AC20749C5E3FAB27AFC818C51
+ 61901BF2F832736DFF68EC327977A76F
+ 2779F65F69E619268D40C80D452B28C5
+ 3C8FC2BB6E5EBAB0CC79FD7A1CD7F60D
+ xor-digest = 6D5272D0C539BAFEFB9BCA7CFF3CE856
+ A040EDB057448EE55F915ADDF38EA0A8
+ CE3E2F0F5B201D757C426EF46BD9715E
+ 454957202F26259568E25E63C834BD68
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ IV = 0000000000000000
+ stream[0..63] = A5C66F7BF429B48F75B8E8A265EDA2DA
+ 3586E782160958731540EEF6C60EF853
+ 7E7AE4021204BB967DA3300B51C4F453
+ 6B302ABA86B46E7CDC81F6620DC3EB92
+ stream[192..255] = 56710B5D2516F5F478D2EEBB5A7D5405
+ 0E8AF153812FA011E95127CBDB2D63EF
+ 23AA349BE7A0779BEF7F7277DD0AEA9A
+ B1A1D2A62DF34B580AC86A15C83F0008
+ stream[256..319] = F146BD3C0010AE095ABC4C999475A638
+ 4F2FB0AD3A8E783B5B6AEF15B27117B9
+ A33A6DF67B133F1B0679B8E31C619B83
+ D79E5B7D5D7C3E1261DE39C88F0B5DFB
+ stream[448..511] = 1F09C1260D827F515D5ECD455A6150F3
+ FE2F21EF8C8A042A99295F614F20A329
+ 6672060D7EEAF4C395FA6F44FC0DAF2D
+ 4BF4FCF9ADC4992FAE98893D934E38A6
+ xor-digest = 9A934034D3182AE67BFDE9563BBFEA53
+ B18D979CAF91C30BDE24CE5B5189942B
+ A3DCEF437345576C940E47D7D2DB0210
+ 799FD526ACD1BE3A73FE4429227DE718
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ IV = 0000000000000000
+ stream[0..63] = 7E836570C94B5B058899CD818F9E401E
+ BDA41617319D3AF36BD167F5B3A000FA
+ 459F28DAB7BF1E99AE0C80C1CC0D1C18
+ B90A5212FA747C0AFD0BC4147EC8DF54
+ stream[192..255] = 85D6D17F27ECD74F8B3162B60CD8DB39
+ D518855A4F544F67A7928EE0491280C0
+ 40F1C0B5F65B3001916CABD9DA3AFF4A
+ 53DA2F5F9609C8786928461BE242F0D0
+ stream[256..319] = ADDF5D137AE194A498CD7C9E2F68D963
+ D8C3F14FBCA1C5A1C770CA0243D0CE21
+ 8CB0FCFDFAC28C123A3DAFED930944E7
+ 24D67BDBD5F605CF715211958719D8CC
+ stream[448..511] = 3B4E9D02597A0A1F6EE5CDA284439DEB
+ 4E609446DB796F37FC8EEE36D9DE20DD
+ 3C02AEFE34ACD873216778041C10188C
+ 626F0725DDD585CF6C8E63FC79726D45
+ xor-digest = B0B46F0C47C9D14080F641F34B3776EE
+ 24C9DDCBAA7098CFF81EA615586EFDB9
+ 8693AF202828E297E534DDBFA318D523
+ 065FCC4E44B4A2E71737B629E5C175B1
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ IV = 0000000000000000
+ stream[0..63] = 24F9AFAC586318DDA5C7C2935B4B619C
+ 8D7DE43DB397FB3798527126FC6BAA62
+ 244E65822226C7DCFE6E4939D2322AB7
+ 6FD439DF5FE02BB5A3BA69D047DD8421
+ stream[192..255] = A6523CE2EA9C9F6DA99007144A352348
+ AA572A971A3AC2AC9DD826EF3497826D
+ CFB33CBA2C8BAE35646EED8197BD15D5
+ 90C4BB95862BF4D1F458D4E513BF8826
+ stream[256..319] = 3442A3641DDA7B03D477F9CEC7DB7CA0
+ E5C00EEF531D438088DE178D73110785
+ 5C7C0BCB05BA9954B4BAFF3C83283205
+ C2DAA6CF37536DD4C450DF43DE917CA0
+ stream[448..511] = BDA0A2DACB1726FBAA01353A3A22E479
+ F75467595EAB56B7288216F83C4D7638
+ FBA0311A245E0A953006A54A8551E24B
+ 131660531F99A62FB3E0DC00A4CB32F5
+ xor-digest = 88BCE2F25D84D70C4E449DE080C183AC
+ B7D09B08A11EEF9497ED93BE51661CCC
+ B9E484EE805173805A732AE46E8AB92B
+ 919737A0FFC7E140CE5AD9E1FC2FE358
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ IV = 0000000000000000
+ stream[0..63] = 7D01379C383A3DCB52C61B75A4FABC79
+ 6EE567E51207FE6620D0753DD0DBE501
+ C970D726353BB3C9688AA9D5C5EC22B2
+ 640A65F1DBFC0F3331DE0CEAEFCA97D9
+ stream[192..255] = A2BC058F5F28F2CED1C5016FAF6FC49D
+ E07F4E7E25394FF0960D278622D52B38
+ 216989410FFA229C146D0209CFD7F61F
+ 46B883D0EBEC9FA0B65CE2E501D8FD38
+ stream[256..319] = 887DAE2FE4EE952670681573AB52506D
+ 50B31A0B311602882266AFA320CE349B
+ F4E28BBD7EC55C7FF311EE3AA8A6A004
+ 83DF01F2C38A79B52DE0BEE5573BAC6E
+ stream[448..511] = 06249561CE838A4520D6A76A6DB67751
+ 0980D31C64A0261D2538F47A64223220
+ 1CEC3EAF9FD5B9828AE22684F49B82BD
+ EDD4267C1B8706737F9BFEFC59456B64
+ xor-digest = 586ECD2B1CEEDEAC838EC72B002863EC
+ 0C69BE774C6CF29402226304D6BBE683
+ 34BCE46920BA65BBBB3F5B066D2AAA76
+ 26D05E58D5070DF612681D10E3141AFE
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ IV = 0000000000000000
+ stream[0..63] = 6257E2C83DFA55F8131CD247C2B54F95
+ 081AE1E7592B8E8E51C1E49442773130
+ 55E9B1C44105AFC96E49FE687619DE58
+ B49AC1B4F82F18D03BBD7724F9126025
+ stream[192..255] = A1BDE0EB9E47E764E1A395A351ADCE45
+ 685CAD1B3F2B6C75E0BD6CEB7958936A
+ E3F8C58B5DD73A3D99F04EFB61E971E6
+ FDCFA712DD451BC4FB8C4DD9B6412A56
+ stream[256..319] = 1B25BF7488A86D892A50985420C93F26
+ 8FC7FF088C8C3C1F0EE670D71CE0FCED
+ 4D6E68F89F6D7D3956823F68FB20BDE3
+ 70D646EEB8813C6D489B46651988D7A4
+ stream[448..511] = CA997659D972EC6080C14438D6390275
+ F0A9E15D3E21F7BCA9D367DDE53C0626
+ 385D74A486FEDA4FCB347B7E96617D8F
+ 48646BCCF288C46FC970A4DE3C6C0956
+ xor-digest = 5A63CA465D0C99086D1A214B82708BE1
+ B7FAFEE205DE328A212373C3CDC4B944
+ 943A106351CA9586543BCE7E08209A9E
+ 3961730D7EBE97E81CC69E69DA77BFEE
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ IV = 0000000000000000
+ stream[0..63] = 12D55EF06C8C567ED38E2210685E9200
+ F5CB3B9E36A441364E7E23C96404F647
+ A7526821FD1C3CA45C70C5A5F322F0BB
+ 2D11BF04AFFDC56AC2CAF54DF6438709
+ stream[192..255] = 4DC2F84BAD85C51BA80A4C7933E3CC34
+ 1FDBDF7A347734FBC8F7EE05B728D922
+ 230FE5F51917763C6D1A99015893EC9B
+ B1F4B90411BD7DCF9564190D7F0C607E
+ stream[256..319] = B1B0D951DBE960B9BB722E1DB1A603C4
+ C92FF303E92809F2E4DDA4C3CBD66FAA
+ B5751AB3DA1EA8B9DDA2791406A40D89
+ BDBD9655BB0F025E550C7BF6F5E1D3FC
+ stream[448..511] = 16931A347061A046828110A245B252A1
+ 64A23016EDBE18ACB0A5D8B9888E7B52
+ 0DA3E4FCB083A9ABA0D2A7CB4CA18807
+ 625E65F0ACA2047E041A25A50D8DA66C
+ xor-digest = A63A5025438B48093662270090C6B3D0
+ 8DA0BB7342BE4B78BD86587C5F798412
+ 9D186DD05543723BDCD0862C712BFBAE
+ D74B0D506533011BAC34D9499CD02D3D
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ IV = 0000000000000000
+ stream[0..63] = 6A6B4AA5129FFDF29F438BB1FD9A1A2A
+ EF3BC511BACC5CA8DE94903BFCB118AB
+ 7131D5E032FAB598ED1C0B6252BA3599
+ 20CB3A4BDFE4DDCE970B9003A9CCDB9A
+ stream[192..255] = 0CC95E5E170FE5A4AE4256009233BB86
+ F969EF1F606725D6C37D795B43D77B2B
+ 69C85D521490E7FC4A5A1E5775A78F9E
+ BE25F10206FF071F00DEBC1CAF603464
+ stream[256..319] = 0C4AB53371866466F54AA8663E8266BB
+ 7879FD77513D7D091F82C7999B12DFD5
+ 23566A947711A9CAD15D6B073812A451
+ 5A65B27BF0F454FD0A01711C3B33698F
+ stream[448..511] = 9C3BC883D0D484AD5E9A0A5E00E647A2
+ 4B7550764383D56346BE7AEBFF6C4F08
+ 2627B99A12C9633F49051CA1E6391999
+ C50F74DFE63F6BB41CB55DD4733E5628
+ xor-digest = 851601B7B1AD39A901574A2D9F5D8A5B
+ 4E3E659899C7BA6ECFA98B2A9340BF3B
+ 41CB44950567FF9C287ED9C345F59C31
+ 53673FDCEA2E3B10E25D3112B99E1522
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ IV = 0000000000000000
+ stream[0..63] = E2FFAF6F50B768335419AB08A9FF4AA8
+ FC8F545447E9856EBCC889464320C473
+ 97B981F253434DE2B38AB6197861F94D
+ CDD47311338967D75626EC6F7035386E
+ stream[192..255] = 5F5FE499D341A6C6BD5C8BD9D004CD58
+ 44FFA6CBA04793B22E256C0D1F98552E
+ 9F20559B316B1C1408ED56DC26A2377E
+ A332AC0F9C37A77C10EA085A49CAA85C
+ stream[256..319] = 8131455C1EBCD5D2BB2F6C78BCA40B82
+ 3000D7AA770951538146995605B50CAE
+ 3D97202A38B4213C01AE18D79923A4D7
+ 83873918BF15C849BE0913CACE4263C0
+ stream[448..511] = 84167A91E07993A36D326D98EF0E4B60
+ E51906591C87036C06C3CA6F3BAD1240
+ 024DE96D8663D22D69DCAD92ACF78895
+ A1BED7EE9E018669F85980BC99E5FACE
+ xor-digest = 969484CAABD0D9127FEE2748EAFB06D7
+ CA9F9EA3203F161A0F9CC8A45622AEE2
+ 65CCD34B22EB59EEDBA27B64770ED123
+ CCB104992A826739EED0E7347C724E3F
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ IV = 0000000000000000
+ stream[0..63] = C7B0AD939CDB029395874AD153B7C91B
+ 9D6344F2833AFFE1C6901EB5E25956AA
+ F36D2F28F7C27E17A9C05EB4C37F5419
+ 3C88B1F3335F27A3136C9516B4FB791E
+ stream[192..255] = 12B8E41BE1A9701900CB4D66E4B4C34D
+ 93396013412A9BAB8CBA92F78FB2D350
+ FE6A712126F3AEEF01D7EE2FD48E8354
+ D7EAFF7962A0BDA79C04B05C65AAE6F9
+ stream[256..319] = 18BE64D6779D58140CF433C548139AD0
+ AA0451D01617E433CBA20982D30021D1
+ 51C076CC93ED3D007110052E9484898C
+ 5BC828952A1B58D27169E777F6847DFE
+ stream[448..511] = 3434BF096D035495B49E2A215413023A
+ E2796913A04822327119F8A4A27CB326
+ 263652A8581598A9593141A3D84A1BAE
+ 6378676CB2E5ED38CFA7F9DD61976B09
+ xor-digest = 68C7C58A78A760DC5962DD7C818659A4
+ 6C63B80AB79958ADE1CADDE4676ABC33
+ 270D1610A01A0BEAB75E37892C14EBBC
+ 66F0CDA5761FE175DD9E62FC84E2A47E
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ IV = 0000000000000000
+ stream[0..63] = 508DE5B2E04AAE23D33C36400626748D
+ 66FD23AD959921A1E104E24FA07DFEBE
+ 629F2729D0D6727AB12A13D01BAEDDCA
+ 0AACED4B7376D73367F31D3CE105ED85
+ stream[192..255] = F4A7140A08594BC4A0F5C207A9ABFD54
+ B984DC4B2D4BDE835A45B08A8D716B7E
+ 2CF0174483649B9E1016F2711207A9AA
+ 793485C7BC4636FA375EE9A632508E94
+ stream[256..319] = 96B8D9070CE626BB3048B150B34B5985
+ 04F129FCAE0FA0F4D1AF5113C6804B07
+ 8C841EB79D292A777137A2B3CF9CEB6C
+ 31257E78B2FD05BB3897588CDB6F38DF
+ stream[448..511] = 92F34BBBD6D61EC593BC022FB51DDD1D
+ 4A6DF0A6FA067FDE6B75CA4E3C2BB396
+ 00B01C296B176F28C8CEB65B16724053
+ 3F54AF0F411B9682CCAA2542CCF3E997
+ xor-digest = 69A0360840D1EB8111BE2E65939B9D8C
+ 0958832A70B8E047F1CA243AD3D5AC2C
+ C081743286B610BF43A531A80CA7822F
+ 8ABCE0A2D1FC26BE211BC91CAAB458E8
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ IV = 0000000000000000
+ stream[0..63] = 57C705F076437123A016AAFA85D4E904
+ 6AB62A219B7D55C89EF0C0FC2F9EA907
+ BCC21F2D47F5842EE4F626BB89D9EBAE
+ 29DD8410E12464187F5EEAF2E6D2A8FB
+ stream[192..255] = B76D811D115824C6312A4D7A14018E8E
+ 7751CD39108390A0239035077F71A0B1
+ 5309A64412B302CF5905272F66481058
+ 82DF262C2AF7DB711CCE615D8B7E1600
+ stream[256..319] = 83CDBC6DE39A036CFF1A46D0FEC8503D
+ E7D581F57E9BDB3B7DDA26AD902FE49C
+ DCF2017D9CD19580D9FCD07E3B01034B
+ F58F540F33FAFD41113A5A705437AA60
+ stream[448..511] = F529FA6CC9BF6FEBCA8954329205D17E
+ D1E01EB44590919AE7BEF119094747D9
+ 2474834A6B8D126C7F9C3062AAA06C11
+ FC279E4F22E7BB59D0A93B7704D58B22
+ xor-digest = BB005834CA12511E44E840706C0F6627
+ 2CD10782B2514FA84086F7D02BBCFB73
+ 6C837890AC18831D4451C5F610D60DDC
+ D0DDC7F59A27D21C13D37CE6CEDB6F1D
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ IV = 0000000000000000
+ stream[0..63] = 904B49718D5544D46A29BE29A828B3E9
+ 16C6C748687C966AA973FF7931FDACFA
+ 21C52C19937E8B63172679E320E4452C
+ 14005975A7C11C6EA698ABF1B2777CB5
+ stream[192..255] = 31F7C9B8896049284C367254DD23A2D4
+ FF87F69ADE0084B6E5FCE4DF9D4509D2
+ 5F30E4920F91B54A74AE49EE78F5D921
+ 422967C42C8DCC4FA830FE1AEF1CDBF7
+ stream[256..319] = 757520A9F8041C9E7445A8381D98D988
+ C4211CEAA62D858EBBB2A15D3A4AF821
+ 7A71204EA00561D1750FBD90E43EF355
+ C0E7BB14A4F4547DB5EEB6E3334A3DF0
+ stream[448..511] = 0DC8C0D3916CEF975C26A6FA65CF15E6
+ DFA71F8B012A67B1E31F8B399BA3471F
+ 3544C49690FC5FEA7C052DCDEA843DBE
+ 12A5D6CCE8469907E35464F38BA107A2
+ xor-digest = BB94B04854E652AE7D71286D7D5C1B60
+ E828F8B8027D6F03AD36F93B8C66E44A
+ A3FEBEE067BA7855AA7033B082639179
+ DA024A9F8B6CFC5DF64B20889167EBBC
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ IV = 0000000000000000
+ stream[0..63] = B9BC21EAE414FFB169EA688A3F0D1548
+ 0ED0DE8DF376428D3CC5E1F6B23C727A
+ BF2AE619A839772F0FC214F7804D88A4
+ 446FD64E8B569F53AEFBAB6CE81D8143
+ stream[192..255] = 2AA7DF2FAFAD1D44DBEE20A626F1911D
+ 78C6E6B921689C170F3CD80527284E4D
+ 5924A4BE19F4B2731A7FD3AA0162D448
+ 03D1455089E5563FC2E905ED38060817
+ stream[256..319] = BC2B4905CAD697CCDD3BC15F1A708ACA
+ FDF9D98C032884C8B54163718FC55E04
+ 763DC8FF201CBA74F3B2FA2C1CA9764E
+ 3E3F528E04A0EEF236FD5964DB6498B6
+ stream[448..511] = 52C55CFB1AEBEACC33694F80CCA19F5D
+ 4F26DA702F27F5E7E241D2158F563EDC
+ 56466AD2C9E4C9A2FF705AACBD923B45
+ 3AE636CD36BC5221DD0C118344449E51
+ xor-digest = 87508DA1455A8DB742E22280ACCE6AFE
+ 9924F0A3A2613F4F8D65DB5D891BA7ED
+ 0F23FDD2606BBE9336302FE7888FFCAB
+ DC096716A1FB070A277CB35C185DDE4A
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ IV = 0000000000000000
+ stream[0..63] = AC67A4C6ECAA8E068E79CE6A9BD84529
+ 1D93B668BB41F77E75B4F57F7623B897
+ 8C8B39254E52227D450D626DDB173E49
+ AC882F6737E1D918964EFCA334567307
+ stream[192..255] = 89A731E7A7EFBF4FD78BD9AD180FB5F1
+ 69F200CC63A2BE615CB73DFD85B37331
+ C114861CF060D784389AD703B7DA06AF
+ 275E9FE7BF81F0AEC7CEB4C7E508F842
+ stream[256..319] = CB1A50A0EC9CFD5783793BF012D49D6E
+ EB2A36BA2D4B0A5296A8B2E2C5E9D3D2
+ 3EC995F2645735AA9D89F8B3C2406066
+ D34BDE5137C5AFFF373455AA2E3DE497
+ stream[448..511] = A18B92F2596FA4B00A978766C427D58A
+ 6BBE67924571056979900C3A90D3D92B
+ BDE762D92CD421DAFD477D18554D1E0E
+ 1E260AAC549BB992225C83255AA53641
+ xor-digest = 5185231D0D75BD3E2F9A0ACE20EAB171
+ 2DBE6C5D6DF7F9EC6E1B1E7437906BB2
+ DD7DF0CA1F293D4880A64BDF2AED81DC
+ F90354981326C1AA77F7501C335162BC
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ IV = 0000000000000000
+ stream[0..63] = 5FEAE246453ED15D69653B8D2B790FF0
+ 7B9CC4DEEE644F66E184305E9B04BF06
+ 01BB0AD2F52017662B847FB4AC475680
+ E85991654609212AF3F60F30720804E8
+ stream[192..255] = C29A09B01E321A84ACA2680F2761AE2C
+ 0AC56BC3DA028D38436E1BD550A12063
+ CC414410D5188F8FBD26EBEFA5C31701
+ EA621F9521862B782A703801AAA0B6FC
+ stream[256..319] = BC8FFD5FC7A04184DB86CB8F548DCB8E
+ 924F3AA8568BD4AFBF184CFBEA95A4C1
+ E07899EE8A914A66D2F778568DBB4037
+ 2E6067E359148DAD4D764EA95E7E0455
+ stream[448..511] = 8284B9A6018E6E77F73D414F16CD7DFA
+ 8758D017B2AEBD45B851D4474DCF0F71
+ F4932A6C40C1F2C9D35BA34E7C3BB66B
+ 6FDE383A3C6F75F15F854697DBFE4BD8
+ xor-digest = F670093370D9FFEB76F03D7067E7DBFE
+ 950166228ADC14C3477A3DB71826985A
+ 7552BC6D7C7D0B287A9954F309B01AF9
+ 0A0064B37902E9C85D31FED9F26E171B
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ IV = 0000000000000000
+ stream[0..63] = 1510C49F16B770347AED3E5D79502260
+ 018D982B65C62ABC55D64522FBE252F5
+ 839E699A43BC682EC2A1514D6526D288
+ 9432D0FA1C83C7376A8A1DD9CF898713
+ stream[192..255] = F333EE1271C6F5FE7DC83B8053671133
+ 17F2ED95BEA2BD8B78C43BD3C71D0682
+ 9216BCAC44367D531757486ACE97425F
+ 310493ADF539B662F9393FE557B62110
+ stream[256..319] = 918735477CC320B75302B5F56A62EEDB
+ E0FF6C4F0074B141B4CED006D0F3F8B9
+ 6ED6CBC305DEC3E91190342E30313D36
+ 03016E1823C01745F85601486FE03B18
+ stream[448..511] = 60071D563EAFB31D6492F71E37E64627
+ F0716847EA67B9DEDC51141C29FB8E5E
+ B26BDFF8CDEBCD646F4330372EAD2B8D
+ A63F139D676CDE3C3CA1E9AEF9A3A11A
+ xor-digest = C2D8046C1DC7312D8A123FA7DE24DCF2
+ 89FD94B30E12D037DE411AE83D19460B
+ E95F3A9AC2C5A1DD1598D07B611476EA
+ 09EFDCB78608C9AB622AA9320B394C25
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ IV = 0000000000000000
+ stream[0..63] = 68C65D4544A8F5ACACA8685A5A0919A2
+ B4D065F607A38BB37E37BD1EE1036BD0
+ CF1E310BD4E87247B4A88AD82931A8C9
+ D5222470F7EABAE6E61BBEF9A98069C7
+ stream[192..255] = 23EC1C386060FA900C305D631E2F21F1
+ D2D990CB831AE850184556606F53CB53
+ 36E02B17678BF76EDA3763A9A423F347
+ E0F516549CE368F4C4E8AFBDBD6397A6
+ stream[256..319] = 53A1B9347F03240E1CBB0539D77ED278
+ 779ED9BDCCD09CEA13E3A7E602BC8997
+ 46CA38B0C544ECB1C8E4ED2E8C868443
+ A95398F1B67C3679E1F73E6ECB58B8C3
+ stream[448..511] = 85AE48CB5D39177A393A52174476C7C6
+ 94FCD8612A59F76A0120046A43AE6F3F
+ 1CD27C5D95DE364A7C7EAF7D4D242927
+ DABAB27476676EDE58D7C0B38FD6A2DA
+ xor-digest = 8F1E0175CE7E441B4BB3F607B5FEB873
+ E1B9B205E0ED7F79ABB2AF7C3FA23BE4
+ AED43C2B14C23A8893442878922DA020
+ CC12B9907982CD76F1F75CA8365D65D2
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ IV = 0000000000000000
+ stream[0..63] = B4473AB249571E02AB4E18803EFB9775
+ 1A810319F557246B38B48D98C432B663
+ BC8B084794CAD220FE83B92125D16BC9
+ 629FC2D280E2093EEC03B5029E7A237B
+ stream[192..255] = 8B3AC4BB7F30E0C0036B28A58262E2B8
+ EC6CE2ACDD7ADE3210C18E1207402C41
+ E5CA144012CC8BADF55DC7050FD6BB89
+ A2EF6457D9B99DCEA77E4FBE8D54154A
+ stream[256..319] = 4E962AAC28E4F6AB881FF059019C734F
+ EF61E48DC3D85BC1D162519DE439F997
+ 587C5A8610B7AAD94464B74C88FC46CE
+ 63E2EFBF3031B13093E041968CCA063D
+ stream[448..511] = 7F9842BC87D54CF8C2BB0B203F13C6F4
+ B224789E22C11C3DFB350D3DAEE8D8D1
+ 56FE46473A984D36A52C14C2A3EDAD15
+ 841D04FD00582814BE5D6DF0F72E3C06
+ xor-digest = 388CDD546EE62AAED24A17B88ACE7FD0
+ 2E3D5E2AF16865C81562EDAE9FF570BC
+ E5182126354A29096B63C84FF3EC5687
+ 8CCF3E566C900F892AA2B75509E52220
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ IV = 0000000000000000
+ stream[0..63] = 4EC9811F43B54EEFD179185FFB9C7467
+ 3765C376A98897B4957FBB1A3021202E
+ A2C946D4821EF6595A4822FA858ECB1A
+ 414B8198F488D11BBA3E2CB170B2B6BB
+ stream[192..255] = 03069B6F1CDF4099BA9277C75AA7CEA6
+ 0FEFE7B6356D30A3B1ED5A6DDEFB5895
+ BBD698F03E2016F38895746E41F3A2F7
+ 7598D9C64ED5E972B5F888EB5F1759F9
+ stream[256..319] = D1700E50DD148FE4F8BFFB92FDF92E07
+ 74EC895AFCCAA5D49A686052B24A366D
+ 8A705C0452370EE0BE55515EB54E82C2
+ 7B125B4DAC334FA4CB98A7ABE2C773E5
+ stream[448..511] = 7101A654CFF8E4FFCAEEEAABA251C898
+ A561AFD2571C1611120917495ABF50E7
+ 6BEA3E2C0430175A4ED0F2CA4A9BDEC7
+ F2F28DF15F8CFF82EC363453D14C0A35
+ xor-digest = CEF88147F0937821E92DD111C15B787C
+ 74959E038D54CAB5910D8DF2276A2A60
+ FA7C5F8ED9F195AC4DB99653DEAF93B9
+ 1F80864B58FF58A3A20F6F5F6FBE0425
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ IV = 0000000000000000
+ stream[0..63] = AFAD29CB93914DC4A63CB2D46B7D326C
+ 7B6BEE9B9B6414F251844444C6E8F92B
+ 87206B0973AD56D6AE2A949E8D8F0DAE
+ 82D44CB420B8A904096393FAF6AF72CD
+ stream[192..255] = F2C7F1E8BAF50E1CA1926DA2A81BDEF0
+ F5BF42580C3D96A2949CB39DBC88D1B7
+ 5265D87ECDCA5C2908E0BBC65A4D8299
+ 4A7AB95E17C4D3B21E714630440CD4EE
+ stream[256..319] = 2927E4B07C8FB7BE22E04C4F89C49918
+ 5D6BC8E3C8C453FB43B0EE354F6FA070
+ A8ED952E925B0DC976570E2F0D47D622
+ A9BA624C415526C8C293CB8D3F90799C
+ stream[448..511] = 94747B72603C18638F06085B8B219D36
+ 42B83084B402A4474DCD9C5CF92B8B2A
+ 6F553129B9A314E0CC88F87795F04B03
+ AC3F6C439CB42F8159A14D75FF0ED9FB
+ xor-digest = 6AE8306F09191D9A146408B742C91976
+ 6B02F117C5DD20189CBF61C543D73682
+ 173C4B7498AF13D8A954755E13EAF2E5
+ B6AB671EB60028E5DCFBB4A18CA0F74C
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ IV = 0000000000000000
+ stream[0..63] = 6DD35C4CD8EFD99BD29AE339AE3A852A
+ FA2AFE220A2E4D48889452FADF79E561
+ E14540F1EB742E9224BB3FAA2836F20A
+ 7B9603E0362AA34EA9D41757840EC44E
+ stream[192..255] = 267B05365766EFC2CFD590CDA1681274
+ 797961FB6559215299F6ED4BFFB6FE71
+ B11D65E03F2384120CF971A6DEB2E84C
+ 4FFAC3E2C02DEAB08C897D32886EC131
+ stream[256..319] = AEA09F215E6BFF3D5913486CDAAAB003
+ 910B4DE88FA4260D886727A2B5A8E865
+ C5375A9047DB0C0CC939F080D0EF1A07
+ 19D0F1A2EF542D5D46D6B2AE48BFFD75
+ stream[448..511] = 318F237423AFE381323BFC0A5CA15C1D
+ 0C65EA6B81506A2F5264295A292B03A5
+ 6A85D03985E349EE6C51E5F663CA3182
+ BAF73E25A504364C11913719DACE8C84
+ xor-digest = 3085648F7B279C826B2F94F2F8531D65
+ CBFA327F98F550ED3D808E0C2AD13D70
+ 2D4994DC184F4649DA9DAFC33D4D3E17
+ 87027C8DDB92638AB47D77F704EF96EF
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ IV = 0000000000000000
+ stream[0..63] = 826316D2655FFC00CE837171E12FB5DB
+ C7AEA0F7E2649456728DBCFD729F2143
+ 731FA8E98E07EC4B26D06C6D54A2974B
+ AD14FCCF03C6E37ADFCF06E6B5AC779B
+ stream[192..255] = 8CD377013403B5F037E5C583EAF3B2BE
+ 9E521A94724CA10AD236ADDD8C79FF3D
+ D1DDD81F8915390F8F305314ECB26FA5
+ 82142FA90A002C16E77DDE5D48FAF8FC
+ stream[256..319] = D14C0DE5FA009DCCF651D58DF26A4FE4
+ 7788911692C3943D0DBC57C678FB55BC
+ 77B6342132D9A35442BC024A8A2C8B02
+ 9391355C8C7052A491D47BC4687A94A5
+ stream[448..511] = A8A13389A4EBE240925B08DBA2BA2A1E
+ 8442245472379E9CC84559EA7A9C0B93
+ C977272AF028D8DB6A2EADECEA8BB042
+ 56F2E554D2543DB9CE40B5435C5E1A69
+ xor-digest = F003722BDCE570EF81BFEBF57A18DBFD
+ 8D6B0902C9214F1D2D900FE2452FCBCF
+ DB9905E31C737D3115ADCD2A20E7D178
+ 6563A245D753D6E54140CB581AF4DE9B
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ IV = 0000000000000000
+ stream[0..63] = AC979A1CE2A0E6928906606085E8CC3D
+ 9113D7D91E4DFEF583476AEBA01521AC
+ FE8A9026F870DDC1C2A46603573D211D
+ 7C007906D282B3EB6D88BB8ED0C1E8D3
+ stream[192..255] = 551BF30701AF87B8A97FD706C744EF9B
+ E506007EE543A487B679183305D01F80
+ 0BA1128B58A33A8F3EA6745F932FEF5C
+ C0D3C4331607370071CF6281DBB915BC
+ stream[256..319] = A8C9D003420390E4EA820809965C850D
+ CA320BCDC62A3CB2B9C781ADC290DB30
+ CD06255517485FF34AB9A939423218FF
+ BE58FBE7DC8B8D7AB09A8150CD1A34F7
+ stream[448..511] = F2E938D659EDD245EF6FBD114A7C81A1
+ 01198B30E3273BF07ABD52B9798BB7AF
+ A159C46F59F17C15A19DFB8C5397E620
+ 69E18204D38590BFBB8617DEC8A939BF
+ xor-digest = 9C4501129A3728FCC40141140B4B67E3
+ E9331093B93B33B6F52CC40C38F10153
+ A501D21613233B1C2DEB720539806379
+ 77DBBF88B0E71E90790CB5BA55A48C9C
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ IV = 0000000000000000
+ stream[0..63] = A31F0080FFD86724CC3CFB78FE3E4BC1
+ BB09F60EC1A213D3CC1A214A91219F7B
+ 804053DFE81DA2407B65A55B3DAFBEEE
+ F482F5A39ED91408ADB9742D5F90FF75
+ stream[192..255] = 1D56FCA523627EDDEC6C493D1CBC0409
+ 989541B75B0FE5CC614B721B7541B707
+ EFCC0DD4ACDE33E4FC8C5A3C2D6F43DD
+ 045B7E91426C47664BEBA65858F94150
+ stream[256..319] = BE0AA6F442423A2C218D669C5F32237F
+ 1F38A1F6C8C41CCF18C233721D4F0856
+ BD41C48CF3AD914ED016EF64FC82A533
+ D34EE57C06E0D4DDCA1AD06AD471F21F
+ stream[448..511] = C8E38C63F607B89B6148FEED9B5781A1
+ B1240B332C2348653B27ECFF17864701
+ A56F8CA32D4EB3E837795E4D81B5A9B6
+ 212CB5D397951B063E61738BC463582B
+ xor-digest = 1E3310869123274E859925B89AA88C5A
+ 10BEE53BAD38706C1FDAD26821F8EEBB
+ B87C0D72521057F7179D58BE225F270B
+ 251AFED2F00AD70B67D8E83524267FCB
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ IV = 0000000000000000
+ stream[0..63] = 530D15BB1E419F9DFA3089C769D4607D
+ 876BB393AA2E0D32CAEB60B330CDE474
+ 48F61257CB6A082B9AE10C0D0902EB36
+ 6D63267157AD747CFA6C0735240E54D3
+ stream[192..255] = 6CBE41812100F5A4897B5CD111409B42
+ F17F7AAB08FBA2AE49914EEA8D37690C
+ C6A6FCE4E6E9B5912C90A8D06E4DA847
+ 7DAF4ADDBD9417978E4CE5FC520414A4
+ stream[256..319] = 8CAC169D55BA933B4EB52D46E35F9856
+ F64D886ED9AD8C66021560349B4028AD
+ 719D5ED5F0DE450B05E59E8983D3DA04
+ 6A25F0497D856BA72E18A11349F34DEC
+ stream[448..511] = 0A6F67C9956CAFE2EFD40AA1F6998ABB
+ 33D7007ED20E0D2FD7B370AFD0A1304F
+ 1B664AA94A499F308D98EF8ADC822ED6
+ AA78C6BB3D0A91551812844FF144DFAD
+ xor-digest = E03E1A15074F8F3EEDD49AEFBC12F180
+ 8A6337E0270504AFAEEFAA8160BE1DC3
+ 234F4936482C362BDD67228B0EEA1E08
+ DBCA66A5E465557A7DD0A08C477C342F
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0000000000000000
+ stream[0..63] = DC99AB61AEB588F154ACCA8D653EFAB2
+ 914B9C2CF5931C772551EC560364F7F2
+ 79F58EE880AE10159AC45165BD6DC24A
+ 6B2A1E8B2200D22FB2FD33454A21EAED
+ stream[65472..65535] = 1C99E87DA97B3892C624FDF40D77213B
+ 2F0ED59DDCBC3B4C8FBC5643232DA089
+ B2D43EFC4B7E88A49C53F09392C036B7
+ 70507F378AED2BD58140E25F8C1EB8E5
+ stream[65536..65599] = 6496D46590569E649620915EE8806E62
+ 9157B5878C481381DA78D780BF17E826
+ D4687F47E7276A17E211FDF85B537E0B
+ DC1A45EED2568F58D823818C52C17EFB
+ stream[131008..131071] = D93D5A53612996DCC07C3FFF09FA2628
+ D440C2D2A6546F9A2A110995A20C516F
+ C115A17B99857A5C1B6F0915FC6F713F
+ EDA5A3CFF01D883BB67D82241F07511A
+ xor-digest = 7878767E7299446949D45A35FE898123
+ E71C70FA79BD22D27C81F636ABFD9E4E
+ B296EDB1EA23C1B52780AEB81F1BC3CE
+ 2F1AACB6E837368EACB75D018EC52E99
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 0000000000000000
+ stream[0..63] = 5ED04FF8F1B87785DA7C6493E40F38DB
+ 694FF071E201856F58DAECC51F8E4F90
+ 604A8592E3F702C53460875D146FEFC7
+ E4FD4053D7592BE386C8EFE8CEADF58B
+ stream[65472..65535] = 3A96AE0F9D4B0216BCE4F7CB3EA4FBE7
+ 4670BBCFA6B1D65B92C8BCCCF8C3490D
+ A24CBF1B66F3E919ED6423B6642428B2
+ 92CAFA1A2711D77BC81CE0ECC69AF670
+ stream[65536..65599] = 6CC5169C9B6718F9D5F252C47AE6410C
+ 2ED03E04D7131F650A4DAD9420590593
+ 6497FFD15CD07C6FAD6BBCAC27256B8E
+ EA740D0C3321812865EA749EF54376B0
+ stream[131008..131071] = 6055ED6E5663650B72BD4FE61C56BEF5
+ 45DD57D9335893A0E2779CBEB7E84169
+ C6D3CDB06E701271FEEA6049B461C14F
+ E4D4A41BDB457779C47F3F78B2F1D107
+ xor-digest = 0056805F91285AED6E9D6CC20C2500CB
+ 46C74653048097A078132BBC8D26A64D
+ 3BA9528CB96B75F51391F55E673C9098
+ 5CED01AA5D04FA9D0C91F917FA79ACEC
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 0000000000000000
+ stream[0..63] = A50E0395F4B11427782EC3AA207197ED
+ 28B724BB7636EF0BFD23FBC470AB46AB
+ 033BFD6DAED57C4E96A8BF1C0DCB4FF9
+ E306283C907A8E866CAE7A469233F474
+ stream[65472..65535] = EEAD4E23D066067960D4A7F81C4709D4
+ BBFCB5733902A0179215BF668128C1BC
+ BE67286EF4AAFC92B50926280C2EDC39
+ 015773DE09AE036C226316F34C9A033A
+ stream[65536..65599] = 9563990BEAB793C4FB597ED5A608F324
+ 1A92685123BF2D904D7D2CC3EEBE999B
+ 8FE71D478CAACF6B258714056C7AB3F3
+ 7F38128ADDC2161C45E66FE11F1C02C9
+ stream[131008..131071] = 52750B381574E224116D0F90132B2183
+ 7D4A8F06C254960FB640DB05C2FC32D5
+ 5B967941BEA73C3DB45FB4806076B70A
+ E40717398F0A8720A5BC66DDBB6EFC94
+ xor-digest = BD6C4C1AA56625B642BFC71CDE06471E
+ B80AF3E8472743CCFAC20BE53760886A
+ D1F36E9D55A4769173990C1CF155FADC
+ A0D6457410B1B5F71CCFD032CFB4FAD7
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 0000000000000000
+ stream[0..63] = 76877197342E34583E06EE3E2009790E
+ E045920CFD1E3CFF4363F3A1BF8C73E9
+ 274AFE3CEA0C7BF71C38EC1B9F99C34C
+ 831E55337F934BAA8071F5B9E2292F7F
+ stream[65472..65535] = 3C996517A813EE3EE08EB4DFCCFA030F
+ 72BFE7302D8BEEC52112C409CEBC6A5B
+ 56E736F408C93DE06A1BC94CF209CCC4
+ 25BADCAC4060AB056C4BF3969D42CFEC
+ stream[65536..65599] = 8397E6CFE768669F0F23DD62191D827C
+ 940E355AF529C17A42475D3688C47F88
+ 9F47CCCD4CB466092DACD740695BB994
+ 29DECE573F9420C13E482FC1C117559E
+ stream[131008..131071] = 22416C462CFF3F76118563C3F925D3C1
+ 3F59A9612564CACDC077362A6F894128
+ 28ECEBC0231392AA5B028AB0DE74EFF3
+ 3A3583E0F207FB891788EA57D9A4D529
+ xor-digest = 1CC00EF619786EE8AC85C6E4BB97737E
+ F896FD7D6A3CABD857FD110234948F60
+ 49ABC701F1CC4DB01F9855BB2329511C
+ 016DB4231C84B58BC1A168BAC165C9E0
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 8000000000000000
+ stream[0..63] = 77899F3E881C08122BC3D07878521FB9
+ EA7A22156241F926250340D3B41338DA
+ 141485D891A883CACF2322B8B76D8D13
+ 6EFE8BE2AC7BAB862DCDF7629A1F4ACA
+ stream[192..255] = ABC7272C3E6C39FE5F13844F119ED50C
+ B4B17E9E1009E267C82D476381579466
+ A4EDDFD25D08402A9F55D2B335B47B6A
+ CC8FF91A623077B37B9A9A85BEA31B70
+ stream[256..319] = DE572B19B2529D272DEDA7F503EBDD27
+ AD7235EC3C228915462C62BDAA6C9A9D
+ 1A0E39AA921B7A2DADD6F6B7C317C2DE
+ AC42CD6267175F690C907F84265D9BD0
+ stream[448..511] = D3B2E5F8E99CF99B8C53610BC125E3B4
+ 3910536EF4621AD2AE2B13416422A210
+ C3A06E397D37B7935FE230C80F871A37
+ 7C40C62716FDE318CB4516C2409FD264
+ xor-digest = A15B4419107796074B0FBA9986E651CB
+ 2263963EB244E25206019ED2EBDB7A28
+ 4CF8616723A4B7A26D6914B05F63F494
+ AAB711119222DE7BD2A13F60336DB7A0
+
+Set 5, vector# 9:
+ key = 00000000000000000000000000000000
+ IV = 0040000000000000
+ stream[0..63] = 067874C7834E3B3E3CA79E27E94F8C24
+ F0D7AF283E4898E124B11193146E6486
+ C4E9804EA5BEE080D5FD301E470DB18A
+ FEB5A6FEF8AC2449733A2ADB4E00001C
+ stream[192..255] = 6B3559325A5E2FFBD0992CDBEC97160E
+ 25898BE756B3964ACC07B569276B788C
+ C42FC36A718857887E0D6DF905BA88A1
+ 81607E3CED3DFD1E4650FF704C3AADAE
+ stream[256..319] = A9EAD6EEAEB231147C8FF61CFEE62D3D
+ 4738E6C9F770B29CDA0B9F764FBD80B8
+ 88BDD680811E3E48B0C8A5036410E5A5
+ B8EE7C8DDC22E546E8EFDE5334634701
+ stream[448..511] = E6BFA80F963564699768F4338F632436
+ 311696DE5720226319AC4646E0675BDE
+ FA4B6EACA8B52F882A9EEFB65CED1352
+ A5DBD680F60FDC20586FB743E3C49DB6
+ xor-digest = BEB4BAD7538E3CE799739FC252D1A60D
+ 42C6DEAFC69E6F37F63BE461A2693EAE
+ 80D3158CC7A5CD67B99C09D996D5B06A
+ 0E7D790CCA85BFF3F5D27A86F0B36575
+
+Set 5, vector# 18:
+ key = 00000000000000000000000000000000
+ IV = 0000200000000000
+ stream[0..63] = 438BF00013066EA975D03ECF24EE45C2
+ AB5F089904E3A86493D6CA541ADAC398
+ 6D267BAEF15D91D68F8849047767DDD0
+ E22B5BF2CBF4DDB3BC352FE7FEFAA76E
+ stream[192..255] = 18E186989DC6A734A7CDE52F715AA527
+ 4556B71F9E1A503A2781431AD3C500B7
+ 6D15DD78E65E9CB278C775B51696BDBA
+ 589C5456AFADF689DEAEDACB3967F48F
+ stream[256..319] = E656436F672DCD4F6A5CAC4CEECAB570
+ 8DA80E9398D616165A561B8D19BD6C84
+ 171AB8BE9D1F74BCE3F2442EC4750BA1
+ 89233EF493EC4D4F3A8B38444C272E11
+ stream[448..511] = 06E264E0200AE5FE6D8CA6A47FBC4C50
+ D3E98885203B4227F637CF434A0FF01A
+ 6F173E6374D041D7ED3289AAA6C34EDA
+ 8F6AB36BA53BC7A424FAAE57724B737B
+ xor-digest = A9C9C12D7750F266689561A6132DBE8A
+ 1521D82D1C15FE21C90FE082B6DD9F93
+ 792A07672E0563A59E77B87145337BBB
+ 3ACB1A6FC3D6C05C56162B3E049F8551
+
+Set 5, vector# 27:
+ key = 00000000000000000000000000000000
+ IV = 0000001000000000
+ stream[0..63] = B9B4B4B2B5DC2517DD145F8081E3ED93
+ BD1A06D57263EE63B2FBFF1E2F157A98
+ 72E4A92890AFF95BA8A13DE22885D89C
+ 343C7F4814AA6082E9AEA44534E0F050
+ stream[192..255] = 78A0AB2C8257099DD8DB3D772B5E6D12
+ ACB74EEAA84C669F8554FA723F47F932
+ 10271D1CDFC637966C039A42F8475F06
+ AB55BB9D702326864897D27F47386E11
+ stream[256..319] = 9EF080B9B0DB6BE917596CD73FCD5D58
+ DE3250C7B8D2B6F23D86E32F494BF4FE
+ 879F404C215E17DE07E1C0E77346F172
+ 82F3B0E8DDEE5217A7B49F207CA60CAC
+ stream[448..511] = 68088721C3381094B5C9A23EBA50293C
+ 103C858DC464E4AB70DCBE529B848AC7
+ 377D1C022A195155027229CA6CC23F04
+ C3A869BC9E8A81D35AC4967075C3EB50
+ xor-digest = 5EA518A0F091EC901482BC8FE68F327A
+ ECBE34D3935371D7D5366DB9E2647F0A
+ 0752810CE013706C01FF424CCCEA5238
+ B3AD2127CD8EBAFAF85FE28FDCAF728A
+
+Set 5, vector# 36:
+ key = 00000000000000000000000000000000
+ IV = 0000000008000000
+ stream[0..63] = B0C0681E6F413B4A8F76250EB48171A7
+ E600CDDEA5FE07224B8F6317E6524C75
+ C2769476E7453542A1443FD39116A26B
+ CD3ECAB567EF1869E9BB2470CF901E70
+ stream[192..255] = BD3346B51488615BC0E93933AE1BE99A
+ 71F560D8CD6AE1D84CEBF81C4624B75B
+ C26040316E182B443B97795B50E023B0
+ 4E1B63DB02EBBD4759198298548F42D2
+ stream[256..319] = 9731C8B4390C1DCC88CAF9FF6F81EFED
+ 23A6888F51C19378CA2FA982628C3199
+ 428B8ECC4C86E055F1C763DC2AE14D1E
+ 228456FA60FE273E6A371AFD911834D3
+ stream[448..511] = C98D4F237AEC4A4BF3A00A2B7B4F7ED0
+ 82AEB7D929E35DB0EA8C0243486EA7C7
+ A16D9244188F66BD9526816537674941
+ A4370285A18FBF6C60235B1634959DD0
+ xor-digest = 735DA4C363DFD87997F3D69181867038
+ FDB1FED6CA195CE1A4CF21798D38C97E
+ E0BF1DD893B2436BB1F188E0EEE690DE
+ E1A34C01626770C3113802A05E6A2C89
+
+Set 5, vector# 45:
+ key = 00000000000000000000000000000000
+ IV = 0000000000040000
+ stream[0..63] = FA0E3CF129826AE7C05BF4AFD4A4A1A4
+ B5175F5F995DD194D4BEA42D924EAEE9
+ 0721CD2C03BDF0B5D141AAB497FD4A76
+ 716A929E274D4E2FEFB19C090DED560C
+ stream[192..255] = E88AC148A6FF3C2CDDEFD901E88F57A5
+ BFDE385FAE27C51E3C58AD8C2482A739
+ D26B7ADABFE8AF9BD0C1FE85B40086DF
+ 077A797578174B1538831EE02C2719D6
+ stream[256..319] = B2CF4EB317C6DAF554BE6C36525BAA64
+ 518DD58AA0B9F29A33398DC7C354272D
+ 4DAEB98F0F4ADBFB720ADA1F34021131
+ B4BC633C4FA53CF41BBD3139CF32B307
+ stream[448..511] = 62C4D743432CE50067BE9C3402F913D6
+ C6487B06CCD64E2AB1AD87958312DCCF
+ D4DCF065D9D0DBA57174ED4CC95B32D4
+ 6A2CD09EAF4E2B82FB42FBF106C17F2A
+ xor-digest = A097954CFCF01E5243AC572DC399879A
+ 0D664683F3136679E0E0D5C968254518
+ 7B3E7CEFD659F12E0394C2AEA1C18F7C
+ D20E4683CB7F4089887F7078CDC506FF
+
+Set 5, vector# 54:
+ key = 00000000000000000000000000000000
+ IV = 0000000000000200
+ stream[0..63] = 9EB602945DA9A3FFEB7609838EA24A4C
+ C33F5FB7AFDB362830EC785139DE079E
+ FDE751A655E16206E92B98CF5DB2E887
+ 0BDBF5AF82156CA97C00447D005AC127
+ stream[192..255] = FAA09BC88471BF75FBC2954799F7C131
+ E7F36825505A53F1002844CCB278BA6D
+ 69892854B2C0726522A46D5A728EE158
+ 426C9548E5DA55BD2B6E74D5EB88FA2F
+ stream[256..319] = 6F61D1BB362F808D8068649239EDB22A
+ 70C8A11BCC4059D5615C31ADF87BBF3F
+ 1A7E32DA384239B9A42EC71456895C56
+ C88F4D2B22228DAB70EDF49D6125376A
+ stream[448..511] = A76277B8CCA4078C52B4CDA35178350E
+ 1D77F36B47294896E03200D68298E2A5
+ 5873B3C15E46C1D64E86907015CFE8D9
+ 2E91D009A7CE20B674B63BBC83F06C45
+ xor-digest = 347A76EE12E7145DD16089CDE1C459B6
+ 2BA37724A921E2EE81D266964A6D168A
+ 477F76DAAA4557E9CEAD418DE2BE1250
+ EF980768BE26BC0A49F709CADCC490F2
+
+Set 5, vector# 63:
+ key = 00000000000000000000000000000000
+ IV = 0000000000000001
+ stream[0..63] = 951A0726494E02FE51B362D4C10F6C1A
+ 1390F553AF1E2093E918339877419BFE
+ A08BE5F437FAF0DC61A51BEADB9DD231
+ 94DB5B419E751532D262381B57740F4B
+ stream[192..255] = B207F04E998C6E25C8B2621033244D1D
+ 2EF949BC1238585F04C8FF7F735C7FC8
+ 060A235B2854FE3B5BA1422EAB3C1FD0
+ 6E085F810150FF34C968CC00E0C6475D
+ stream[256..319] = 02399E73068AA0E1C30F26C81EE2F3D0
+ 297E2982BFA8083D59ACC071702A0053
+ 267399F0CBBFA0436B8578945AF46350
+ BF1ED53F2DAC31406732347CE31CEBC5
+ stream[448..511] = 28B00635EF8B25BA88D9B0F01112A196
+ 6AB66E49B68259B816703F32EE9023A7
+ D4B93C809EC02AB14B110772E04D935A
+ 1535AF7DDCA6442E92E418A94783B6D0
+ xor-digest = 1BD6A2D07AB7126180780DFD829A8AF6
+ C9CBE1DBADD34D4313AF506E7CD84D9B
+ 16A1043ACD05AF911B3E9A04249D936A
+ 03B5843961349FF868E6447D512E266C
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0D74DB42A91077DE
+ stream[0..63] = 3CC61723224098C305B8F223FF049BDF
+ B5C5AB732B7FEC667C291D946B0AD793
+ D5E0C3F3044CA805A112DC45A33CB2F9
+ CAD7AE3C1BD60BB0B2C3F6D7761E4976
+ stream[65472..65535] = F1B79C78389867F243F210A0CE97B245
+ A784403D77D7C48496EE89CAB1D38718
+ 3D3472E57A1378415F9FC0C59854A3B8
+ 48DD76BD939E5E4F16AF2F6EA45FF932
+ stream[65536..65599] = 4B99AECB2ED1C16D8E88B8287B948C79
+ B047C6110C8A262CF5662CF6BD1A1742
+ 4C5BCD6CBB05EB99B7F2F75DC4AEC17B
+ DCD06EB0B8E085DBFDE59BE315F01F75
+ stream[131008..131071] = 7DFB356F7A7E6601A00F245315DE2EF3
+ BCC332FAC98400CF8E37406DD2FEB13D
+ 94038EB9221AAF2E6D43DD2A95B79462
+ 018C2C090B799A7D7D2EFF5FA60AB749
+ xor-digest = CD0AB8B78F552576FEF0C659F7FFEE80
+ D34A9F80058DE3E6F20388E0EF803090
+ 8AE985BDBC2C884F3B7A9AA197EF2CE7
+ E59DAC087093D52F5B5841BD0D68C787
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 167DE44BB21980E7
+ stream[0..63] = 7A6C24ACFA8247BFF612FFF5625DD832
+ 5B6111BA5190D4E01BA9C20680DE1C63
+ 59C3741C777BD6CFAFAEE36A1E6C10CC
+ 5533E0EC79D170DCAF8A28D978CDB9B0
+ stream[65472..65535] = A2CD2AE363426F86EAF6FB06C666C73C
+ 546D37566E7E9CA1EBFE7D5ABED1FC51
+ 218248E5FD8A70B96B4AED5E263BAD04
+ B8785D0205B0FA327FD2D41088BAACBE
+ stream[65536..65599] = 734D763105388E414F17CDFC72E2BA77
+ 66BE9A274C22483EB39767B2E8A0D69D
+ 4F464EBEBC9D4DD59DF7B3AE1E7B3F26
+ 2481C10E730635CD96D52012285B5ACC
+ stream[131008..131071] = BAAA139079548D60DD93D8ABB21F3FE5
+ D72FEA4A8F94A8EFFB7C3FA3C1835AFE
+ BDCF8812D065B474E7A07DF8DE9552B2
+ B6952ACAD8042E0D8627EF10B0B95A97
+ xor-digest = D847ECB9C7142B21E853AD7989513CDB
+ 0F806C82570FF22941F3AD8F0D036345
+ B283288142D3A65D2007F56155C4457E
+ 7D62006B9A19DC17F48F2037618DA943
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 1F86ED54BB2289F0
+ stream[0..63] = 90C6C74FE4DC69648DBF1D8D4DDEE0EF
+ 57B7E55564D48494352688696ED7080A
+ 01A0E69EFF24A579D183ADCD0039C3F5
+ 9015AE5354791917F1CCFEBD7C56130A
+ stream[65472..65535] = 25731F7BC5BE0A0DC8B57FB69EB4FA5E
+ 421E2E78A012AF6E055B7F04FAA2C5C2
+ D67BEF6628E488669E20A5F902A6F5EC
+ 01F331BA0F41855B02EA1F0839EA0057
+ stream[65536..65599] = BEDB1CF6F076067657D0CD346541F60E
+ 6E82D7ADE831FAEB253C5A2FAE5300A2
+ 7F4B584CCBD420502BAE7E53E399D44E
+ 733400BE2DE5385D498B2631D6F682F8
+ stream[131008..131071] = 1E57E23393F8C02A7A48FD9C3B29538D
+ CD0A56CFF64F7B61A37836871953FE62
+ 9165EBEFED1478B1797B41BA7D229E26
+ A3300E6AC1A41D8BF47939F3CB266DB8
+ xor-digest = A202CC8E2B5F2705C7E054AA1BB3185D
+ 976ADE290F65055C454AD7F3B2D59050
+ 8D08C0D58C4AB27718E36B6990E3AEF0
+ 7861C9FC04CB8CF8161AD7C8F0BC8794
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 288FF65DC42B92F9
+ stream[0..63] = 9AD88F70055F36860B81F088F68FE961
+ D4780CC790D0D84569F0C7F301A6E4BC
+ FBD61E960B40A7F937A127EE0F2A453A
+ A6B2EEEDC01BFBC65DF27DAA0CD8523D
+ stream[65472..65535] = 5B12760DDF4A5C4DD24BB642907179A2
+ B02AF7C91BA46CAC32C8AD006327AB8E
+ D062904A1A11CA2B0B9418BECAFEFF28
+ 3BC82416A927149A5A452D460EADA099
+ stream[65536..65599] = 1C1CF4FCC461C79CDC6D3809C2A8831E
+ 091F590FDC48F07E394592CF09B65CE9
+ 4CD512A49FE5F5731EA0F116F08AD1A2
+ 129FE4546983CE81C0FFBB589D410C72
+ stream[131008..131071] = DF236EFA576DCC23DAADD540C5D5716B
+ E5405EDCD767596696D771DBECAB965A
+ BBCD1EC32224FFD4562AA4EB106DDBDD
+ BAD0ED5C2EA3F259C43F14C447F3CAAE
+ xor-digest = 6225B906E3294851D7AF8690712E02C8
+ DF9A61C4E6832326A59D33EB6EBABDE8
+ EE71E5FE93EB15721012C2888464852E
+ E6F6E319B4BFFE9FE86574D27F4A36FE
+
+
+
+End of test vectors
+
+Primitive Name: MICKEY-128-v2
+=============================
+Profile: ___H3
+Key size: 128 bits
+IV size: 80 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = D9D38A6624FB5D7562660CECACCE0B63
+ 0C36D66F9E6CB4D29FCC993CC6019B6D
+ 4785AB511F8F71BB365F76283034DE2E
+ 758FC24EFF82AA8A6B24DA4B8D697BB0
+ stream[192..255] = FBA65449247DBB6603CF1CB650379BB0
+ 3B792098EB6EF6C508023A1EB6926A71
+ DC7C14798F8649E70F376BBF6D8A2C30
+ 2A2541272A7F196CA2B6B211BA20679C
+ stream[256..319] = 5EB01EE00D27A16A756E5942C9753321
+ F9BEBDCEE4949B34773B514F34B2486B
+ 44560EE12D5A7FB6533C47FE759E5C2D
+ D565FEAF163D67356C70DF5E2458C3C9
+ stream[448..511] = 92C1061E2301FC14F840F910FF345882
+ 59EDC51EC27BD779980537109337B75C
+ CA8F8970B7DBC0BB411B52475436D036
+ 00DD19D61DBD01987FBA1B04806C702A
+ xor-digest = 14EF3B8AF19C0BBEFFDA54B9042EC86E
+ 2C9C8DDFD78A2ACCBB2E5178609B2139
+ 74B198CCE93E5C3653F7EACA5EE22942
+ 5EC6EDF265FA9178A2B57F61D80F5912
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 8308B6B40A632CA0B76FAB2DE1F5EAC1
+ 225CF2E476367FBD8BF54D83D767C62E
+ 68751D772E7BE03B9F63111329AF8DB9
+ 190EF7A4E2A59BD196044D4EE6F567AB
+ stream[192..255] = AB8EDB81AECDF651232FF57B19F6A363
+ 7F83A72B7AD0EF7DF9EE962F1D23914B
+ C0D3DDB4AD40B1BE86151D13DB2543B4
+ 6555B2A942C5E46727C06804C700B5F7
+ stream[256..319] = 2869FB29F36B62C14CEBCD12558552F3
+ 5AC23A73C91FB8326D8D70F1FE468A40
+ AEC2ABA497C8F046FD5ED0DCFC845B42
+ 906C951A8C0612031F9440AC88AB8F88
+ stream[448..511] = 9BF0798F6987C11EE5A7C3B53A74DC1C
+ CAC2743E14744BE2427EB611722DFCE9
+ A6D6D8D10DB2745C527900CFACDEDD22
+ C38D1DB6944479C50F1C0C7043F25A23
+ xor-digest = 6A47E031376A8BE4112BE4863164A471
+ 7ECEB3DE693BD4387DBBFA4B5A057D28
+ 56CE1405312A61226777F3100048AC98
+ D187516714AF0AEE3CA7C1F1B22B0130
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 29D930E223D2D029A140F395F8A9E330
+ 6F8071B8C00B2E423AEE125FE1426B0A
+ 012667D77D2E5D2FC652E37A6B49D3B6
+ 19ABBB86D94E5BA3422ABC93E1ECDCAB
+ stream[192..255] = 78FE08B0BE4953C47DC1630642557C2E
+ 89DB5806E8E427E810DC0BAD990F13C3
+ 40786A32BF909EE6A7B217270225CCB0
+ BD84461DF5D200DCA877FD727D0BBFA2
+ stream[256..319] = AA1AFDCB998F3645C21989DB9C170B89
+ 477A3E24FAA9C3DDF1DF62E4BEA9A062
+ 7AD028CFD6611CEF5676F68085B9680A
+ FC0791DBA399BA1BAB2E296B44EFD4A2
+ stream[448..511] = 338BF80FBF0CDDC1AB3F066D1BF1043C
+ 7515A51BC370259F5738A942BD2ACE7F
+ B9AFB9E694E61489716504132BF615C9
+ 545DAF03AD3CCD3F698D9D4307640BB1
+ xor-digest = 5E1A7D565AA7606B742058D43640F9F4
+ C6521170A0B0EEEA9F546C38CC534726
+ A16DA53EA25FCDADDF83C856FAA24791
+ C12B80AB345B249711DCC7A806AC742E
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = F14A3F8FB8B7B7A022D596AA23386AD7
+ 9544A580F5D4E15E3F8CF9ABC9401DFD
+ 7F5D8E0D0D39F1A3E8CE0F09FDDA659B
+ 00C33BDD6172AEB72F361487401FA3F0
+ stream[192..255] = 8AF46339A1F060DA423614A6B70EA86B
+ 32DA52453CB3967D4F721AEEBB7A9005
+ 2113AFEBDA3353F656402CD9A57949A4
+ EC8D63A2AE9C0C8EFFB3FA0FF03772A9
+ stream[256..319] = 9C30001313F86C5BF344F0D3D1FAE41C
+ DAD0E2E199B2842F27CFD670BE39BE1B
+ 2DAAA4D17E912EC95A75DDB3FB335E95
+ AC056CE6CE381288BC4E252D4A9EE1C7
+ stream[448..511] = 3AAEB579AD56D26BB1F398900B3032DD
+ 5A0AE6BCB38E63CE840572FBBF158D50
+ A73F1E59214467B7BC4548C7285CFD53
+ 3F9EEBE3BF8A86707560B4EFD8BE2DA0
+ xor-digest = 670F6F49303F981139990A720E660F5C
+ 409375C885C007ADEB9EEF6ACB74B696
+ 685026EAA9046A923CC32BCAB49E405D
+ 248FC927A1F46160A66D26EDCAABC73F
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 6F4DFE085EDBEBEF2E62C0A6B3CD46E4
+ 32448A333EC850FC404B35AB3E03DFC6
+ 9190DAB0EA16734A36DFF1B599AB1C10
+ 2C1518F08807BB691B4102CAC363B480
+ stream[192..255] = B8B17934E333E664EABB98402C4E39E1
+ 07FD3988A762615A21B76CCCF28AF3DF
+ 64BF26FE09CC03407FF0B91E71ADA7D0
+ C5C42E38AC35E1111D9D01448CF3B09C
+ stream[256..319] = BD1947B9E7942C9602B11B41FE5305E2
+ E475229020D67F4E697B2CF4448180B9
+ BBE87D40C4549A0C07CF1139F72B2CF8
+ 934CDDB43ED0220F67681CFD5377B17A
+ stream[448..511] = 84A9867F935C9AB3853881D8E940E7DF
+ 1D1F09DA7CED3D9A2FCBDA952A697CB7
+ EC5964F5EC086EAF1F3013D7D09A58A8
+ 75F893550789535A24F1EF724BB58DCF
+ xor-digest = 8F4DEFF7F2A123F2C3C1FA0BE6CCD211
+ C9448A6538EA65549587F81C6F98CA2E
+ CD89B002053BB1F0AE2B989428302DEC
+ C277BB8A0240A32DC1E71030B013668A
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 808A1A614527F8D66F1D59730D681407
+ BC26F49403A6D417BD2351D89FA7C5F9
+ 585716B1BA26FC7CAA51D80C6ADEE886
+ 705585B2F64A70640487238504F1AFCB
+ stream[192..255] = 46364909FE78B47093F306A426DF9AB3
+ CC31A1E7081978ADFEEFF75A9B277ECD
+ 6FE8D1DA67F831DA6F4429038DCB0589
+ 53AE25E476AA0FEEF8980D850C465DA5
+ stream[256..319] = CCDAEB623C0B494C7122EF49B7549A0E
+ 3124DBB7C803BD261EEC93E903048F59
+ 7DDB0111822AB279815672421A0241D4
+ D1DA17F4C5A45446B8C850338820ECF1
+ stream[448..511] = 91315F777E31A007BA95E114399DE034
+ 9149CB2B780BD629EB4BBFAB7EE6E51E
+ 4F4399EA2F33922A9492E8BEF2DB915E
+ 15EEDC5F386240581159AB11A3B19ED4
+ xor-digest = DF2BFD03E738868223C3965B4E3A0084
+ E0AF7653C515FA7C0ABAE543CCA5A01F
+ E640B644E4427D9556B95EBC6E6E645E
+ 992B7544E744E16430B46958C7DC8BB5
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 6BE679AE79E4A07BCFF84421FEB02FF4
+ 303D3614ED344808CD0C688A5BB53C5B
+ 5F7CECE68AF802DD94EBF4B049E4BC4A
+ 5E49441D36F429CD335B741E09BF54D0
+ stream[192..255] = 33C591C22E73CC38E9F9CF8ADE94E410
+ FEF4A1ED19C98258E2BF06DDF7FF4356
+ FFD8003395FF5DAFDDFC941641B8B2A1
+ DD6932B78DD4DA44255A914BF18D57F8
+ stream[256..319] = 7342F3EB81A8BAE824478AA3B328BF9E
+ 88FE9B8CA64BA235B8612DB0D58963F2
+ 0EAEF475C3766B48B67C7B813021C812
+ 4B8D3CD6FA094A0AF576AEDA4869FDC6
+ stream[448..511] = 637D9B358864AA7375F03BD20F326704
+ B365C98AB5CCDE7CAFFA77D5EBE5FDEC
+ 516EC02F31F18D983CDABDCA7C4A0317
+ 677A1603FD7E986F2D98D15B32166546
+ xor-digest = C0FF1514DDD5DB1FE6A43AEC2DD83D87
+ FDBB94404C38AE18AE167F164B10BCE6
+ 1BBB780EE1732A8EF2F21CF3DFFD6397
+ 6E61F61F51C4586C8AA083627CF259C0
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 3111544173CC179F2B6118CCB1C64363
+ 285A527CD548FD2845C05DC321287A04
+ 50A330D74D21BFE118737336AA2B2869
+ FAD39A9B84FEF7C06DC0DF057ACDFABE
+ stream[192..255] = 74D9E857B99417F5642C1B8D134B6148
+ FD4A2AAA6631ED30AAADC474E4AC06BE
+ D54A6C6574A9F24921D2F045E42FEB57
+ 2430E8512F7154C1B83DA86ED4255A16
+ stream[256..319] = 2FC702101D3A5AF072C7134C90917580
+ 3BDAE43BECDB599317A01DD22B36835B
+ 5C58EA68EAB846CC2E8430E8A61496A2
+ 829462F0EC669619451C436BBAC99C79
+ stream[448..511] = 71A4B0131FE830F8F27E455E31223AD2
+ A1F4D700CD4AC64CCF6078EA11653036
+ A63E8272FF0006C9D3E1F9D2E7B54C93
+ F7CDA88EBE7FFEB76F42CD81F85C9950
+ xor-digest = 9DDA6487E85647B4CC21E36FE11FFF0E
+ F017BE012695CCC59DFFBEF10CE32745
+ 5CC4039C79B03A4183FA13FD77A2A3C0
+ 803AE08D03896CB503D6C6340DE7593A
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 0AC5DC039D1AC6089BD3148ECE3C9D39
+ 3704462B3F77BE083EA801AE39800BF1
+ 65247E0C0D7B3C3DC14CC367972797C0
+ 74C86F43629034250ACFD81C4380FE09
+ stream[192..255] = B8481F03BE6AEC532CD37DAF89D26BB6
+ 2217CAA40060E8D3B806A0C91BD67FE8
+ 422FA0BCD149A0700825E65CCA7B9753
+ 330D51B0F7E299FE93C0892AA093ED44
+ stream[256..319] = A51D67CD99C46737861EB3C25212A4D9
+ 18F192C043856BCB5D5454A9812723CB
+ 4433F9D3E88C05C1DC75306F767C137B
+ A4CD3674BF5101ADF174AFFC2DCB8DBF
+ stream[448..511] = 32DA2961FDE9BB64B3009F00A4246387
+ CD9593E7B97DCA05E9C8747D1740874E
+ CD84863EFB090C7C8D302B5CF90A7D7B
+ D38C4484F289BAC0FAF2D3CF53FF7E75
+ xor-digest = 99A1078BC539BD8425A55BE1E3EE7592
+ 85A7A19D539BCD886086A4FDC8F3FCF6
+ 731AA9E9A39EA86EA503FAA127F23E02
+ 26E672F9410882085532CCD8B0D22211
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ IV = 00000000000000000000
+ stream[0..63] = 34DBBBD5219EE8C1C857A89A71695B9D
+ 72DEA395CDC7E134290AD689811A1A8B
+ BD80DB2EB59883A69F1CFE3E4968F8E9
+ 676A954D23F28941192CE4E97028414B
+ stream[192..255] = 76FC1BF3C7B03C2993376B5C526F0E1D
+ AE0FC6BF1D4348A3761B6C411671DD3C
+ 78C1B2D9EF4CF5ED57DA1984C9078451
+ 1CBE42DF2B8100A60C4FBDC658338FB1
+ stream[256..319] = 7967AF06943832F8E322296DD28F10AE
+ 1154277BC45B9A044607B02E23AB262E
+ ACD58DF4A8ED2CDF979A37C26936E975
+ 3D4B63412B3073EBFB15E766F7D3AD83
+ stream[448..511] = F2A8F281D82BB401BCD32E668E5CFEC6
+ 633F0D0D75AD42B0E15744B6F1DB5F86
+ 1D4118ACED2DE33CC709841D1792664F
+ 076A7D84C67A90AF1A828679DB24FB39
+ xor-digest = 1B70FC9AFDD782B25EDE35A686AE800B
+ 2E0D88B7CA84931D8E29A1FD92EA08C5
+ BDCA590B5FD5F1F92C3E5C8811D3E0E0
+ DFC6C0D201992F3E0EEB245A6740EB78
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ IV = 00000000000000000000
+ stream[0..63] = 131E1C8A69A917C9597AA50139A51705
+ 109644BEFDE3E5F6A06446A5D07625EC
+ 4B2109645309999F9F169797061C3405
+ C82E269C3D71B4FBFBFFC9B0897F2F6A
+ stream[192..255] = 50286E62E652ABB443E9769CB903D4AE
+ 7BFBB8FA9C934861BE748F0827C4FD9D
+ 6798D8B857CE8DE79F90B9E9C64516D6
+ 110F81D5A512DDAC974744A96C260284
+ stream[256..319] = 8643419B2164B7EAFFA491CC3FF3CE34
+ F0397EFAA504CBBE1634532EE71BBB16
+ 4ACC8274F967DA910168DF8FF2154B96
+ 62530F5513EDB675AA58385AD78D4101
+ stream[448..511] = FB82B9336E8EF7DC65452DFA694E9A43
+ 948B1EC0B815D84DD29074C563C81CA0
+ E9154EC0709EC205F8ADF8A7CD88C9AA
+ B95D13CBCEBAFC28299FC9D80EC8C916
+ xor-digest = FC7F03D14ABA2E55C183B15A3D0628B2
+ 715AE88614B22BA05D1052F2862D1461
+ 2052BC49E561C4A3A940013EA2B0DAA4
+ 1611F8EA584706F581FE73FBEB5FEB21
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ IV = 00000000000000000000
+ stream[0..63] = DE422F02F4402A02761D47A6FAD85532
+ 7C02F90817915545590D488B77A123AD
+ 60088E26CB540509D3A8598049A41D28
+ 61463D84F97EBDDF982F708487A980E9
+ stream[192..255] = 68F30C567584BAC669EF337D46DB2642
+ 4FF29C26D66BAA820AB1243407607A7E
+ 9556AEEF3E1272701E0083434E1BD72F
+ 576AB0A8A431A00BA1EF9EF12A3195CA
+ stream[256..319] = A2B841877598DDAE72C7A95C64B42B6A
+ 0CBB533D26C112EB4FFEBD877349ADA4
+ 96FD3A85D4FA156D0BC235B1EEF2145C
+ C960418921BEF6767A849B8A07946388
+ stream[448..511] = 56ACCD89A9A9D40CEA11257F200BCC24
+ 52DA8FC05221CB9B8EC524EF0DA6498A
+ 4A644DC45BADDB11D484A05252F1FED9
+ 8F0E440035F2E8E48DE10D462359993A
+ xor-digest = 75992F0EC4568E17B53A46E72B0EA884
+ 4491F546C049AAB4B7184A346AE2FC91
+ 44A653F6D92A10EBBD072AC110143A6F
+ 301BA786407D64F123A7A37B143D2B23
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ IV = 00000000000000000000
+ stream[0..63] = 95538812542D53EA9372248966D2411B
+ 4A476D0235B2218CBEEDCC19907A65B5
+ FA3D78DE6CF7F37C363A046E9E56DD29
+ 8221194514CD48A390689D6730B19FFE
+ stream[192..255] = F67B9876267828B8D2343B9D40B1F30F
+ AD050BC3187E6AFF8BDBB1DB6688F2CD
+ EC6720970C53D66D1FDA49CD9BAD066C
+ C6FE67F7E6280695FD5B6FC24AEAC016
+ stream[256..319] = D75C48BA3F67C4FF0E29353C6270889F
+ 83E35B7128D21DA6EE77A8B91C65E617
+ CB56D555804CF0F97FCF99D4FD405D74
+ ABB9F46AF98C6C3753CBF7637FD9A3EF
+ stream[448..511] = 0CAAA9499018F734C786BD3EACF9F7D3
+ 755A941A5EB7D376C6944D7B3FD1A6F1
+ FD2DC782A5777CE65400870E3EC66B2B
+ 9D001690D1BF2815C80B980F409B2619
+ xor-digest = B9CBF21C2E2C4DFE8B1764B41B00A4BC
+ 8D76C82FE6A713D5D1831F3B33F61BB3
+ E02EED4111C483FD33C8DFB6CFDEDB9D
+ E5F8C168D3F0A36E7CE042B423EE6CF3
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ IV = 00000000000000000000
+ stream[0..63] = F21EFBE4459DD5B50449E0A4C5286407
+ 692CB9CE970A8E812080DAD813DF87EF
+ 374529C405FC339A6A92B8DDFD3CE0A1
+ BB6926C69687E0BA2C3A9001004AC8C2
+ stream[192..255] = 1B5C536E0D6341364D0A4C5511CE6A62
+ 4C4BDC8BBB7112C99A753B3A9175E608
+ 1B08AE347B1CCDDCB3926EB503050899
+ EA73779E2AA0879A54BC669B477F0CD6
+ stream[256..319] = 5CEF072AB0E5E3A8F3F21C79C3BADC80
+ 951532130718FF6C509DBADDD7035C0D
+ A661E31F2F7127364907F894374B052C
+ C5123FF1196B0DB1163C35A3B6348C73
+ stream[448..511] = 8F03122C85BE953EC58EEF85028F318E
+ E97E0D8041804D74C98485DE7E2E7976
+ D55A7674C7D35E999675F379F71691D1
+ EBA07AC3B63BC737BE106ABEBA7194DF
+ xor-digest = 29728778A7A683F5B73213FD66D10158
+ 18411E7454F78CA2AA782318587B7916
+ 0B31C7CB78B35AD9611B6F64B8CDFB2F
+ 260BDBCCEAA744A98F8F45001561B719
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ IV = 00000000000000000000
+ stream[0..63] = FA48347D1DD22B7E77AA8BE9FF04D029
+ 1CF5F33BBAECCB973E54A34588FB0E71
+ F360586D45BBE5AA20F489ECF4DFCEB2
+ 0A2D0832944EDF339F951ECF21EA20DA
+ stream[192..255] = C4CD17F909450D82B6FE2402B8634EFA
+ C90E8FA2596CEFC1A610F213A430D0CC
+ 66A97F212B255D0D2F2DA1FAD590214E
+ B43D8893274453874899879D99BE516B
+ stream[256..319] = 44700BC6C882F4EEC43DC1E6CDD1916B
+ 965513C8D65E2C995A09D3D008074393
+ D965D59210001FC7BED15DC5EC60BD20
+ A289031432179DE40291A834EF4B268C
+ stream[448..511] = 6C30C15ED03B23F24004349738B7F9E2
+ F689C4CAF108412CD0DDB632C298CCA2
+ FA7BABCCD3CD29FFDA18CE7E0D1156C9
+ 40D8D6F3199B187FCE0AB52AECFE2AFB
+ xor-digest = 88156EAA28B5CB78D4506603268E40E5
+ E2A6A46BDABD4F722749DC9D62F74663
+ 5D064374A1D17175AB03609F09B2E0BB
+ DD73B29A7CE9F9A2B2EEFCEF1E5E7E28
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000
+ stream[0..63] = 93EE16BB7456FFBDF4682C92FB55EFCF
+ A97DE58E792B05057B6EBD7420ACA467
+ 0FBAD7EAFC5A7D05875D0F8D57140AEE
+ A237A56AF99E023B1282BFE736788EE2
+ stream[192..255] = C66ACBF9B598A7BA5B3317301453B92E
+ 999B42E95541D5EB6489BC69C2E7F5C3
+ CB2CDEFA372783EC02D08F30DF4CA0D5
+ 201A19B00852126CAC64C7F7F137A03C
+ stream[256..319] = 1DBFB025491EFD2419561DE622F6F2FF
+ 0E293B67B3950160C8F54E40D626FD17
+ CA2D840FA11E35B3F40764ED3B567776
+ EB81B8B146AD25622D9755E695E578DD
+ stream[448..511] = 0282CD37098C8267AAFB6615E286DB6A
+ 93E656BE8C6F617677FC9101C096F042
+ 0E59F2C032AF4A60DD8BCD446981B973
+ 3E57DD6C8CB82CC48AEA84B42E2DF5DB
+ xor-digest = BDFC2B3A9C27B910CFA0FCE9EC0D8BE6
+ 0F6E0A318A5673D5CB3A87A55E6DE176
+ E8571D24C22D85A9147BBBF44B2E26F6
+ 14F1A41E85539CBBB2D0FE5C1EE64F28
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ IV = 00000000000000000000
+ stream[0..63] = 53FFC72CA7EC338C5976C874654EA29E
+ 9441D99A70AEF97E6C506179B3293A9B
+ 60F3631AAE92A41807ED3EF176A48CF0
+ 6D3331AB8F844966A688CA29709B2FFB
+ stream[192..255] = FB1B3DF3BEA89E11F1AF45C86865FC6B
+ B3E0B2F51FDFF0FEF199C7D107172BE8
+ 9718B613BDD52C50C77CE109E53FCA38
+ 37A2BB2815C0EB17666542B8974F68E1
+ stream[256..319] = 0D7F2DAF4CEF3B9AB3A3B3BB838CD97A
+ 7AE6910F8F3DA65179121931A7F5BABB
+ A0004A3D8B2DF7ABBE5336A1AACD2EBF
+ FD033951C0DB8948DA7A011E22494EE0
+ stream[448..511] = FED118B634B3A7B6CFC92F78D322FE1E
+ 895D53D5D1D1CCCCF3E871E6458BE1DE
+ A1D58F0B6792F48239E4BEA60FCAD892
+ FC09C4194C9203D1A61ADC962D9CD832
+ xor-digest = 72184870E1AD11F46E0EACFB7FC3726C
+ 9F2FAF603150CFB2B10DD18F6A3192AF
+ 02D115E6C8FC869039F3B6936E1DCFBD
+ 9BF15132D0A5E5B97400B409406EA08F
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ IV = 00000000000000000000
+ stream[0..63] = 79BA35989367E79D71F2A91611127267
+ 6A66A2CEC9A343F89ABF9F7C6DD3ED3A
+ 0402B5784191EAFEA0C850A0C75B5A0A
+ 34BCA1B6092C036609EAA4C37900B277
+ stream[192..255] = EDD22A7895ECA3EFE81460F5B4F23A78
+ E119AD9DC208F1E29A864B51560C19F0
+ C6F996F9A2469F5DB06664CAC5F21DF9
+ 98FD48C9070ECD86F0953C55110A9C4C
+ stream[256..319] = 3A5E553264945363B46E67CEACD203D4
+ F0D15083960E5623AD0DF44E66C6649E
+ 90A76F7BA5A76AD8ECBCB0519761B09C
+ 897D8DD221E0AF685C7EEF8059B950EF
+ stream[448..511] = 6F28EE357DD44121AFA23C7D334EF4DF
+ F3740E2694ED8BA1F0714DC02E2AC6B5
+ 957D584E55204EA5CB346E0FF55C9C93
+ 9C70D1FD557C2E5E37F88DC4DD331E91
+ xor-digest = 8ACE88D78B524B0BCBFDF9599107B72E
+ 8CA783665E600D69F6F621B6EE89B9EE
+ 94FC33C43FC637FE86D976F9C6CFBB66
+ 67D34A8F41B3E544B830EE9B39E94D7D
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV = 00000000000000000000
+ stream[0..63] = D4954A7EC3A0C03ABEFDEA57817C3D43
+ 4BDBD9B06B27E73DCA62354916523B6E
+ 46EF99569F17CF85FDF76E6B47B852C8
+ F5A2EA17BCD2486ED8F0B45DAA07148A
+ stream[192..255] = 7E0C18F6D294F59791043770CBA65A0A
+ 03C7B0E888A2239D9CBE14D7D008D220
+ C9307ECA13CCE21075C8FC98BCF485CE
+ 20EFC03AECC082714ECE82E3B3DA8B2E
+ stream[256..319] = BCA5E50BB1E81D44C2D9D00AB85B76C1
+ 3E5A06CC3BA0173B7009D62BF6E55063
+ D84A1BB2F4DCDFF350D73C288E070EF4
+ 9ECB1E62AA0DDE18EDE20A41613D88CE
+ stream[448..511] = 7295E5711B8626D382EE17A079D504FC
+ 33B8D5C8C256A2FC11E8C4CFFEA04322
+ 001ED60D18B58BB67E36A340CA97DBFD
+ 9E23EF1D02A24C3808F71C9E47DCE5A4
+ xor-digest = FF72D8C25658F4C54BFFAA1D1FCB86DA
+ DACF50ACE12263C3565820A845E91FC8
+ 84122CC9332B25E590A81AC2A0120441
+ 44BA389C3CF5C0484B947482EE5D6461
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ IV = 00000000000000000000
+ stream[0..63] = 61FBF23415752F4F539B07F859F602ED
+ 5BA9A28E110333186AB5DA47562117EF
+ B611F07CA4241DD79445EF44429F8F45
+ 3F1690421DCAFF3743A99D35DB1C24EB
+ stream[192..255] = FD57A86E47C02E01732432E02EE83814
+ 5CD7F99DC8A54DAF12A58419D7CC20C0
+ D88FAD64461164DDC5BC452A1AD34E60
+ B38CBCAB82483544DD89BB54EB45C722
+ stream[256..319] = C0088BBE4F584B248623725DA7BB41FD
+ 7206BA1D39605E814E6C11EC7C7FBCB6
+ 743BE95586B4D355A297AE196102592A
+ 38BA120E270CBE400BC026A9EB3FE02A
+ stream[448..511] = CE8A1D92BD3A6378D624E0178AA24482
+ C30160A1A365136B5B55C37295F7860A
+ FD80A1FA4012DD2F633D1541AE75C200
+ 192F2A5D55C0EEA25177C5814F4CD027
+ xor-digest = 9D6965A0F71C4AC485447DA29532A906
+ 19F1DB82D3617A4E0B62817A43FB2C1F
+ 87F29B8447ABDEBF2C8C7EF068EEEC8F
+ E1FFCC30D5A9555B20371E5094D4EC4A
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV = 00000000000000000000
+ stream[0..63] = E941D0E238FF2DD9A76354FA2BFFD6EB
+ 52DD0B93F7394E9FE4EAB30F8B28F320
+ B0D8A126BD5E78EC5EB4228E9CD762B3
+ DE6B089EB0264A914D41760402458403
+ stream[192..255] = A1D70330D8AF03C6480553D4F2A807D3
+ BCFE0069D97735BE21E9063835A09FE7
+ 25279C2C5CCDC7088FEEB0AE1B9DAC14
+ E0F8DEA4889B1E1781FC79C359DAEE0D
+ stream[256..319] = E8CD96181098EDD934B775A66A6E0FFC
+ 3A148F7523D594B4C265B84639053628
+ 183C28EDA2A5B7FEFBD817561595DF48
+ 4CA5D0AE2445B73D5436F5135912E15A
+ stream[448..511] = 4A53DDE533583C2DBE8C33F025C20AC0
+ 88A63EE815FC2CA7FFF143E63DE5CD14
+ 4E72933B35F241B3448EEF89FDDA730F
+ 93EACADC2710D4AE02807BA0175D19D0
+ xor-digest = 19A8041C4EF40E11D586ACC53652247F
+ EF62D243D7A9B36D0DD4A07046ABA737
+ 5C1D907F3966C7DCB99221FC691A63C4
+ 92C1B2F1A5D18E8C6BC346B10D97BCF6
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ IV = 00000000000000000000
+ stream[0..63] = 19032FF8B6BAC78041B9FA8C1106FF7F
+ 8BE8631C80AA292A2EF7BB7D434B1D02
+ E5935E83EB005C019E2BA0578E5AE031
+ 17F1BEEE6149A97D52E1A71F61114D2C
+ stream[192..255] = 61C70E6422BD3571501C4ED602E499A7
+ FD57A7E13C1F724B28624468659CF267
+ 009713D9E7277CA107B957648E5D3981
+ E7B7A5D5D4DB4287CBE4A203AAA6B1D1
+ stream[256..319] = 89685D92FFFA8161B84B7D00998BBEBA
+ 3C0849DB61A24F842846BC013A4E28AC
+ BE1C2F25AC09AE89CE26DA30E1E0FE8A
+ 3F6FE01AD1689CE0C28A4EF9D0D9938F
+ stream[448..511] = EDE4A21653976784438F24694A758515
+ 0BC608718FA179C29BC8BE0F2E1B8C46
+ B17AC68C24EC4E61FAA81C8D11C23321
+ ACEB47DC4CF69200CAE3311E9AB5AD98
+ xor-digest = EAADE864BB8991795731F623DB647BB6
+ 13E70AF78896CDA391CBB5E5676B0AEB
+ 18BAE47DEEF69942E6C80E17624C00CC
+ EE860C6C93D4A60AFAD55DCAB1CC85A3
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV = 00000000000000000000
+ stream[0..63] = 57B094D011028A739AC687E6F67658F1
+ C8E189E27365D01CC7362B52066D114D
+ 5C4133543A0A247C9A6E0D61A4A1340A
+ 0A8A7171C13E0F7381F5B76DE854B802
+ stream[192..255] = B10DAACD33D10F3A953F4723F46F202A
+ 569DB560C2C4E026F9666515712FB34D
+ D9BAB94028EFF6AB9C8ACE6A335428B2
+ 276DEA6F100F60DB189CB9F57EE3B85D
+ stream[256..319] = 852CD86B7F557888DF0AC07F399397AE
+ A3C78D979BCFB6AAC184F87FCEB82A48
+ EC09A6C710586928A50D77AD43C4C556
+ 0427C2DE30038A8BCFA742CA77C1CE91
+ stream[448..511] = CF5A075172CB3257D9D6B85BA328D083
+ AA013BCA2B459F1B2582D8F2DCF7AF7A
+ 3D53A5255B049F40296CB715D60132D6
+ 371587F78AD41D57A224411BE0AC96AD
+ xor-digest = 9166DFBE926ACCA3278E11299466B9A7
+ 280C46AB2B050364FEE8E5A67DFEB8AC
+ CA9348E980AB8F7F54AAF0A8118E1037
+ 060834B4FE534EDBB00D04FA66226A23
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ IV = 00000000000000000000
+ stream[0..63] = 5902BC3DA97E1B9602C4115697ABD95A
+ 968E1F1FA143EA29AA5762E5EE1AC2F0
+ F6312D2036DA700A76D780659EEBB85C
+ 8CF9BCDFDC91877F83B5C56A1B58D23E
+ stream[192..255] = 17F7AEDDC919F1A55BF5926801D86B20
+ 5F2C19CB5641AA6335AE6B4E2094695F
+ 40879BEA4BE7D9B5B4B8E1A5C34D9FF8
+ AEF20FF81DA27979D64088C47EB941C3
+ stream[256..319] = DA9796423665AD85C12759ABC2B72C7E
+ 8580176332CDC94DB4EC6899E4FD900C
+ 819A5AC9405F5B53BEB056E81620D50A
+ AF6FE7C234FF4D5C8F8A7A3C915D2EEF
+ stream[448..511] = 6AD8AAF7F545E724FFF8E419B9B46B83
+ 3BFC4F9036D1466AF7038C17F5922C90
+ 4E00ECB68C46B90297EDD62473CDF2FC
+ 6E6D2AB8D0AAD55601E2C47A1C8C3DEB
+ xor-digest = 0204A195916EA3E209FB31AC357A5EC4
+ 2C6BF8CEC5ECBD2FEB262C4442656EBD
+ 2BCFE0EFB9A276F2FB9BCD0FD1EF3308
+ B62CD80DAC983A1AD35A078235767A5C
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ IV = 00000000000000000000
+ stream[0..63] = 0E1A863907B43F8552C8384CB1841B51
+ D037BB578A8EE0583458B1979EF6B63E
+ DE209133040D5CBDF309F8984BF29D3D
+ C5AF770EE6763722BE216ABC57A38A8D
+ stream[192..255] = CDBFBE5A506EB5B9DD88142EFA80FF76
+ CF15834343E7548DEAFDD2B8B1FDB2AA
+ A30462C40ED86AF3D6673F6AD13D8ABB
+ 4B65E85E77B949B3550AD777BC95F265
+ stream[256..319] = 04256F881CAB3BCD9E24113C80B167A7
+ 3118A2BE196F8A331CF7B3789D333E70
+ 01A74CB6E1F6C75169AC2C540AF57F94
+ 90CC0389639F729728CAE61302719604
+ stream[448..511] = 794819CF2BB35D8AA176E6CB5BB9E8AC
+ B9167044E587675EB1C356FA2919AE2F
+ 309BACE5DCF4E4C6E0C68D900CAA59C2
+ 8EA1837EDE80540797CE67E911CF663C
+ xor-digest = 21E1C4162A954D68ACD7206553F51205
+ C01F846F09E58F1B94995AC4F6F30499
+ 5FC15667959B153E5A2B4A8C5B49C9E1
+ 47F0F26D5AB4FD09A9C402DF3F94D7F2
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV = 00000000000000000000
+ stream[0..63] = E4D91492638AB126E13339DB2C026CCA
+ EE5E19A3249654499EE8462AD31B1F71
+ 85CBDDFD82B063FB24024E2F2DB2B4D0
+ E1A98352AF40060B195A461F4ABF964B
+ stream[192..255] = B80F64F96A16D5C3B5569DD1375BC2F0
+ 1EB997B18BA1504C96ACF8262651F1F8
+ EFA37F977E572CF01ACD3D57F2AD7026
+ 72AC2FA0CC59CEFDBECC1AE5C99F9ADF
+ stream[256..319] = 467AF668B6D1CC9CB8581A4060C6812A
+ AE2EF6AABA88C46BE6D6E715E8CBD5D4
+ 151343EDE3B76A5B11224FE3DE3F3DF7
+ 95FA707556F85850E19C46445D00D77C
+ stream[448..511] = C9C2BD61C30E1E8A93F1728A51EF94E3
+ 30EC5A22E0877C1B81F6934983864BFA
+ FDF12420394253CB15469639C1840A72
+ BDC4BDEE465C6F0BC66185C653E3A518
+ xor-digest = 87B094873DEC29F83AEA0AD7FEF111F2
+ 344A1344B7BD2EDB453A9412E2DBCD6C
+ ED83B9677343D5CD68CEB2EA50D2B2B8
+ F12E19F2F1CBAE101EF7ECDBDB5C191F
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ IV = 00000000000000000000
+ stream[0..63] = 915E6B05C9FCBA937A61D9DBA6F2BF50
+ 943380E0898B0B57905A8D308D6D521B
+ 6E65E47FEC4E0A845AE7AD2BA73C058C
+ 0108FB5CA729BE17FC7CBD35303D9F54
+ stream[192..255] = 6994CD9E2311471D1B7C6B927FEA806B
+ 3DEA06DC2DF021CFD6E35F12C9B5A9B3
+ B84234C6288881E8842E01C46FB3EB87
+ BBFDEF6B49E68CA12F8A4E3A2A5E4252
+ stream[256..319] = 252AD9DC9252C455FFD1A509A274CB87
+ AC46BEDFFCFF5C80A133E6205C97B9AA
+ 2A0159A031394CA254E8A71D8D5144D2
+ E4DAE61130A94B4D8F3BE9D72EDA20F7
+ stream[448..511] = 1774B6CCA18EB83ED26F3D0439CF10B4
+ A3D775777FFCEF4F74020CD00AA0E5E1
+ F42CEB5496EDBB366FC73AA939EA91CA
+ 1393D0E68781D1752AEDB2074B4D1C02
+ xor-digest = A501C688A8CF14B37603912B884D9CB2
+ D9F91AC8224B66312F0DB5BB051A08A3
+ 46D8F9578C4A692E053A753294757CDF
+ D355D3E68E2114FFB96E58AE036E1127
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV = 00000000000000000000
+ stream[0..63] = 02BF7D7FADF98CF15ECE5390A80FEFA2
+ F5AAAE39362E531BBE55475970183AB1
+ 5C7BD6A67E4C5C311249B4430702F527
+ FA613C06D2C13A830FA7CACC4955F9DE
+ stream[192..255] = DFF1C2DAC5AF41B40573A95BD967234E
+ 116512503846217825C773E4B16D2186
+ A804AAA14615C36C493203EF82005E74
+ 97FE9DAF1EE8DA49F6B27EA216A095D7
+ stream[256..319] = 29DA6AAF65063A35D12CED9100FD0CFB
+ AFD9A4E0C0648359C06C5CC79AE9A151
+ 42321C9985CB6BEA119C550A7504D77D
+ 5F68A493F98123625F32E805C3AE45A7
+ stream[448..511] = DBB450E408533FA4676060F9DB14993B
+ F0403FB0D503E06B1DA63D4756DD8EAE
+ 719654C00CE758BC611839D11B586B73
+ 34796A859A8B28DE51068CCBF45DFA84
+ xor-digest = 08E2D15F9F148B5CD4A949976D8CAFC8
+ 20FFD21C06AEC647B2BABACE817635C5
+ 6FAEEBAF1F18D6C4CC7DF6AD88E9C705
+ AD42B0A9FE6476DD37C0A284AB8D69C6
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ IV = 00000000000000000000
+ stream[0..63] = A0AAA4FC4B017411E8EC3114C8B1853E
+ F5AD7B12EF7867CB7C561230E46AE294
+ 45A69A55373734C0084A99AFF3072D82
+ 75CE61764636978095BA554AA34DE934
+ stream[192..255] = 5E4C9140465ABF2DCE5D6DD350F61D02
+ 1F98C27105F37EC603476D61B2F612E7
+ C66DE36A4FEEA9871E5BFEFFCD62BF1B
+ 28997B5FA620399AC27C18C7244E2A79
+ stream[256..319] = 460BF9B047ACA12BEA4EE43C41D3D52D
+ 65B1CA02DCFAE01B0286C78AC73D30D2
+ 08EDAF8028B062ED764A35F3B43A58D9
+ 8A14C24457380C18E0AEB9A68E349793
+ stream[448..511] = AB8F2C54234C9BC341D54E39E4F0D6E0
+ A558C654AE8B0B09E211C8E05DA81078
+ 325E31181F840E3B6C0500357CC82037
+ 38B2F60F1C2FAAF4E109635206E868A1
+ xor-digest = 7652E4B30962C86715FFEA261A5DF87A
+ D4E87A28A304EEEA9F885E9B8F9C09D8
+ 6037DDEF0F8CC363050BB99EE00D037D
+ 478671DF0552BB6216D609DF25787BEA
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV = 00000000000000000000
+ stream[0..63] = 5BD91BF17887FA579EBB0755050643AC
+ 121FDCBA849FC36102622E41D80D2681
+ BB6D4DBEEB3F4B75FD64FA459B8C95C3
+ 3210BC0ED427567A56EED96660187138
+ stream[192..255] = 726D611EE5526C4B6A027DCFCF4285D0
+ E14A0781072701C7C937E418CB304658
+ 22A1325BCBB8B22BA08CC98BB82B9B4D
+ 9035E3746C75A0A00C09D6EB2DAAE0BB
+ stream[256..319] = 61360694AAF0D6949FBDA0B7C4A81752
+ ED01E71926BFC6A8614349F9D7328BB4
+ A280385F91A1CF012BA85E832D9FAEFA
+ C572D6621956FD6291E3B736FBB6E9FC
+ stream[448..511] = F45C362299839D46F8420EEA0353A6F6
+ 436E04680830E6F7B21ADADCDA0743AF
+ 352669DB5FD09476F1B66C1E791D41C9
+ 9D6FB2CE4A21D02510B440757BCCB6F3
+ xor-digest = A34CEB392A56847E25826D1845B27787
+ 01B9554DBF56A715816582D2F8CCA5F3
+ 17D02C942B14B88764B667D303451CF5
+ 51CB05376EC729C60A53A318DAA05C4F
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ IV = 00000000000000000000
+ stream[0..63] = 044F249E4D5CFFB664C034A3665B4E4C
+ C60DCD3189C340F5062F67AFCD25700C
+ 2E752E8673CE9D1E645C4626263D3764
+ 5528A3029BC23451801C6E0EEEB1AE45
+ stream[192..255] = 0350C5BD50B1AEFBD01A739114A31A50
+ F0B4D20B97887E760574E048132390B5
+ 6F0E6693217192A9EF482AEFD6959F89
+ 80343CCF27D123AFEB7E332B3242D4A6
+ stream[256..319] = FAC1324A5985CA42C0F520F7D9715353
+ E5C7DCFD2D80B482932968B70B6FBC5C
+ 29B5C264CAE189501083C13060CD3491
+ 15411EC97E2E25CD8F3BB106DC146324
+ stream[448..511] = 924DD71D1BF69595F0829D387EBC6A0A
+ 40558D9205756D10294D3E706F784EF8
+ E7E4A09B4273FFD2C981070679BDF7DC
+ 7B0E5D88E6A9F0A19CC036B06E170957
+ xor-digest = 20CBAE6C3A45965402C9A06B23BB6AD9
+ 2E037602D984378DF83DC7ED70B70362
+ 46849E19FB548BBA6975550EFEBF91E6
+ 9635048AE2499D8942D331F16B2BAA5E
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ IV = 00000000000000000000
+ stream[0..63] = 524903104370B45F218CDD128C4DE383
+ DD24129DAB62E84450F60978C5AE28E0
+ A8B96889A66223343ADC11D656E9B6C3
+ B2748291CB8CA71079F7B5A7238275EA
+ stream[192..255] = ECE65720727E670E9DF86FCF41C4E1A2
+ 610E562637888E40999879105187C401
+ B5B34CFF1786EE0AA1C91F7C98DE1480
+ 5A2F85B2DE1C8F13B2C095A00641760C
+ stream[256..319] = DA857331465B4A797E5A895B541EED2E
+ 05C2810DE1A26C3EB9182320C1E48E21
+ BE7A541B53C6607F487F12F742F13AA6
+ 31DB3DEAD561BE7B4F4C14F4C4A0ADD0
+ stream[448..511] = 4F9363AC4F7E882BCAA09A29FF0E2E3F
+ 916EFD291ABEF2B7F74939A1C7A1A47C
+ 5D826EEAC23E5DA8B2E86830CF5E7AC7
+ 25961E3660CA9AA26295E37BF9960E01
+ xor-digest = 1C9C45F9DD2CD7C8F8558354DD1318F8
+ 825E3E84E3F1BFB7A8B570F96894156E
+ DABD72C03DB1A58064BB7AFCEEF8107C
+ EDDF33D97965487867B0F78D530E551D
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ IV = 00000000000000000000
+ stream[0..63] = CCC2850BB6ADFF5900412BCE7C277C4A
+ BC8BBF811D5029054D0AF93D22F4E08E
+ B2CF63F65286BB3A298D6C6FF988807C
+ E25D30AFDDD4E95EA822C5687C6E3985
+ stream[192..255] = 6BC028ED797912C2AC08633E8B7FC055
+ AE4A690727A8EF537F9DD4E2FBC7757C
+ 7CE7B39BDF05DD7D2FF6D9A277B4FF23
+ 42164A6CA61765E4377BD9C7B45EB456
+ stream[256..319] = B5EA4E56163C921A5153DFFCE0CF608A
+ C619D056368E565098AD3E1407C1A666
+ 8E45FE2E66C7A18D2C1F341E6AFA58E3
+ AB25299C7C4D37375640039C274D3D48
+ stream[448..511] = AF503A3B466E77397D2BDCA3E5895571
+ 229F9ACA36678F6FBD161C0989AD4C9B
+ D0A31EB539FB2E7901A9AF9469EF8528
+ 1554D2960E9117E8ADD80FAE77DDA1A9
+ xor-digest = DC9B1E0C6CAF898C1B71EEE28B0ECAAC
+ 31DEE9E79B88B45B9EBAC31DE5B4D2CD
+ E08950BA5C40EFF09073AEBC3D0064C6
+ 531F91BE8A62681D90BF14EDFC3BB4E5
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV = 00000000000000000000
+ stream[0..63] = 928D5985529C57589C2DD8F5F147C857
+ CA4E0B6C5930D55B0911A84119D6FD85
+ 4FF86B5F847381AE8A89857F827AB0F7
+ B075A2B1DFD652B3950C647DB3765238
+ stream[192..255] = 08D781AE960AD784CDCEC9E067852F94
+ 31E5ABB24644392739A0721131C65ABF
+ BB7666D8AB1E79D51266D09441A51F67
+ CAA0EC09E019B0CE971C67A5A067FEB4
+ stream[256..319] = 8E0E5DB0B05122645809F85546F83548
+ 66E7A748F4C34A70B3C8EC2FC8963526
+ D65933196CF557B08C5E7804BFCE3C8A
+ 325AB3249DD90CF2DC6284A4AD87A635
+ stream[448..511] = DFAB52B53A5F2ED85BB822174FA033D3
+ A571B80AC0B51C279D92462F2AC2728A
+ F15A9D30B3FD22FF0CA8419E290C50D2
+ 06F5C5A13787E742FF0EE4E41A161D08
+ xor-digest = FC1A47E550F183E0F74880BBA7A0D980
+ 6243249EF8966FB4205D81B1A2C7EAFB
+ D5AD063AD04F95CB42ADA25438E495D4
+ C50191C59C935F8A26C0CA3A2CCD5B78
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ IV = 00000000000000000000
+ stream[0..63] = 0C7E44242C8F8950C15CFF3D317D0CEF
+ EFC85F9B021489553546F85A07053BF5
+ 45C07504C4F19C48EC92DDC6CF7A24E6
+ 286FC1570CE8938769C3CE6AE75E064A
+ stream[192..255] = BBEF1446B83EABCED18B7A8D197FC8DD
+ E954B96E9BB92BFC838CD637E02F4138
+ 559617F768B5D8F59AF926D401566112
+ 370AEBDBAAE831DB4818067CABF1C0CD
+ stream[256..319] = 008F4DF231404AF23DFD2A357795D507
+ 63EE550A5AF0D8FAFF52F61AD0E3929F
+ CDF5E508B7006D09689F3882FB6527ED
+ FE3A446B92345202F6D9F7BDD0C1CA25
+ stream[448..511] = 976CEA0B3C1D8B5805527E407A15D939
+ 29755355B4A5171D820DC7C13FC5B855
+ 75C5B3F5A9C5633DB9914049F4604B48
+ DC8E1523BFCC95B5BF47A1911FFA5734
+ xor-digest = A665988ADE6A52392C5EE6AEF40B6AC6
+ F3C3386571C91A5B8CF0BBEFD43037E8
+ 1F61B67A4489526D2087E3DAEB3C5EEE
+ 6E763B4BF4619BB04941C6C724E5B9CD
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV = 00000000000000000000
+ stream[0..63] = FC431935D374716D95D83CD9CC24E27A
+ 96F4852229F3648859AD0A1A569FDFCA
+ 58C43CFBF479F6C81CD6712DACF031E0
+ DDCE2F0C198EF498A7023ABB7E16A86C
+ stream[192..255] = 22457D7AF722FC470AF334F77A4AB626
+ A30EBA3CC0A3E60D930B0A8109D74FF8
+ CD8C64CA66B11E8C84CE1E3B8B52C808
+ F47E4073771E35571EE9A85EA686AB9B
+ stream[256..319] = 58A58DFFC1624D394B9D4943FC6AF41E
+ FD92064B16A572FC79A32279C1EC8D74
+ 0799CF32F1B174A2182C6370AB29E2B5
+ C19CAE34C747A010D1BC09E27A75F2A2
+ stream[448..511] = 195171A48BA686BCF2CAEC553EC24A2D
+ F6245C1D05D802B87742C9D843FB5C39
+ 2CA59B10F9875C46AA60A9596951D253
+ B215F0DD1F84DDD4BA9E3B67075AAD09
+ xor-digest = B649E4F6EF91D47E2236364B661A63E9
+ 9A306FC8DCA1361B643531999A5F43E7
+ 2DD09A646F7BF0C3848D647F2CB343A4
+ 33103B5E3D84FDB0976C76AF20C5C12A
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV = 00000000000000000000
+ stream[0..63] = 1D66E23B3E087A2203DFD56F0D2EECA8
+ 98B19700CDDF712819EE83C59B47C7C2
+ C5CDE4B95AD597D7620988BB5619414E
+ 9A60AE15D72DD9CB95D66597D0772BDF
+ stream[192..255] = D877AA71AB74184BD5C40EDC02E90676
+ DA93EB97C88A626070B6429400F926B5
+ 0A26E2FF29487FB0DFF8197C626E06EA
+ F08A57FAE293223A39A02C2C12ACFFFA
+ stream[256..319] = 960969B32FB75FFC013626225F57C6EE
+ 9F7D3EECFD4500D8D109B1194AC43F57
+ 39BA71316C676962E698DDFA1A1A08C7
+ AEA6166A3B4D6C1BD055CC70E1959160
+ stream[448..511] = BE6EDA644FAC2C4CFCCC88B2F4D43223
+ 525905CF508A75D55E6FFA0DA517EBDB
+ 089F9AFDCB6DFD995578D44C7BBBB7BB
+ BB4CC86D4B3F1EACF00A4CC8C73E3410
+ xor-digest = 023A5FCF6F9F51FF817A8B812848E1F7
+ DBF07D43991F3564F6F5999BCEF2E13A
+ 3186E5038A6D210A75FA2D091C8D8A50
+ F9A1792D28A02AABF822E0401C2F6DD2
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV = 00000000000000000000
+ stream[0..63] = D0EA3FC83A5FDDF7B288798423CCA00B
+ 5389A95E77434AE4E8898BDFBD076AA0
+ 7648271722BF928C3D8B29F011D1650B
+ A97335E87E390E7B2051BBE83C9B1B8E
+ stream[192..255] = E84F17D162F27FCFC3CB4893F3F1166B
+ B106CE0CC49B361EB07F66034EA17DA4
+ F0746E643C26272EE1C02A1B46CDD09B
+ 668DB45A4C1FCBF7F37835725A34C8E1
+ stream[256..319] = DAC5E81B96AB1182E6EA413CC1E0B15E
+ 96204ABF4FA97A8AEBB3D5C7117B119B
+ 35AA61303FECF656AE9836F764C3667A
+ AD787790CF3F8267E7C4AC5B99E90831
+ stream[448..511] = BD76D9A9B2FE3221968933EA7847D37B
+ 2CB406111E2426BA9362856A027A1682
+ 9F3E14412668B1A04F4A59C8F97939D4
+ EDF07A8DEF652DBDF0CC0945007BCFBA
+ xor-digest = B2CF06B1562B92BCD142DC3E91FE42D2
+ F801B0C7F1DDDFACE0BBFD6B5E851E72
+ 78AB1CD4F8C253F0CC3F41E1BD287289
+ 78E5E145080D938271F2722951AEE6D1
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV = 00000000000000000000
+ stream[0..63] = 12AF896239F5F2DB651CDDA791471C9A
+ 6138F488703675EE318806BD7CA9101A
+ 14699098CFC9C170474D8ED51A9FA1D3
+ 2CEABBAB7BE00AEAD670CC27373CA5F9
+ stream[192..255] = 3EF33B1FA9917DE469F2569D8ADF76B3
+ 555A3EE2DF9D46465D918046B7DD6216
+ 36936EC0EB4FB0F200B1F276E38927C7
+ 2954C2A889D924B80FB1D313FA24A465
+ stream[256..319] = 4A427F783636669BD4E69E839FFC00DB
+ CBF1DE0F7A61E2B61C9C4B6F133CE1A4
+ 22FA77CCF5D409B0294DACD8C1513A68
+ 4D59401D79FBD7DD93C96432316CAB63
+ stream[448..511] = 3640A109D371071675AA326EB6373078
+ 24387D39881A51F34B3ACDBBE5D24B5F
+ 6C2DC683EE5C6C386894A64FADCAFA40
+ F173827FFCBC908B5374A5B53B5261F6
+ xor-digest = EC7BE0D9774042F08CAA3066C87B10DF
+ 2E7A2E335E907A269B2101ABB260E68F
+ AC5EC84C76D86B41695C67F4B8305857
+ 9758B745FF0F5DC6B7F81C1485F4C3F6
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV = 00000000000000000000
+ stream[0..63] = 0D79EC21F967B48DC4D0299BF213463E
+ C3607D35286A83EF3BCBA74A0E084430
+ 61BE172EC973CC56EEB9065E82FA41F4
+ 9AD13B244FC4259DF275BCB963520D87
+ stream[192..255] = 96413F321A8C94F7E7BEB8FFDCDD7999
+ C7A3C70F94E046041E0C4D3247CE6A56
+ BD6BD3E04C26D21CCCB0C7E0ACF329CB
+ 641FE63EA9BDC28F0F44414F7088A28E
+ stream[256..319] = 1EA3E901749AE02AD2FEE01E04CCE68E
+ 5F356A1B44FFB7450A766E6C56C461E8
+ 1046E9D0E5D089F891096F097D5572ED
+ 5BA5EFD9794128AE91B18AA2CBB1FE35
+ stream[448..511] = 7D25F59CE583452D57B99D406C11B0B4
+ 1AA3592641C659C1A1A630A70CBF1A30
+ D348A3F17C9F250EE241EF048FFCB7FF
+ A81E4E33CB8C5B7EDBC546D7CE57E4DF
+ xor-digest = 4E3468C6482BFBEEC0A4C47A3D4C4B1C
+ ABDEF3F4FC70724531B9A50830337BFA
+ 19CB31A434CFEF66F17282CDEE2EF5B3
+ 67A364BD0B6A3AF4DA71C041FF5D7044
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV = 00000000000000000000
+ stream[0..63] = 8FFF28B95CCB4905ECAF36F0EADE8FC3
+ 2A2CB5F38AF6A909A772C700B574E562
+ B9DAB459647D54253E2348873DDD800F
+ 6FAD8318009EEFE21B008CCB36F5C150
+ stream[192..255] = 35A2CE396BA415EA36116A009185A593
+ FFB39FD0CBC881E0005781C7C0811193
+ 19E536AB5388D012E50DDA5B0A0C03EE
+ C43CD864DC80DB85F0663E474B0E1788
+ stream[256..319] = E9C99136267B89CBBD6254A09665B0B4
+ 77BC677548B425293B8A2568F3976BCA
+ E57308128FB85E3F5A2532E632F25883
+ E5C9ADAEDF788226017064CA46B4A4DB
+ stream[448..511] = CA60EDD9F12D6E032637AF24188C6789
+ DEED81E645317358255196B5AF5EF8E3
+ 94746071BB2543C9B211338AC50B4B39
+ A19A829A211D7E731956665B3386D11D
+ xor-digest = 47D1764119428C9D0194F3D66BC14DCF
+ D99C6D17A9EB556F1AB18C9282FD6CE6
+ 7332FBFB6F4528217E902BBE99875241
+ B6969DAD1A69C701658B454210F83F80
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV = 00000000000000000000
+ stream[0..63] = CD51E28C7E2404EA59C7AD9609042B86
+ E4DA80F7E7F1D1344EBE0D255E473736
+ D46758BA20D3EE93EB319705797E130E
+ 553E1CE6271FD0F1073936A7A51218DE
+ stream[192..255] = E6638C590173DA703123C9C42095ABCD
+ 9350ADBC438E6A0EE173377FE5B6FA06
+ 6838F018DC96D5F6F2A35B0115791CCC
+ A98D0001914CDFA0A6397EBA4F34724F
+ stream[256..319] = 0273BE0D92F33AF0FAB1BDA2868F20E5
+ 680F3B9694AE6CF40883836FE8498B45
+ 0233320A2886D12FF9627362D8410234
+ 51F67C293D82E9A787C2C19C624F1B6C
+ stream[448..511] = 73F2BDD2C826BA6DE198F52BFBF15086
+ E6B1477256E683AF08EDA50FC9490CE0
+ 252ACCDCDCA851D0A78CF73C8D58F703
+ 60CA126146C5280ACE617D95A57B617B
+ xor-digest = F1D5E08648EE58504521B5B0954ECD4C
+ 1E3AB143DDA118246BA46F0FACA48557
+ 939A952EBDCE7D63C6CC51546238B30B
+ C44A9C32D1FA3CFDFF1BB2904C910C3B
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV = 00000000000000000000
+ stream[0..63] = 5BDBCBD51C0BA12A3DC08C1B52989F6B
+ 59F9EA352C600134AC9FDEE515BA07BC
+ 06D10C8D94667B231ED54C7BE2A9AA2F
+ D22316AB7D5CD44B9CF698CB591C2836
+ stream[192..255] = 27DA02BD3BDED7F409B4718FE1F95BD7
+ 5D0CEDAE6B1B1563D962892A4013F027
+ 0EA0669E6B9995CC89B488D3D3EFD91E
+ 1B616B13E41CBA5A33C177E7ED589184
+ stream[256..319] = C62B20DED5BF53758D6E6F0512154435
+ F7C4061FA7A0FB21F5259BD84907909B
+ AEA414177AAEF99CD08A025D43433A30
+ 9B0A670940284F83457F2EEDA89F2AD3
+ stream[448..511] = 470EA8E20102A160B160BA26DC0C6CA1
+ 05CDD7265D63224DE49C72696FC69F67
+ E49CC3A938D7F20B64A5D5F6234E3C74
+ B014C3D2E3273A389E50FCA82CAD225A
+ xor-digest = 2CC893899139504172D677B1FBB11397
+ B41FEA63E75D6ADAEACF8C98180814ED
+ B0635BF7590773AF9B854DDDCDC79B11
+ 92177B14949978FC8326EEB5EF538540
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV = 00000000000000000000
+ stream[0..63] = 41387AE18A0D55719BACDD5CAEC0E1F8
+ 276CD2E7AA9A8F0D38699117AC13EA30
+ 66118D303C353FE43418327DE867A3BB
+ 7BB97CACAF156D937D325571E0565CD0
+ stream[192..255] = 96521463307B390C5595ED6901E9E4AD
+ D2CB9053CF459E58096F92449B0B3049
+ 2BDB372DB4C28C7FFC15C7949A7E3701
+ DB2443549F32EEC24627FB2869E508BA
+ stream[256..319] = 564D9FD97BEC67D2D59C44B58FE4E065
+ 257F4A087EF078453FFFBDEBEF96F74B
+ B08AEF44CF05C21F9C11EEBAEC8F2049
+ D8082D3909BABF8E71C3133D909DD065
+ stream[448..511] = FFDE26E49593B23FD5E4F8E726AD1A17
+ D126A540DAAEEE7C7E59DCA11559FDF8
+ 98E219D994FCC264971A03CE8CF4442C
+ DA2D242E5480EAF6561F50114AAB06E1
+ xor-digest = C8D95EB8E5DD67C5D7DFA173F2846EB2
+ 34496615DC7F7B806C85F5A92AC8AFC9
+ E6F33F5BDBD3588530DB5B180AAD23E6
+ E8FD18DAFBE0081CB3324D07812576C3
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ IV = 00000000000000000000
+ stream[0..63] = A15F6CFC64AA48A978C5E2D479DBDF35
+ 4C35C22F578B7BC67EE95C3395E753BF
+ DE575F4AD60C778982BE5BA89A87CEB9
+ 200F969BE43182282ED00DFDFF7C4AA9
+ stream[192..255] = 3B088C052C41172A024E9FBD5246F0AA
+ 07A3EF911FC0BE76D3C472FFD3469657
+ 32B567C9A26773273FE5989F24989345
+ 0B3D568ABCD10930B503935F186938CF
+ stream[256..319] = 9310153EC7406DB39A0A90255190B86E
+ 0E2E0764904F74A70B871DB871BB099C
+ C2E05777FDD6A4C0AE8C4B9094954BF9
+ 07D5BC31A16EE3A4C7CB2C8E67D8C705
+ stream[448..511] = 2C431D6DAA84CAFF6E64A5186DC1AFCF
+ 52D8F9C3432F6BAEDD935D034591108E
+ 0DECE2C4BFACFF424DF3F07209D1F4B5
+ EF80BDAEB89821DDCBDA1C2D2F423E9D
+ xor-digest = F61C37E8A3B6701B1DA51A873AE926E9
+ AB1608BBB4D871E3CF074EC800769A92
+ 872EFE554796F45BFB5FF0123A4E15D8
+ FF915C0D41E253BF1DB37395502D52EE
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ IV = 00000000000000000000
+ stream[0..63] = B1FF1452F7B871F81B453B1DB26F0633
+ 7056308118B3815EF956202F2C1EF306
+ BC124884018C01E13F98B7FC7CD4A881
+ BA4E3C18F59CD86675FCC5215DF3D06B
+ stream[192..255] = 11A1B3CE41B4C80FC991078650C531D8
+ F0C0A1DE24D641ECFD702E72C08A231F
+ FC933941FE9E1B9439A3306702746EFD
+ 69B927CDA4CD5B3368A4C6E6D3286C34
+ stream[256..319] = 259399BFD75B69FAC2A34AC6B2FF5EA3
+ 61A29E1EBA083B9E05DC272D4875F467
+ 1A11364D543003EED24339B97808A1E0
+ 3F0EA4BC3E2438CF15D5A54B46F68766
+ stream[448..511] = 9C2B46280BC12AEFAA4652FFFF7FC7C9
+ F5046C630F81E8DD8F69539737E1BECD
+ B965301AAA9FC716BD05A7D2A7FBF842
+ A16A411E58B54C2EAD835233EB310302
+ xor-digest = EABF0C9231101AC7B1A245734579D3D1
+ 4FB16B2962109F7731FF70BA8B2478CF
+ 03202640CB3904BBB90808F880798399
+ 16E37095B6955A7B6C2B5A0B879277E5
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ IV = 00000000000000000000
+ stream[0..63] = 8FBF284C44717727F5B5D91FFB0B3446
+ 51C5FE9F75CD3C4EBA5CD1AE953FEDBA
+ 20217D123A4ACC2FBFA3EE7DEB8094C5
+ D406C8CCF5F09CB7C665A9D1AA38EB77
+ stream[192..255] = 84B8CD025AE56B6947D99EE5DD55CD45
+ 479FE050AC3A6B0E339416E530E490BD
+ 9317EA58FE01E7FC44F7C554A5CBA1D8
+ 0E7C108004987D526E7DF4DA428E0818
+ stream[256..319] = 309529088DD9AC4EA3143C1CC043C88E
+ 2F37857B8EDDD483C68D142059019D68
+ 49217CB89DD2DFD5CC7EAF32E579ABAF
+ 76180818198B8D749FDECBF0CA8D078D
+ stream[448..511] = 7AEEC3C033FBA5D2D9071C52B86236E9
+ 2DD72024321CCA9CC653F3F0F6B61A1E
+ 27BF126506BF3CA08ECEC3D33BCD835C
+ A156C59F50A9EF69DA6A670AAEB5E735
+ xor-digest = D810761247062334ED1CDB7EBE2855AB
+ B67B9BDF22B648F11FD785D50C2E65B5
+ DD5425E0A216482D1C3A33CB890857E4
+ 00970DA03F8EC88B1D260566CE4331C5
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ IV = 00000000000000000000
+ stream[0..63] = 77163CC13BF2FD8CF792003AC0F79828
+ 0193CF8BB0AAD88990502FBE95DFEE3C
+ 0756372DEC881399F14CD61395F92577
+ 400573BF1B0CC188B49B81D492C96652
+ stream[192..255] = 839AAE05EB60E8A08189823D4D1C7025
+ E6BC89F5133FBB73912DBE2C842AF78C
+ 097A6ED8EBAB75B784DAE53D64A8AB03
+ A7CB5CC1118BC381B9FF4C8D81918269
+ stream[256..319] = 0E74B3EA14BF4480BCA82755F62200FF
+ ED2B4DFE3963C51D37A64B0AC7B14D3C
+ DAD1C6E4B6551E1C44D60E26806F3031
+ 8B855616D8FE63AAC1565E9298ACFA55
+ stream[448..511] = 33F2E66302818485335BB31E468326E8
+ BD3DC54696B68F77B496644B6859DB23
+ 9E18D041C3582323E6AACBF7330AC1E6
+ 4AACBEC60CCD98E9A3EE128BE9FBF327
+ xor-digest = 8104C53B1C3F96F5A9F5DE4E6095F557
+ 30BA6A371A8EE94E2FBD015FA1C5E78B
+ 8CB9B4965AB41B6F98A558294DB25646
+ 44A2005D677F17F4585166324EE4469B
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ IV = 00000000000000000000
+ stream[0..63] = 819AA160DE83035888FF7840C7E47DB8
+ 254D695B01B3B199C4846A735F57549D
+ 9E8BC8B77D8712118F64582B5E96A80E
+ CA4BC0721D3DC2D0C33CADD64488079F
+ stream[192..255] = 385E5B769253667102690FE85440553E
+ 03CC7030146F26D196CB4B474DEC5F9E
+ 95D84ED93156447B7278621BFCB15ADD
+ 3266E538213909DAEA8A6C155D491C04
+ stream[256..319] = 85BD1EE163E726B82759B6756D723BF5
+ 58FABDB00A378AF4A8BA61BF59D0DC24
+ 07114509547C0979DFF31D417AE25BCF
+ C4773539FA5786A8BB751808CA7C813E
+ stream[448..511] = BE31C54BAACBCB4A4E4DC808FB42D211
+ 7DF2DAF8F91FF09A83C86FF73A9CFA46
+ CE755B0A98E105469CFF1C6733F2966E
+ B5E90C274EC1AD3EC9D8124657D44E4C
+ xor-digest = 1B9F8100F978BE2F46ACB765B7A434A5
+ 69DE36A2D7D45CE8CD346DC9DBB164BD
+ D834AB14E45580074401DDADD3DC7C75
+ 76CE7BEC963B17B85EEBB2A7BDDB875A
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ IV = 00000000000000000000
+ stream[0..63] = 10A4F25444A1B8BFE9D87FBB8EEE5698
+ 65DD22D230A1632AD538E7E0AAAA199C
+ A16F40FC794B0367D2AFFBA51E4B013E
+ F26297293C6507085D7A0D48AEC6A468
+ stream[192..255] = F12549EAA40933C837AB3DA310AA1D16
+ D0F3B9FBBD7E2C6C8D06146FEAC35C99
+ 2FA410628F0C84E6822205033AE1862E
+ CC0139C2D89750DD7A9FEAC4C888E484
+ stream[256..319] = F85146AA727431B8596B676C646395D3
+ 688F29128390397B130202D3076A5D61
+ 969A9B548C71313FA9325C89004F7AF8
+ 05E6F64C97CCC92D45DB33E67BCFB32C
+ stream[448..511] = C6EC031CA748403DEABE5AF6794D92BD
+ BC643F04C78CEF1116FF6027CCAC24EF
+ A50BAE8957CA9858E73A8C30A4438E84
+ E9315A73F4E94F8A42314B72CE7DAC1D
+ xor-digest = 0286FC242FCB19E8962F9DBA9CF8B3A7
+ F27BFFC29DDB425722AC522651E67D7F
+ A74CC653EF1E2A3D4D1BDC5749859F02
+ B4100E3F63DA4468C96A0091878F5683
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ IV = 00000000000000000000
+ stream[0..63] = F1AF32E013D488E752395C1C921EF8F8
+ AF70ACC62EFEA4271027CFAFFC35C029
+ 8D71EE137D9C0EE9D2402E6CE3D5DB86
+ 04950E822C5A5E1ACA93DD7FBD9A0C32
+ stream[192..255] = DA7910E37E484C183BFF39962EEA7D61
+ FA4D6EE015076D9CBA3FBCD5C64DF727
+ 11B2F14E5BDC35FD1FA30F4ABBF81E7C
+ DCEF99D4B98BF97EE9040797EEC188C8
+ stream[256..319] = 3BDE605F1125673B008F5A12B3CE1DC3
+ 1C50FEC335568CCD7AAF201BF621D1E8
+ 7FF111C102BAA204C70589D5551C0338
+ F4DA83FEDBE5C0CA26CDAAB6DDAF2504
+ stream[448..511] = 26D7D52615F9042931C666529CD1BBFF
+ 34CDA30A0218268401369CA7588BCF6B
+ 639D310D1296877B66D7D1AD4F126E78
+ C2333DE848290320494EE71103CE33EF
+ xor-digest = 144A61BF5D0D4C3449C967DADC4C0824
+ 214E3724692869D2B16B2CCEF46DD0E1
+ 206D0A22CD66DB65B3CF5073C18E13B7
+ 89EDCF587E6C246DA9FB067D2F02CCB3
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ IV = 00000000000000000000
+ stream[0..63] = 319EAC9D2FAB4B5A2429713AF9EBFF74
+ 478F809CB766D66C76AB3A29161341EA
+ 6B4E2B8373A8301A81837DFD395B88CF
+ 3313C5B7443250CFAAF25184195FA8CF
+ stream[192..255] = D948E0873A749324E1ED96812FC602A7
+ C2491B634D5091FC90348D163158F414
+ 4D635727133F1F475B2D95E09E18AF1E
+ 653F08C60CD8E086A77E64563983D41F
+ stream[256..319] = AC7671F0990D5321CE5DF2D670EEBF1D
+ 65DDFE3805B22C53FD6235422404F0CB
+ 7AFFD3699C408EEBA4BB2806783F29EF
+ F4CECB58D2C1D5755B57C99DEF97BACB
+ stream[448..511] = E2F72724BBB37C16B1CB7C371D65ADFF
+ CD8E32B963E12930EEE6311530404648
+ 1A3CDAC5B53734F9310B26615A6E2B14
+ 7ACCA12DE52603EB0C8681640C57F871
+ xor-digest = CEEE7E152222F1F7D59F68B6CC25500E
+ 02C55C5436A7F0340FBC565A8BAD9C4D
+ 0EED09F2FDFD6ABBEDDAD7C8A19AE0CE
+ 050AC9890D203E278E992A19C0CE784A
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ IV = 00000000000000000000
+ stream[0..63] = BD84638A3DA18EBB658CFA2E96E994BF
+ 8510A2FA70918020E87229D96D209B8E
+ 26B305CD31A4D2F82AC3DED97B67716A
+ 631B3FF1B0A7C6D1DB7942748C9E841E
+ stream[192..255] = 287A159F15DF5519A63E3EED26DB027C
+ 4BA02C3982BC3FF86A04BE7FA6AEADC6
+ 7C34E55942007AC563B796C22A910C3D
+ 1EEB1E2F4E7CEEEF4F63B1DE2BD7DC74
+ stream[256..319] = 8694AC226BDCF178294E440BC3FE8DF9
+ 6614604D7E35D02327C7AE50E7CCF006
+ 8CEB75189C39FB2CEE517B509858BF80
+ 218C9818FB7033DAF4C6673998050C54
+ stream[448..511] = CBD32CAC74A51A9C56288A1B33EA84B6
+ C91828C2FAD5CC66E2151FF0671588E3
+ 14188413B34F66BBEC47B5DF8E171D18
+ 858BC5FDFC5D590005939DE0B23A87CA
+ xor-digest = D2B69AE8AEE5BC3A6121AA0B013B2963
+ 464F5DA635635DE2CADDF725E82530F6
+ 0B68672F03AE9A251CE2FC3A9FD31A5E
+ FFD6019087023489142B4C64D955B7F7
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ IV = 00000000000000000000
+ stream[0..63] = B86DDF7911F9474BE889F40F30F499C1
+ 63F164CB5E55964B1D18EAAC6D10180E
+ 01EA66A2389D1470E9ED2F141E2793E5
+ 3B71F8862CDD202F12B13CFD880862F3
+ stream[192..255] = 3ABBAF7468A330A20C435EB888EDD65C
+ 6EAB67EEB4D1B90A883168738B739D8C
+ 0F006B255225677269FF392B8112156C
+ 8F4EF132DEBF1C3E83F33BE5081B8292
+ stream[256..319] = 4F0DAC888430B88BED3A7BF23CA1F088
+ D8EE976ABD49656A954C6EADF65F1955
+ E312385D4063D13B7C09E5C4D48A155C
+ 932C8FF5BC7A54F7A8D175369E66087C
+ stream[448..511] = FC8DCAFDB942EF85D23F835602328E11
+ 8B637BE294CFFC944180B01A2E1818FF
+ E1498E1D4B6F98959C2A4FEDC331CA27
+ EC2386D1EB22060FF8A42E8C7F1D85A0
+ xor-digest = D03380A8C2C5C09D9BD51CD2E9C7F4B6
+ 43EC30CDA95D7A0733597D4081F2D0AA
+ 2E2E25D2764D7356054BD8750DC6424C
+ 556F869A0291AAF31A0AEB3302987416
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ IV = 00000000000000000000
+ stream[0..63] = 2CA8658658E76F2BBF1A5DDE09E9A078
+ 2A16DD5FDA6A433205FED3133F80B814
+ 98C03110B2BBBC7831FD5ABB55472983
+ A664DCFDAF1004810C8B8A16FF82BD74
+ stream[192..255] = 5C48A223BBADD17F073E2CC80DD643BC
+ 4D596448EB331F5CCF07AAC953AB281E
+ F11CA6B1153E0B7F67383D362A10408F
+ D7EA5C48123DA4EDBF2309C84F9DE9CB
+ stream[256..319] = 86BCA702E64CCA4E4BF76993A5F5348F
+ 37882E08B0C3FC7B989841BB33A52262
+ 19B402BE0317EAEF8B42EF8730075466
+ 1E2BC61FCE07BF92B9C767C19CB0B57C
+ stream[448..511] = 6A9F4FBE6B128C3B58EF404C20D7E1F7
+ 30A0AFFFA4863E89D699C8AA65683B48
+ 82BED73D39432A15BF5D17BE542288F7
+ A60D6C09F46EA8F13DA5689B285D0844
+ xor-digest = 2123896F03F8B86849B13D9174E0D4EC
+ 06BFFC6C317123811ABA08B4CAD7ABAE
+ AB255EDF892849EAE8503DD37F8D53EB
+ CE1E4BC9D167B20999FDDBA52CE84B31
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ IV = 00000000000000000000
+ stream[0..63] = 32EB7D9576C8579AE6081A06BB4174FB
+ F97B48AA99B04A8F294698FF26AA50D6
+ 9AEEB0C007B5FD200C98FC223F512CE3
+ 2EDF02807D1DAAAF6CBF5D22AFC21956
+ stream[192..255] = 34F0D27C8D6D00CBDF5A219B1647953E
+ CF0B1864356BAD00D23CB4EAEE111019
+ 30587C4529522D437EB3FBBDEFDBBB10
+ 2834A237DDA9F374EF5907978ACBCDF9
+ stream[256..319] = A644D671445F3FD76DF6808B805DF69A
+ 080359C3F826AFFD5CBF42A0D3EB0A53
+ AFCDA83320A22B093140D2CCF354DDC4
+ F3AB556B9320C64F6B43F5F3B0F264B1
+ stream[448..511] = F7DB535E4B2831EC330102438F593A35
+ A3D04DF518B4AFBA00A640FBE2198D2C
+ 87642FDFA08C45CB4321885E00AD3F87
+ 63E431E3E601EE5833677B039483C659
+ xor-digest = DB616DAF70673988F4165769B12AF9E1
+ 88AB0D393617B809AF07900B1C2D7046
+ 7474D4BE4C74DA143C9CBCA229F7360C
+ 203B850953EB43C2D5A603E3654BACF1
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ IV = 00000000000000000000
+ stream[0..63] = A691D8AC845CC7410284856B6DB77250
+ D23FF3A34A1B390B18E2967CF793C4E4
+ EB64BCBBB737A14B497A64C13EAFA3C0
+ AE65EDA0ED0304AD6D5194A747520ACB
+ stream[192..255] = 6DCF1E17EF62B16E66F6ED5396F8B2A7
+ 61E70C0E14CF10F9C28371E1065BBC80
+ 3270BBED373C00CAE0706738CA65CB31
+ CED1FF5ABDBCED7E30A8F953E907C54E
+ stream[256..319] = E38789DC913E45C52D34FD47E507D511
+ D15B809638ADC95C54FEB3B830E5BE89
+ C0680FE0B83D4AC698C8C54FEB868CBE
+ BCC5641473B10112B9C063F4BD5F09F9
+ stream[448..511] = C9EF8C4461E58703220D52F4C203A59D
+ 845DAEE1A30450DF5EDAE11ACA29144E
+ B2B543CB34495CCD74419A1912439375
+ F75E827A5D87D51749A6A99A79042BBB
+ xor-digest = 614CEBB14A0FE6BBFEDD30AB33339BB4
+ 21EF8A62D3F4F95BAB044D0EA3B2AAE4
+ 243D91EE4A3D950FA273FB56AD8B288C
+ 8A3D508FA925C8D3DB78AEB58EEAC40C
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ IV = 00000000000000000000
+ stream[0..63] = AC46E5CEC955EEF3D9EC59A52A04A0FA
+ ECCEE966396B7CD8F8E7FF17A3609DD9
+ EFAFCE26F9B27F7D2A1D59D6FA2704FF
+ B0B6C502DBA4500018EE39BC45B32B65
+ stream[192..255] = 13A344AEC69CC15CC235B1461D9B4D62
+ 774F43DB0A631B3EC4B8F3DCD09CDE27
+ 886BE7FD0DEF4C34221AC4C0C304ECFF
+ 46322E381F324589AE2432EEBCF53B7D
+ stream[256..319] = 850A5FE0761272D6A2CB200DFC5F1F79
+ CA87755843FEB03381B5C28BE9A55856
+ A877803855A616C48EEAA2B15240CFE9
+ 87EEF311BC74C77966AF39BC2BB03BC3
+ stream[448..511] = 365905F78B38B374D51520C78F882206
+ DC522D09E52AA7D4C6CEFD6007BD2BF3
+ 419C8952B4058595102A1A4F43ED78FC
+ E56ED21AFEA3F9354CC740B568F68CC6
+ xor-digest = A0A75FC0A9F7EC809A4BECCA7F929787
+ 3E136DBC0CD1BEF60F78C40065E480BD
+ 1AF146435417F170B7236B596C9D91C9
+ 386CBBFE5229A322605926CD14B24D2C
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ IV = 00000000000000000000
+ stream[0..63] = 5597805E37257DC7C05A5EDDB4D6D883
+ D2ACE810B3492BDA62A79406BFE47F1C
+ E63E844F93046EB159D998ACF8D8E69C
+ F48432327C6C2CEB5D3384B94E55D23B
+ stream[192..255] = B80C5D2A02CB5D55E5242466E61CD2D4
+ 2FD194E80CB012341B5D881255AA613B
+ 4880AA4C45083D9639A2AC6006B712DB
+ 8E982B498C5261D008CAF23E71707329
+ stream[256..319] = 7506BDF66733FF2712E79DBA14C20B74
+ 7507F2188595CF7C35EF91E544EC44EC
+ 89F2C36A8E9001D4151D2D4AE3A210F0
+ BB85EF7D504EAF9873E3C903D7E55DD1
+ stream[448..511] = 4187827FB2ED802CCCC77E8734E7E71E
+ A470EACD4DFB7A75F1DC44C8744688CF
+ 9C741478CDA01165EB54B79F87BF1F00
+ 487B79B29EA3294DA340AE7AA4F561C0
+ xor-digest = 03F09627E7CAD3316DBBF706E10AD9CE
+ C5F4B9A442A90FF198573F14174E09A5
+ F891F9728336938026F7DE02044B3455
+ 7BB5A7DE90FD039E64329C37B8B0447B
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ IV = 00000000000000000000
+ stream[0..63] = 4FFF570FB89795F23DF846FD01589343
+ 446CEA37D505487F2C15E18E269DE29D
+ 5DEDC357396AB7509FAC5E206B01F110
+ D74EBC17CC742CC788C481BB786B1004
+ stream[192..255] = 5B2533E43C2DD0949381D5BC45177743
+ D061A7900FDC6F6C83D6DEB6E85B9A97
+ 5174DA5F652761ACF6559321D45E1736
+ E044B46325F6B92650AB81837DE8E2F3
+ stream[256..319] = 3350425C01D45D0E120ED81F33338C12
+ 462582D1259F06A70C902DDC9B8C272D
+ 459889D1C8BF827743D326594AE36054
+ B7CBFBBA9B6D247A51B7D5305F565316
+ stream[448..511] = 19B3E922947ECC62D5FEC9D7C5338BC5
+ 9598F2D2B66DA3C1017DB865C42B9A0D
+ 2F41759C0EC2E1F86771A5F6ACD246D9
+ 8ECFEFE92CD4F3D2583C1E4D5DE70A7C
+ xor-digest = B4C4A3399EEF59A5782A31115C374A96
+ 501E5D00E5D17CA7F92AABCE4860FB78
+ 0A102EC0BCF29A354E66A607C4ACA0A2
+ 747FF53410918039C5A4EAAF1F0E4308
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ IV = 00000000000000000000
+ stream[0..63] = 757E5DE13D82294C4822AD18E0EB2F47
+ 016E7610239D0CE87CCDDE0F808AC3D3
+ BD1F4F1A3F2B526EC0EE321CF3DDA6A3
+ 08AFF5F086D09955F6D449672910E65B
+ stream[192..255] = 008D71DAC8BFF1889BEED5BF2CE4D42A
+ D771AB431291870192F5FF2C5AF1939F
+ 2355BAF0EC5FF9F3EACA2B5EB4F6ACB4
+ 49FBE3088B10F7E387C0DECE3D1E2A52
+ stream[256..319] = 6EA3A75D4C22196B5F04746D6AEA001A
+ 4B0B853C40CF2F9057F5B70D9A5DE64E
+ 4CA095AE5546B19D63E86345C1BF6971
+ C7D348163DADDBE0406303D45F7211CB
+ stream[448..511] = D9170E608C4A9F6208F790B98F35B1EB
+ F044290610F354184BD3F152127FAFAF
+ 789AC1953A6BA69ECE1608C14702CE59
+ 92AD4825BCE252B14C647F26675404A9
+ xor-digest = E890DD33A58625B54A705508D33043A7
+ 48D6C7C8A644CC08FB62F41B6DB1DDB5
+ 55661C3B602243ED2C9D9C50B5050761
+ 8DA032A6B84A0759A56AF80FD46911A8
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ IV = 00000000000000000000
+ stream[0..63] = 11AED49EB33AB4C8557219727870CA7E
+ 6A6E5E267C2EA832D35FEE065BCFB5AD
+ 1D7013B3961AE2F31CC2193B127B188E
+ DDA263CF368954FA4B92553A62FEB651
+ stream[192..255] = F28E93E31E514AE982E63CDE07E235E7
+ 6041A80A3A34FCA17D021B24561E2DEE
+ 0050CC1E709B0DAEB662BB9D7CA1DF24
+ 54F93A64D02675E75A6EF133D0976374
+ stream[256..319] = 90EF1CC780C0522B8A66E321BCA3F164
+ 5127BA8FD065CECEBF4294E59BBE5EBE
+ CE53B6F609F8CBEB2BABEFB05FAA952C
+ CBE2B865FAA06CBEE6D78E03B714B8DB
+ stream[448..511] = 9B7A554D8AE957FFB852C3570902C90D
+ D5AAB59B51578614C9227AB1765800DE
+ 1060B39CD8906FAC11820F24DC9866DF
+ 3F7AD7E25704DF056ADB4109925E89B8
+ xor-digest = 4637C546B4C29CA45F3519949397C422
+ 21B4FA40A4451429185C2BA7C7F4C413
+ 79F71670DAA51C356150829CF93ABF1E
+ FDE7A43E38D5C1539508939BBECA7415
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ IV = 00000000000000000000
+ stream[0..63] = E48668805CC8DA2AFA607A7FF7D92658
+ 2C2C2A72666BC8AB77D7E7493CFF41D1
+ EFF8300D8D06695FC87A964D25FEE00A
+ A75816BD6C81E78E9D90634EF5B272D2
+ stream[192..255] = 244798F9B5664CFA405C9B8961EE95B7
+ A0257A398C5C9A29393067F9D3F39BBF
+ 43BA5E0BF635304A3CAE0E12B5D23577
+ 4DD421E0FB08CD354D267C65788AFE9A
+ stream[256..319] = FAD8C7ACC1537BF95CA232178269DBE2
+ 0531B120654B45F92EF1D222C98984C1
+ 2C57B03F98BE53AEB473139A001D419D
+ 219D996F17F29B168227FEF3C8080C51
+ stream[448..511] = 42F7EDE461EDF5E57BF5C7B31E2B12CD
+ 9A44B832BB91587A6EAF19FD3455291D
+ 4031E2D13D61755963369B73EACC5CA8
+ A88DC86768828B8679A8AFD59D9EE491
+ xor-digest = 5EAA667B9EF79C96A1DA8221AE0F3EAB
+ 752DC79F1DD087EBF2B7B0FBA6627716
+ 02BF939301A8F0EA36A2BEB065FDA069
+ 1A6CA8737DEB94E3E57D772DFCA7BD9F
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ IV = 00000000000000000000
+ stream[0..63] = 1948CE36F01498BBF1E73A82EABD899F
+ BE7C1537D968C7183F671BE4B1F02F7D
+ 0E9C5154B427B551050C5E4BC904EC58
+ 087B6AD3566221F9CE802DF560EB0A07
+ stream[192..255] = C7259394651866F131EBBC6B0DC1F3A2
+ C77226E71A8AC3BC069CEE5673AA6C4E
+ 273D3ED9FA43F20A38480F2935F6ECD1
+ 7950E83B38C3817303394421FF671A38
+ stream[256..319] = 6A07A6F4CAD37C851C5A21AEDC9D7B70
+ 1D3658D5DE5992F3500C0079EDD1D3D3
+ 3C7E22846F598D03EE3F3C29CC3168AD
+ AE4A7D38ADDFD18F8DE8C583159D2D4A
+ stream[448..511] = 580F08306C0E78D1BC9D3463C9D431D2
+ 86AEB4C5EF8085874A3B6FF9F931DE2B
+ F367F326686350CABB5DB80E72843D6F
+ 5E13020A55DCFDE5DBD2D9E5702869CB
+ xor-digest = D68E33C4F6422CA3865C0ACF4BED6742
+ 3DD3D90C2055B8AE0F653C490D505610
+ D65AB31F33F214003F646E977558628F
+ BF8B12BD5C06EAFBC83AC10C64FB8540
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ IV = 00000000000000000000
+ stream[0..63] = 8E967E5D5018799F24DC7DD84709F9DC
+ E0B1E61782D82EF568C8167D1C401718
+ 0484066C7E4331C7D0749089AF21AB81
+ A1D4514C79134233B271600B361C8500
+ stream[192..255] = C44E160935BC56559DD04F027BFEE7AC
+ D83DA84FAF332C0163B38C63F18F11A8
+ 50D32E5C95E6D2AE96CFD473AF969C4A
+ E6C48EEB5F2CCF3BA8FD1E7C449B6A24
+ stream[256..319] = 111E4FFF9F798E66999DFE4A4AA145BD
+ 0BFE3C6C2B0C754A307014F2A2B05AAF
+ D6DE74303CC979936B8074B60A536221
+ F0D5AA948EFD652F0C63863FF9BBE313
+ stream[448..511] = 09A646CA73EC2FFF8436296FFF710F69
+ 9FF39D0D2A9F740D949B2742A002B227
+ F556DBE38A33DAD4994BB649734EF7C2
+ FD677EA2786903FD6876743BDA7FBCAA
+ xor-digest = CD2EA3412C08D1B18FE7D9A6DA9F7B99
+ D6E3241A706342561FF5E854024DFCC0
+ 6F2F6360D92FFFF07B877EAD4354C89A
+ 2D90348C074655921E4BA3602B0FF1F4
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ IV = 00000000000000000000
+ stream[0..63] = 6FE9C00ED73EFCF0E8DCE5DDC58C0143
+ 5FC6A7065B077280F16890CAD23C4472
+ 8A7046AFD55684A03557C80BFEE8D690
+ 63C65453AD476E91BC9D4D56DAD62A31
+ stream[192..255] = D134E6456BD22640126EC6376EACA2D3
+ 24AEF5433599452A7FBF27AF7C55C9BD
+ D66372A09946A93E2D93B8A613BC1FD0
+ 06C2D267EBFDFC8A9D9261FC20D72F60
+ stream[256..319] = BABA67C13445C44BCCE680FCE48600F3
+ 254025D01CF7523217FB512AB70CBE5A
+ 496A9884BC6F6597BAF9F7A7E5DB68D0
+ EEAC8875F992CE5D37390DB9A451A250
+ stream[448..511] = 3A655AAB6EC87CE6E3B49C84A726C7A0
+ 9840FA07F9D5C050E6D084B41A264B7F
+ E5B1D55C4354ED7A83F49DEF195F75BE
+ 9EE49417E36EC7202B84CE78CE63FC01
+ xor-digest = 660DAB462A13AE8B42B766B73704A5D9
+ 6134EEEFC18F34A04D92F0EF192DB98D
+ A84B17CED3A3E51F04E4BDE8D39203D7
+ 392BACFC0A23DBBC1E5E5CCB30AEB18B
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ IV = 00000000000000000000
+ stream[0..63] = 96E610862A237AE614FCE95CB4961D76
+ 1B828F0CE4B58B3F69D7D3C5DAB2962D
+ D62702FCDB39E68237D89FB2CDF2ED1C
+ D5D43B484BAFB3DFA0FC67E189E0946D
+ stream[192..255] = BE237AEF305E63ED5DDBAE6C10B1679B
+ 94128A832C875E0DFBA993713FBF2919
+ 01E1B26254F516F87FFE2825CD6777D8
+ 34D627E70BE37664BD69CA239E938C47
+ stream[256..319] = 775682DDC5FCB2014624AA2954FA906C
+ 515DBC381842FEFDA49D4ED04AB43CE4
+ 7F4BACF71DD47DB0484F6AA239D41AA5
+ 99677BC989651E92886DE7C816AA23D2
+ stream[448..511] = BA82E9D1EE5B038C6C9E25E11A8EBFD2
+ EE604A9FD637928BC9CF654C63D87D78
+ 0885A0CCC4F90A0F70CB68AC693C62CC
+ 81365F815767D91D43BE5D9777FAEF50
+ xor-digest = 90ECEE895604B068C0F2804344F4998F
+ CFA5C9EAB913FA08DA48BCBC9C3CEEC2
+ 206B9B2C0A5733A1C46D2C6767685304
+ 1E297AAA4A91E06610DB330A3CC9412E
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ IV = 00000000000000000000
+ stream[0..63] = 207A21CFE18CF5B22FE8482458D0567D
+ ECCCADA92BD3CEACB82E92FD7594E235
+ A679E1891F216CE71FE9E6E05715F750
+ 3BDB393270F92CC54DC4BE234A1DC932
+ stream[192..255] = 255A3CA2C87253E3CEFD8BDBD253BBD6
+ 7535E26100AAE71669B794639510CC20
+ DA09BD6DB8EBE362C1D4D45199B2B2A3
+ F20EF01BF4F3C5E81B73C9D3E20E03D2
+ stream[256..319] = 80B48CFD866F6AEF0285831587F64DE0
+ F898D96089025B0986303D1D51D7B558
+ A2B1F0A5F991E5E5F24B9DEB4772B199
+ 303EFEB75AD1325ED1162F91B9B92C87
+ stream[448..511] = 495EC94201F8DD0B6159BBD28812646F
+ 4A8C43E22BBA38197471324D954FCB9B
+ A63E58BC987052F36261351259089554
+ 4FED94CD9859B39C40DFB498829378E6
+ xor-digest = 3ED6C954159DAFDAC323D6BC24B4DD41
+ 9A865764484A655A65455C36CA9ED6FF
+ 29D22ACA495D0FDE0800137888C2E4B5
+ 5325DF98EAEDF81E0B5FCDD2BAB89AB6
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ IV = 00000000000000000000
+ stream[0..63] = B4DB46D214BA8D786D2B8B406EE2B11A
+ B69BE3BA6B3952C2A16EDCCD32FD61D0
+ 91C0337D04B2FBC9E40FA0C9D8E429E1
+ 313CE8D892EDD398AA1976F28662C59F
+ stream[192..255] = 54D8503F94F607D74E1E5EAAA1B2EB72
+ 1E6663B2BFF5B4BAB04A727B56199681
+ 93DEE47253E6E3386F4673196BC8E897
+ 516577CEAC02AF466D0E2DF9109A7C7C
+ stream[256..319] = 5C2E817FF4B35CD4979CDEDAE4C443DE
+ 9E85E86143D006A0DD76691AAF55E8E1
+ 087A0E23B91E32D13EC0542218D34FB8
+ 565CD048E46EF7AB19F4829913295932
+ stream[448..511] = DC9C7C573D0DE5CC59108386D299D480
+ 9A059C81CF38CF98ACCE35A33A82006D
+ 1EFF7E558C9F55691298C40F1F7AC149
+ 5E97DDC96CB1D0A8D999F2949FB30697
+ xor-digest = 5823D36BE96323D783053AB2C1F09A78
+ 999B2827639EF3880820D307DD78686C
+ DF00EA9E3D2CF5483A92BBE2CD8209CF
+ C6DF36F681B50AB534CE5DD79BACDACE
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ IV = 00000000000000000000
+ stream[0..63] = 68383FDC3F6DBF875F1BC30E87163FFD
+ 890ABF61725E32228B6FF6E1C8B2C391
+ 2DF7AD7F70F1C52B53A3D32979A827DE
+ 9AB7073D866915BDD675069680DC1933
+ stream[192..255] = F8E0860C3896D065068EC9ABFB394BC8
+ 1F6F1A9727175B85CAE637FC99E337AA
+ CF8CA536B15601EC5D3CBE5C95DF45A8
+ C64C28138E50EE0456E86E3BB8A82867
+ stream[256..319] = 666C337286C5611DEBF90F2857ADE300
+ 1A287F475B1CDA72F110D417FEE59873
+ 309B54D1848EF52DF8E52434070B15AC
+ 6286219ABF55166C2064990D528CDB44
+ stream[448..511] = 5BDF0F72F05CB93E8C1DDDC5FE6308B4
+ 0FB420B967E84E30E848B4963CFDAB99
+ 24B0FDD37EE6DE7854200BCE9A6F06AE
+ 89092EAEF2EE232B3642F4D1D22B43CF
+ xor-digest = A879E54012F0FD57D74C7387B3777EF5
+ 9C47DA3B5E142871D537544386452F43
+ 41D0581059B81BCC15B91FC4C067DE54
+ 48F064B511AAEBB7F773923B7F428354
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ IV = 00000000000000000000
+ stream[0..63] = 6CA2E9B7B21678E6AD2D5337B9B72DD9
+ 2359C704EE552E75975B85123C20F56D
+ CA90E99F5D0277B74710002D15A75362
+ 4A63CF92850D088DD4D8F2BE08897D69
+ stream[192..255] = B07E9355649401FB38C71086E0007B34
+ 143D7B72A1D2072013931456B9D19B2D
+ 006D5484DC670605B0F4B5E28E11C03B
+ 0A17C8579D135C8326CCD90B23AD4BD3
+ stream[256..319] = 795C48FB0F5731C33584746C955F57F7
+ 3FAC3CEEBA1E93452AD3535B0FAB1FDF
+ CE32998018D70E2D7A921DB7008CE91E
+ 5A5D9BB3A32279E5CB54F24B0148C962
+ stream[448..511] = 76559C3666FEAB7BD779033074A14C7C
+ 973FDC4C4F66BAFB27D1A6A331E5D1A2
+ 3E7F60A7B19BE30FA5BFDCDC523C8AFC
+ E500A599004E76DBBE63B741228E44C5
+ xor-digest = 22C77BB185B8346211A2BA324160BFA3
+ B0CF243311C720EF7AE57A361044CB41
+ 811934A0879B01AD5FA0828D2B575219
+ 5138DA3FB6953806C32050F7D38F22C4
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ IV = 00000000000000000000
+ stream[0..63] = 28D7E685BAC5DD5DA6BD1A72EFA3D383
+ 480A36F2323603B9CB1EBD8E5AC82E41
+ 3E3F475A4339C5269E66B9946A8310C2
+ AADA13F1D8A6F2291F45ECA4BA39398F
+ stream[192..255] = 41DBBDEB346C6013E6C460A41310695D
+ F4452FAF9429CF3AD1D48C3348C4DD51
+ C4D9151E2058800CFDCA0FDB657F1580
+ ED10A02E19A57E12C6E8A84C824C0084
+ stream[256..319] = 1F7F163BFB25918122F133B4A06FFDBA
+ B4C744F70FB1BCAE86468E5323E0EA73
+ EE2ECF2703DDA5EB496E56A8CBBB2652
+ 2A774E3D53F2CDDB9648D06AACBC99EB
+ stream[448..511] = F5566790C44344C957AA59D49D2DBC54
+ B8FF96EB0CA11597B97926FE7B960924
+ 215145362BCD3A089DE248E179F2815A
+ ED0A48E743E9977760342D4944C3589B
+ xor-digest = D0055A4BA03982D6EB517DADB8492F8C
+ 3DFC066FD597778572CCFA3023CD5502
+ 69666A75328816D71982DC31D1334EEC
+ 0636FA6AC54AE15F2910FF845DE205D5
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ IV = 00000000000000000000
+ stream[0..63] = 46604F84758E1FD15A20CFCF1F171C60
+ 39FDB0D6422ACC707939DD1829E47AAC
+ 03F43A1E6BD83E4166FC88CCBE01C29E
+ 43DD84E10530D021ABED7D3517E258B4
+ stream[192..255] = CA3D8039B6A31E47ED88181F9872E671
+ 2A36482B7251A0126F93A6EE6F4C595B
+ EAE264DF3032127796AC4F517CADE08A
+ 03A2CD6877D7A9047C13623384275F84
+ stream[256..319] = 1ED5EFDC11F01342E3210F6EDD264639
+ C64B0330E04F1E27282E2B7FD40A30EB
+ DCF3C1F9D2EF1619257A410C25C6BC86
+ 7F74A7E837B42AC62449C274DFD77D60
+ stream[448..511] = 3F667B361CC5592509AFE551909E5B45
+ 329F3F2211928091A7893830C3DB7AEC
+ A160A1C3D0224EB62749DC1856A50494
+ 03F3A262865342DD23296BB342716082
+ xor-digest = 137C59F2E80CD53A784A1FDD455EFCC3
+ A18E7A63234A9889B78945D3763C3C26
+ 345F0AC0A4071F503C9D7988EC47EB37
+ D3EA5288634EDB1441E1BEB47F01E318
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 00000000000000000000
+ stream[0..63] = 0B40A5612049742D44B2F1B94E844980
+ C6774B4001258EFE33C177F5B22D90FF
+ D97DCAC9296E73FF8276CFEECF1B0898
+ E2DF48992D2455B83C96A9E2EC6628D6
+ stream[65472..65535] = 9F7B08BA1D034774A17F8C7FB1826A71
+ CE58D858B3C78ACA35706EAF08B42A7C
+ 21B195E8AB2A0251C3C1915456DCAA1E
+ 91607AB7B6B043CE011B410CBED5D93C
+ stream[65536..65599] = 6F51DD6CDD206E1A10C8293086AEA6E4
+ 0D0BCB1B0F708149752F008CDD6B357A
+ 3AC0CCE03521A2170F9CF00D865A2C7D
+ E64F6C68B3596D882B650A1DDE586A9B
+ stream[131008..131071] = DEF9617356CF431E3898322A25B9016A
+ 6CF6EA633997684BD47CF22EA8B2DF45
+ 2F895C70E1BFF252D68C5F22592A3B79
+ 78A4D1217D03AA9298E7EF8287034EBF
+ xor-digest = 278367076ECB5DC6AD98A1AA808CB74A
+ AF84D8FFF0E48191DC5BE359A3ED6BE5
+ E283680E1078654BEAA8007B66762C79
+ 7680DE836055222F8EA30D4CB0F03D4E
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 00000000000000000000
+ stream[0..63] = 26611B6C1A72EA54346710A0FA092172
+ 11DA2D331F9D98D17D8B35011BB6B032
+ 7D13BC7F662FFF7138E6BB2E6DA4CA21
+ 7B471795E89B30F2E4ABEC92964B6A2F
+ stream[65472..65535] = AA02F8F983E9A316B685BA26A64BB358
+ 5DCE94CE59E51280D63A428322C1C9E8
+ 4D2308851B2639AFBA7CCF6F1ADB31E7
+ 2F962743ADCFE641CD03B51886CEECF9
+ stream[65536..65599] = 03FD54EBFA8C6C6831A0AE122F388630
+ F136D0EE1BAC7D7E7BCA31D6DC17D3A2
+ E5A7136BB93EF79951A50CF332C48193
+ A041DBB1A86EBCD95DB3D48E21960BF7
+ stream[131008..131071] = 4ECBBED60B3EE1A0463A0F7F2332F57C
+ 5C1E65FDEE280C5B29C559B0030A5AB9
+ 5D21279211B4CFF59235F3F0F11BA94E
+ 550E2067B47434BC8B7CCBC7B369219B
+ xor-digest = 007E2FF66099D2123A5D3FAC1DEC193A
+ 692DB0441BBC3826AF0566187EB5CC0C
+ AD69CEC2A9C58C3E032D3E136AE89AB0
+ AC5655E394B3A5C22DCB7FDA2EA5BA01
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 00000000000000000000
+ stream[0..63] = 13AA0053E97D96453E6EC8CABC226223
+ 6FA3AE17D9C091B30FCC127CB85839C1
+ 47DFF994A6B6A1954DA772DFA570DA37
+ 3FFD1138D43F288E8E2C18E90D04416A
+ stream[65472..65535] = E5E456C4878CCEFD6D89B24C92D607F7
+ 18882A645D8F1EF19364405D874F720D
+ 1AD73B53FEFB09848EB972CF492B04C1
+ 0C0908B01F3DAD6E5C3A8D03F76FB356
+ stream[65536..65599] = D8BD4F7192FABCAD05A4FF12F07091C4
+ E28B1E1D44B95AE5B44CA116F8811DB6
+ 4A73BDABAAB4A3232F8C512DF0B3014D
+ CFC727E91E9D064A92D74107E8BA6714
+ stream[131008..131071] = 5504D5518BCE03850C58AE9EE5CF7668
+ 4AC7D10202064E250E797E560817DF9F
+ DC52116966F3A000312427C003220B68
+ 197A0AE8FB50E8E209173D03FC84507D
+ xor-digest = FBC5B425AB845DB8FE9368E899A2DB19
+ FBF12EE96C60E53B5A15D81A542FDF07
+ 03DD9D53963EC67131A317D23883D290
+ 3CA369CDD949878A9E838A160AE325EB
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 00000000000000000000
+ stream[0..63] = 95ABB04CFE93069C7E51BA8CD38762CC
+ CD981A747160FA9EE359DCE490A9F89F
+ 97FCC0DCDE794AD6E75F0C68FE38FA6C
+ 3F6F4F4D3096B37AA44EACF9DC0DE19D
+ stream[65472..65535] = B2D84ABBCA564A23149E1214EB667919
+ C5785E99D96878AA1FA13A7B5A9CDE49
+ E93FDA73444ADBB3BA9C7E5BC97451EF
+ DB449558C0C58934C20504DC73DDAEB5
+ stream[65536..65599] = B4DCD0AA2F6C7074E1E1979953DA7D40
+ CA249398C8FDF3F6933A3574376740E1
+ 83296CF12EDD61BA5354EC7829142592
+ D7B8A107BB6B5E6F21BE062E6DA9FBE8
+ stream[131008..131071] = 7EFE1D31745096008EEBA373EB7050DA
+ AC9BF1AE7391B776055533C7C290D61C
+ BCD358F96754DA2D0AE3CB033C8704ED
+ E1D735182A8E53CB3D45D89417FBCFAA
+ xor-digest = D045C105F8945F4619B90AB36E8235B2
+ 580E0E1AB2DB68742D62D5B08D899665
+ DEBEFFE576EDD5DCA9CEF8217C510DF6
+ 89097D330A821AE896D02FECEFA9FEE0
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 80000000000000000000
+ stream[0..63] = 12F5856BA2404CD0CFA76C4D57995495
+ 4413AE1D75153C76E3B72A77E1C9BC2C
+ 76E5C495561BE6F01E3598F0CAF98998
+ 2C95C97B68D33087972EC1621A1B64DC
+ stream[192..255] = 91BE4084B9F0232830FAB01B357991E1
+ 779C6C86D7366A068F993DFFCB547F92
+ B7AA350EDC77EBF8E8BCEEA97652AC08
+ A75151430B13EB8F43D236840E83BCF4
+ stream[256..319] = 8F9746EF31658E4F42B5961AB8AD1366
+ 2F3832A526E6F4C6D5ABAF8F7F5B4B7D
+ 7F96DFAB3F330E2F17E4344BE3E6E4F7
+ 1BD9986F3D2FA7A0054567F11E7EC672
+ stream[448..511] = A24DA76EBBC0C1386BCFBED672075EB2
+ 01CEED2A5EC3300D2C3ACDC744F9F347
+ 596B5435BA4A96ACFAB27A73A5A671C8
+ A7A3D81BD207B7A690791CEB0C946B6B
+ xor-digest = 9B14497A7AFE8472C4BC72250A122084
+ F1D43040C1428AB06049C55A0D536C42
+ 8D2679400319E4E19D2A1BD2EA7A0769
+ B3D77B60B354BF1476B0E582AB120031
+
+Set 5, vector# 9:
+ key = 00000000000000000000000000000000
+ IV = 00400000000000000000
+ stream[0..63] = 74C9AF0154EC5DD2EC2E91758DB9BE3D
+ EE8577B8E68B51D08436629718EF7162
+ 3573C705B43F0E3BED39417F93B57007
+ E9FFA3872E4117643C9DF1ED3942FEA5
+ stream[192..255] = 6171FB597B1DA852A9D838038946C484
+ A18033EBA0C1754EEFD09156AA675823
+ 65B62AD96473CA303DCDD2931B733C5E
+ 30781CB29B0E62A6F024BE147059DBDF
+ stream[256..319] = 6E7443A0B4454448FDF38825470C0ED4
+ 96EB16F7DDAC96F6A901E705E9AB2EF8
+ 68343BF268EEB94324EDF51569AC3D16
+ 3E22DF26EF72FA63C99361F874E0C942
+ stream[448..511] = E28814F48417C03B3DE744FA3E524996
+ 6A6C24BE429CEFCAEF53B18E439CBC5B
+ 2D07BCC62EA559CE09CAB703FBEB7C3B
+ E7531C7A33586F9475714889DFE4A49B
+ xor-digest = AA096DE5BB5FDED7F2B73830B8330D14
+ B2331A1905612405DFED7EA843ED05C7
+ 880BECD2D7DEC5635723FD0E36BCFA5E
+ 6805D80F81C49B695CFCBF047D6C7B36
+
+Set 5, vector# 18:
+ key = 00000000000000000000000000000000
+ IV = 00002000000000000000
+ stream[0..63] = 4CC56A49F8AC6E3FC856286D36ED8F84
+ 4C35ACCE41593294DBCF2BABC0F0DDF6
+ 24B7E8D572D44EED9B817BAD471F1F01
+ A4EAE6B7C2DE8DD9DF1562902C75838D
+ stream[192..255] = 6E2AEACFF6620349681109EDC56E69F5
+ 577617F4A90C0866C38902BE98D11245
+ B5C2F651C302E013CF3C02FD2C5A7410
+ 6B1B267BA19E97A7EADD06F717380891
+ stream[256..319] = CC92F338BC69879A1F31A237AC0E5310
+ 7BE7F9A2A36FBE81742F970C1BD80034
+ 1B0D2AC8AFD8D288CCED715ED9EABD6C
+ 13067FD5FA24DCD9C5A02F9E5118C02B
+ stream[448..511] = 57C002AF0997A03232343C639D8226A1
+ A9E1E9030164E40157CD6892603CC477
+ FAD8B649193C8811E173E02E15EA3B01
+ 1EB1720470661C1D484EA196F0C3D19F
+ xor-digest = DFC6CA8E22B9B83A2A4A4C0D9F73463F
+ 60AE72986D009E70D17C7361CC31DEA2
+ A2FB58D5A7A62730E44B836F0A1FE1D4
+ DBBF088D4584F1FB0679DBE269D49AFE
+
+Set 5, vector# 27:
+ key = 00000000000000000000000000000000
+ IV = 00000010000000000000
+ stream[0..63] = BABC19F9C40AE610813DA710779ED2DB
+ C76B9EC10B9F5B7302D4EE5650475B28
+ 559201CA033450468F2A06F0C1064837
+ D516E25654D5C4DEDF68680C73959152
+ stream[192..255] = CEF94680D99D866366BA3D088A2CC00D
+ A6CE84C8DEDBEF851E76DDD37BC91E9A
+ 6D4922B45C281317175D8CC693980163
+ 5B5B14D5AB2C81224BDC483F31F10088
+ stream[256..319] = B5B86B901256F7478C3FAD46F3A24DDE
+ FEBBFA29A7FE761A599A906F3AB84572
+ BA54D72E75E1F23279DC9B7019AA74D4
+ 10FEACEC3972F97A2B1A08F0B70ACB44
+ stream[448..511] = 93C2B22204C92133234CDA9193F6BEBC
+ 6ED67EF69018398400D5543ADB432505
+ D6B69001A5EEA1FEF6C67CAB03C28FA7
+ A5B825821DF2B94BB12585D102C9F55F
+ xor-digest = 4366333AD41279DF5C3B7A31603AA4C2
+ 6A9EF9F06DA91C90961FC214EB1266CB
+ 5B67C58625CD11E3D18E4ECA2D657A61
+ BC27F76E7038703077E331911E0728D5
+
+Set 5, vector# 36:
+ key = 00000000000000000000000000000000
+ IV = 00000000080000000000
+ stream[0..63] = 17AF6F0C6DAD04B88BB4C8907979D4C8
+ 8D614394BABB79AB3BD63CB122F30B33
+ 31152C5C8B33E7B72C6DE0E4544901F5
+ 0D262E6A5882E0598FA0473FF39921FE
+ stream[192..255] = 1ACE9133BD327632D2C249A001541625
+ 84DB59B70FF1228679520D6FE3B7AA48
+ 072368BE879C2D9B27E8FE7CA8B8F5F3
+ CC43469BE29C29333DA9A30AA796D0DD
+ stream[256..319] = C1E903AF60C5DC6768FFFFFA44818245
+ 5CB4C006670FE118D16667F552D31461
+ CDADEACB2083B8F7AECF64C56805482F
+ C0205774EE9CA579CA835547C503CBE2
+ stream[448..511] = 871370A80BF296DB5E46541BB0A10763
+ B4BFE9E1B48940BD98D94C770D249FC1
+ 9161774D4CDAC0674F9F3A96560383E6
+ 40B70108F4E82C5FD476EE304FBC9BF4
+ xor-digest = 620B8BB8D757DF413F29450739F338E1
+ 1E8B87BBE8B20D3503DA31857C43D080
+ D524112522CAB97AA062D6BEA5B54F3A
+ ACB4E7DB32CFB3C2A67258053C9A5AD1
+
+Set 5, vector# 45:
+ key = 00000000000000000000000000000000
+ IV = 00000000000400000000
+ stream[0..63] = 3AD2AB325925FD3591692D857EDCA5D3
+ 27B9F718F454B6EA61E13F24EAD2F797
+ 4F98A7829CD0002CA0D6719ECEF2AAC5
+ DF80184EAFFF37A4337687FE683645D7
+ stream[192..255] = A724FCE37B757B61ED5311094B275A59
+ C72E802BBE83BBE3D5F7D7825E4D3D01
+ 757C02E91D15F0023CAAE82C85CBAF98
+ A24410944AF00410F07BC70CC7DB4A4F
+ stream[256..319] = 3A78E582FE4D7211E091178A6B512380
+ 587FB666ACF5845E8ADE488D8A737360
+ 9AB7B417E61525470B26634839A342E9
+ 8B3C7DF0931AE14458477C9A50234A03
+ stream[448..511] = 22EF25AC42AD410BA2873230B3B16045
+ 77F3D3BEBC7FF8509BF04CC4457847B7
+ 77F5EB0F04F2593BD888FC98A72B42BD
+ 232A5B64C7CB284D999FE224B74A47D1
+ xor-digest = 395F415F2B2D338428C69FEFB6866810
+ E4B830075175D1F6FA648FF75E7A51D0
+ CA0A13A70189058585C32C24251433BF
+ 31977F1F41C98C5EB44F2BB4A1210C1A
+
+Set 5, vector# 54:
+ key = 00000000000000000000000000000000
+ IV = 00000000000002000000
+ stream[0..63] = A916F58376D391518A8787368DC40CE7
+ 0904737CCE8B6DC24E0A099D008159C9
+ 27655DB516666AC414029A2D5E1A3331
+ A7A9913E1B92787290AFB25D970572D5
+ stream[192..255] = D506C700C98958903C640A6BF54CF181
+ 45DA63E1F20601EFDE29959EEA1CDE8B
+ 034635B77BD557C85F359A7D0B785465
+ A5BE9B651E77E33DAD0D03865C09FBCC
+ stream[256..319] = 6B758FED7E160B99707C27EAA0B6843B
+ A53040F21B5FB1999A4A51C525755A8A
+ 5C94E71C0D04917C3F0767B7299D2099
+ 3D609E9B4330123B7C53C7EBB579C412
+ stream[448..511] = 45BD4563DD69F6C53935512C93ADDFAE
+ 1E7BADAF4E64739D1962F8D4E62400AB
+ 368848471AE8D826F935FF1ED3E7C1EB
+ F331297815230BC1239758D8D6E98F04
+ xor-digest = A4B0D850D56387EAA28499279CC27F9C
+ E29CEE373D6DB14DD638F8E7EA99F17E
+ 3DB7C3E1BF320C86FB7CF428CEA91889
+ D032159CC32AD06B087576E41F9B3A49
+
+Set 5, vector# 63:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000010000
+ stream[0..63] = 6FC20897E3892A21291F9901EA6EDDC5
+ 90F3AF0F15740111AFD0CB14FC5A9555
+ CD42F16578A50C77BCEF24B77619DBBB
+ AD9C821DCF61F8C8DDB1B0880D4D9219
+ stream[192..255] = EDC32C05B8D259611094B14D001D5B39
+ C0A3735D7A410D86B46EAB80EC30C704
+ C289B318AD51BBF7D7A5A9E65F4956EE
+ 76E57DD4DCD74B523F8B291EA706E588
+ stream[256..319] = 63582CCC020C1CE5966BEE2E4B6BB065
+ 005A8523C8DACD9466B5DB1E1DEC6634
+ 4DDCE72F1BF89FE046EAA407D5154C36
+ 119551ECAFC525D6574981EF53EB778E
+ stream[448..511] = 5638088CEFDF5EEB1CFE8326B38D688A
+ C5D1B7232E5760CFA7FEF3F85F442F3F
+ A82061AA46B93A3D115F7B780640F44D
+ 429AC76E48362B0598DDD584F8FDAD0A
+ xor-digest = 38D149C1BE4AE374A92451253D363152
+ 0DDFDAE2CC405221537178760CA5F6C6
+ 9E8828134E0AE7B188785B71A576ACCF
+ FE78606EA9181CF37D707B4A03260F18
+
+Set 5, vector# 72:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000080
+ stream[0..63] = 04FAFB36B212BCFC05E5E91162575380
+ 711A51438533C9C6EE9FF800FBA85673
+ 49ED5D1472ACC116D69185BAC1564BC2
+ 646F794C476CB546981037FE982262F8
+ stream[192..255] = 27BC3A5152A61DD14F8734C3738182AB
+ C5468A817A3A2B60748F1F9EE039D77A
+ 01A3A950A719D8291398D77D1A4DB80D
+ 06404BA799D707A91E3E7FF3564E74DA
+ stream[256..319] = 1D73F7134345B520B88AF07078FADBD3
+ E40EB7990F77CB7B8836D63B0682CCA1
+ 2AB3A312136A2B0C02799D6B55876981
+ EE3F9B9DDBD72D6779AD244E5DFF997C
+ stream[448..511] = 1D484DB9D3EC7B62F8E6E3660165D2D1
+ 942DB7B715E5EA0AF42AB3BA4AD21701
+ 843D4B9EC5C744281C1B6FB39D343088
+ 77D65E620B3387A9E174677CEF986E23
+ xor-digest = 4C9115CB4433B3C9ACCA1B006EAFC93C
+ F1F0F6D3D7DDFDABD9C889B782940711
+ 8E00B069EC33191832A920A53A5F85D0
+ C907D56E4CCAD1028D04F68133D103A3
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0D74DB42A91077DE45AC
+ stream[0..63] = EA3B6B8206E9ED19F46DAC1B87B6F0E9
+ E62F5CDC0EE54C841D8C70F4DD968485
+ 0FF39275579505AA8EA837AE6270A420
+ 063471775744071DF5A2A169E2A22A5F
+ stream[65472..65535] = 7E3E1689A6FC876136DD675B95B8C2BD
+ 7A7E53C0C8D714A6070F844F52D0D424
+ 4DB1CF8D26BA8F5D2FFE9E6DC6108F00
+ 9ECB637032EDBD1B396D59942BC51795
+ stream[65536..65599] = 43C8623C44141E9A9808C221ED45041C
+ 8919E8447A7DFD841407B969A0227D28
+ DCFDF559D2915050CD7A35298E1490A3
+ 5B635DD14E202A622ED5D8E7EBA640F0
+ stream[131008..131071] = C21321EDAD8645A4BD074E287B776A53
+ EF0332B775BDF60990798D2FA9AB31E9
+ 73965B57659DFC956DAF3B487E913CDF
+ 46FCE7A3E12A67118A429A328BAEFAE5
+ xor-digest = 672956878733BAC37F9E326A5C8AF5BB
+ 4A62EA29BBC54C90FBCAA3170C9383C1
+ DD629F82816117E5A0FE412A724E716E
+ 7728FD65E033AC8AAE218A04C57D9FD4
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 167DE44BB21980E74EB5
+ stream[0..63] = 03941F7607A0E96084F3A236759671F3
+ 2FEE0C977E4EB96C49B791F32A12744D
+ 0E15155D7A82C960CFE942336D92D723
+ 27BEE4675708D8103D976F19272C162F
+ stream[65472..65535] = E8ACF5F0DD56B9148EFD5315801F70D1
+ A29075E14B9B370D23A037BB7E4A2039
+ 8B8827317CDC9960BD393F85620D8FED
+ 2C1F4CA982D566C688AD3D91DFBCF0E1
+ stream[65536..65599] = C7F6B1EFC4A873024F273D8BEAA80B30
+ 099566A2D1DD440C111A49C730DDE8A5
+ 708E52F9EE1A6CA162CD890C7B55BD0F
+ 50ADD7F2E1C474BFD5522F1A4AFAEECB
+ stream[131008..131071] = 929501A7BB80799DC1BFE4FEC3D68564
+ D1156B6E25F00B8AFE6858385CA148EB
+ 78162849EC04494728155D63D91159FA
+ B9ACE40DC7F97931A6745449A7A465F4
+ xor-digest = 44745E9AE9F7203EB2EA0925E02B5396
+ ECACAEFDEC5BDE8A40518121DBD308E4
+ CF3D057F70D50ED7FD6189D46DCDE531
+ CE51B1C0D8162340EF9F5311DDCB4E8F
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 1F86ED54BB2289F057BE
+ stream[0..63] = C4F9DD3DB49AE3E28A07472B2C6F64F4
+ 524EDEE76EC02CCD8EBC200B596DFB00
+ E675975461EA15EC3455368E502BF021
+ 042A3212BAF0AF4B2D4024D0A21050D3
+ stream[65472..65535] = FC0927C8ED3A6381D8A3423FCF3513AB
+ FF71C01F070A7E6EEBF38357210B745E
+ D9ED9BE29E578497D61B487E4D709BC4
+ AC38A868EF679CE13B911CEB23F06617
+ stream[65536..65599] = 426ACDC47AB6C7DF581048E6297C5172
+ 7BA74FB4D76A2FE214D6DA3D9C79CDF0
+ 4AD5D33B67DD9F22FCC49E35F810D336
+ 60A7AC52AC097F60B3A264407C0E2A46
+ stream[131008..131071] = B84020FB6D76BB885D8A0793EBD40519
+ A7E4D568F4EF6738BFDFE0B2CC9EFA83
+ D4C4B2F06C208439D2EE518C19AEB7F4
+ 37AB4D9C13C4D623655884CA8D6B34B2
+ xor-digest = 82272352AD2BA7DA77EEE6DC3C0E2C1D
+ E1282BD4281F47E721677C35AD42E049
+ 5A8F9DF0E85CD39787AFB382C93F357B
+ 39CFED67D31DF67B00F17876E9ED7D3D
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 288FF65DC42B92F960C7
+ stream[0..63] = 8693F576BA66F0FB74485C06460562B8
+ 892C2D641A2C86CA34005C74B5C089BA
+ 662079C0F37B90CDA36235ECDBB9266B
+ 4C0295A844E4BDB7BD8B71CC53D5BFFA
+ stream[65472..65535] = 635985ACC7F7E27843D43B14F9486AD7
+ 84C7C8DF500CFB5A37B724D798B54D29
+ A778A81F82EA2D3FC1A3A0B836F5442C
+ 8FAF1315186EABE565CFC39F21D53244
+ stream[65536..65599] = BB433A310AE798D4D0B275B9DDBB0231
+ E3089D6C599538019775146196931F8F
+ C7DE1254B8777D3544A6C408DC882C1D
+ 683B5465E55FE7054583B21D05C791C1
+ stream[131008..131071] = D4EF1D4D6A75A117C8BDD54E50A30F65
+ 338D6BA75FBC14FF3DC4452EF2F682EA
+ F983142E8D07A9CDFF242EFCF34B4A18
+ 3B5026675CE7B6E24690FE14FF12B2A6
+ xor-digest = 2593172D00F13AAF64AFADD3089A233C
+ F883C6EA096B49C90F4CFD656B952F76
+ 7BEDFE5A2FE43E499866FD526686B3A1
+ 682EDC6675C11128820609F1AC9B2339
+
+
+
+End of test vectors
+
+Primitive Name: MICKEY-128-v2
+=============================
+Profile: ___H3
+Key size: 128 bits
+IV size: 128 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 7CE05D0FA2FC7D9B4485C64D61EF1191
+ 528B12075409F8E877DBFBCE7CE3FD2E
+ FB646DCDFBF8E5444C1AB310EAD7A15C
+ E0D0DBCF516D346FD06C6814BF6DFC69
+ stream[192..255] = 63C3676500E1C7661F8EE17E08919FE5
+ DE914B3E4B23123DB97EF531C0ACDD70
+ 15F745D847642F4F139CDD58F7ACD6CB
+ 15741A42372648F5F58975427DB7C08F
+ stream[256..319] = 86A4A8EB013AD583C0232A062208B1FE
+ 02D0F2C2F5F54420161B6DEE7F09DED8
+ 42D7906F9C30C54B0538791720E1EAC9
+ EB51419AD4B1F76FB611B6CD12773CA3
+ stream[448..511] = 192139C4D64A63FD6B55EEB7BDD5BBA9
+ 3DDF79D23944698840153C9CE2AACAD9
+ 9832D62D28608597BA63E36C55562B8B
+ D47691080B58F89D14C9A505F8C6E385
+ xor-digest = 23441D3310A817BA286ED3E8F10C54F3
+ 93C567423336858A36746BF10DBCFA16
+ D8CDB67C2E13F646EC2CEA9DA36F4DFB
+ B34C6307BD5E16F69DCF19A2EEA4BFB9
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 2AD730F26BCA95E2C7EF64C0C6562155
+ 54BDDCCAA94583CA12F1C19EA05B7549
+ F325454E9FB403114B029B31D19D807A
+ ABCBFBEF7FB0D338BC8B8B86A091286D
+ stream[192..255] = EF0B19D71D9A6C5C4B4528334E679BC3
+ 40A5EC23CE61737DEBF8145791F04F4C
+ 028B10A8769B97A4E9B6BAFBBEFA03B6
+ 0AE3C9C7A978A30244BC2759F9123F30
+ stream[256..319] = FEA56694E06166956E72A3A49EB6F6D5
+ B86D7D2E0142F60AA139814F0B83DCC4
+ 14CB402F58AD3D47881A03E74A42E5EF
+ B7DB3D1F5C3A5AA0006F7FD186F5E225
+ stream[448..511] = 0823122D2873D914D5479A685CE22ADF
+ 59CDC2DCE69945D197F9596B1DB9619F
+ 3C8307E4DF32E625660F743E09E64FB3
+ 074F5E2132039B0F6E86FAE419C9F1C0
+ xor-digest = DD044F5DD141238423BF30D4316AB8BE
+ 3DB64204888A1D24DC07648DD000A179
+ E63B8676FC6E2EB9661C2488B5B24C30
+ 70DE89B6077C1F99822316238BC833C8
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = AF8E3042F8D31771AD4CA66DF182CED4
+ 53734A3B42E787033BD45164CB18D49E
+ 0D53DFFC636A13E70DFCD7FA3547A3B1
+ C17FC940B33A8BEBB9D5A32A7CF2E8D7
+ stream[192..255] = 76AD6F309425BDB59601800D4D4A850E
+ FB143AD197A47E636EC70152776D3508
+ BE9DB6A185B3B926FEB1E4FD38F2A0E7
+ 7AB187F66227E230EB01B646E2EC5970
+ stream[256..319] = 6588018D3DB345C6162BFFB1B163BE7B
+ 44BF6DA5756FCC9543DD0995E6760E4F
+ 516414ADEA13CDC9485BA4DA6B544553
+ 66AEF817231656A83B7F24DAD07E0670
+ stream[448..511] = 3CD4A16FCDDC344AEE80D38C4DEEA1B5
+ 653F6F596513FA857D4C9796AC377336
+ 9B83361DF137DFD0C7B43B2561602C67
+ E1AD2ABA83900F7049B403FAFF1BC7F9
+ xor-digest = 6E767E2E7590B3E90FB5BADADD992B1F
+ BB425C1438F6EA1CCA7670FBBF2367E7
+ 72195B53B9D39F79A7D2B4C280042BBC
+ 6D9A69A62CEDCC816C858EF553383358
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 5685A2DD807AE0EF15C63A8652A88705
+ 36EB5DEA3E02E583A6DC67534577BDBC
+ 2DC543D4F3FF3F51A21098AC31BA9FCB
+ 215999815602EDF8DE876E9559507BB2
+ stream[192..255] = E5187BD96B0F8EF724E794303DE85CCD
+ 6202998BCB8BF6F172112DF81E2187BF
+ 209A95D4A070EA83F8D34BD56EB92EB2
+ DB073EF5FE42B870221C245D1A4E3682
+ stream[256..319] = 484DFE04FAD32B8853C6126D47A3040E
+ 462B6F592E09E7DE2C3C512357702CE3
+ 64D3B205860B6DB284CB0D9DCE4FD0DA
+ 1078FAEF1C772C67CA94C43BFED94143
+ stream[448..511] = 914D777C227CF7E5FBD52EEC8AA9F8C2
+ E31C58497C962BF9F19302E1CF59841B
+ AEA0D444036BB756B05A0544C8A53A3D
+ 01662A22781E7993A616D8CD2D4643CE
+ xor-digest = EB52A5F8B0B0B73FB553CACC58BB938A
+ 03A3064F7E5C6A2AEFF928E8B1162E90
+ B726DC53619ADD3797F6E773EE6E3399
+ 25C4EAC84C423565E0765B1FC187A6A9
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = BFBE645A1DF23FD107E6E60587F11586
+ 833AD769A2495E3D5D260FAA2A5EE851
+ 5BB005F087E8D9753DC54839CE618741
+ 18646036B2FE74EE9CD4D497569CBEE0
+ stream[192..255] = BEC0919BFD2C6DCCDC4402B09B4B77A0
+ C8C89765AF9E090CAC485F0243197D5B
+ A6156F3C52F6F2FFAD8B437FB37D6557
+ D4AC3650F5D22F5FE557FC3D47EF291F
+ stream[256..319] = 9656BE778BB6BFA67E884440018C5DAA
+ 02F4CCFC605DE2C5F070FFF369BC4547
+ 6547892C003D3A4A50ED681BA39F1F37
+ 6427F451B8E2ED9A8650C589899E59C4
+ stream[448..511] = A221975A31ED6F908645EDE0C3A66F07
+ 33E934DF8D8327B462DDCAD924AA37B9
+ 28B27C8660B105CF82CE2DB247EBFD81
+ 8A1AA585B7E29BAFC048BA6CEC36F4CD
+ xor-digest = DC5720650E07C43D7C248A6A1CE56526
+ C59F6CB6332F1E881FABD2A848E0ED07
+ 770C98A2DC341EEF33F49B1C00436F39
+ 50A36680E8A12D9FFB6A26F5F2C9B5B8
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 4EC8CE2975A2EA0181C3E015FA5426AC
+ C2C15FA988126E82A9287A4CFF13511C
+ 48A88A37079790E0B574A34E57BF217C
+ 3A67DCAD3B3362BC3B14F5345A09857C
+ stream[192..255] = 8795661861C5D9765B231C14DDB56E06
+ FF04ABC164DF930FEEDACD502E7CFEEA
+ B127974D2756109D9687E9F0176CD5B3
+ 59FBC3BD553C5D016DFFB341F351FE97
+ stream[256..319] = 476E0E382D2F1829601D21749EC6D198
+ 5AAAC2D53A8CFFA79D582AB065E30902
+ B4FCF5031BF290BE99FA2634B67136C9
+ 596767334D8CA1FF6893F06112930DF2
+ stream[448..511] = A0E12253E70081C106108EB631D53A41
+ 62C53D5EE3EF48199472AF5B5AA97338
+ 86807B4E9F8BBD87B7F5AA03684480C3
+ 606AAF9DCD9A270AF88D46834C1E6243
+ xor-digest = E0A56B350BD8FE9AC207742918785060
+ 8D2790973318BBEE589972F849D3422A
+ B237B3C69FD2B631FE7E6ADF8822C234
+ C5F2D33A83EEB84E452AF6B09B4940F7
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 07F090F00067030B60D3D51A2E02C3F9
+ 4C3B0671298D017C4632372E8949C9AD
+ 2DC031CBDBF155BB18D98475319B01EF
+ F464B31FD06C82A9C976DF3FB5591890
+ stream[192..255] = 7249182E89782B1D43D722417B6649BB
+ 418D4627925ED3FDE0E18F85A71280CE
+ 303E386E9157EA23549C3B232EF9D559
+ 9FEEF904C8574358167CF67BFF0056FC
+ stream[256..319] = B23F61FE62C18AC266D9DF1F3C5A4D59
+ F4D069EE1CC9B13F1FFA0067B59BEC96
+ E6A7D9235DDA20866D8861565252A6D8
+ 1DC0F14560A1893FA14100D722FDB6B5
+ stream[448..511] = 1089F52C723BA05E079E6081637308E1
+ 137A97CC4C9535C11D170E72F00BD3AA
+ F7F2703E451E76B58DBFD4EE003B8CB3
+ 143C8CD2BFE8F02C2365E3CE01172E67
+ xor-digest = D256952A02325B1C9B3EEBE3D83EFA44
+ 7DE01035E58DA38C8D6D99E5792CF6FF
+ 99E519DE8C5DBDF15870E1AC03017903
+ 573BEC8DF51BBAF65A9D21BDC9F90B5D
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = D6844D0078D9BE1915D4C6C5A71C3AD6
+ 4ABE54181546277EEF6DA28959831A37
+ 7F10BE57110113102DC3808151D2A971
+ 52069306B687F6DE6C32DC5D9AF9D495
+ stream[192..255] = AB4F7A9ED558AD2D5DEA91D152539AF5
+ 20484D58391288AC9B4AEE8FB9946FEE
+ 05BFC204B32165B74BF42317FACB2F2D
+ 6997278B30F890950E693DC5E5D4E7AA
+ stream[256..319] = 54952AA33BE2A85D2135CB7D4052118C
+ 0A026E976A3AC6F3CF6CC7A8349897CA
+ 2393DDF07554CA96B9B7CC2C98CA0F7B
+ 945A095A310F80CE2743A0740590760A
+ stream[448..511] = 3FF6665B3725C525E09DCFDA385CF6DE
+ F5765A18742D439307F00E7EFED5E3E1
+ F232547DCDBDF4B5F8CE25084B30B517
+ 96574F0B945B2C7D66CD91B72A52BA01
+ xor-digest = 74FCDC6D6525D0014A6322DEB4B05C63
+ 710EB285BE1D4DDCB3AB1FAB3292E85D
+ BBE135F8ED11201790150849A85C580C
+ 785B09A263C51F4E9B0ECEB30132E671
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 24C9689092E869B1DAA4292EADC2F645
+ 4B212B4B5AE872765C2B3927BF4BAB12
+ 0727E0A13F40EE8AF5B89C31021A5FCC
+ D94D9C0145DE5371CCCECA06FC92FEF9
+ stream[192..255] = ADC7D2D51746090720E206153D906FC0
+ 0040574833756349788BCEB536D13E4C
+ F3C7D1D803350BD717CC12735CFD67CD
+ 279A4E81CE3E57992DA21261193EDEF0
+ stream[256..319] = 4CB9A50949D76992BFAE9A4D266BF222
+ 52B6C5553ABF8CBCC7CE5BE669D4CDBB
+ 24647268E64B7EA15626DD8314330EE8
+ 4E8F491F070E09E78E2FDB2FFB0F0D0C
+ stream[448..511] = E1F5CBB57E2A4A4BCBAA14C71D0C6665
+ DD932FAE38104C0906F7F0D25F96458D
+ FB64316581E48A1B59F789699E83C725
+ 233E000D054BEFB031673D190C03F985
+ xor-digest = 586FE1D24363249C966D3E6C31C19A5A
+ D94ED2E0D82AEA75F7F071119C3932BB
+ D3A52726FBEE51372461023B066190D7
+ C95F7432EA2ADEA05C52A46020947978
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 34777153F8FA7EF1009E392BB2AC015F
+ AE2B5C46CAA4BBF9006769380056CB4D
+ E50123E03E4E2F0E4B3EC4A1ABB760F4
+ 5258893650D0D03B399AD7696DA585B0
+ stream[192..255] = B7B71D91A82D6B00B3CD796A6A602AE7
+ E574042EC018D5C485527A2BF101403B
+ 7D945C483B5F1AB5CEBA1511A7A6DB12
+ F369D4F844948EAC032F311939035811
+ stream[256..319] = 762E64760FB706FEBB15C375D8E452A9
+ B5923068AF8EC24C6A5457D83C136158
+ 0E036244994C4188E492184F3C265994
+ 6C52BC21D74B964CDE119398F5F70C20
+ stream[448..511] = 3CFF4E9D6D5FFCD094DF74F557FE13D7
+ 286C6AB1B44DED5308D872A97B8A4AF5
+ F05A6D5F1CBD70A48715BCF87A55C991
+ D25F4D3BE1E7103D0C25A6085A076FEF
+ xor-digest = ABD861858345C66A59338DDC5E098479
+ EDFB764793E36DFA420BCE14488E8C0C
+ 16BE4D77C2F9B99625CEE24B92DE9269
+ 73619BACB614820CC4DC439A89999040
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 07B2D82850A97D2A086973915FDBA7F1
+ 3D50AF1EA382CB5BA6B8536015F51C9C
+ F2E23EECC62E62B90BDE777C90076192
+ 51395CB21742237D39F0F3EAFD79458D
+ stream[192..255] = AAFB12E6189E55FD73C5D7C9CA2EE9C5
+ E56CC347253D671C72A1A7A3928572EF
+ B9F62003FE1149066268BD6D3A4F7649
+ 351628879DD6554BFE5E56D8986891DE
+ stream[256..319] = D80EBF4B3E1EC58E4B642EB233C2A771
+ 0E43D77036A049B9D0B1F88BF4109CF0
+ 81787D21B182C85F3FD609F91A1AAB3F
+ 8136C5ED7A1007DA671B503ED6532309
+ stream[448..511] = 11BF18E1249BBEFC4FAEFD1AF3FF4553
+ 7BDA0573BFC6A84263C4D4DE0AE8F7E6
+ 1AFC886F6172CB80B769E062102CB081
+ 283E92394DDE1BC4C0AAD59A0BA70F8B
+ xor-digest = 2EA46D9FF5376DB7EFDBD380A6694BAB
+ B5898D75BF75C356A6320C33BCB4821C
+ 2F8CF026DEAB79175E9935D6B7DB2B1B
+ 238DB9D0215EC60D153BEDFA3C44AB7C
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 62AA0E38B3B7E03AB713C3B54DD7BE12
+ 39E26FA7BC6CF372EE3EAB37C094C14B
+ 7E8BF4EFAEECEC1FD8C0D04AA82FD867
+ 9EF91BAC0DBDF0C5391487649DF6E8B6
+ stream[192..255] = E234F65B7597F3F708B5274D75B3F367
+ 04A1762E6EEE344C48CAA4D021AFB2C7
+ E3BBA1733F140A4D9D11F0AFD5538CDF
+ F73D1E3A16C026B608F2207DD0CDB2C1
+ stream[256..319] = 2F4DEA8E53BE04E0E9E96BDF0F5C2826
+ 3435697E6ED8A669A9A86FDFF6C87EB4
+ 6754F540549B7B1A80E3EA6E1097A33B
+ 60DAE128A9CB8FA759971BAF3B4937CF
+ stream[448..511] = C94E2EF5AF6D8B86DB6B618488278DAB
+ 436A695B068D3DFD897589662A4C8C99
+ 77E861DEEC2C770642CA89A24E8543F5
+ 480EE698242398534360EBD3246C00BA
+ xor-digest = 615B2108230F6487F801FE07781F173A
+ C67E5C97C5317A292EDCFD6FD24FEC0B
+ 0F48BDE510D895B341E8C5D1F65C529D
+ 126A97F96F07DDA81C7D563B256E79F0
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 2A196EF49C332EC87EF3A38CD1231401
+ C7EC967989DD2E74EBEBEADB3FCD539B
+ 7CA73F196DF6EB7036E7F70385E02EA7
+ 69B46973C1C0FF59B3EEC0B8AA4A0A79
+ stream[192..255] = 1B70A5C72FE4EBDE07C61CB70414B277
+ 795C5CA864AABE695B64097B2942B833
+ 0B9363B2AEC5732B96D6518337B6442E
+ 65E272EB895576E206DA9E23A1163720
+ stream[256..319] = 82299BE3A04F8069EC128428A7558405
+ 0924108A2BC50489725570F178816235
+ A385B4B8599F3E71803AE170DC248BD8
+ 28D6C81EBAD744E3D4B7A19494955C3B
+ stream[448..511] = 848A2BFB73ABA4F9147DA5C320FE1B7E
+ F9B9593D6A2171CB64AAB6AA14AF0AD1
+ 30E30F0E263ACF7DA9EFB3A0D0FAFB4C
+ 8C23A740E12CD4E9288BDE2B88384266
+ xor-digest = 5666394D83684FBBF2ECEDD6E1ACD15B
+ DDA69BC4796DA4EAD0B1C1E34EAAC7A8
+ D005CC6DC9A6592F3E3E18AE37AA29A4
+ 7D6389ACAF60065DA37FC6888ACDA2CD
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 064414B7E30908F7C5CB0C5C56E01F30
+ BBEFFF2283AE5F823BB51AE5EFAC82E6
+ 82ED62AD217B7CFE9F51FC18FA9C6CEA
+ 37A1CB8F1FCB3098D9BABA51FF5D18EB
+ stream[192..255] = F7B2824C497DC14360566B1C4188FB06
+ 5D89A14E349076879368EE131AB7C9B0
+ 9D1A762952BBD507A65C2691E39942B0
+ 51FA5FBDB7A6DF931CB2ADA73D04A0E6
+ stream[256..319] = 14B4C8FC68FD030BBDBA4C22D437853E
+ DF9803EF2D1B6E51DA2A71DFF242D815
+ 9387799A137115B0A3F586931A1EB448
+ 1A7643EC0DE9F13C3AB553D9B7E051F1
+ stream[448..511] = C6D8D0FA7D3CA7EEC197A787EF0A467A
+ 63E717348F99E94C1D433052059C3794
+ 9820DB9EF0D70EEBBB09AAAD7227DC34
+ B440CF249ECC2BE43814A932C79117BC
+ xor-digest = CE29C1D149588A0ABF28456FA6AE8AB4
+ A60ECA54BC3955C8239C09BF379BE151
+ 06B3F22FADCCEE11D7C8A88A04F00C80
+ F3A9E958A31B361C90241897102A4E3E
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 28EB3072B61F3A809351B6EB9DA34C49
+ EE8216F3055F60006C67205E17DBB32D
+ EE86812A987392059F44142216C41C7B
+ 78150BF2EDE42E24DD1560B5A300BB0A
+ stream[192..255] = 27F8C4903E9234AB29DE45B7071AB722
+ 491D117815E990FD21D3D9E5D9E7C7AA
+ 0E1B80B64D532DC60F50E702B99C4F82
+ 65E70EB8231AFFD3F85959F048994D5E
+ stream[256..319] = 6F42CADE56A29EAF4EABD2B16246C9C3
+ 8B69A798186405496ED9267198082A9D
+ 5A9BBC9D3EA76C73D5577CD396554D5C
+ 0C9AB96894FE244C238D7B5515B8AF79
+ stream[448..511] = 6F19A8EB028CE992E3A689E78CA4AD92
+ 03733093931BCCD9E3902F6EED60DCD4
+ 821AB5CD059482854CD138E83D58E750
+ 9F1D29301264CDDBB465743476C2004F
+ xor-digest = E0724E905B1270B4DF01A4DEC986DD8F
+ 7830FD699C9140748346F5B64190B0C3
+ B4DC78146BC34DDD978A09B70121A404
+ F82D54BE7D1836CBCF58591A4FB4D404
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000000000000000
+ stream[0..63] = F0EE0A97D29BF33D2F9944F95E5583D5
+ 5329BD67BFD0CC590725078525829D08
+ 12223D70E91624A20575D351DEA02D20
+ C505EAFA98E59D1A05EB3D490807CB6A
+ stream[192..255] = 07B8583BBA442137CC6846B2D1F54225
+ A0E970AAF63687E2C41E0BCDA07FFF4A
+ EF1606D82C45C84629859EFAD316E2C9
+ 445A8824048EBDC6A62F0207ED22FF22
+ stream[256..319] = C763746D38829B1BA8EDEFA23E0AD602
+ B74355221AAE72A3FDD0918A000375ED
+ 613F10338EC7B5608B006C0BEBA32BF6
+ 441ECA1A76567512BBD8C7934A75CE49
+ stream[448..511] = D1F36E80E08C9291604B4455AFDA5E72
+ C8B20836432326BB9A501FD61C31A897
+ 9075DCB5896DD2A36422DBCCE87AAB85
+ 79177BA887F22BDE69382696B82B2F2E
+ xor-digest = F6322FE42D59E97493A2CEBB220F3867
+ B0B9A7CB30D1555CE69E2C23BEA72101
+ 03B2437789DF38540C9FA6E945F83193
+ DA0BF39F778E6420FEFA5F0527081AD5
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ IV = 00000000000000000000000000000000
+ stream[0..63] = C39A30E1FC1376FA9C3EE9A1797C3C94
+ 1A83AFDFCE2811844894F1CB8F25D696
+ 9D657A6F6CD4ECAF77B5D42ECAA578FD
+ 01884261D93525E7CB397208E5188B03
+ stream[192..255] = 5B155D3A5956CFD393509B10293A14C7
+ 4DB2EA0BF14EDD56E61457E684EB009C
+ 4FBA369A86230419CA2AD4D44A4701C2
+ D18AB067593A66D95091A5ADA8BED12B
+ stream[256..319] = B2186137A1B722BD2E2EEF58E6221F7E
+ E99E0C2F6F354CEF20EDA2D2E6A2B44B
+ 4C99016D5316362EB214256FB1B8AB9D
+ 07BE594E4B762143BE37D76B123D42F2
+ stream[448..511] = 996B8964E354BDFE665FAAA9AEBF9045
+ 137034600DA71E89A6C931056E6A4F75
+ 2705F4E917D0CC8BACD9465EE676D15B
+ 8559DA60F8672465409D74BB0E7F2E6E
+ xor-digest = 5A08E99E465FB42E139618645BCD8D0D
+ CABDF15CB2DBE7690BFDAD397D876F87
+ BF373F3F9A310F3A74E658C106443A45
+ FA4B21CB4EC1EB7E945F57F33314B5BA
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ IV = 00000000000000000000000000000000
+ stream[0..63] = B0721E876E7C6D57AA4C775D27BC06C8
+ C17A1862C646B0F23A265BBB7265973F
+ 0E07BF6E11308C5A339836E624D459A4
+ 44CE5E288DB91751B96B6AF85AAB4A63
+ stream[192..255] = 68D1277AFEA554C06405E969A04197A4
+ 6E77886BC58679B7DF881A8139EA3E2E
+ 089B876C184E36690703B16993B9E517
+ B59ED1171607C5DF35748EC4C418D91D
+ stream[256..319] = 121A9253F743F90CF4240A44B9357827
+ E398ABE6C81EB9C2CEBD33FCEEDCFE34
+ 61978657C41D15B1212AE1036DC0895E
+ 3798E5476C3BBB32D4E77D285569DB65
+ stream[448..511] = 12A254F80192258E01E0CD6EC80AAF23
+ D4A67F3951085CB63C7E38375B1005BB
+ 35070E788C2E352934FF4222CEA0AEAD
+ 5C601E1FDDCB9490B4861591B5265286
+ xor-digest = C44FACBDBDF95A5A28D4140DDFE0AB71
+ 93CDC10C68F8BDFC93190C8FDA410F5B
+ 566003BDF94B5D3A301BC77E80AA2042
+ 182E598F4182C7306647133DEA00B282
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 581F6F0AB86BC1FF83F5E62A90795D8D
+ 10CBF6737167BB674B4EE1696D7C8B9C
+ D1AFAA9111C621DCAE44F6C64F78B7E2
+ D2393CF975A582974B06C144F92E4933
+ stream[192..255] = 3D9A0649F1232603C6C9CDE68516917B
+ 4BE5507ED8326CE6A2E40941DAAA8D4B
+ CF7F666801992BC66A17B1DE92A8541A
+ FA8109DDEFC039C3CBAFAE72EF027574
+ stream[256..319] = A64AE47A43F2B3E16C2427343136D410
+ 62D86B0DF8B9AFD8300D4103152C8C74
+ 6863458AA132B7B4B3A3402E01290D3D
+ DC1168A691B33DD07EE15BC3D945506B
+ stream[448..511] = 3CEC959E63384960A34950AAF51DB9F1
+ 7ECC8D0F454BEC6BD025D3F5E651544F
+ 2D21782A2D04A0E3480D99BA499EC041
+ 35AECB586330EF43A4B07BAE0AF3E581
+ xor-digest = 58539553FA17D42B0A3971910217D273
+ 385D7A66FE1DE3B7BCB4962674EC5DC8
+ 4A08973386EA2ACFEFE462E8898EFD09
+ BB4EF9E983FA8CFFE21832D208B43591
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ IV = 00000000000000000000000000000000
+ stream[0..63] = F4E731059D1A91A046251945744DDB78
+ 188A0E1714063EF1F7947DC918BEF8D9
+ E38E71C1F1AB596AD032E3E3589E748E
+ D4BCAAE2DA5D05D18EB61CE054501C40
+ stream[192..255] = AC15B47C578AF81CEB16F13AF57A3375
+ 2BC5F6AA68F16356720072778D6D451C
+ EA1902EB5A5CA1386996CCC434595D76
+ 72B4D8AE0467E00CA5C489EB9837A322
+ stream[256..319] = 4A5DCA177822E653178EF60988E2D5E2
+ A2746D5FD2C6538E8EF1D10F7E62A4E3
+ 12A26EA93137E6FDBE0F298923422ABC
+ FBA71034178321E7E48490AB51ACD00A
+ stream[448..511] = 94C8A897FFEE111165A27DB949F5057E
+ F487C28453DE31233BB598B4191E3D37
+ 130E03A38D05BE41AE96AD18DB13866C
+ 3E3D6F3092D0D87F06E45B8B3B7A07C0
+ xor-digest = 507CD2B905873635C12DDA0C02739960
+ D4DCDC98529C1685D82224E1A9119A66
+ 6B9B6974DE025D5A0D425B05E8EBBC77
+ 36B8061C84BA4B1CEDE52662330E37F5
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 43511DF639F382F0093D7C31F8988C7F
+ 1481F9415A2904630D83A6C38D6066A6
+ 6CBBEE1CC94974730C081D54C2CDB61C
+ 67F1734A98890C28BA98793394E33D92
+ stream[192..255] = 3A0C81B1011DB0B849C976DEC93DB401
+ 56D94973A2F1798D51E131B9FFEAEA90
+ 7AD20B7300E2CB0A062C4EACAAA597EA
+ 461F3C8A47C706F23A8B514AE564263D
+ stream[256..319] = F074E883302EDAF22D48E606D090F169
+ 9731C6AEC84FB72FA9D51E6C13E9EFD0
+ B33B8500BF19BC990B51AE63A8D9AB2F
+ 55D4DBF0E3A606F39995C8835DFD50E2
+ stream[448..511] = 9268829A81402ABB88BB86CE70E29F54
+ F3E152726EA694B97799C61970E40613
+ 99F57E493E1242434474736EE6B36CB8
+ 1BBFEFB89F808F0ADEC38801FCB753D0
+ xor-digest = 746C5DE76E486A2E1428D93F06A20207
+ BE9DA64D4EFEEC748AB091EB268EBF7C
+ 23912FA09ABD7207B17B0BB72B8B495A
+ 331E5867979A749EB69D2F87E639FADC
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ IV = 00000000000000000000000000000000
+ stream[0..63] = C43F5C7A163AFE41CFCBDCB4A863E1D9
+ 5E8F27E6CCA1092812E4A1ADB2AF3DAF
+ 94D9FF5A539699F9A13CA6641C1CF29A
+ 4B1AA8B3DA3703A1D712F45C33BAC86C
+ stream[192..255] = 024F1D722D0D558CE63D1EBD7553DA4B
+ C4D3B9C30E2AF6FF425BD683078A872A
+ 72063841756BCB4FBBF0150A46FE1496
+ 6F160C2B3434F9BB3B1D4AB77EBF3D2E
+ stream[256..319] = F1D30C1B0CB1EB5CF3567357F1EB5C95
+ 2E91C9DACFE1777B03C0DFB39CF47392
+ 4A39EF9BE8ABEAEEC136BEB6B74942B8
+ 62B6438B7DE4333CC8E0890A8D5B0B1F
+ stream[448..511] = F3578345454BA4C87AC9188DD77929C5
+ 10BC89F52966D88964C28A4781F394A9
+ F325326758F8658A78DA711CC5A4EF54
+ 03FCD11259198BAE0A6370A358F4C903
+ xor-digest = D0873400D2AEA7B3EE3F650BA9D45343
+ 3652E9D513D0300BEABA5A44009A17CC
+ 0F1821EB25C5A6AB6C8C1A4B87B017F7
+ BBAA069427FEB85A08ACFAB277B22AE4
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 53FA80B19BBBBAA9EB601302B5AB5015
+ D35FC935C98193E4B95880F8DCE0A368
+ 03CAC03CF491664613D7D114C2026E77
+ 49D4CFB033C9EC52EFB080DED0423DC0
+ stream[192..255] = 3DA2362617E85CEF6AE6C9138793CAF0
+ FF0F4376BEC3DA9ECCF8079DD006A6F0
+ 747600D911B9C00D66A328DF7DF582B3
+ 82A183DE91751614C949815FDD04732C
+ stream[256..319] = A019D984E8BB368887FC600E74641E8A
+ 09C7C7B76FE4E359C96D74DD3D7A29E3
+ 857D322E099F8E0421FFCC3F884CBAB4
+ 057D00902FC874AE43C2BE11427F3331
+ stream[448..511] = 73A59782758C9FCCC68952C632D7CA96
+ 7876E99F3A4636ECAE2D40A4DE079D55
+ E7B12BD2C79DC919808219E8490C0CD9
+ CF1705FACE57901C9D6F9D6291AECEB5
+ xor-digest = 8B69C5540B60D74B94260CA27BE48782
+ 899AF15226EABC2698CA85B8302D4515
+ 42B4213CE847EB31D56FE6BF3B9E25A8
+ 0031B19B4711309501D0CBCB388EB333
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 70351EF2F0E4C78991126E22D026171F
+ 97473F621B60A453131F8ACC4A7F4167
+ 9F66BCC36EA082A775E37D13DF698C07
+ 751E625224F817ACF30AC56EA7264C55
+ stream[192..255] = 8B387A9ABD1CFFA19E7648AE519B8B77
+ 587ADED4C8FFD3728EF509E041818EA5
+ B85A0FB1E6B58DDBF096A1F96353E28B
+ 68450FC2CDD208F0580BE83C140CCDE2
+ stream[256..319] = D824F0ECD79FE82D3608A7FC3B875BB5
+ 97E1342E597CCAF3B4147E7D0199C924
+ 081DCFFA2CDFC288403E407A2F247285
+ B2FE738F743203C0490835C49EE8DB31
+ stream[448..511] = E2354A6B4E9403126AAB960AB23BCB05
+ 20EA3689577234A8BE87FC4F684C1DA8
+ 5B7D4605E8DF3763EB438243D0BDDC49
+ 7083D8BD423AEB481CF92729F6B69D91
+ xor-digest = 16D7ABB27C7E5509FC076A2F5E4B603E
+ 144370E3D354D5842907DC2B18B8BD70
+ EB40D7475B97A1EBD002ED2D86D02672
+ A52A46EB5066E0CF4F6F551CA31B1A87
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 8BC61BE3AE5CFEABC627F3D2E25504D8
+ EAD27FD8C8A87B3469F558C7DF2FCF92
+ B7D5E2291CDD352CEF7F26B782D178B6
+ 05EDABC5138C959AD5BECCEB950C947D
+ stream[192..255] = 3A2AEDAC76C2B4DE83C9B31D8F3B4788
+ ACACCB0C0455250DB12DC8FBE788CFCF
+ 93BE05F7D62BCD8465D1DE4E670154D2
+ 8110A0DEEA4C2E1E65229EC8EAAEA554
+ stream[256..319] = 0EE477D396A987E10E4AE55BC690AABD
+ 280D77B73C7C5ECBB982536F366FC955
+ 61655F5CE9286C2711FD3B39510A601F
+ C0926670BA04DB272DF186D1BD1EAD59
+ stream[448..511] = B302A8AB25CFEDBB013ECFAE4F52BE18
+ 3A4EB109F6B9943E01149CA9B84E5BB7
+ 5A7A77F35EF579F10248473157B73A6A
+ 05DF601ED76A7950C1AD4136AA774454
+ xor-digest = 9AF1439D0C058039C1F1E35ADB7273F4
+ 3A616FAB1041EB6A165C38677DFE4A76
+ 80DC198C696A3907AC7029B720153A26
+ 7DC688FF98D25D1438D6A48BB60A71E9
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 575BCCADBB177BAB90A3569DBF2EC15E
+ C5469C520CDFE98B403A0256BB81DCAF
+ 61C2435A35A93C753072DF4965672C69
+ A711D2F1F814EDB4993171DE21BF1D15
+ stream[192..255] = 7A4DAF42029CAB324F5ED103D7E9753C
+ CD70D1311D257BC1D71C34D0D9794F57
+ 3E13A095BFCC728BC8CC94895CFE61B7
+ 61FB40E1EAD86DA0340793D94713C00A
+ stream[256..319] = BDCD22BBBBB5C2BB92291CE12D125E3B
+ 6F89BDAD09CAF6BD0E102D2460157329
+ 8ECCE1450A960A57B6C380FB817FFAEA
+ E2F46EE06B70F5F25F56A5C63EEF7EA3
+ stream[448..511] = F31E1C5638C924AC03A79E35DEDDB0FC
+ A2C058CAB44A212F17D4EB33FF581DB8
+ EAF214AC09F8E2B18083670C13FA90A4
+ 7918EC2ADA25B6C075F903C078852B17
+ xor-digest = A9BC6625131D8940E1B101BD5A712787
+ 87BEC14605A4ABDF521DCC310243FA8A
+ 19005D7D2D85D56A6DE817AAD44B6308
+ F6C20E4BD7DBC76001349493BE3B3A5A
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ IV = 00000000000000000000000000000000
+ stream[0..63] = A2A4CE4BCDFAB01DD5C85C266C69881D
+ D78088B9E6B38785293055144E869D2E
+ 8F16312EFC1EBF054AB7488D29D988C1
+ A805498440908F71982A2563BC87C4F5
+ stream[192..255] = 62760BFF3BDD04F10E2E861803496A91
+ 30DD2BC84DD6222372FA4AB27D8932E0
+ 7744B201C86856E05FAD8287E4C69711
+ 20B801E2F80656EEF80636716DE437F6
+ stream[256..319] = 94CB135E7C896CAC1DCBDC1F6D2C3FEB
+ ADFB8302A69ACEF4B0147F665B6990A0
+ 4EAAACBD8EEA2B4BAB830BDDA207C876
+ EF16FA5D8EA6D21EE735F425829CCE21
+ stream[448..511] = D4951133F46441A1523571E72A1C0072
+ BA71BC818969CBF50340E7D048BFE6DF
+ D963358E9091C49277F286712EECF3B9
+ DD481DEDF27077B1640E0106ECBB9A51
+ xor-digest = 002B5B25223863D0B2CF23BDB15BCC0E
+ 9D1FE214198B565B915FD7D690151FEB
+ AA5F1D3D061D3A53E55BA9B7A390CAD0
+ 736DC43A911859C3FD230CF3028D2B1B
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 564476C944C8E14F1DA78089A14A5D4B
+ A929353A40142520FAE02AB59322E369
+ FB2D36141893B8A22D1ECC40DE248DEA
+ 94103937816E2A969D026C1158CBA6F7
+ stream[192..255] = 9BE063064711D5F08880A4C7BBFE3692
+ B394EC76544100B92BB2236766596C2E
+ 139EC14120F1AD15540FDC9C4915B1F5
+ 5D48115EB2F7A387733D4BF0E63920E6
+ stream[256..319] = 47556CABFA827E14B26FA142B4A85B8F
+ A1A900AEA60E22239F61854B66AA4AB7
+ 864D0794F9655EF6A02D0F67C95AD01F
+ 53B13FBA591B8BF8AEE403CDEC50AAC9
+ stream[448..511] = B51BF32B0F95DC83FE3A2037C8503324
+ 30440290D632A3B4DC3FF15627DD8CD6
+ A69C61B5F0393ECF461F952878B03C45
+ 44DC1C54656A2406CC0DB4ECFCD9850C
+ xor-digest = 0B0FA5CA11D28C459FE7BA2F40DD2C49
+ DC9B4C32B73E268AF5401DF504B5BFD2
+ 3C58F04A8C66BC0F7BEA1E8B1669811A
+ 82E567543F18B240A214274A2829FF83
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 8020730839CBE0D9B57546EDB46C854F
+ 6BA83534F61D1B79BD05A0279346BBB0
+ F40AD7B6CF5304E117F058A706A72B3B
+ 38260C2872466BBACF9726A722747EA4
+ stream[192..255] = DD08BB3B2EBD09147CE7D0E933BA002C
+ 0FD4714A8E75ACF79AF17005D1FA1686
+ E733DE4B4917FABA4B6CEE4F09B0AF21
+ 2D1E172A60F03DB0FC94FBB77D7619B0
+ stream[256..319] = D8FB46AD6EB86F402BA6BC50D0EE411D
+ 2D7BB9C14CA1005D216CFBD680058AA1
+ 80119421C8ACBCD97EE1B3FE28E2DFF2
+ 828F4D625A04BE038913A12904241A5E
+ stream[448..511] = 450E0917749FDADD83C62C5C5F3AE987
+ 04AC29C455C958F85FD1F59499E8F139
+ A1E3325013ACBF1EDB62C85B02C2AEE7
+ 3B104486AB1C09F68543C5A83DA1486F
+ xor-digest = 00B1CF6FE145B9E396DC1F5E76EB66C4
+ 40320BF7DD3C7EB1BC86AEDF78C29173
+ 38B3A726DECA0A613672DA2B9E4A51C0
+ 7CC870FC7B6AECD623959409B9C5161A
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV = 00000000000000000000000000000000
+ stream[0..63] = AC94763B8747D84E169B257D9760D009
+ 090FA2C31E6CF593AC2CBB9994DAD7E3
+ 63E19F8F5DD05898DD9D578E18A0CD12
+ 216945867D1CF06265B967E35B75120A
+ stream[192..255] = C89D331E11B883D2DE1B62B37EE57C22
+ F8098B450E3BEC83A6C7DC245DC2C89B
+ 62EC337A77EA505FECC743FB0E06BA16
+ 710C7CB87892953720FBB69776C38D92
+ stream[256..319] = 1F2E0F8492FFA99702E8B0ED9EFC5E8D
+ 4518D45CCC1CBB00F7E17F86D6E4ED0C
+ 3508B74B12FD2AA2D12A99216FE31D2F
+ C843316DD7F561B45EC818F5A3F4BB12
+ stream[448..511] = 41B8BD9B8767A6A24EF399199C283B34
+ 780E4773643E5D678B704FCEC898A1A0
+ 3EFCECA31D0A1D9CED5BC7D4C67B4B5C
+ FA8534D4B37D5D0E07765D128DD8DA31
+ xor-digest = 86FB12434A4BB0A21690367224305299
+ 394FEB9757FBDFD67E2C14F0CD979A12
+ 78DC71FAC9E7C745317CA79CC8509BFE
+ 226A2B9BC5F59B8B5C061EFE6E44FA01
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 7A4A1703568552F48FAFD482A5D006DD
+ 25B365B2C60B2FE5F7E6647F241AFD19
+ AC7785837298F2AAE58F1B524C444122
+ FD25666490C7ABC045C1E7526677748D
+ stream[192..255] = 43BE3A292CDA19114BC4CC0B3F6DDCDC
+ 41C2259CD69115204424100CEC515023
+ 8DE14A09F69BC934D534511A49B9A784
+ 3F8C33546F4F6BF772EFBE47F3F14543
+ stream[256..319] = 579BFE853874CEA998B2D308F25034B0
+ 33380B2234CC47C6B37CCFFE21C254CB
+ CB348BE1A153651195242E65B0B02443
+ 6393B4E0060A0673B240AD2AEB9DFF9E
+ stream[448..511] = FE8DCCC74ADA88D313B2139C2B6AB838
+ C8EAA02CC93B872580ABB22139C2A0C8
+ 7E786683815DC3E7B2E4D2080371C55E
+ ECF1AC3507D867DC9F2E17A1A0D85C3F
+ xor-digest = 6B8A5B5C62ABDC1CE0300F7728F73364
+ 2245603655E34599FDF5937A4948A38A
+ 25156AC6987B3B9B816F52F4658C2C1B
+ 2CE726CF065B265AD15D6D6B3D02979E
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ IV = 00000000000000000000000000000000
+ stream[0..63] = F7B8C3FF6005F2D0C792A9F20B98CEC2
+ 8CDFE9513A8F56C2840AFDC8F25F8DE8
+ D5454BEB6D6D6E3141F98475C422917E
+ 72FA2CA3510211CC3043AD3B8AF9DD3E
+ stream[192..255] = F4AD6670B085F9B56D09E3FA1D51B241
+ 12EAFF83461AB512359B0D6ABEEE19DD
+ 541CB028DB23F6FDBEA1955097F0BD5F
+ 6119A1F410AE28AF29A851E3C874EB95
+ stream[256..319] = 9F3FCBA10E39CA38BDDBC76D14E4B913
+ C98C306EE8679EF440793E581E076E25
+ A2344F498A1BAFDE8F8A7ED9F6224CCE
+ EEB5BD6FE9105EC52D853C91335FCBA2
+ stream[448..511] = 0415F466E2F33EBBCC0A8DE9621801CA
+ E1F4EAE240BBCBE6B5CEC12D6FEBF237
+ 012B15D2367E39405566311340547581
+ 665B7AF60337C0AC3F8C384068D73638
+ xor-digest = 41647B3BD455B50E996A8835C27F9132
+ 39F3F1D26CC5B229ADE34EBA46173D02
+ 476C464C53301C33B7B470CBD55522CB
+ 530EAA55E3450250E95FC070C2DC01E3
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 784AF2890D10E3A7AD0B8DCD8615858E
+ 34916CF3E1281A91F96710D3C9AD29CE
+ 390C10E1805ED31DB83779AD6F8BF8D0
+ D94295D5FE914CB466DB45670334BBBF
+ stream[192..255] = B5EE5B4CBF0A67D9BD6C9DFFCAD28FFB
+ 555B8C10F16B90B3E3991924F3656548
+ 89F1C4F93705C426232826395AAB7B96
+ 46CDD0EFB6FCBE8D4C132B17FA36CEE4
+ stream[256..319] = FFB88A9FF0E7FF3F0402CC3587A501FD
+ FB85142D026FECDEAF781B6468EAB12E
+ 054F0392219C9FA3869E80A7FCA7B124
+ AD519E2A143E48FB4EE3DE82A948C281
+ stream[448..511] = ACECD3A8B0C8736C024D1D6EC39CE535
+ ED90864E49DB14EFF16C9BC273AC2842
+ 20C9D511CF1EE43CF3F2302834C14F69
+ 11716AB91EDAB49B36367641FEE60A02
+ xor-digest = 6B4730FB661717AA81736097BAF15935
+ 1085A8DEAF7EEE06731B7A12DB8CF597
+ 2913FEA59B9227CB86C1906F9EA7548D
+ 499B5861EE41621D7F74D71195F88EBD
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 61ED7C4956BCCC0AF496DF3D75B87D80
+ 54A16EB429AD2DBAB9A4F207762E0B65
+ 2AA7AB37407FCDC9EBF66768A0075270
+ E0F4303AF31E04160214173A4CDA5FB5
+ stream[192..255] = 26A46D0E7B97DD968EA1D5EDFA7C387B
+ 09A801B06CEEFD065B1D213FE748C295
+ 2C3FE4B867702D004A1024FE02DEA2C3
+ D373EA6188742C4A2A92BEDD090BA7C2
+ stream[256..319] = 5FF00AB3220A7FF436721CDE995D772D
+ 03C4A6E616998FB71D59B4F0F4F8EEA8
+ 9AF6407C02AAE5C7F488D76A02B09B04
+ 86AFD04B26F7B8E4754E707FB625D14A
+ stream[448..511] = C12B68552DF5AE9B7B1E10B713C6D4EA
+ C5862B28485F598A095D968D629853AA
+ 5BD88099A1EF064E797DCD5846B5085A
+ 1A8DEE4636B6B0614BAE3595DD7D6040
+ xor-digest = 46F63D1642784FAB1F7C89F2201B85DB
+ 9B3C2B3FBD443FF173BD4D1CB48BE7F8
+ D74935344942E82789E93ED49CC9DA60
+ 204B084E1FF489E2E28E74B2A2819B4E
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 26B7F80746DC17BD8885A1BE83036B87
+ 7333AA046B58B2FCAEB556C6DD95B031
+ EE76160128ED99EAE66A4C6DD8330F03
+ 025A40E545C1871F3350CAE747288E29
+ stream[192..255] = 2B06809D7A16A5F08E90A68720E4F0A0
+ 972C0221A8E780ABF38B63EFBF01FA52
+ 59134235DBFAB9A9D90AF719249DB6E7
+ 70CA26EEBBC6B95B840DF46A694845DF
+ stream[256..319] = 0099E2BBE8CC67DAF38B42136173B8D6
+ F88A43D3413E14029C4388AB777E99B4
+ A7B8572C11B49645E9E64719FD5810B2
+ 7424A5B75D65368402B81FE2E9EFB7F7
+ stream[448..511] = 4781BAB7544912A2D8440E822F18CC7F
+ F2CDC429AB716A8815B6C4372474E7C3
+ B1300DCC4C118DAEA68270F8E24B9342
+ 8160E2F44BF7132ED890F1CAD84931F5
+ xor-digest = 762C078409AF6E1FBA37F2B16A5234CF
+ 9948EDE116081D80783D97F7F98A027B
+ D0260E5C19519E17A02A9CDE694709FF
+ 7B2EAD013A1907AFC552417E1B949059
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 4FA13E4BBE3EB154493C617648C57070
+ B47527B4A869D89F375D6AA61A21368F
+ 3BA40E80835395356EF00832DAF5C2AD
+ 038D78CDFF161CD2C1D19A6AD4AA8B93
+ stream[192..255] = D676F57B97F9EEAE0989BA7937514805
+ 61ACC9C177486C78B328716282B5BE84
+ 3C61A4A7880B3C74FC4C529F1AA88BC2
+ 08F34E28977BBEF50890742781D786BB
+ stream[256..319] = 9E764AFADF1A58748525CF403628FF9A
+ 773EBFB153BDDB6455C59DCA72EAA02C
+ D60A16356DDDD7F9BC299C01BC9772E0
+ 8CE90B14F5980040E43047BEA305F2EA
+ stream[448..511] = B699612E82B8CA4083DA89854EDFB783
+ FEC03F707AD3D4AC948B9F4F7CE4DB4B
+ 921C8C6BAB3A26634A91E330026C5B9F
+ 6909481527BF7072E730DED3F3799D0E
+ xor-digest = 32F294048CDCA2356F22E370CF841431
+ DF1F1BA19B002A2DE7EEDC1ABFCB24A3
+ 3A1B754E3A8628AC6B36063BB231973C
+ 87F3E84921C224FCC8E1806B5F22FF1C
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 147501BE15BFCF0A563F80CFBBAD1BA8
+ C6A240F749C45E1234EDC464F5BC3886
+ 47AD79E64EBBEDA943472C0DDFE61C00
+ 84FF3A3BEC1D7E49DCA13DF76568A419
+ stream[192..255] = 2E3B9DE0A1DC58D685171501A3E8BB16
+ 5E08FEA27EEB1B4F57D7AAA38A3DD77A
+ BC972FAF6E169CE895E502359CAA818A
+ D94A0BFF54EB5F7BE7463E82C02178AC
+ stream[256..319] = 3B940E1C4AAC401FC23B8FEB9A4E9F07
+ B1CAF31C8EF18B916AF48DDDDB652FF8
+ 16AB2926B37ADB58323EAF9360FC7864
+ 92AE791BCAE2898D0B99E527400B9E00
+ stream[448..511] = D5AC6310202F02AF7C2172F8F146CD72
+ 30E95BFCC23EBF2C481E58E6014A3092
+ 6683D5841E3F19534819F970633737DD
+ 603D71FD53FA7E7D851802E7CDC3AB17
+ xor-digest = 84C946D98B66DAB66356F8DA724AD58F
+ B8EC712A5D75938A1CC7851FAEBD758F
+ B880667B40F4479662120415557AB253
+ CE192BBFED6EA1D56A5D6CBC176A338C
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 6F838559F2E1FF2920F28A953B76A444
+ 874FC97510A3523DFB8FC95073F58BB3
+ 8E0802070D4ECD7F377FF9EF2F5158CC
+ D5A20AC73FC0C8D03D8A7ACD44AFA3E4
+ stream[192..255] = ED7AB1FE9269DE9DB663E0736DDCCF9F
+ 3A04D7F93BD4224C15391E8BFAE05302
+ ED822E899BC77384938CD8CFF439E50B
+ 64426871C13C71D1DE5B2BA7C4EC13D3
+ stream[256..319] = CE0235B4C1AA0EF02CFEDD6B1FF69DC2
+ F24088A6ED57677D924A88C0EBD22830
+ 9F4265B172908B6D76A5055B54D20F04
+ 0B6D1293466A5DA3C91F43034F77FB08
+ stream[448..511] = 72825D9D6D16F1829FEAD0532E907419
+ 70303E99FDABD43278F4C7A36CCC4900
+ 1F04C5AD78C83BB8631E3CA169B7C7E1
+ 3D6DE9830FC339B8F8C6CD265336A37A
+ xor-digest = FD322C7B2751E877F466EC863A277745
+ 17449AFDFC2EAD6CF6A5B3740CC08DE4
+ 78CA2185DAEA09D68D82B82F68F95944
+ 7C0420B89896CF893EC62A697CA37957
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 19B0765EF7FE57F45CD2004D5A09308F
+ 35B4E1297BDABD07B8E493FAA9AFFAF8
+ 28A7BB1173F099C724A0BD96354F6487
+ 0856186B61F7E05854D6F118CB6BDC30
+ stream[192..255] = 08A5F7CA873AAB2022CD7ED5F305A12B
+ 714764544302F3841CBAB4854BB0532E
+ EE1BDF50B67A1D32C1A3936671246550
+ 3A84585A8B6A6AC185A6D837D2033B53
+ stream[256..319] = 855132AD850010AE6A407283BBAA66C3
+ 10F3D70379E0298F12A67BB1D0618E8C
+ 6454F8E5DB398E3D773473E01EC7A41B
+ 22F0D513DE0033C416548E99FA968BC1
+ stream[448..511] = 98C2CF56462F0EC606E673765EC92C9C
+ D4D0AEA50913283ACCFCFAB3F829E75D
+ BCFB5AD96560A4ED199F9F5223134B8F
+ 72B1D2F63523716B108C82BF2BC8126D
+ xor-digest = B4EC2A03CDCA82D2E66A1D06698B1789
+ E44EDF2FFCC25058B583EA518B75677E
+ 34FAD73934988772631D02E2FED98DB6
+ A12B55787D0BABE29FF16740D932577B
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV = 00000000000000000000000000000000
+ stream[0..63] = B991C7A9BCB652EC64949D2BD5E1B9A9
+ A5B995E691143013454BD7C242A7ECD6
+ 9FE777FDA2DF797989087E49E46E75DA
+ 8982B7B8BEFA41C1FD27EE0FBF0170C5
+ stream[192..255] = 08E2DAFB169F3DC15757D6CFC2DAFC55
+ 1ACB1E281D6BA917FD604E5FFA557920
+ 20F4390D1CA0E893F781C695E13A9B71
+ 6859EE5779E4A55832D48F61F77C6AE8
+ stream[256..319] = DE3C57CF2140BD87944383D2405A05FF
+ 246FF0607A07F1AD6CE7F0EC6E25950F
+ 27F40E862F0903BBE4BE35F96EFA723B
+ 6892622D73ABA79BE39116B0AE0CD151
+ stream[448..511] = EAD353F020DBC4AD09A954C6F8ADCDB6
+ 7C3EFA7141318D5AB4CBC37F596F3DDA
+ F7E6D63E56AA7079C93FB4306D2F7C1F
+ 82D6A81B6729CF517CF79F9CFAD7F466
+ xor-digest = E3DC2A83D3A0C3733EFE0FCBAAF38522
+ DD2E2873A0BB195B99E06FA588B6D452
+ CB15668C9C2CD551FBB8242FE58826D9
+ CAC9EA63211D445DC465D7D8E366883E
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 1E177665B1D8207EC27A11094E154FB9
+ 097F7083580BA0B0EA27B46E10182C08
+ D51F4A9E878FBAD669B7FFBF243501E2
+ C861F884EDBDE30B5788E6F9F547230E
+ stream[192..255] = 36748144BC8537182C4F151272DED6AA
+ B81413672198B97A94574750E0DEDD07
+ AEBE1856D9CD7CCD6AA36747B97581E3
+ 6725D42D4D73D56F487829D1A32A3ECB
+ stream[256..319] = 0DA618F70D81C5725B206BCB1CBC385F
+ 6AF998DBAB0946E1E5B064D3575FAA9C
+ 62DA03DF6F94628000B856AA55C26E68
+ 513837D9B2F9709C38A528C6C5B41F55
+ stream[448..511] = 60C4A260FB908C80FFE83C645E740016
+ 40D38A5800A6FAD4084DE62D79FCE3B8
+ DE1D5E61AFBC4D98521EC8C1AA83CF3A
+ 357347E849F7680DFCFC915EA1E0DD9C
+ xor-digest = 9E9EF674486B2EBF6E2480D0E79F836E
+ 373088B98D758F8B0E6780BC396FC1F7
+ 0EBE9DDD93433D60287D1C9AF5E87138
+ 97FB1DE8870E16D45A13BC7145A435CC
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 55D06A59BBCD9393691FF6EF6292F020
+ E85EF911EE0B7CBB976230623EF60861
+ 3E3E8A9369BD1226D34381BADE1F2544
+ 036F857A2B6C9A4547C5299F6CC7F9F6
+ stream[192..255] = 92E32949A457B0307B4C567CE64C8710
+ FB0B5877D90B2B7A8F8EB3F91F1ABB9C
+ DB80CB4DE8FC397E8DE9B392C421B623
+ 6ED426A96DF2B4DF4BFBDF508942ACBA
+ stream[256..319] = 2383816B8992F8C4024DAA937867FA10
+ A8CA22F486B6EFCF5B5B86788A3ACCF3
+ F657DA83E17CE3B759F5CD4A3ED6BDE7
+ 4A6F51BE6427BBA2F5998C03EAA46CA0
+ stream[448..511] = C9CD2005DD394066FA42827533393192
+ 76D727FA2049F1F791A4208036B7F85B
+ 3304DF338A67E283A969F39D5466FFE9
+ F726674E5DB82B9F4AF5940816BCB913
+ xor-digest = E5FD228D7AE0C8BBA5B5AFA7BB87E532
+ 00787692A3F4F81C3A0746945D2BC851
+ 146F8644EA4361238FCDC4E881D481E8
+ F93A80DC2F775472FEA04F03F64DC177
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 01DE9162FE460F850350526C9A139B63
+ E5C0F6B0BA7E03B294CBD58A7166CB1E
+ 06741DDBB77FBEABE3AB863869A971CC
+ 044E8B96C6573474B56C89FE248F611E
+ stream[192..255] = 9982A32633E72815EC7590E0314EF2AB
+ CEC7F35169768C459E64E4D4CBD99F58
+ F87E247A8E133940B14D38007896393F
+ DFDA9657E3EAA46FC9C80CEC7272F410
+ stream[256..319] = E5F3755FB173BAC5307B832112935D26
+ 3CB7A4D43090921FDFC7A2CE168B6DA8
+ 079E3CD7D53E3DA8B095C1112A3A9EF0
+ D209FB4C7D0C5CCF9CD0504F12DACB95
+ stream[448..511] = 06F7F1C12B3DF859BF1D448FCF384AB1
+ 1E5D76E2E77EECED2D509A0E231A544F
+ 18654C1F7BF4304D58E581A218F32D8D
+ 627F3FFC2D6C13AE7432F614539252FC
+ xor-digest = 5DD2251EE08A5C4E02D0612ACEF96CD1
+ 217CB0DAF88A985F1F984C5F0D087A4B
+ 15DA0A1CFE6A1D669DEDAFDEFBD9BFBD
+ E38F7B6D4848F9A5FEB8167A353C5150
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV = 00000000000000000000000000000000
+ stream[0..63] = E02B1D1277A3448B8B74978BEDFE2C1D
+ E6ECE8756FC2E7222EFE171390CACBA4
+ CC32366DE63F810A27C549F572ACE95D
+ A24EB9E24D782580E2C7B079F23491D2
+ stream[192..255] = DD2E9657A846993CAEDC840605A1B4C1
+ FB60420F1287BAD2D0B962B805BB9F1B
+ 4599529722AB42AA89D59EFA5FD7386E
+ A1DC90BF240497243AB7DD69E9CF7C23
+ stream[256..319] = C5339A7BD7F60A8FF6008BAC53415AFF
+ 2A70EBF48CA8814BDE96EC19647591BF
+ AAEF3A0A4B424D6BFF19FA5CDCA79686
+ 8BC4AA96D637B19DDD3DED82E7E61F16
+ stream[448..511] = 03D7D3E1F789F0F9C4E551963096DC8D
+ 256604B1F83A768CA643E238A18556A8
+ F0CD56FB791454FB39E84EB531E5270E
+ 2285352E4F4E44080E7AB61C184BBB45
+ xor-digest = B2F0B2156EAB0EC1F7043172B238476C
+ 0E2A8E6B58CA0C44D96ECEF6769AD813
+ 645425125B58494B948612D193D462CD
+ 5CE49691C14D34E7D8B65C43FD608CD3
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ IV = 00000000000000000000000000000000
+ stream[0..63] = CA56D02C4CE8CE73D6D4C006EED71BD4
+ 5E4127655D6436243DFFA66725C88D85
+ A226BCE37D9163B0A97359C1363A7208
+ 504D5ECE00D6F92865C7ABADD32DBB16
+ stream[192..255] = 7CC2DA30C0F9C7C3D6E2DB94E00231F2
+ 0A36EE7296CF88CC68C2BAED7954CD87
+ CB0852FF292B4BA02AABFE47F18D9F29
+ B9DE39B5E136676503E4DC8BAC24DC74
+ stream[256..319] = D7CFB806DC2FA4989542A1A060B7F4AA
+ C10E79983A2CE9C5A61FB6A2342AC74B
+ 0913AF1665DC0EFCDB42053E852DA056
+ 39C0F807D6BADC29677007F117E839E9
+ stream[448..511] = E8DB019E1C1119A3EE71AED6BBACAE16
+ C796BB2065B2A255D1AD4F2B368BF741
+ 6E41A0E64A4F20575D0DED930CFB63D5
+ FD7EE395F7D2E66325DF8D374C184C2A
+ xor-digest = 0ACDC5AE9A92FB81C7640BF8D1238B31
+ FDC7F37E14418349FA0B356F33A5A2FF
+ C29358AD7D3EB45CBAC9E0EA8E1D0416
+ BA9E551EAD8BBEBD8F765FA0C84F98FF
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ IV = 00000000000000000000000000000000
+ stream[0..63] = B2702DDC4EF991B8EB5A86C1DF37007B
+ 770D9D313966D9FDEA81834E847843E0
+ 6B35372E4A24D47D3F467FA5EB62F56C
+ 03F8DAC380A44845A1804D7E87A80C73
+ stream[192..255] = 390B0F82F447D74A28B08B81FD19FBA2
+ FFF14FDC8A690791218EA787C029F25C
+ 4AF18F8AE7A48773A6839995201EDD84
+ CE63B4356D340AD0F499460E670165A1
+ stream[256..319] = F2F6AC06F53A010DCDF9DEE90B9484A0
+ 60F28A48FBE4206F6598F0F5C7BA3D86
+ BC33E0AD0F2A806061C30FF2D2CC6CC8
+ 94692861560BBE3F14AD675018FBE81E
+ stream[448..511] = C49CE59A255D7FDB20C9642B4C718B04
+ F6A1701E7070956CBF700EDDD4BA4411
+ 02B1F8243F863E7A31D4B9B35D1AA003
+ 3C3FCF7220046145CE9378AB0C1E7792
+ xor-digest = E5516357DE9DDEA1AA6662E8D331549E
+ F2D922E511F0C773A8719BC241717C02
+ 67363B27ADBA9E758B1E53231AB434B7
+ 8B27ADE3042ED282923B0FB295250ECF
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ IV = 00000000000000000000000000000000
+ stream[0..63] = F76AA16D690D98A136B1D08182CD7235
+ DBD4E3F379C5BA72524F1C18B8DD6AEC
+ 4A6F673C790C77CBC454D59C12E7F21D
+ D210B36D7E378F690A9EF160BE34BB0E
+ stream[192..255] = 60B79CA34134FD749644E96F35644920
+ 9CAF407C1982C8599D518C395A9DC34A
+ AE6281C60CF896DD5DB32C1D77F6E237
+ 439B04F144C27176C080183DE68E482F
+ stream[256..319] = D33C5861A6671C4F9756A2AF25F9FB4D
+ A7AEC2A63CBCD8B4FF2377DBE5666B84
+ 45B55F2F1C5195D69472D27BA5288726
+ 27C7861BC17F55DDD75023B77B229645
+ stream[448..511] = 5152CBDDA9710EE200F3B4C4B02E3881
+ 4D019EC99A9061E8FC4E457685B80EB4
+ D313E3951F6C054EC525E930CDE7DF8F
+ 0F5C8A15A6639BDC7781F33B9EFCCEB0
+ xor-digest = D73937380442F6DC2400ADB8D0B07B94
+ 553786419E69FB2151FBD2560FC21F78
+ 59F2AFBA8A82C5D74E63ECAA7471F9B5
+ CA84D82271D1F67EC6A821F27D67C4B0
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ IV = 00000000000000000000000000000000
+ stream[0..63] = A4EF65023F273B63485E7012983A1EF4
+ 80A5DCF8F7D3493EF9B0C0C19069E72B
+ 6ED2035291ACE47D8FB8FFDD6091F055
+ B0248D096C1E1B18048FC439839745F7
+ stream[192..255] = 44C89EFD5AA2CD0B3732BFCF95046A29
+ 2002DB9AD6E4668993A075390EDAFD08
+ 905678B69F737791C52999D8E6D54ED1
+ EB781AC6E2469A45C2C5AF9F23473F3E
+ stream[256..319] = 5E99DDEF739E290FADB82BAAAB0CA034
+ 793078B2E54B1172420EC6A93C8A8277
+ 700E2F58D8B52194DD2FA5CC9106E0C9
+ 293309A13DD0A359ECF76316FD4FFBDB
+ stream[448..511] = 7295CC5FEC356D28D46EEBC4D59B299E
+ 8A5C2F859FFCCFF5B03D692020C34436
+ EA3FC6484496ECF2A092B8FAE5E23E11
+ 568628617228B12F8F8EF3166B7A8E66
+ xor-digest = 6482EEB57A30F23F0632BE59513AFE6F
+ 264A653F2EC7E791156B5BE4B435A1D6
+ B8B7035CFC2C834D331FF046B4B8ED4F
+ F42ED3FCE328818ABE55B4481768D987
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 9C172C4A0B97AF3777A2D6F941BA13CB
+ 8A51E2F21708180887CD655182F7419D
+ 1B1283AC611E7032EEFB397AFBB2434E
+ BF5CBF1984C6E5F4E9E0BEBCC793338B
+ stream[192..255] = BC7D6648C73952EBCEA82C5F5644F9E4
+ 34F21709ED13737C2D6BAA2638B95B85
+ CC217A307A621C9C9CB11EA72A907D99
+ D4732ED78E769A60D0D5E7731F5C5FCC
+ stream[256..319] = 9F4E64482917622479B40796DC85137A
+ A59A8CA76C218E52FB3DFF1C1F75F800
+ 02A3565B14F991DA1282D1DDB0A2C4C3
+ 44E395A01719F0781D88818982C11577
+ stream[448..511] = 29BE69693B27737478D0944B48BD3E0A
+ 7351D60AC7D57D00D72CFC00542B1C34
+ F732CABF07DBC793EA4FF68526E2250E
+ 2CFF47F6E5083F762F776169175139A5
+ xor-digest = 5DA2C1D97CE968BACB38E691CA222F45
+ F35CCD95901FB12C5E98DA21CD48DEB1
+ BB8FE7F634C4EE3172925B3F61539345
+ DF3EFDA397BC2C57EE4A9C399C867B42
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 55BCBBBD647B42A28C6ED9BD1D20F448
+ 045AB838E50E1EAA60D71985D97EE8E2
+ 70ADEDB4839241E702B018CEED0CDE00
+ 9C88335E482E6FE6E82BF7BF6C3D0A51
+ stream[192..255] = 604CE74D66AC0D2029EF7145B8B2F587
+ 6B0686052A87FCCEFF80D9B68BADDA90
+ BDA82E436F4CBF02D79D1F3831CA4E42
+ 92ECA435D4BD25D82CEBF7954817591C
+ stream[256..319] = 735D1B1A78403371563AA41F30A18DD4
+ B43B32AF6E3D3D4B1B2431F35C4FCF13
+ 79EB3F1B2B8CA9A2EBC8B49EB31A3842
+ FFD1F56ECD91069794FE690FD274CE5D
+ stream[448..511] = 7AFF90DA589D4FE83F5C73B8CEC8F5F5
+ DCB9D0EE686C11FB2E6D4EE23F163822
+ C73DD28D9B4B3233FCCBDAA7F2748E49
+ 96406EEC62C652B1BD234FADA109C87C
+ xor-digest = 5C85A48710449DB660F0757AF6BCB12C
+ F2993FE547276B38C362154127F62655
+ 3307F7B63FC036BD7E6A518C2C5F12D1
+ 69AC8D2F4D91EB50B53D781D96A95C51
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ IV = 00000000000000000000000000000000
+ stream[0..63] = AD129A664AE85ADD8D2194F3CCCB46AB
+ 8D91624612E6204B3ACF496A047293F8
+ 2DC71BA79A26D1E69F8F9B10D819FE87
+ ECFF013B9AAD6E45ADCEC52A302037F6
+ stream[192..255] = A496D59B897FDE75ABFDB55712419C89
+ EBEDBAC3FF2A468C0692DED374751721
+ 09BC6F5CFDD870BA6BEE3BD66CE8E265
+ AC1634EF9E27F2C259E39BEBC48ECF88
+ stream[256..319] = F5E84584D8610DF1E3228496D07F3720
+ 2276D1F81A9E7E3FB35C52B7947FD267
+ 80955A8EF5767B8C3A907D060D7C45F4
+ A328E133817BE87C61D5D61349E6287C
+ stream[448..511] = 64598260C65DC8A962CFA5499F08677D
+ B50D03DEBC85C20B5FC46272C68466B6
+ 4DF5E58770C9B5FB331AB5E5D6D01336
+ DBE00127447BDC2B0E5E1F4CB5B69EFC
+ xor-digest = DF7B2A023DCA31539BB9DB9DE415DF3E
+ 5B8F0B3FE2CC0144650DB88F6561A910
+ 495E4AD2EF0D7FF31FD961903F79D6A7
+ D937090CC6686864C9548ECBEC5702EF
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 85537B5A71BB85E0E00766D415C474C2
+ EDE6F95366840183C646EA32B4F69D18
+ 1C38FD4D4E3712A023C05225EB621E25
+ AF5AE0D922A03F1A080C9DD653CDD539
+ stream[192..255] = B7F600ACB8F2532A88D3E8451E2DA8DB
+ 95CF4B236D56A7E6027C439A2A027130
+ F55BCB7FE389C49196E3DE1C09C43535
+ 585F00F180F0F1298F097746F5B1FDF4
+ stream[256..319] = 6CAB78A42E70BE5D6DC29533BC888F69
+ BDED0DE2939E2173B10DE326D19C2D8B
+ 68AF92E34D16AC293EC8B2043C3DA699
+ 445A05B847C2B972836131CEFF56A578
+ stream[448..511] = 6D5845DFA3412581CCC74F76572D39B1
+ BAC208893A3551A671938C064D7154AE
+ 90CF8FA02220884EFAF17EEFB6619CB0
+ C6F7C28189AD9D12A480D8FA201B532D
+ xor-digest = AC9F733AB67D759071425B194D3831F1
+ 2A06034C32356F78FCE5F19C2C79501A
+ 76C6B74611BC332AE015CF889273B16C
+ F461AC216565232D041E7FE1F877301A
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 2FDD38D8E3B372F0AE2F8136C4A8A1C2
+ 1F82989810F7BF853E5FF8195E4D2533
+ 20FDD00CDE717D8F50993427DD5E677F
+ 7811A092BEB01C8545A952E8E686ECCB
+ stream[192..255] = 360EB9894D33331D2B5042CB7ADFE173
+ 32F22B7E3324CFC5C54CE45ED27526AD
+ 565043201EA8DE5E885A4A00306E599A
+ 14C37615E8D044A684687D814AE5475E
+ stream[256..319] = E2E61B0B59A45C556D3BABF974DE14BE
+ CDAF070AC42A0AA3496F6B5E478E5977
+ ED2CA11D7022DB3D9E43B81F91F9ACF3
+ 2CB88086D250050CFAE1EDA29E1EAAAE
+ stream[448..511] = CD41C9A2E7522BBCF5BAE892A47015FC
+ 0618E40060F91ED8B4FC7EFD94AA2D0B
+ A0C6C3576ADA8CB2869263A579245411
+ 4D11DD583C659BEAF7F893B56C956C94
+ xor-digest = A00367E7713983CA9136946F90308E75
+ B487CD2D5F61F32EFC6FE5BB518E12E1
+ 14F5FCC988569A48107CD55B772C86A1
+ A432229BE212BEED6925141C33FC1DCA
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 63BDDCBC94B129BF6132902782E3E73C
+ D6CAA5CE44FA399FC9E866649ED77E8B
+ A737CF3EF221651A13CBD906B327574C
+ 5553110049CC8A562C50F59525809DC2
+ stream[192..255] = 25A65EDC234C236E0E2A898C81AD1A8D
+ D0A63052B0B766CB06BF50928AD4D85F
+ E83FAF34FC425738F0DA4EB1B824A838
+ A65AAA807085BE6BF2CD76A81E3D1BF0
+ stream[256..319] = 144EB4EDB4DF53C389984D1F20934858
+ 0B7434046572926BD116787AE52F3FB4
+ 49DA0752B9EA15C281A6ECEA86736446
+ D5711BDADC6E63B515877E10E46B23BB
+ stream[448..511] = 18B2620B59A2B2BDCB96B9EEF4AAEC9F
+ E418617E114BF0BBDCE396479A577702
+ 968AC4D28A77236DC3887E67C1BD3E05
+ 7282E7BABB1A0D50093ED321CC81DB5B
+ xor-digest = 6BDDA363C7AEBAE09D1DC513365F1AD9
+ 90114CCC6378123EE1067A266FDBE3C7
+ 74CF7A5115B92CA05ED36B41E2536D4D
+ B2497E9D30162C60430C43C9BE985787
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 2FC87EEB58D3CC8E74DCCE224A6B712A
+ D6D7998441C18967998E11FCD058BF55
+ B6808211F53906F488F35271CCBE2F99
+ 18CD4112DCE219B53FC5EB37D316BBD7
+ stream[192..255] = 23FDBDB44FE97BA46D6C0248D129F0A5
+ 3084353B29FC70FD6C205B185A9913FA
+ BF250D302323B21ED947BD0FDF86C186
+ 21D0A7486232C1061E386C7F9788F461
+ stream[256..319] = F6B31F3234F52CA5FDEC0ED5173C4309
+ 1DECD5A308AD1AED4F2C1D7AE0EA2264
+ 4F7E3C4415802D8C5C82DA217400EC24
+ 4DBD21A26C7492B558FF8545BA72C184
+ stream[448..511] = D5171FAA0B6F11E490EC482D7E58A3B3
+ 93BB4D85DC01CD3097BFD63091F1B595
+ 567A1A2B639BDD46F0EDCA6152127EDD
+ FF36810000BFFE78D96810EC4708A3A9
+ xor-digest = CB81AFE15DB8CCF0769694E8D891C9AE
+ 2D48B9BD1C54143ADA92C3EA98A14F73
+ 51C8A9B3FB22C735759CF3B5302420BF
+ 09AEA81D95DF99A15778A4B80ED9BDBB
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 7D52C002653F2318B7244725245AFBE4
+ 5B82D21BE1CAB9EFFF6EED7C4390B9B2
+ DE4E12245D3DCC4167F7AF18D7EFFD5C
+ 9D9FACC3A215A8E58224B49F971640D3
+ stream[192..255] = 4E31915F16AA1C2942E6B722100CAC7D
+ 6D06140FF0C24DD9ACE7DB598B091AD8
+ B6AF57199AB93EAC201F05026C688B29
+ 24C0D977003F128EB5767D73835F22DE
+ stream[256..319] = 85DB206B625DA65194CDE03C80CE02DE
+ 6DF2CA02E4B4300E6C80A9E4E5DBC84C
+ C50DBA0F551822B69E687B0981580E03
+ 2A3AD7E4CC766B4E41FD846CF7DD2EE2
+ stream[448..511] = 731B7F065D8BF4420A906889B64D96C3
+ CFC3F7F6B9669317E4ECF6C52F4A9A31
+ EA334F209FB22460F16B36855C3628BA
+ 1D5C70B886C0DF68AAB98DE3BFFBE5FD
+ xor-digest = FAAB62B61AC2D41E94AB8089443B7A99
+ 8F6CF69D2839694ABB672E6490A8027F
+ F40D516E46870C6E3B650A851608CC9A
+ 59D2DAFE6C8EBBC0797888BFCD3E94DD
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 6146D9C5BD90133BBC4119BA3A5F2959
+ F90CC30DC7ED593F1E6AADED65AF41A2
+ 7FD630A9BB50E9FEEF24ECE237A2029B
+ E217FAEB4CDBB75F0168874A5E36A852
+ stream[192..255] = C8B8BD5EA84A0A059D889FE5C6D8965F
+ 2F25865D36133A8A41A88AF0E0D7A6FB
+ E5027A7CFC82AE0E72ED81278A8A9E14
+ 225805F755A4D5023CCD8DC398F7B0C5
+ stream[256..319] = B17219EFA4B4CB8A5807020FAC73F324
+ BAD8DB177DBF4721B3B5A42D5D8497CD
+ 09463A61EF449AAC0A181F48130E1422
+ A48C60E724EB58AA6A6E86A6E619DCD4
+ stream[448..511] = 23662A55F03AF55128A3EDFA176096B6
+ 750AD924BA4DA73453803CD68625AC1C
+ 61E607EF99CF377F32DD97926DBBAB03
+ 39DC8563AF655941AD5C9F0A314E09AE
+ xor-digest = 7B7D77EBF3E03D16876251FC7E134B6C
+ A48138737D7BE26A2D6961F6A98E2AFC
+ F1920413E7B2BF0DB6920DBDD4BCE011
+ 34EF4843A38B7874B541830600CB4004
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 18C4DB4FE1BEE10DD4959D707739D30F
+ 09761CA9DE51EBEB9FD3CAE55D32E051
+ 31E2F4A82A0C6F9E1618F341F4D9A9BA
+ 7BC1A90072688E98B84BF0A3B9E47547
+ stream[192..255] = 66E6FA0CF978A7DC4C5F6121802F936B
+ F74172F3771E65604847C1C74FF8D9F3
+ 0D54862AA5A924F8F610EB3816F5FE01
+ 04F9D797C98658FFA90DF1CF68C7EA44
+ stream[256..319] = 6CBD57891EA5A8BF075EEA9E96A13037
+ 7BD74133966355A1F4BD3EB7E89BB392
+ CCEF5D6CACCE4AE5C4B49C838216ABC5
+ 1484DD72C9418F25C4EFB0C2669997A6
+ stream[448..511] = 8A0E9675E3A72D620515A09F3B69F584
+ 27641DED2F6FC731D4F59BF587858434
+ 7F10A59F1AB9470979EA740A36137F5C
+ 9F6755D6492DF5A68ADF7738D9F81AB0
+ xor-digest = 26BC1E53BFA2DB3B3B2FCFD6D0EA35D0
+ A5483F58F56195D8A560597F955DCF98
+ 4BD097EF63C4E156B068C3CA66539608
+ ECBB71E0D3E0988BD3662069E6F589AF
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 3B47D22804B70989A5B4192A3AEDB045
+ 21906387113D5F75861A39A362EE93DC
+ 3B19CDEB0A23814CD149D3F50CF92900
+ 4658D4B4EF19BDB4C23C93152099566E
+ stream[192..255] = 40A1822F193817875BC575E4E7F0E9F2
+ 20B43AA3A757B159B51066EDA0B2871D
+ 06CB8940EC01B627F7AAB708BDB0BCD6
+ C1EBC9306E5E4CDFB154FEDD7C0C8935
+ stream[256..319] = 925CEB2334C41FECA1F28DF90C789611
+ F9572ECDDE8AA249DF7F3171B6CEC92C
+ 3BD2F63B9E95010429556164D8634A13
+ 690CB7E7FFF457E6583794AE80812BBE
+ stream[448..511] = AE1E585EF492B8E45F7807B2DDACD958
+ 8DB502F6003CB0AE06E927EF0EB04E3C
+ 17F445C95050F35D57A02C41A7D2D981
+ E219858C3F89F4DFA80FD9F4F84DB25A
+ xor-digest = F315494F1EF9FBA423E4316F634C3CD3
+ A0BA9372946917A123F02E31A01F5862
+ 7534C47EDBA8F0CFF7BD6B85D5BD167E
+ 9ACC9E21F99391C62051671E4C7ED60F
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ IV = 00000000000000000000000000000000
+ stream[0..63] = D650136C17F638A5FDEE56FC010C2062
+ 49396159268E914DFC4BE500AAF5F738
+ 6C9EFDF39F813549D0D77B8B4D75C92B
+ B5665FFD01BCA39E07B3EF1751771223
+ stream[192..255] = 2E877975E5FE335D3EF734DCE44A1865
+ 77BEB19AB49154947D0A94FE749F97E4
+ A1D33707BA251FFAFCD3108B3E4CC824
+ 74C751B95DC00F2D58A09F2A77F28295
+ stream[256..319] = BACEA08AF695DD77AFEB9AEC63741D73
+ 3957C3608F9CEB3FF4431A586BBED72E
+ 659A0D0821F56B0549C87A0BFF06FB2E
+ 893B9A91CA085B72B453288ABC37C3EF
+ stream[448..511] = 507DCA1CE6430A7323E5B9A39F462911
+ C096D32DBC10EE5237FD5DC304AC2873
+ 9CE5464FF781722507BFF1583F295404
+ D73C067C0EFAADBDC8893982A537DBC3
+ xor-digest = E20802D896D32A70B4229758B7AED7A3
+ E0AEB8C0CE6132D3C2BFC9D531BCD856
+ 459510CBC39AC5BD15928456DF74C394
+ 09F7CB75A470469AFD39B4D988E2C9D1
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ IV = 00000000000000000000000000000000
+ stream[0..63] = F78DD373A9A7DE7587DFD3607778108B
+ B18F9E7F500CC91254A7D549498BECEC
+ A637D7140556FE27C3FDCB48FED35DE5
+ B1E9BF61347A0333BA9C40F0AA1757B9
+ stream[192..255] = 68C83DC22A9AC7C16D8F38C695413F10
+ E865DD7FCC3B444C615811B9BF0E16E4
+ BBC7583C7DE2538536370FE42F348B97
+ 66CF08D506039BAA664E1DE3D4047522
+ stream[256..319] = 59968F4B35E1B0D79572A7D29928F1A9
+ E37797C1F4DD0B7D6B68B23AD8E96F8D
+ BF2DF4376CA7A1EFD41E123E6F60C897
+ C862CD36D327CE8105376A51FB81AA91
+ stream[448..511] = 42DA90A682E3A42F46AC9A27357C1DE6
+ A68C8BB2A0354782476E306B0209C82D
+ 0C45A489269974F1BE1B30134FAAF2B4
+ FE7427A04EFA2C23BD5DB2D7C1678149
+ xor-digest = 67FB385F51EDA9AFEBF4B37E82FF7B3A
+ D5593DA41D6E452AF249E86A4CB85080
+ BA584EE31A866BCDCA2C220E8417E66B
+ 0988590A760887EFCC09D0F6331E6979
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ IV = 00000000000000000000000000000000
+ stream[0..63] = B6ACB91CB885D3AD040B007F3D5D2049
+ 93ED21AC5FC43072AD0C0A882DAEC772
+ 7890D0FC5CE9131CFE87F669A339C40F
+ 104A944C619CB9321C8FDB9C1DDD06B4
+ stream[192..255] = F302382177C84BFFF8AE2C2345BA0F00
+ 61F85B2E9D0A497536FB8DFB2565ADDD
+ E5286B33705BD1D354DD292D33298431
+ 6CD2F6A36E74524CAA92AA0B79BCA13E
+ stream[256..319] = F52D79C41245D1247F172DBAEE63495D
+ A4BBBA98DCFB0E9B0A3B55109E77ABC5
+ A1F6CC2DA8CA84A4CE6F0F79A27F3B41
+ 4039739B80D809FFD12E49EAD0BE12B1
+ stream[448..511] = C3CC769044801A0C2E236CA362BCF488
+ EC4A90EF91AE9CC938705B461935529A
+ 1F55A6AD67289834DC02CCEFEEA83416
+ F155C10FE8452417BD2C67921EC4F1F3
+ xor-digest = BE220F791AE66E71ADA630FBF22FB4F8
+ 48A14CE9008264EE0879C4BFB9323127
+ C76F41F6460068F0456F6A8AD11E4E31
+ 79119B1AE0932ACAB9E5E745EA4EFA46
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ IV = 00000000000000000000000000000000
+ stream[0..63] = F743B165939DF65B1CC120A6462FC018
+ A13645B1234305DDDDE7499154A36286
+ 5D722CCC552D2B8E7F99579E252F03D6
+ 1BE2C333D983B5AF7E1C7FCA848ABE4A
+ stream[192..255] = 3834751033C5BC34DF46FCA6FC241063
+ 8FDD4C16CC627C3D2BB1CA910512E349
+ 4E0399CD539DC2D84EA85060BCDFD387
+ 10C218A455F1DD6EB6838C0B74B7CA23
+ stream[256..319] = E18D988F75399471A8E621A9C0C1E41C
+ C84D5D9B765BB9AD6C8A73F050ED3232
+ AB35A9C4272651F3F783F24D8BCD9F78
+ 4AC19B263B40930270775E6EFEC2F2B9
+ stream[448..511] = CF0FA23CBAB240E90844862EF5A2BA38
+ 88EBD193B207AACF27F0F9CB326BA08D
+ 1551C719F44FC1C1C67CEE5B96456A73
+ 3C299983D5D40F50A0FB46D427AE1F5E
+ xor-digest = B83E47D267932A2C7A144D5EFA487DDF
+ 38F33AE6D77C554BCC2F0CC3C1E73F40
+ A0EBF8E0CE1B338469E2FF9D28432D0C
+ B3BD8EE84517E0E30394428768199646
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 91211A9429C7FEF40A5B475CDD9D96DD
+ 654BC208D88D18607C0B06A1CBBC2EC9
+ E0B39311A3E12029AD3DA6CC8AF4F054
+ 11CA00EC66737F18D63D85E57C30C01E
+ stream[192..255] = BB8CF518B5DDAF84BB4BE6E620B61BFA
+ 2173202D7B4B5D956566C4FB44B8A911
+ 3A89A5A74190462208570154CC5D963E
+ 2E3E8E0C4FE958E9C632B62C865C6845
+ stream[256..319] = 520A56BCBCE3B445FE7E5EAA44A325E2
+ 33E34A5D75FC11602AB1A33B2533A7C7
+ 556F6094B1EEC9C1DCDF6051EF25154B
+ 95018AD69CFBA492B8309A0213A2F499
+ stream[448..511] = F6CCCEE4FD4F906476512FE90C5F75FD
+ 2A1ECC6A1DB176F378D6AEFC891A7CC0
+ E99BE17C2E3635567517AC1E0AF40EE6
+ 06CEE9EC392DC1CCD31412ABD64FFDC7
+ xor-digest = 302DD054967A0BE9E8400BAD9FC6FD6F
+ F516C724B79421C30F7B9A016F688F88
+ 7AE804029070775BC9239BEA9DEF6545
+ 112CC4405C60F86EB6A50E2FF3F6425E
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ IV = 00000000000000000000000000000000
+ stream[0..63] = D26407A5EA2FBA96AB2B52E80D2EDA9C
+ 48D4FFB9AB38B995D723528B1BEFE93E
+ ED101B0057ECC0FD2F55F51B36A09ED8
+ 0B886254738B6463AA4DEA3D785516A5
+ stream[192..255] = 878565586ACCAA19A54F12BBF2E65D96
+ 3882222310D2C8CFBACC32A6A8DDE8AE
+ 31B699665A563399B5232443EE67190A
+ 027A1CE3327F70085E6A6C3C3337B146
+ stream[256..319] = 1627F63BACE47246B4BC57F954AF8E4B
+ C941A204C1BD2D1EAC9BC16505DB102F
+ D6C665C30D313B3B7AC92D56196B6C25
+ FD0C0D93BDC84FCE517A6829CEF50281
+ stream[448..511] = 37DB03B9851AACEDF7451B6FD57035C1
+ 59D226F3D6CA89FCFBFDF2C7AEDAF6B3
+ 95482117E291DB2D25DF82B7F81A5784
+ BE4C0294FBAB2D504FD0555610DC307C
+ xor-digest = 5E73D0736B662A4FECED5C1C07C8B6B5
+ 9C7D5EE8BBB000D7A750E2378BE708A5
+ B7729831986171FDC063A860C472DDA5
+ 2B469655C08D41478C5733AE12604A5B
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 84A8E62207510241DE8053886B42EB26
+ 4F8B8795D99ECF321E59F65D886EE153
+ 3DF726E7CBFFE498683FC0D945CCCCCA
+ 517F578B24CCFFBEF082CBB4A970EFC0
+ stream[192..255] = FC0FF2F4C6B41A82F936E199A09A562B
+ 6A5E97887C577BB9EE6E4F7842ABD62B
+ 58EA7E613C92426416D31DFFF0CAFAF9
+ B2AFEE4BCBB22279411AE8D559EFFF16
+ stream[256..319] = 7E0F5F23B7399663AA4094C2808E5F81
+ 0F07C0D121C2470E2C1B891EDF9C271A
+ 1EC234E863A89A849EE6E19C2F0D0805
+ 4DB5479289E33D73DCE95F9E119A365C
+ stream[448..511] = 69E0542D086677880198DC2D663FA621
+ CB316B8F4C0CBFD31B4C05B744903869
+ 63A767EF34298524FFE62B5F0D892C32
+ 04B575391F20077F840186679B16DA3A
+ xor-digest = BA2084AA4BF7C8FD74A49154A49E3FAE
+ 307AB7963C65AB5ADC4022C955C227B3
+ 2D93094081C59169EABC142366D1355A
+ AD7B3DB311D1C8AB137355AF1F532470
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 646FD711EE9D59F0FA810C643122672A
+ 995E991B20CC30FFDE4DFCE374BE1B7A
+ A9D95540C18A4ECCD470660785412B84
+ 304FE2A57EF77F49B3A899C0AE52DD2F
+ stream[192..255] = 1466AEF8F335472997765E68D9E68965
+ 181448F22C4E8AF3252121D67E221AB9
+ 0DF77C4200E36D767F0B9FAE96B94D40
+ A439B30C92215A2B24FF70FB607B9E93
+ stream[256..319] = D0A5291FF26FF9EE63F7A45336B3430F
+ C65F99C331D4F5FCAF57BDFCCF7257DB
+ 59EE8B11B25B3F1A4AD01AA52A704A4F
+ 415E99BDF78A1C004BBC8CC7C7CCBC59
+ stream[448..511] = 0119E01011AF7DA8D93A7B94D79AA4AF
+ 98F7E7A7DB56FE12947E7DC2D6FAE571
+ FB5397F920CD20CE129103C392D460D9
+ 8CE42CB8F427755C45D95AF1B3CFF7B7
+ xor-digest = DBB7F511DE218EFCE223FC27C0178D97
+ 31D5E5355CAB2A06A1E60D3EF9D59EF7
+ 01036E7225B2A7C4E327BECDECD3419F
+ 40A763D9C11D3695751444BA68A16EA2
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 30ABA13015B9826A5C8DA414817C7C6E
+ CF89633BE1682E0E19CA735DE275136A
+ E642A1DBC1C983D2564B932F8585CE25
+ 66F96FDC5DB1B2F149E0BDACAB39AE62
+ stream[192..255] = 72385FC987245C3DD6967CEDD8BDC6BC
+ DD51A3758DF85B0F901883CB2DFFB186
+ 03D6D4FCC0A04E088B71DF21F076A472
+ F5F351A0D4AE29A5B5647AAA1E4BE6EE
+ stream[256..319] = DCBC321BFDC9FD4520744AE50C8C482E
+ 15EBBA20F1F50D6A670ECD4C676339C2
+ A3528ACD13C4EDA9338CDB97903086C3
+ A5AD8E06938FDBAAC68CF0D12BD51180
+ stream[448..511] = 16B8293AA76EFB1B4AC3FCABB6570AFB
+ E1A2D1E57632562B54E9E35C82FC8496
+ 1690210AB64B5D667A99D8BA1CB1A440
+ FD4FC5DEC63067868516F1C92A53BB71
+ xor-digest = F56C22314F7903B514F38009C45ED6CA
+ 03D76B6836C8BBA3E278678D29675F58
+ 49E488DC2990029992AAE86381332DC5
+ F0DCAF53354775AB2B6E0018A5D1F6C2
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ IV = 00000000000000000000000000000000
+ stream[0..63] = C19E802E02F7606C0973AD0F1217FAFA
+ C760D15DFBE5427048DE7B0D85F8466F
+ 0C20F4999B4B241B52CA24E1F642D233
+ AF71135139360B86BEF9D005608E7C67
+ stream[192..255] = 36F5EBC6979DC098BB29488878541288
+ E4D15BDCEE3D5A5B5A020EDA69AA00CD
+ CC5EDF6BA4EBD0FA7FBA9921C7B04B8F
+ 0DAD78B7ABBDA75DB86ED8A33288E04B
+ stream[256..319] = 14E2A45F2F283EA3F89F54FF4D37085B
+ 4DEE60EF2EAF978393A43A045D2094AC
+ 3410E4400E6F80F39EC9E78B94291530
+ 191BF0069493E16F39011CA1AABBD687
+ stream[448..511] = 6752BBF78FAD4109B05E8BB9156F76E0
+ DE8881933D30C065083339183976C74E
+ 4B6FBE5CA425E338A186D401CAF91CF4
+ BAFA4FBE65A0B76B32B60E85AD00B064
+ xor-digest = 8B02E90B5BCC42A6F4F5D9DB8321B49E
+ 83488162998A9C1405740FDBE05C2ECF
+ 191587E0ECF5CE12DDE3D22416ED860E
+ 40913A88DC64211752679395399A57C5
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 268085AF6C02540FE66C3A1E4F12756E
+ 7059560B1C934E1FFA077EF87E124766
+ 86FECE1603A9D6BC4CE31654116C8A57
+ 3E6FE9CAE02806979DABF5F04358D524
+ stream[192..255] = DF37C8B7AFB42862E108D69E4350211C
+ 97BD67D9E7F8FC282DD9D6EABB42E489
+ DE6CB0AAE830E8C95D15E1A0FA234EA7
+ 82823636CF34BC372C649EE28029AFCA
+ stream[256..319] = 7038497CC8FFC6D3022BB3FC4A9F2BD6
+ 9DE121D06E7167F412DA2DAF2E6C1C64
+ C5563631E9B86D4A3C2DDC66C68B91B2
+ D221B182B1C660CC932943638071821D
+ stream[448..511] = 97E230A38EFAC53DB5CD14EFB69B271E
+ 4962A7D601E12EACF8D647380C5EFFFB
+ 7524B3FB4270C5A93E0DB53462F798E0
+ DC581944056919DB71A9F51F16D1E844
+ xor-digest = 9F7DC8D1D43D6DD9E58A99860546B133
+ 8674907D732BFF86AD4033F696F5C9DC
+ 73968502DE3AF08E66243A6E450DFD93
+ 0390CBF5DD67EC2886BFA852B2081DC0
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ IV = 00000000000000000000000000000000
+ stream[0..63] = A824F1EC9E6FA487AE05535117DAB431
+ 2A42653857A7F456D6340C3C9760826A
+ 4B4FC5F56969656B5C016DB024B12344
+ 712E7B31A5CB8C0DC0152963F7C4B068
+ stream[192..255] = 894D8ECF3531DF5872B3E86F1BB630B7
+ FCDC7F2FAFB9191D425851AAF8B34857
+ 5E74AEB1897D63788BB6A211F20F8F25
+ 5CB9D0210B6EE416FA3E23DCA4F52603
+ stream[256..319] = E532E0362A60C5123C573A81EDF184FF
+ 18B2854E9271A31C27B61A77EA70C22B
+ 294C080A1AEF9596F253589C27F5EF67
+ 6F91C52A3F2960AC58171640F2709E93
+ stream[448..511] = 5D84841C86A9BFE45A8B55A832B818B9
+ A838E2880A3B55AE35487F395259B188
+ A740E20A1FB64D46957F3CB7C8468F6E
+ E4294D9321AB173940EBC961255218EF
+ xor-digest = 9DF49BE6779DF5021BFA02D5D417F8DF
+ 39975161C573313090FA3345A757C3C8
+ 7CEE4A15A6FD09E46B3432B3BDA98C52
+ DF5EB762D414924790200406A65D1F68
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 04983829F12CC8054CC4F66A8FE8AFD5
+ E6FB4A7A3BB84E544031CBE6CB0DDD07
+ 741C38A5055F41A9EAFEAA6A1091EADE
+ C6D72F0A6CE6E559430941293F4CCAE4
+ stream[192..255] = 0BB7887102E54D41176B07F7D201D50A
+ 30067CA77DED4D3DC9F1CDE6435BAD2B
+ D758F76D8523BA623FA336D5F9373818
+ 6EBA8F9BB9FB05FAE575056156355A86
+ stream[256..319] = 28F374E60336D3800116959AE09CE1BE
+ C077AC45983D2F3DE461DF2CFB4E942B
+ BED491F173D7246BD57E37C5A4E7E4A9
+ A653E135D580EA0CD9EA9039A043B436
+ stream[448..511] = 6DE24579EDB52A5CEA083866029E06FE
+ B5ED227255E627697550110E5222FFD2
+ D5698662DC3A44A4335868DA5A4AAB79
+ 095B659AB087B3B1BEAF586605B77BE6
+ xor-digest = 440C5D64A71B2D96D9F04860F05DD87A
+ F743580D42A0571C993EF81B0C59425D
+ 77F15AA4ABE14DD3843A7BD9651BFC2F
+ AB339F87157F2F99895F54DE7FEFAF43
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 661E3394A895F5A70E0AEDE8A1E6656C
+ 3E10592481FE413866A7B600FE445522
+ 71E74D9EC08A643B1EF2347FD08003FF
+ 5173182544BABE0A8B2083C67C9DEDCB
+ stream[192..255] = 0ADC24FE76CBA03C966D55F1F5036254
+ 9A25ADDBD5C6CEAA6519557A2B43D4F2
+ D230E4CA5B766421F76E5BE9555251A5
+ 7C346B780C20E9957F2F61EAA738C9AC
+ stream[256..319] = BB5DEC699DA3082FE0208F6BD130E138
+ 479C9C25C8CB3C8586F50D3B20F87C11
+ 6D98708DAC48FC80A3E71563EE1C92C1
+ 484041D7367D34C35CF3102B09BB4AEC
+ stream[448..511] = 9DC2C8A99CA33048609D0F6A97A52796
+ 57B25A3A4017AF6ACB87372D9B9E2655
+ 86C571D45021CABC1E511A16CA1A0907
+ 91364C0B41140BFF40AD27B48AB13CE1
+ xor-digest = 62809962F69AD7F5359D7AA74F0F19DB
+ 130D74651CCA1CC2F718BC456D7C6917
+ AAF64AEF99A21AD5201EA4AC5AC49871
+ A0A8BC83D45248028B0A44D27C96C46F
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 00000000000000000000000000000000
+ stream[0..63] = B77AE087B914A23B8FE0838F79E89DC9
+ 6B6C7AA118970FC69BECEEF41E54E4E9
+ 86D757A6BF858EFA4ED6520ED7B554A7
+ 40477016F22501B08033D570C528B448
+ stream[65472..65535] = 3CAA967FBAC58A90E552F571CAF3B655
+ 1319736A9303C3E9497725DCC04F0CD8
+ 92738AC4715B2F358A18B6837A3B3242
+ 5F2EB1D25A0183E280ABC05A16EAC8B5
+ stream[65536..65599] = 72BDF432D0938752431E723526DE9287
+ 24B67B3C7B6F1FF5E33406CB076B2FEB
+ 721C66D49BC3F1F8F8FA8F64A997CFBC
+ 765FA3649C4E6987E6ADF6AEE9B6F0CC
+ stream[131008..131071] = AAFEAB5AEE36ACC317657FE43F5FEB30
+ 1E025EC17623F9E192D6177A73EE3624
+ 603107072163856FC067467BF637AA65
+ D8E942B5D5DF68B8533CE17612400387
+ xor-digest = E47F529A1327D52F68C6C5EDC109C416
+ C6F1D3A95193039FE433876B503FC9C7
+ 18AA1AFCCB9BD33A9680F560ED57268F
+ EF5636AB318774073F586021260AB3B1
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 2347A325330710018BE087D38218FE7B
+ 557D268695286FC37EEAF0CB297242EB
+ 1E74589088CC44E8CC0D2CBBB8485CF9
+ 0CFD9BF1F4E99E934155519BF15690A7
+ stream[65472..65535] = C882FC5DF0725FCB578137EFE5720F1E
+ D3A1D6308B0FE45F4B235237C3822F00
+ 29E3701DD4C4C5F9A9FD82EFBCBBAC55
+ 18B9EF24C7B90DD853CA32752EC0BBB8
+ stream[65536..65599] = CC3A298A990914EFF6FD56933AFBD624
+ 3CA0E7B2046E289FEC7C365A210F4290
+ E22660BE247F32098D60AD43037AC91C
+ 1DA625EF43825E2F1706C6C8ED88519E
+ stream[131008..131071] = 423DC51BF4794B718DEF20A2BF86207B
+ 5B316FA4946361343604291227578423
+ E51F2E8623F73147C87D61C3FF260A58
+ 875A5727D0D6BA575FCADD0E5B8782BF
+ xor-digest = 7F161BD574EA5E27FD45F0AE99DD0CBC
+ 7A663987A9324A90F536ADC040858F78
+ 343A1644FDD36897C35718C062F80132
+ 3EB5C0F2E44FCDAC3249E2B5A73659DC
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 00000000000000000000000000000000
+ stream[0..63] = 5D9039854C7C037A182A327F9125F1E6
+ 8604D33238DF2BB007AEDCA8BAC9227B
+ A2B5FF387A4DF7747F1ED9ED404A480F
+ 0AB41E637BB1FDAB0E53FACA150232EC
+ stream[65472..65535] = 9A070D5059EA063BEB7BFA1DBCCBB98A
+ E358C483E25259840E5F22A59C65E208
+ AFEEE44D9B9731B6445F4D2DFB93CA8C
+ F486C94B452656925C7BD512B66F31B1
+ stream[65536..65599] = D3CB730909B9BACC76945D17AA8FFEA0
+ C249D61916119E3601538505CB52B03C
+ 9714308DEDBA1719F85B9DFB77493525
+ 8747CC3425990055159C79FBAEA6620C
+ stream[131008..131071] = 6EC3182BF358178D87F9162C81AC8279
+ E29564B7A1E908CE6532504F56A26258
+ 82D1E6874FB6AEB9927588445B42FD06
+ A8B40FA61E0CC1809898AB8784D3FB78
+ xor-digest = 0424FCBDB79337D5EA7EDE71C732FCD2
+ 7F0B9F2D96D2E63984BB9ECBBDD11A31
+ B3FA90D8E9295A1E3305A9E2C44F05D6
+ D2E8D1C1EB9760BC747D34B4FF2A4772
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 00000000000000000000000000000000
+ stream[0..63] = B35A72089C1AFD0F88525E9AACC753C7
+ 17ED50FD9B1C2E1FB921354C557ABCE8
+ 291FA38C0AAA17BE548FDB952BD22D7C
+ 7ABC27ACB3B11C9785E261D22F68BD4D
+ stream[65472..65535] = BBFF6B23687571BAB02FF23656D228F0
+ 5E1CB75021F36688659BF1C9622A22C6
+ E9D3C342BA573752FF0AB318D4B9E5DB
+ 8DC3577E8FA15B952F20C410DF802878
+ stream[65536..65599] = 1156D37950033165CC8D00692FD0964F
+ 764FB15C540FA73C19629DC400FB01FD
+ B8B392DB1412F4B0B2248523B5A35BA0
+ 610377AD3C79B73CF4092346D5684E8D
+ stream[131008..131071] = 772B4FD850CD56B6E35F62796E820F4A
+ CCDEDAEA8CA7FDCEFF354A33B5C4C2C8
+ A69B660BCA55FD0D67FA0C5A12EF4A42
+ 85D86012DEE9E467AC256B9F8519158C
+ xor-digest = 3A87174E72D90C998F1B029816457286
+ 4E05CBD9D7FE6167E72CCEF5B5EE2ECB
+ AEF3EFFC004D42114BBE71002478EB69
+ 2DF4F0A08E0670416C1B8699B82C96F1
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 80000000000000000000000000000000
+ stream[0..63] = 6FE13D681D2C79C1E46FC81767E51F99
+ 5583AF15B81210E654650D8A1F3E95A7
+ F68CD7EAB3E026CF538938DE7ABD6C37
+ 11DBB139CAC7458A30F500CF75CDF4D7
+ stream[192..255] = 6292522C3BEC7F6888DEA579295FF8C2
+ 45279B28B4F0951D0E8128885664BC95
+ 22568A5C85CA83693A61BE13EF4FFA4C
+ BAF4B374FA3DA370316E3292537AFEAA
+ stream[256..319] = E76BFC84A317AE859C950C1BD28C3046
+ F6466AFD3C891C696B07F111E62A3792
+ 513FD517DAD11D2A826A89DB40288F0D
+ DB6FC31148FF8A29DE4A3E004EFACCFA
+ stream[448..511] = B3ABC77902D2E4420253DE405348E654
+ C2D253AFD4832568A45D8DCD37B669A1
+ 948614C65BF9049DB2852B5661DF6333
+ 7C4B60DBFA219273615C36F882A5B8DA
+ xor-digest = 61F91E096C628474A8E5AA5E0D720F8D
+ F0098D22982732EBACD619AF9F9D4D65
+ F61E217C050212F5BEAEF1F395ECE188
+ 5FD2DF0EA11D589880FEE3F35A29F053
+
+Set 5, vector# 9:
+ key = 00000000000000000000000000000000
+ IV = 00400000000000000000000000000000
+ stream[0..63] = 18CA40897BAEB4C44381650FF173D992
+ 155FFDCFECBC7B234C2C4796937F36BF
+ 626A8840197A1B05DD2DCF212EFC237B
+ 921C9D35FB3D7C90686A8CCDED212A19
+ stream[192..255] = DAA025528054945937162C7CF80E54C4
+ 85D152CCA1756FCBC053CB61D4AB29B9
+ 7E41B2FA5614F134488B620657FDDC5F
+ 7D1B5C485917EAA8CC2D58200DAB8233
+ stream[256..319] = 7BB2186015306981567831C82009FCA3
+ 8BF9C0FF5DBC0A3670AC047C724E4436
+ 31E47AB730192803A0FF69E6E4F15B58
+ 8345A8E9C3F676C5994AFC919DD81350
+ stream[448..511] = 3E42612E38535F9D93B23E291E3BB945
+ 0C60B94B00131C633DE5316997EFAC53
+ B61FBF81218374CD7E7AEC7D32124E78
+ 06AC93E573C6328B8AD7FAB42B235352
+ xor-digest = FA283CF4EB1AF4DE383DDCA68F47BCD3
+ 8982C0CADA2CDAEECB6CF93AF59FB3FC
+ 81D087A7A9935E6D74B71FA68296DC9D
+ 4BA6305A2FA07AF896E7B9E93E127FAB
+
+Set 5, vector# 18:
+ key = 00000000000000000000000000000000
+ IV = 00002000000000000000000000000000
+ stream[0..63] = 3B5D3AAA85A8476AF59768B693E456D0
+ 9A85101B81B1898DBDCA5C78C94CD3E3
+ 2F898F0B7470DBD3495AEBE5A4F8B958
+ AFA7EF8D147664F8EE71C12E558D5CA3
+ stream[192..255] = 0F96D22584DC8D5577B16015401DDABE
+ 796845A2B8D2107CBD7111247AB75BDE
+ 2BB9C59993826B5D39E9F3FE1D1A0940
+ C48A3290337664E943E315BE81867B17
+ stream[256..319] = 011FEBD03425D439062F784963D9BAC4
+ 4A3F6950AD566762818319B390C58F97
+ E9989094192CD33052E786B4F03CE19D
+ 9F1180EC163B79CE90AFABF76C8CC50D
+ stream[448..511] = 77C550A37E9BD9F57AA3B886EB7E559F
+ 18492E8197B481323C41E8DE71485AEE
+ 281C13B4DF8BEC903FB6DCD648401149
+ 164512EED4DC5E461EA9138366EB3865
+ xor-digest = C47E62C5EF9E5C5BFBCF625101F168BE
+ 99630FCB59879114DB9B2393B431BF45
+ 111F0869479388223DEA4071B01875C1
+ AEDBC0494B772FA8FDF08459D3250BA7
+
+Set 5, vector# 27:
+ key = 00000000000000000000000000000000
+ IV = 00000010000000000000000000000000
+ stream[0..63] = D1848B9EC269B25D0522699FBD9D3887
+ 97B45F31E94E0B7A97AB3458FA653C0F
+ 7E5BA8CB60FE55F3DA7E62C35927C7F6
+ 3E0B5F318F5D110B522D7AEA0762E093
+ stream[192..255] = E902E8828DF85DE61EF8AE1067F7865A
+ EC1D7FCD30F58D7D15587250185B9BD8
+ 24761E0C8CBB71D62F1AC58CEE644D09
+ 30E7EA9DA84088900B4D629BAA45235B
+ stream[256..319] = D016B4A4C75A1498D5F65F2BD8A53E9D
+ 1F4905663A34E31CA06B5EE0A09D27ED
+ 7EB0A08F33FA585F76E967047A6D8C68
+ DD113B870695CC3D5C9C3D3C3A276FF2
+ stream[448..511] = 7D5EA6C28886FC75A5BAD8B6ABC59301
+ 0C23CAEB66476AB0378734C31B64FDDB
+ 11C0D3B1FE881B0A62B22410188DA924
+ 7AD03F131372001127C20CD5F0C3B090
+ xor-digest = 6494EF24A2F4D7BCE04A19D1E9B6B733
+ CF4BB108D504CD1E25B870006C9CD8C4
+ 617E1DA6C258F01212E3D17EDB706A61
+ 759EA4B88BC198D06610F5642DF3FAD8
+
+Set 5, vector# 36:
+ key = 00000000000000000000000000000000
+ IV = 00000000080000000000000000000000
+ stream[0..63] = 82E87DEDB592700BB9F9C96EC38EB05B
+ 98DC62CCAE06F5874558029A31139055
+ D58D061596F1705F832C36A9CDD41B2E
+ 60FBCCC6CFA4FA58049531C148F47C1F
+ stream[192..255] = C3D9C94714BAA5395A3EAB9B8B3656EA
+ D28C27DD1935A790D0ECD65D324483C4
+ D87548CCEB23E25355F841A391433523
+ 9D16005C1D50E7ADA88F3151A562BBCA
+ stream[256..319] = 228CBBFE56E4B6C5238403B25652F321
+ 29BFEA9C7281911996C938AA2708E25A
+ 57F7A358BCCFE1F8FBB45056A349B88C
+ 62A7D754C71E09A257A6E406C88C8A16
+ stream[448..511] = 374CDEED3D028ADC08F60508419CBCFA
+ 18001A4B04CF94FEEF54057762340796
+ DA05D45ABCBCCD07EEFFF9F5DF756F58
+ CD063E7994DBDFAEF49BB75FD6D28A96
+ xor-digest = A9654A43C41BCB32CA102EDE44CDF764
+ 769277FE6EB856133FB69E64DE45EE49
+ BBD257EA9214D314E109C5474AB0D651
+ 89A657827A87416A54045CE766AAA6F1
+
+Set 5, vector# 45:
+ key = 00000000000000000000000000000000
+ IV = 00000000000400000000000000000000
+ stream[0..63] = 9016FC1948CDAFA27EF6CB1D8F449363
+ 11D7B68CAA4B92CC6627AAF56C3B5142
+ 71C26F78EA8CDFED0933E48193FFA295
+ 0B09E55FA408617E8B63DC8D7FF945DF
+ stream[192..255] = CB83D954505F42EF97A430A086EB2BA0
+ E19EBF89DAB9DFB86928ADC13A085AA9
+ F536BCD6ED2E25046777DBCB8CA3CF17
+ CABDC83F001585DDFE47522B68EAB285
+ stream[256..319] = D9ADE719EBD71094D708C28C8345FD0E
+ 72865993D0D5624C78815A80A1A811F7
+ 2D334CDCBC0DC7AF2E9425C579A6B724
+ F2A3E2D74500A893AAA3AF112256E1DE
+ stream[448..511] = 79C8A9FE7869D3AD56DF6D46E3ECD361
+ A693903391D2BF3F5CB5E1CEC8667CF9
+ 0164170D6BAFC717D2E83E770B799BE5
+ 0DA0E14C217FA37581B4FD9E9B0DA2E4
+ xor-digest = 83FE38FFFFA81CF7DEB37DFC703BFD26
+ ECFAFB15567939C1A7829A7F2F5ABDDF
+ 1AA0428CB722B6BBF59846EA804DF525
+ 5FE3460F2F8E6F25B6C6C834168D74DD
+
+Set 5, vector# 54:
+ key = 00000000000000000000000000000000
+ IV = 00000000000002000000000000000000
+ stream[0..63] = B8C9A1CC88DF1686A51D151059F03CDF
+ 2DB2A40821E1C6A60EC6271A3CA5AD83
+ 53B1E01545298B3C3C73B2B2D4A96AEC
+ 737DD1F92C82158806B21964AFD43D8B
+ stream[192..255] = EB7730BA92848EAD21121B1D468D17FB
+ 4D47E86BA37A3854455555DEC357221F
+ B913FA124FC5DDF7251019F2DC1C247A
+ 620307E391CEFB9C4C3916F84C3BA2AC
+ stream[256..319] = D3FDDB3FE47CF045A91C8D86BEA5D7F3
+ 3E9D2518EDC2B0A9AFE0FF6173AC3292
+ D8E6E362C2A65E7069548E6058C1C723
+ E3F64E269CAE27FBFCC47D9172AB8153
+ stream[448..511] = A2184D75AB7669AB4DD0431C5CC2BA63
+ 74BC2E39161F19106BDE69A98BEB6543
+ F0989B01069A1941EEC6B3F61FFE1D0C
+ 0CDCBE60656D52A3807DEC82FA7071B0
+ xor-digest = C654AD90EE81AC2C0EAC1C4162EAAD19
+ B07EE0BDFA21A67AA7FD3053DB5B61A8
+ B3FB1DCA15B52B9D62259E4E7212E941
+ 7D8AB84FF054513892AE80033E022BF2
+
+Set 5, vector# 63:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000010000000000000000
+ stream[0..63] = 6D0F5A3ABFB148444129D79EEAC852E3
+ 9B19909532B77B9E92C1F949F158AA17
+ FE0B4DC178760D034486B56C4067F1C8
+ E2BED4F798CAEE32F0C7155B7B646D98
+ stream[192..255] = E5B40B9941169A5321CCCA0F8CB14E9B
+ 47F10F94902BFDC7C65B5C17354418BE
+ 88D86FD6B5D4EA4C33677A79DF22EAFD
+ DC19A0176F1966D19F69E96F5D7DAB5C
+ stream[256..319] = 1080FD348F5064DB619EA1FF910440C0
+ 2DBA9D624554FD600882EFBBE533799C
+ 8C24DE4407CF3AD4748EF7AC43E004A2
+ 932114DC661CC3BED3CEA8E34634782C
+ stream[448..511] = 1947CF5D399F6BECECD8D32E03BDFDE3
+ 3C848378C7CB7A6E982B9DC89B7D8044
+ 7108B32958E18AA213AD0988451EDC8F
+ 729CB5C5E773618ED710C532B2894BE1
+ xor-digest = 3BC1E2C8F253CA76A37B6A331B95E185
+ 227FFB68DF2514CE9E4C69389BA13F72
+ A8E615869BA8962D23761CD69CE4D8AB
+ CA47D0ADAB58C933F31CCED78E525AAE
+
+Set 5, vector# 72:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000080000000000000
+ stream[0..63] = B1388329040AC77EC5612A037F625277
+ 9BEFB09EAF150508752F0C774EA28B19
+ 74A78BA2B52FCAB1454744E9A780F5CB
+ FCFDB39B2B7E18B4F887012816EB98F6
+ stream[192..255] = 24A16B3B1B8F37FD0D94A285C05D6CF6
+ 8ECB927638E253CFB2DAAD04DB159353
+ ABB6E739377F705A7D5FA5B5CF53E659
+ BE7A78FE8182FC950D01ED79569ED6A7
+ stream[256..319] = 6EA21593A0404D12DD53466524672201
+ 0F937050B087C60D291FE1F696AD0B5F
+ 6E5AA8FC7C69DCA1A7C2F1FA3FAAB186
+ 5A3C5A5D241EEBE43087EE3AD05A95B0
+ stream[448..511] = 6C36BC8D72CCF31F551D2F308EB02CD5
+ B93478FBB6D145619AC58AF369A56340
+ 7ECB85C0A3FA4A76161649802F400DA9
+ 146D68E3AF40057C870A9CF827BFC02A
+ xor-digest = D1BB5532ED57EB0A3F75569BC54F4857
+ 7470E4508F8E0F9E268E6053A103CC94
+ BC94AEEA92AA2CB7EC0E3E7867C06898
+ 36CE91266DF0B26E3CD8CF6847E7CEF1
+
+Set 5, vector# 81:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000400000000000
+ stream[0..63] = B76D2D9B0C70DBF1CA36923D740E488B
+ 6498D2308BD7BAA2B0F27FBBB83FCB99
+ 5B2F96B03252605D0AFE91D5FFE980E4
+ 43897DC7D0BB20C7A9903E6EAA5D97D8
+ stream[192..255] = AD020F84DC396C710FB1F53A29DE2C09
+ 3C38BB5A0EE640B113399B9B1EE82798
+ 80151D8B5341E694F566D61BDC90E7E1
+ 1754A2FD6AFF4319C9F87961A6DACDD2
+ stream[256..319] = 1047612C2579ABF64E71C472B4CEC5D1
+ CB07F6DD07AF954CCBAA925C3FB9BD54
+ 18C2FDD8BCD3FFF13D2FDA186B3EE1CE
+ 56811A44F04E015F6B62A09540A34DE4
+ stream[448..511] = 5CA8205252BB0D9F32B330E114FEDD1D
+ 324F3A8437AE5DC68CBB70F96558834C
+ B1B1417D25097D2475467E06C7ADFC2E
+ A10FC7717DACA8C9682280A00382BA27
+ xor-digest = A7B5301250C66E80574EBC0CA3D05B35
+ 2E8D894F0458D1CDA54FDE1344D0782A
+ 60AF1D0A0FC9DD2BB5777D121D27C4B4
+ B9DC4C91B1DE1DCDC5562FF36689BA65
+
+Set 5, vector# 90:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000002000000000
+ stream[0..63] = FFC794328FDC6A08C5EB6CA12FF3569C
+ E88682D0BD2C9E29823DDE2E6590DDBC
+ 7FD4871905B809F382D7BDE4E686508F
+ 8FDEBCC505A00505BFAB1AFFD1F21D79
+ stream[192..255] = 0B027816A7C9BA22262518EFFDCD6ECF
+ 679DA886A06E868AD68DDA4787062019
+ A9BB3402CF66CB876821B86C946FDB9F
+ F38E60A296785D0DCACC07FAA811E275
+ stream[256..319] = 43CA8EDD39FF569C4137B507250D72FE
+ DF059E8182884BC247BCD8D50C2A4AF9
+ C1D2841BD52D1C84FCAD04CF7E8CEAC9
+ 45E90D999F3DA75BBAF6EE248F7B7626
+ stream[448..511] = B70A8D25A88A0439E9A8CF5DB914485E
+ F1B8BD6B8388D631B10E704B3113FFB5
+ 1F3FD400F000A4FD8778A23163A91AFB
+ A42D9066DD63ADF0B2F1C41C5A639165
+ xor-digest = 7C155411EB1F18146A4A4D4911A708EA
+ B3B93B770D37A71721948E20EE283678
+ 380A8E9947E89E55FF7B7C1A54796F72
+ 262E876E296A38F24720DB01594FFB87
+
+Set 5, vector# 99:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000000010000000
+ stream[0..63] = B39313B89B7B49176504AC1AFE1AA6BC
+ 7DA62B8A3536DF8CF93E8A27E895A1FD
+ F2C6855B924B65CB45F72C653B750B8C
+ 999A4248062902E9CB593D936FE37E73
+ stream[192..255] = 98E17E750085D76853452A1DDF510220
+ CE6B3CAC34C9EEF46911DA93F7A5A3FA
+ E11DB74FCDB07F1080139BDC2406FE7E
+ 6EB5E7D741F44472D8A713B2E73E3286
+ stream[256..319] = CFEF0950FF1CD9A2DC5102D8D134FB87
+ 2EE479CBE62185561DFC459815F20EE4
+ AFE9A12DBD4E2B77C39EA347365EFB07
+ 4421B17A20DBF8482A62A27C562C038E
+ stream[448..511] = 902DF0D7C2B38DD0249FC3570C54B473
+ C410E2AD903505E9E68089C504062554
+ 778E569AA146BB1DE6124FF796E48193
+ 27F5BCDD450E40E72FA57DDDDF60F505
+ xor-digest = 045263994A8EE3C21D221A4FF0F552E4
+ 7754B36F135140A76FA271F0B25D7D19
+ 258A85F4D192BC6F7B74248FB0FBD38A
+ 8247F24E11CB6D97495ECEB74EEF485A
+
+Set 5, vector#108:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000000000080000
+ stream[0..63] = A0C1C0BE17D347D1F888F85DAF63E7BC
+ 0BB14F1A4B684FF54E36FA9199A453CE
+ D65ECF54B7F390D6D202FEE9EFBA5CAB
+ F88DF437C4755E3314CA370AE076504C
+ stream[192..255] = 6326AC605832C73E87DDB82E742C1400
+ BEC3E426B7108B0F0579D4992BED7AC7
+ AE02DC8F802D90D33FF69F149FD38F38
+ ABBF5C5A43C57EF6E607BA5571F572CB
+ stream[256..319] = D6405E64B1BF08308093752FDC315C35
+ 7A29D690E65A057E7B2A599841C5ACC4
+ 8650277900DC4F21D20B1C3506A6490D
+ EC3909637E0A37A7E986FD3AF84ADB8D
+ stream[448..511] = 2A737A38012C4EAE27EE5DE49D61BE4B
+ 22B630C0D9E7B95E71BB4C8B664E5AD9
+ AC56758FCB0F2C3DF39F674090B12920
+ 4193CFA60AC0C64902FDB71ACA185CCF
+ xor-digest = 3AF23039CC3F653C66E651A8D9FB8DD8
+ 9083C44DCF3949DA9AD8B272E2701F01
+ 617AC42314DF526C85C1699439475D47
+ 72F53E9B5A24A83DD4B3072B19590437
+
+Set 5, vector#117:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000000000000400
+ stream[0..63] = 519FD7FEE7422E8A773F627B2B5465E6
+ 7F974AB1396A0C9C687F2DBA0EED8C4F
+ 12D97FC7E433E8F6EB9920B28D373F5B
+ F947C7CD61B0C4CC4A0850644B491F8C
+ stream[192..255] = 6AE62250517A9CDA927FD2C2F9543063
+ 5C561117E5F18F8B10950A18C9E4DBB1
+ C0F588CD9CEA25EBCCEDBBDE75A3A804
+ 77042F1632A90090D58C7DAFDABF6DB7
+ stream[256..319] = A342648682EEAE7C169DEE117FAF0509
+ C521D3CA19E89FEC24685B361791E567
+ 4BD1CA89681F1BBA1A9B8799AD9BB130
+ FD4AA5C543C732BB3A4C43931AFAA43A
+ stream[448..511] = D00E7ADAA06219AE42B8E51EC9FF763B
+ 4D4ADC03E4E990A17BEA08604BB9EFA7
+ 672A36F4077D84648259F20A03F26940
+ AD862BD4027CE768872C27882D928307
+ xor-digest = FB76C85B56FA0C2BA7715986841979DD
+ 41320E6123A803E09398C3437EA3E0CE
+ 5542DDF6BBDF4704659B9B0F2F8C7FC6
+ ABA25507AD8DB4B4FD3912C408719465
+
+Set 5, vector#126:
+ key = 00000000000000000000000000000000
+ IV = 00000000000000000000000000000002
+ stream[0..63] = B5D04AE8ABC254542B86F35E8DF8792D
+ 9A97EB24CF1CC7EBE78C71298C5DFD9C
+ 3D6B7A6F6A3724A8F942D9FA2802D7B5
+ 066AFA1B480351CEEF894522675AD760
+ stream[192..255] = 836DBF73E3EB0492F83A5CF0850423B7
+ 93455E8B6CF8CADAAD4772D9D2800EAE
+ BF16C4870E7C1BD2A0280758E8457F02
+ 9A5B9E2B188F6EC7B31B6D6106159C05
+ stream[256..319] = 36E01B813E89C0197D5603EEF64A0BDA
+ DAD596BDB0E88A25D78FE844D910CB59
+ 5C6FD7A58212C4D3ECBBB8A67DB185AB
+ 0A4E53A9597487E5745DCB810AD1A2AE
+ stream[448..511] = 2E70EB34C87D03ED5B3EA2E74870619D
+ 21D12DFD2C75B5EBD6F650FFB88DE997
+ 4B58BF54AB214EC90FE71F8803C730E1
+ 58D8BA81F60A4484E2D51F51EC6AC53C
+ xor-digest = 9E0C91D6E448C4246C739577380C3496
+ 73C526217AD72E6CFAAEC8DE97E2E70C
+ 0800B0BE889AADEE470B516D4DFCCC16
+ BA47FF92B44A104BDBECE6012FC6D756
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0D74DB42A91077DE45AC137AE148AF16
+ stream[0..63] = 723E5DC55C1EABD772D2A4A682DAAF54
+ 1F3FD32C4E8FD725167B2C51D0B60F08
+ 98BF65755BF24E2BE7D091DFE0199096
+ EB66200B3AED2D60E89EAE1F4D7B6A60
+ stream[65472..65535] = 31017371CD2DF747982B15753205619D
+ 5F4AF1D9ABEEC9B962C79DB66B66AA98
+ BEDA05470A2CC7D22033C115512C0644
+ 96E450526695E4876B8EC84506CE987D
+ stream[65536..65599] = 3CBB375933B307E4B14E18FE57950DDE
+ 0AA5FE7D36BEA1C51AC249A84FEA08E1
+ 509F54875A3DB686A8640B6C4C0CA191
+ 946100329D1E9E201BCB802ED58136EC
+ stream[131008..131071] = 26C2BA83537B09306AE854EFDF30A0D2
+ C36A804E93823C57AD30FD0C02A9E491
+ E25A97910ED9442A60D12A92C496A490
+ 65D826297F1574FAE43073ECF8DB6AA8
+ xor-digest = EF1993C7F6C7458170E0688E62A4C4FF
+ 82F946851CE55332341B00154BF9F5A1
+ 45CC76ACED2A2B91389DDE83349C691D
+ B55B53C90C9A4CD0FA9DC0A66DCF8A89
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 167DE44BB21980E74EB51C83EA51B81F
+ stream[0..63] = 3807E50C8223EF4A924C72BB79D6AFFB
+ DE05A946CFDD35C3A6CD7C73FD6A4FD9
+ 1C26DA5B78572BDFA960416A7B421952
+ D449B6B9F62BFD28A6CBBEC98BA6D66E
+ stream[65472..65535] = E39978BEAFCABB7078086EBE039489AE
+ B496131CDD5EC95579EE6B6A7AD01E56
+ 68606CCACF4A85E8BF427CDD79C06F58
+ 6241CB6B8E80E7682822C7D0BD5C0B01
+ stream[65536..65599] = 025766C4544BC7FA2B0581CD23CB923B
+ 00194BF7A482B2212B73DDB29D2EBE4E
+ 2D58077A4D6A4007DD08C3AE9DE1668C
+ 819625E6EC622691462FE17FFFBC1ECF
+ stream[131008..131071] = DE73F95C65FBD1B445B5C19E869D66C0
+ 0D064D2262AF2A6E276378ADDE896093
+ 34CD91AF2B9F16D82398B677FED07E74
+ 7F3719FA4DD075E028760F2EE3B36B97
+ xor-digest = C6AD6A41B479A3092CD7E0C5F9D2CAB4
+ BE71F27E6D8075E2C68184DB78F42883
+ C5FF0D5A4A0842236BCC399200C4D361
+ F21CC50C07EEFCDFCB017CACC353BCD0
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 1F86ED54BB2289F057BE258CF35AC128
+ stream[0..63] = 6D91A896416B39FDCF7A88B2B3975061
+ 356FC5C0F9A551BEA526E88415914957
+ A5E367A3BB51B4BA750D315052721D0E
+ 70430CDC0CE239DC439E85091FDF7A53
+ stream[65472..65535] = 1C93EBC433DE127E38A33474755E23B6
+ 0F8D80AE231BCFA4B63B1A5D0500A475
+ 4467548E8408DF362E62BC15355FEE88
+ 90A617732757D1214EC5A737F5463050
+ stream[65536..65599] = 3CAFAC303C7BE17D90D93C5D02B5B54B
+ 81D57B032A7D1FD172047BD86AAE8D61
+ 91301F1192682D9C3DDCF4E09B5D2DF5
+ 8F4E312E122D7FBF54A8237E4A5D6D56
+ stream[131008..131071] = B794B2243ABBD51E22F692C324F68658
+ 1B4A3AC37D834EDBBB68B43977E14CD0
+ 43365257077A80A476082510CC92494E
+ 0EA028F9243FD08CFDEF8845EDCAE517
+ xor-digest = 70E5C789F52DDAF56169FF25BAA8F520
+ 6A49B59C5FA5E32A5EA0534873D4187B
+ 93D86AF3BC82980170A66C80D7642412
+ 2685A3D8D59E12EB33822C1883635211
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 288FF65DC42B92F960C72E95FC63CA31
+ stream[0..63] = 4D7A20DD0CB61B32C51AA173CBDE09BD
+ 5B849F204DC509DDBAB2006C681FB7AE
+ 194C244EEEA64A8B659011264B66B46D
+ 38AEA8AE002E28A131BF9744581892E0
+ stream[65472..65535] = B39839E3132BA23F1D976D2D5183C929
+ 754CB121B53BF42339B29C851D7CF19B
+ A24F773A2F26171F25F05F49FE14A91E
+ 38C70859B357087F1759B52FA4A3AB31
+ stream[65536..65599] = C5ADB0B69B158BEABC61A71AB06A22EC
+ 8C7CF3F5BB3237D296DCCCC2F47619AD
+ 5CA2031EB7740C7171BB77B29F781822
+ 06092FEC70C9BBFD448D1A264B6A62C0
+ stream[131008..131071] = AAEDA02C3EEA6506A13C267863D080CF
+ 9898EC95D07995D9F3C4814F1B1BF6FA
+ 207EFD0E5595DA11D324B327637F8FB5
+ CA73A6B2099F7B5A5DCC3A9BB2E596F9
+ xor-digest = 1D86A187649189372ADC2418273CC9FC
+ 0FAD564F48E31C9DD58A3DBC0212FEB4
+ C9E2686075DB743964260CC073E0AE67
+ 1B812989FA525C962D3D514F03E9F2B3
+
+
+
+End of test vectors
--- /dev/null
+********************************************************************************
+* 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
--- /dev/null
+********************************************************************************
+* ECRYPT Stream Cipher Project *
+********************************************************************************
+
+Primitive Name: Salsa20
+=======================
+Profile: S3___
+Key size: 128 bits
+IV size: 64 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 4DFA5E481DA23EA09A31022050859936
+ DA52FCEE218005164F267CB65F5CFD7F
+ 2B4F97E0FF16924A52DF269515110A07
+ F9E460BC65EF95DA58F740B7D1DBB0AA
+ stream[192..255] = DA9C1581F429E0A00F7D67E23B730676
+ 783B262E8EB43A25F55FB90B3E753AEF
+ 8C6713EC66C51881111593CCB3E8CB8F
+ 8DE124080501EEEB389C4BCB6977CF95
+ stream[256..319] = 7D5789631EB4554400E1E025935DFA7B
+ 3E9039D61BDC58A8697D36815BF1985C
+ EFDF7AE112E5BB81E37ECF0616CE7147
+ FC08A93A367E08631F23C03B00A8DA2F
+ stream[448..511] = B375703739DACED4DD4059FD71C3C47F
+ C2F9939670FAD4A46066ADCC6A564578
+ 3308B90FFB72BE04A6B147CBE38CC0C3
+ B9267C296A92A7C69873F9F263BE9703
+ xor-digest = F7A274D268316790A67EC058F45C0F2A
+ 067A99FCDE6236C0CEF8E056349FE54C
+ 5F13AC74D2539570FD34FEAB06C57205
+ 3949B59585742181A5A760223AFA22D4
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 0471076057830FB99202291177FBFE5D
+ 38C888944DF8917CAB82788B91B53D1C
+ FB06D07A304B18BB763F888A61BB6B75
+ 5CD58BEC9C4CFB7569CB91862E79C459
+ stream[192..255] = D1D7E97556426E6CFC21312AE3811425
+ 9E5A6FB10DACBD88E4354B0472556935
+ 2B6DA5ACAFACD5E266F9575C2ED8E6F2
+ EFE4B4D36114C3A623DD49F4794F865B
+ stream[256..319] = AF06FAA82C73291231E1BD916A773DE1
+ 52FD2126C40A10C3A6EB40F22834B8CC
+ 68BD5C6DBD7FC1EC8F34165C517C0B63
+ 9DB0C60506D3606906B8463AA0D0EC2F
+ stream[448..511] = AB3216F1216379EFD5EC589510B8FD35
+ 014D0AA0B613040BAE63ECAB90A9AF79
+ 661F8DA2F853A5204B0F8E72E9D9EB4D
+ BA5A4690E73A4D25F61EE7295215140C
+ xor-digest = B76A7991D5EE58FC51B9035E077E1315
+ D81F131FA1F26CF22005C6C4F2412243
+ C401A850AFEFAADC5B052435B51177C7
+ 0AE68CB9DF9B44681C2D8B7049D89333
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = BACFE4145E6D4182EA4A0F59D4076C7E
+ 83FFD17E7540E5B7DE70EEDDF9552006
+ B291B214A43E127EED1DA1540F33716D
+ 83C3AD7D711CD03251B78B2568F2C844
+ stream[192..255] = 56824347D03D9084ECCF358A0AE410B9
+ 4F74AE7FAD9F73D2351E0A44DF127434
+ 3ADE372BDA2971189623FD1EAA4B723D
+ 76F5B9741A3DDC7E5B3E8ED4928EF421
+ stream[256..319] = 999F4E0F54C62F9211D4B1F1B79B227A
+ FB3116C9CF9ADB9715DE856A8EB31084
+ 71AB40DFBF47B71389EF64C20E1FFDCF
+ 018790BCE8E9FDC46527FE1545D3A6EA
+ stream[448..511] = 76F1B87E93EB9FEFEC3AED69210FE4AB
+ 2ED577DECE01A75FD364CD1CD7DE1027
+ 5A002DDBC494EE8350E8EEC1D8D6925E
+ FD6FE7EA7F610512F1F0A83C8949AEB1
+ xor-digest = B9D233247408CD459A027430A23E6FCF
+ 3E9A3BAF0D0FC59E623F04D9C107D402
+ 880620C64A111318ECE60C22737BECA4
+ 21F7D3D004E7191ECE2C7075289B31BF
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 24F4E317B675336E68A8E2A3A04CA967
+ AB96512ACBA2F832015E9BE03F08830F
+ CF32E93D14FFBD2C901E982831ED8062
+ 21D7DC8C32BBC8E056F21BF9BDDC8020
+ stream[192..255] = E223DE7299E51C94623F8EAD3A6DB045
+ 4091EE2B54A498F98690D7D84DB7EFD5
+ A2A8202435CAC1FB34C842AEECF643C6
+ 3054C424FAC5A632502CD3146278498A
+ stream[256..319] = 5A111014076A6D52E94C364BD7311B64
+ 411DE27872FC8641D92C9D811F2B5185
+ 94935F959D064A9BE806FAD06517819D
+ 2321B248E1F37E108E3412CE93FA8970
+ stream[448..511] = 8A9AB11BD5360D8C7F34887982B3F658
+ 6C34C1D6CB49100EA5D09A24C6B835D5
+ 77C1A1C776902D785CB5516D74E87480
+ 79878FDFDDF0126B1867E762546E4D72
+ xor-digest = 0423874278AE11EF0A29B3E6E1A5BA41
+ E43671636615E3F1F6215750E5A1749A
+ CDFE0CEB74A11AC4862527C5849110C9
+ A7A6F01E419372824BCAB90550340E81
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 9907DB5E2156427AD15B167BEB0AD445
+ 452478AFEE3CF71AE1ED8EAF43E001A1
+ C8199AF9CFD88D2B782AA2F39845A26A
+ 7AC54E5BE15DB7BDFBF873E16BC05A1D
+ stream[192..255] = EBA0DCC03E9EB60AE1EE5EFE3647BE45
+ 6E66733AA5D6353447981184A05F0F0C
+ B0AD1CB630C35DC253DE3FEBD10684CA
+ DBA8B4B85E02B757DED0FEB1C31D71A3
+ stream[256..319] = BD24858A3DB0D9E552345A3C3ECC4C69
+ BBAE4901016A944C0D7ECCAAB9027738
+ 975EEA6A4240D94DA183A74D649B789E
+ 24A0849E26DC367BDE4539ADCCF0CAD8
+ stream[448..511] = EE20675194FA404F54BAB7103F6821C1
+ 37EE2347560DC31D338B01026AB6E571
+ 65467215315F06360D85F3C5FE7A359E
+ 80CBFE735F75AA065BC18EFB2829457D
+ xor-digest = 19B8E721CD10577375FC6D0E6DC39B05
+ 4E371860CE2AA310906EA7BAB28D737F
+ 2357B42E7DC1C48D597EA58B87602CE5
+ C37EEDED2E0F4819938878AE7C50E151
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = A59CE982636F2C8C912B1E8105E2577D
+ 9C86861E61FA3BFF757D74CB9EDE6027
+ D7D6DE775643FAF5F2C04971BDCB56E6
+ BE8144366235AC5E01C1EDF8512AF78B
+ stream[192..255] = DF8F13F1059E54DEF681CD554439BAB7
+ 24CDE604BE5B77D85D2829B3EB137F4F
+ 2466BEADF4D5D54BA4DC36F1254BEC4F
+ B2B367A59EA6DDAC005354949D573E68
+ stream[256..319] = B3F542ECBAD4ACA0A95B31D281B930E8
+ 021993DF5012E48A333316E712C4E19B
+ 58231AAE7C90C91C9CC135B12B490BE4
+ 2CF9C9A2727621CA81B2C3A081716F76
+ stream[448..511] = F64A6449F2F13030BE554DB00D24CD50
+ A89F80CCFE97435EBF0C49EB08747BF7
+ B2C89BE612629F231C1B3398D8B4CC3F
+ 35DBECD1CF1CFDFDECD481B72A51276A
+ xor-digest = 4134A74A52EA89BF22E05A467E37E082
+ 15537896BE4D2BBDF29EA52A2303E64B
+ D954A18928543C82B68A21E4B830A775
+ CBA9D1176EBF8DB92938DF6E59117B74
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 7A8131B777F7FBFD33A06E396FF32D7D
+ 8C3CEEE9573F405F98BD6083FE57BAB6
+ FC87D5F34522D2440F649741D9F87849
+ BC8751EF432DEE5DCC6A88B34B6A1EA9
+ stream[192..255] = 6573F813310565DB22219984E0919445
+ 9E5BB8613237F012EBB8249666582ACA
+ 751ED59380199117DDB29A5298F95FF0
+ 65D271AB66CF6BC6CDE0EA5FC4D304EB
+ stream[256..319] = 0E65CB6944AFBD84F5B5D00F307402B8
+ 399BF02852ED2826EA9AA4A55FB56DF2
+ A6B83F7F228947DFAB2E0B10EAAA09D7
+ 5A34F165ECB4D06CE6AB4796ABA3206A
+ stream[448..511] = 11F69B4D034B1D7213B9560FAE89FF2A
+ 53D9D0C9EAFCAA7F27E9D119DEEEA299
+ AC8EC0EA0529846DAF90CF1D9BFBE406
+ 043FE03F1713F249084BDD32FD98CD72
+ xor-digest = E9CFBD15B5F4AD02903851F46728F2DD
+ 5910273E7360F1571EF1442199143B6C
+ 28E5368A2E00E08ADAE73AF3489E0D6F
+ 0D8032984ADD139B6BF508A5EEE4434B
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ IV = 0000000000000000
+ stream[0..63] = FE4DF972E982735FFAEC4D66F929403F
+ 7246FB5B2794118493DF068CD310DEB6
+ 3EEEF12344E221A2D163CC666F5685B5
+ 02F4883142FA867B0BA46BF17D011984
+ stream[192..255] = 4694F79AB2F3877BD590BA09B413F1BD
+ F394C4D8F2C20F551AA5A07207433204
+ C2BC3A3BA014886A08F4EC5E4D91CDD0
+ 1D7A039C5B815754198B2DBCE68D25EA
+ stream[256..319] = D1340204FB4544EFD5DAF28EDCC6FF03
+ B39FBEE708CAEF6ABD3E2E3AB5738B32
+ 04EF38CACCC40B9FBD1E6F0206A2B564
+ E2F9EA05E10B6DD061F6AB94374681C0
+ stream[448..511] = BB802FB53E11AFDC3104044D70448079
+ 41FDAEF1042E0D35972D80CE77B4D560
+ 083EB4113CDBC4AC56014D7FF94291DC
+ 9387CEF74A0E165042BC12373C6E020C
+ xor-digest = FF021AEC5DC82F40BBF44CEA85287BCF
+ D70F16F557F07B1BF970407051F71C41
+ 5B703A67CAF8E81CB22D9F09E0CBD247
+ 5E9859355A48FDA9F48E38E2748BE41B
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ IV = 0000000000000000
+ stream[0..63] = 8F8121BDD7B286465F03D64CA45A4A15
+ 4BDF44560419A40E0B482CED194C4B32
+ 4F2E9295C452B73B292BA7F55A692DEE
+ A5129A49167BA7AABBEED26E39B25E7A
+ stream[192..255] = 7E4388EDBBA6EC5882E9CBF01CFA6786
+ 0F10F0A5109FCA7E865C3814EB007CC8
+ 9585C2653BDCE30F667CF95A2AA425D3
+ 5A531F558180EF3E32A9543AE50E8FD6
+ stream[256..319] = 527FF72879B1B809C027DFB7B39D02B3
+ 04D648CD8D70F4E0465615B334ED9E2D
+ 59703745467F1168A8033BA861841DC0
+ 0E7E1AB5E96469F6DA01B8973D0D414A
+ stream[448..511] = 82653E0949A5D8E32C4D0A81BBF96F6A
+ 7249D4D1E0DCDCC72B90565D9AF4D0AC
+ 461C1EAC85E254DD5E567A009EEB3897
+ 9A2FD1E4F32FAD15D177D766932190E1
+ xor-digest = B2F239692CE50EECABD7A846AC333885
+ 43CFC1061F33420B6F205809F3965D89
+ 9C56C02D208DD3E9A1F0D5BBED8F5DAC
+ B164FD005DF907002302F40ADB6665CC
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ IV = 0000000000000000
+ stream[0..63] = 52FA8BD042682CD5AA21188EBF3B9E4A
+ EE3BE38AE052C5B37730E52C6CEE33C9
+ 1B492F95A67F2F6C15425A8623C0C2AE
+ 7275FFD0FCF13A0A293A784289BEACB4
+ stream[192..255] = 5F43C508BA6F728D032841618F96B103
+ 19B094027E7719C28A8A8637D4B0C4D2
+ 25D602EA23B40D1541A3F8487F25B14A
+ 8CBD8D2001AC28EADFDC0325BA2C140E
+ stream[256..319] = 5C802C813FF09CAF632CA8832479F891
+ FB1016F2F44EFA81B3C872E37468B818
+ 3EB32D8BD8917A858AEF47524FCC05D3
+ 688C551FC8A42C8D9F0509018706E40E
+ stream[448..511] = 4CDD40DC6E9C0E4F84810ABE712003F6
+ 4B23C6D0C88E61D1F303C3BBD89B58AA
+ 098B44B5CD82EDCFC618D324A41317AC
+ 6FED20C9A0C54A9ED1F4DA3BF2EC3C66
+ xor-digest = B72D2FEE4BFBC0F65005EE2797B0608A
+ 7A6D9CD1114B67C0ADEC7B4B6D793182
+ 880777B0279E3DF27CBA820714629A96
+ 034E4C71F5356254A0116CF3E9F7EF5C
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ IV = 0000000000000000
+ stream[0..63] = 6262315C736E88717E9627EECF4F6B55
+ BD10D5960A9961D572EFC7CBDB9A1F01
+ 1733D3E17E4735BEFA16FE6B148F8661
+ 4C1E37065A48ACF287FFE65C9DC44A58
+ stream[192..255] = B43439584FB2FAF3B2937838D8000AC4
+ CD4BC4E582212A7741A0192F71C1F11B
+ 58D7F779CA0E6E4B8BD58E00B50C3C53
+ DAF843467064A2DBE2FAD6FF6F40ECD8
+ stream[256..319] = EE51EE875F6F1B8AF0334F509DF5692B
+ 9B43CC63A586C2380AF3AE490DCD6CFF
+ 7907BC3724AE3BBEAD79D436E6DADDB2
+ 2141B3BA46C9BEC0E01B9D4F7657B387
+ stream[448..511] = E5A4FE4A2FCA9A9ED779A9574283DC21
+ C85216D54486D9B182300D0593B1E2B0
+ 10814F7066AEB955C057609CE9AF0D63
+ F057E17B19F57FFB7287EB2067C43B8D
+ xor-digest = 8866D8F9E6F423A7DF10C77625014AA5
+ 82C06CD861A88F40FB9CD1EBF0911188
+ 4344BEEA5A724E6FD8DB98BF4E6B9BEA
+ 5318FA62813D1B49A2D529FC00CB5777
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ IV = 0000000000000000
+ stream[0..63] = 82FD629BD82C3BE22910951E2E41F8FE
+ 187E2BD198F6113AFF44B9B0689AA520
+ C8CCE4E8D3FBA69EDE748BCF18397214
+ F98D7ACF4424866A8670E98EBAB715A3
+ stream[192..255] = 342D80E30E2FE7A00B02FC62F7090CDD
+ ECBDFD283D42A00423113196A87BEFD8
+ B9E8AAF61C93F73CC6CBE9CC5AEC182F
+ 3948B7857F96B017F3477A2EEC3AEB3B
+ stream[256..319] = 8233712B6D3CCB572474BE200D67E540
+ 3FC62128D74CE5F790202C696BFFB7EE
+ 3CAD255324F87291273A7719278FA313
+ 1ABA12342692A2C0C58D27BA3725761B
+ stream[448..511] = 782600E7357AC69EA158C725B3E1E940
+ 51A0CB63D0D1B4B3DF5F5037E3E1DE45
+ 850578E9D513B90B8E5882D4DCA9F42B
+ E32621F4DCC1C77B38F1B0AC1227C196
+ xor-digest = F8AE82F9B77EF090AE0C72A5EAE21405
+ 68BEF0B354BCDF4BD39732CD86C63A82
+ AFD27F58C459272B3E8A4B9B558D856F
+ 8475CF3A1AD99074822A836CFE520DC5
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ IV = 0000000000000000
+ stream[0..63] = D244F87EB315A7EEF02CA314B440777E
+ C6C44660020B43189693500F3279FA01
+ 7257BE0AB087B81F85FD55AAC5845189
+ C66E259B5412C4BDFD0EBE805FC70C8A
+ stream[192..255] = 5A2D8D3E431FB40E60856F05C7976206
+ 42B35DAB0255764D986740699040702F
+ 6CDE058458E842CB6E1843EBD336D374
+ 23833EC01DFFF9086FEECAB8A165D29F
+ stream[256..319] = 443CEF4570C83517ED55C2F57058BB70
+ 294CC8D7342597E2CD850F6C02E355CA
+ EB43C0A41F4BB74FFE9F6B0D25799140
+ D03792D667601AD7954D21BD7C174C43
+ stream[448..511] = 959C8B16A0ADEC58B544BE33CCF03277
+ E48C7916E333F549CDE16E2B4B6DCE2D
+ 8D76C50718C0E77BFBEB3A3CB3CA14BF
+ 40F65EBFAE1A5001EAB36E531414E87F
+ xor-digest = 4DC82B00DC54141CC890348496115C68
+ 1DB10ABE8454FBD10B49EF951CD20C6F
+ 7FE8AAA10906E57CF05EE838F76C8B7A
+ 3F9E6BD6D21C49F1590C913026C71A3E
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ IV = 0000000000000000
+ stream[0..63] = 44A74D35E73A7E7C37B009AE712783AC
+ 86ACE0C02CB175656AF79023D91C909E
+ D2CB2F5C94BF8593DDC5E054D7EB726E
+ 0E867572AF954F88E05A4DAFD00CCF0A
+ stream[192..255] = FEC113A0255391D48A37CDF607AE1226
+ 86305DDAD4CF1294598F2336AB6A5A02
+ 9D927393454C2E014868137688C0417A
+ 2D31D0FE9540D7246FE2F84D6052DE40
+ stream[256..319] = 79C2F7431D69E54C0474D8160113F364
+ 8156A8963817C34AC9A9AD222543666E
+ 7EAF03AF4EE03271C3ECED262E7B4C66
+ B0F618BAF3395423274DD1F73E2675E3
+ stream[448..511] = 75C1295C871B1100F27DAF19E5D5BF8D
+ 880B9A54CEFDF1561B4351A32898F3C2
+ 6A04AB1149C24FBFA2AC963388E64C43
+ 65D716BCE8330BC03FA178DBE5C1E6B0
+ xor-digest = 65D58F845F973928ADF5803799901856
+ A08952CF215154C52A5FF2DAD71E8B70
+ 3DE107E5531491666353F323E790EB02
+ 1B5EF66C13F43401F4F6A27F08CE11D5
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ IV = 0000000000000000
+ stream[0..63] = E23A3638C836B1ACF7E27296E1F5A241
+ 3C4CC351EFEF65E3672E7C2FCD1FA105
+ 2D2C26778DB774B8FBA29ABED72D058E
+ E35EBA376BA5BC3D84F8E44ABD5DC2CC
+ stream[192..255] = 2A8BEB3C372A6570F54EB429FA7F562D
+ 6EF14DF725861EDCE8132620EAA00D8B
+ 1DFEF653B64E9C328930904A0EEB0132
+ B277BB3D9888431E1F28CDB0238DE685
+ stream[256..319] = CCBEB5CA57104B95BF7BA5B12C8B8553
+ 4CE9548F628CF53EF02C337D788BCE71
+ D2D3D9C355E7D5EB75C56D079CB7D99D
+ 6AF0C8A86024B3AF5C2FC8A028413D93
+ stream[448..511] = D00A5FDCE01A334C37E75634A8037B49
+ BEC06ACBD2243320E2CA41FB5619E6D8
+ 75AB2007310D4149379C91EF4E199805
+ BE261E5C744F0DF21737E01243B7116F
+ xor-digest = 2D72232A4485E0D2EEDC061939602077
+ 4C100C5424FF742B2868E3A68E67E165
+ 4C4711C54A34DA937359A26B8386AD20
+ 39EB2021DCFBB6A11603AF56225DE098
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 6513ADAECFEB124C1CBE6BDAEF690B4F
+ FB00B0FCACE33CE806792BB414801998
+ 34BFB1CFDD095802C6E95E251002989A
+ C22AE588D32AE79320D9BD7732E00338
+ stream[192..255] = 75E9D0493CA05D2820408719AFC75120
+ 692040118F76B8328AC279530D846670
+ 65E735C52ADD4BCFE07C9D93C0091790
+ 2B187D46A25924767F91A6B29C961859
+ stream[256..319] = 0E47D68F845B3D31E8B47F3BEA660E2E
+ CA484C82F5E3AE00484D87410A1772D0
+ FA3B88F8024C170B21E50E0989E94A26
+ 69C91973B3AE5781D305D8122791DA4C
+ stream[448..511] = CCBA51D3DB400E7EB780C0CCBD3D2B5B
+ B9AAD82A75A1F746824EE5B9DAF7B794
+ 7A4B808DF48CE94830F6C9146860611D
+ A649E735ED5ED6E3E3DFF7C218879D63
+ xor-digest = 6D3937FFA13637648E477623277644AD
+ AD3854E6B2B3E4D68155356F68B30490
+ 842B2AEA2E32239BE84E613C6CE1B9BD
+ 026094962CB1A6757AF5A13DDAF8252C
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ IV = 0000000000000000
+ stream[0..63] = 169060CCB42BEA7BEE4D8012A02F3635
+ EB7BCA12859FA159CD559094B3507DB8
+ 01735D1A1300102A9C9415546829CBD2
+ 021BA217B39B81D89C55B13D0C603359
+ stream[192..255] = 23EF24BB24195B9FD574823CD8A40C29
+ D86BD35C191E2038779FF696C712B6D8
+ 2E7014DBE1AC5D527AF076C088C4A8D4
+ 4317958189F6EF54933A7E0816B5B916
+ stream[256..319] = D8F12ED8AFE9422B85E5CC9B8ADEC9D6
+ CFABE8DBC1082BCCC02F5A7266AA074C
+ A284E583A35837798CC0E69D4CE93765
+ 3B8CDD65CE414B89138615CCB165AD19
+ stream[448..511] = F70A0FF4ECD155E0F033604693A51E23
+ 63880E2ECF98699E7174AF7C2C6B0FC6
+ 59AE329599A3949272A37B9B2183A091
+ 0922A3F325AE124DCBDD735364055CEB
+ xor-digest = 30209DD68D46E5A30034EF6DCE74FE1A
+ B6C772AB22CD3D6C354A9C4607EF3F82
+ 900423D29FB65E07FFA3AEAD94E940D6
+ E52E305A10D60936D34BD03B3F342AB1
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ IV = 0000000000000000
+ stream[0..63] = 05835754A1333770BBA8262F8A84D0FD
+ 70ABF58CDB83A54172B0C07B6CCA5641
+ 060E3097D2B19F82E918CB697D0F347D
+ C7DAE05C14355D09B61B47298FE89AEB
+ stream[192..255] = 5525C22F425949A5E51A4EAFA18F62C6
+ E01A27EF78D79B073AEBEC436EC8183B
+ C683CD3205CF80B795181DAFF3DC9848
+ 6644C6310F09D865A7A75EE6D5105F92
+ stream[256..319] = 2EE7A4F9C576EADE7EE325334212196C
+ B7A61D6FA693238E6E2C8B53B900FF1A
+ 133A6E53F58AC89D6A695594CE03F775
+ 8DF9ABE981F23373B3680C7A4AD82680
+ stream[448..511] = CB7A0595F3A1B755E9070E8D3BACCF95
+ 74F881E4B9D91558E19317C4C254988F
+ 42184584E5538C63D964F8EF61D86B09
+ D983998979BA3F44BAF527128D3E5393
+ xor-digest = AD29013FD0A222EEBE65126380A26477
+ BD86751B3B0A2B4922602E63E6ECDA52
+ 3BA789633BEE6CFF64436A8644CCD7E8
+ F81B062187A9595A8D2507ED774FA5CD
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV = 0000000000000000
+ stream[0..63] = 72A8D26F2DF3B6713C2A053B3354DBA6
+ C10743C7A8F19261CF0E7957905748DD
+ D6D3333E2CBC6611B68C458D5CDBA2A2
+ 30AC5AB03D59E71FE9C993E7B8E7E09F
+ stream[192..255] = 7B6132DC5E2990B0049A5F7F357C9D99
+ 7733948018AE1D4F9DB999F4605FD78C
+ B548D75AC4657D93A20AA451B8F35E0A
+ 3CD08880CCED7D4A508BA7FB49737C17
+ stream[256..319] = EF7A7448D019C76ED0B9C18B5B2867CF
+ 9AD84B789FB037E6B107B0A4615737B5
+ C1C113F91462CDA0BCB9ADDC09E8EA6B
+ 99E4835FED25F5CC423EEFF56D851838
+ stream[448..511] = 6B75BDD0EC8D581CB7567426F0B92C9B
+ B5057A89C3F604583DB700A46D6B8DE4
+ 1AF315AE99BB5C1B52C76272D1E262F9
+ FC7022CE70B435C27AE443284F5F84C1
+ xor-digest = 484F9FCB516547DD89AF46991B18F1DE
+ C4C6CBC7D52735E00FC3201B4650151C
+ 3D4FB9C119442B368B28E3C68ED83F10
+ D9DA2FDED7DEB8F04827FA91CCDBF65B
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ IV = 0000000000000000
+ stream[0..63] = 76240D13C7E59CBD4183D162834A5D36
+ 37CD09EE4F5AFE9C28CFA9466A4089F6
+ 5C80C224A87F956459B173D720274D09
+ C573FCD128498D810460FDA1BB50F934
+ stream[192..255] = 71AF115217F3B7F77A05B56E32AD0889
+ BFA470B6DDC256D852C63B45688D7BC8
+ DC610D347A2600D7769C67B28D1FA25F
+ 1AACFB8F9BB68BFE17357335D8FAC993
+ stream[256..319] = 6573CC1ADC0DE744F6694E5FBB59E5BF
+ 5939CE5D13793E2F683C7F2C7DD9A460
+ 575746688A0F17D419FE3E5F88654559
+ 7B6705E1390542B4F953D568025F5BB3
+ stream[448..511] = 809179FAD4AD9B5C355A09E99C8BE931
+ 4B9DF269F162C1317206EB3580CAE58A
+ B93A408C23739EF9538730FE687C8DAC
+ 1CE95290BA4ACBC886153E63A613857B
+ xor-digest = D1781DCE3EFB8B13740F016264051354
+ F323C81A13D42CE75E67180849AC49FF
+ A7EA95720696F86848A1A4B8506A95E3
+ A61371DDE7F21167CC147173BFC4D78F
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV = 0000000000000000
+ stream[0..63] = 3117FD618A1E7821EA08CDED410C8A67
+ BDD8F7BE3FCA9649BD3E297FD83A80AD
+ 814C8904C9D7A2DC0DCAA641CFFF502D
+ 78AFF1832D34C263C1938C1ADF01238F
+ stream[192..255] = 1E8CB540F19EC7AFCB366A25F74C0004
+ B682E06129030617527BECD16E3E3E00
+ 27D818F035EDCDF56D8D4752AEF28BDB
+ FA0D3B008235173475F5FA105B91BEED
+ stream[256..319] = 637C3B4566BBEBBE703E4BF1C978CCD2
+ 77AE3B8768DB97DF01983CDF3529B3EC
+ 6B1137CA6F231047C13EA38649D0058E
+ BE5EF7B7BBA140F22338E382F1D6AB3F
+ stream[448..511] = D407259B6355C343D64A5130DA55C057
+ E4AF722B70AC8A074262233677A457AF
+ EAA34E7FD6F15959A4C781C4C978F7B3
+ BC571BF66674F015A1EA5DB262E25BDC
+ xor-digest = 1F64F78101768FF5067B9A918444EF70
+ 3FF06561E23B31C61BD43BCF86CFAD24
+ 9942F73DC8F40AE49B14874B08F2A527
+ A53DF496F37D067F1168268D4A134740
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ IV = 0000000000000000
+ stream[0..63] = 7FED83B9283449AD8EBFC935F5F36407
+ 5C9008ADE8626D350770E2DBD058F053
+ F7E5300B088B1341EC54C2BEE72A520C
+ 35C673E79CC4ED0A6D8F4C15FBDD090B
+ stream[192..255] = D780206A2537106610D1C95BF7E9121B
+ EDE1F0B8DFBE83CBC49C2C653DD187F7
+ D84A2F4607BF99A96B3B84FB792340D4
+ E67202FB74EC24F38955F345F21CF3DB
+ stream[256..319] = 6CA21C5DC289674C13CFD4FCBDEA8356
+ 0A90F53BB54F16DBF274F5CC56D7857C
+ D3E3B06C81C70C828DC30DADEBD92F38
+ BB8C24136F37797A647584BCEE68DF91
+ stream[448..511] = 471936CE9C84E131C4C5792B769654B8
+ 9644BFAFB1149130E580FD805A325B62
+ 8CDE5FAE0F5C7CFFEF0D931F8F517A92
+ 9E892D3789B74217A81BAEFE441E47ED
+ xor-digest = 0073DA29855E96EA5C414B9BD2E1C0F4
+ 987D3F1EB1CA73C4AA10180B99A43774
+ 4857EB36586593B81088AADE5D89BBC6
+ 8FBD8B0D268080746D6BE38DBC9396CD
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV = 0000000000000000
+ stream[0..63] = C224F33B124D6692263733DFD5BF5271
+ 7D1FB45EC1CEDCA6BF92BA44C1EADA85
+ F7B031BCC581A890FD275085C7AD1C3D
+ 652BCA5F4D7597DECDB2232318EABC32
+ stream[192..255] = 090325F54C0350AD446C19ABDCAEFF52
+ EC57F5A13FB55FEDE4606CEC44EC658B
+ BB13163481D2C84BF9409313F6470A0D
+ A9803936094CC29A8DE7613CBFA77DD5
+ stream[256..319] = 1F66F5B70B9D12BC7092C1846498A2A0
+ 730AA8FA8DD97A757BBB878320CE6633
+ E5BCC3A5090F3F75BE6E72DD1E8D95B0
+ DE7DBFDD764E484E1FB854B68A7111C6
+ stream[448..511] = F8AE560041414BE888C7B5EB3082CC7C
+ 4DFBBA5FD103F522FBD95A7166B91DE6
+ C78FB47413576EC83F0EDE6338C9EDDB
+ 81757B58C45CBD3A3E29E491DB1F04E2
+ xor-digest = 542B2672401C5D1225CC704365753E33
+ D0827A863C4897FFCE1B724CD10B2A0E
+ 8A4E4CDAB7357424FC6DC78440037240
+ B8FD5299907A946CE77DAFA5322AB73D
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ IV = 0000000000000000
+ stream[0..63] = 11BF31E22D7458C189092A1DE3A4905B
+ A2FA36858907E3511FB63FDFF2C5C2A1
+ 5B651B2C2F1A3A43A718642152806967
+ 2B6BB0AEC10452F1DAA9FC73FF5A396A
+ stream[192..255] = D1E1619E4BD327D2A124FC52BC15B194
+ 0B05394ECE5926E1E1ADE7D3FC8C6E91
+ E43889F6F9C1FD5C094F6CA25025AE4C
+ CC4FDC1824936373DBEE16D62B81112D
+ stream[256..319] = F900E9B0665F84C939D5FE4946FA7B41
+ E34F06058522A2DB49E210E3E5385E58
+ 97C24F6350C6CCA578285325CC16F558
+ 6DC662FFBEA41BAC68996BAAB9F32D1F
+ stream[448..511] = 40587ECAD15841F1BD1D236A61051574
+ A974E15292F777ABDED64D2B761892BE
+ F3DD69E479DE0D02CC73AF76E81E8A77
+ F3CEE74180CB5685ACD4F0039DFFC3B0
+ xor-digest = C3E5CC5C7CEA1B3885EB9CEF2D1FAF18
+ E7DE1CFD7237F2D6D344F3DF7168A88E
+ C88C1314CB6F5A3EAE1BC468B4FAD75E
+ 8A42BE8607705C9A7950302461AD9B3F
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ IV = 0000000000000000
+ stream[0..63] = EBC464423EADEF13E845C595A9795A58
+ 5064F478A1C8582F07A4BA68E81329CB
+ 26A13C2EA0EFE9094B0A749FDB1CC6F9
+ C2D293F0B395E14EB63075A39A2EDB4C
+ stream[192..255] = F4BBBBCE9C5869DE6BAF5FD4AE835DBE
+ 5B7F1752B2972086F3383E9D180C2FE5
+ 5618846B10EB68AC0EB0865E0B167C6D
+ 3A843B29336BC1100A4AB7E8A3369959
+ stream[256..319] = 3CEB39E3D740771BD49002EA8CD99851
+ 8A8C70772679ECAF2030583AED43F77F
+ 565FECDBEF333265A2E1CC42CB606980
+ AEF3B24C436A12C85CBDC5EBD97A9177
+ stream[448..511] = EF651A98A98C4C2B61EA8E7A673F5D4F
+ D832D1F9FD19EE4537B6FEC7D11C6B2F
+ 3EF5D764EEAD396A7A2E32662647BFC0
+ 7F02A557BA6EF046C8DE3781D74332B0
+ xor-digest = 88A96FF895BF2A827FC26DB2BB75DC69
+ 8E8E1B7E231997AB2942E981EF1633EA
+ 061F6B323B99519828FB41A6F5CCC79C
+ 57F6DDDD34DEAB38514A54C4886626E5
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV = 0000000000000000
+ stream[0..63] = F40253BAA835152E1582646FD5BD3FED
+ 638EB3498C80BFB941644A7750BBA565
+ 3130CC97A937A2B27AFBB3E679BC42BE
+ 87F83723DC6F0D61DCE9DE8608AC62AA
+ stream[192..255] = A5A1CD35A230ED57ADB8FE16CD2D2EA6
+ 055C32D3E621A0FD6EB6717AA916D478
+ 57CD987C16E6112EDE60CCB0F7014642
+ 2788017A6812202362691FDA257E5856
+ stream[256..319] = 81F0D04A929DB4676F6A3E6C15049779
+ C4EC9A12ACF80168D7E9AA1D6FA9C13E
+ F2956CEE750A89103B48F22C06439C5C
+ E9129996455FAE2D7775A1D8D39B00CE
+ stream[448..511] = 3F6D60A0951F0747B94E4DDE3CA4ED4C
+ 96694B7534CD9ED97B96FAAD3CF00D4A
+ EF12919D410CD9777CD5F2F3F2BF160E
+ BBA3561CC24345D9A09978C3253F6DCB
+ xor-digest = 554F89BF1AD5602655B800DB9B3CCFFA
+ 1B267D57654DCF3FDDA81A59DF68B022
+ 555E63DE51E7A83668E7F1AE09EEB5B8
+ 748DEF8580B304199C4D117CF9A94E78
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ IV = 0000000000000000
+ stream[0..63] = ED5FF13649F7D8EDFC783EFDF2F843B3
+ 68776B19390AF110BEF12EAC8EC58A2E
+ 8CDAB6EC9049FBDA23A615C536C3A313
+ 799E21668C248EC864D5D5D99DED80B3
+ stream[192..255] = 845ACE9B870CF9D77597201988552DE5
+ 3FD40D2C8AC51ABE1335F6A2D0035DF8
+ B10CACAD851E000BAC6EA8831B2FBCFE
+ B7C94787E41CC541BAC3D9D26DB4F19D
+ stream[256..319] = 981580764B81A4E12CA1F36634B59136
+ 5E4BDB6C12DE13F2F337E72E018029C5
+ A0BECDA7B6723DD609D81A314CE39619
+ 0E82848893E5A44478B08340F90A73F3
+ stream[448..511] = 4CD3B072D5720E6C64C9476552D1CFF4
+ D4EF68DCBD11E8D516F0C248F9250B57
+ 1990DD3AFC0AE8452896CCCC0BD0EFDF
+ 17B616691AB3DF9AF6A42EDCA54BF9CD
+ xor-digest = 52D590BB5E396FCC2E00D9C51B3C0BF0
+ 73E123C7EE69B528B0F0F87B57DC6907
+ F4B57FD5F5B10D602B1F723E9FDD5510
+ AEC60CD0DD50ED4B60FA355859638C2C
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV = 0000000000000000
+ stream[0..63] = 78ED06021C5C7867D176DA2A96C4BBAA
+ 494F451F21875446393E9688205ED63D
+ EA8ADEB1A2381201F576C5A541BC8887
+ 4078608CA8F2C2A6BDCDC1081DD254CC
+ stream[192..255] = C1747F85DB1E4FB3E29621015314E3CB
+ 261808FA6485E59057B60BE82851CFC9
+ 48966763AF97CB9869567B763C745457
+ 5022249DFE729BD5DEF41E6DBCC68128
+ stream[256..319] = 1EE4C7F63AF666D8EDB2564268ECD127
+ B4D015CB59487FEAF87D0941D42D0F8A
+ 24BD353D4EF765FCCF07A3C3ACF71B90
+ E03E8AEA9C3F467FE2DD36CEC00E5271
+ stream[448..511] = 7AFF4F3A284CC39E5EAF07BA6341F065
+ 671147CA0F073CEF2B992A7E21690C82
+ 71639ED678D6A675EBDAD48336584213
+ 15A2BA74754467CCCE128CCC62668D0D
+ xor-digest = FB3FE601D4E58B0766F02FA15C332391
+ 3CD745E905AD74EA5DABA77BC25D282D
+ D66D98204E101F06D60BA446A21331AF
+ 6DDEB70679DEF46B886EB8A75C916380
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ IV = 0000000000000000
+ stream[0..63] = D935C93A8EBB90DB53A27BF9B41B3345
+ 23E1DFDE3BFFC09EA97EFB9376D38C7D
+ 6DC67AAB21EA3A5C07B6503F986F7E8D
+ 9E11B3150BF0D38F36C284ADB31FACF8
+ stream[192..255] = DA88C48115010D3CD5DC0640DED2E652
+ 0399AAFED73E573CBAF552C6FE06B1B3
+ F3ADE3ADC19DA311B675A6D83FD48E38
+ 46825BD36EB88001AE1BD69439A0141C
+ stream[256..319] = 14EA210224DAF4FC5D647C78B6BFEF7D
+ 724DC56DCDF832B496DEAD31DD948DB1
+ 944E17AB2966973FD7CCB1BC9EC0335F
+ 35326D5834EE3B08833358C4C28F70DE
+ stream[448..511] = D5346E161C083E00E247414F44E0E737
+ 5B435F426B58D482A37694331D7C5DC9
+ 7D8953E6A852625282973ECCFD012D66
+ 4C0AFA5D481A59D7688FDB54C55CD04F
+ xor-digest = BB5EAC1AB84C70857245294309C023C4
+ B1A4199D16877BC847BCBB1B0A8D1B54
+ 4289D6C8BF27212AAFFD42021669BB24
+ 77A4F815FA01B3F7E88299240155265B
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV = 0000000000000000
+ stream[0..63] = 45A43A587C45607441CE3AE200467977
+ 88879C5B77FDB90B76F7D2DF27EE8D94
+ 28A5B5AF35E2AAE242E6577BEC92DA09
+ 29A6AFB3CB8F8496375C98085460AB95
+ stream[192..255] = 14AE0BA973AE19E6FD674413C276AB9D
+ 99AA0048822AFB6F0B68A2741FB5CE2F
+ 64F3D862106EF2BDE19B39209F75B92B
+ DBE9015D63FDFD7B9E8A776291F4E831
+ stream[256..319] = C26FA1812FFC32EFF2954592A0E1E5B1
+ 26D5A2196624156E3DFD0481205B24D5
+ 613B0A75AF3CBC8BBE5911BE93125BD3
+ D3C50C92910DBA05D80666632E5DF9EF
+ stream[448..511] = AD0DABE5AF74AB4F62B4699E0D667BBF
+ 01B4DCF0A45514554CAC4DFDE453EFF1
+ E51BE5B74B37512C40E3608FB0E65A3F
+ D4EAFA27A3BB0D6E1300C594CB0D1254
+ xor-digest = 0F1A4B0994EE03B6C381FE4BB8E33C0E
+ E47C395BB59922C5537EEBFD12549422
+ 0F743B93D867085E027E56623F795056
+ 08179A39FF52D4C00A45A5FB8F618C49
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ IV = 0000000000000000
+ stream[0..63] = 09E15E82DFA9D821B8F68789978D0940
+ 48892C624167BA88AD767CAEFDE80E25
+ F57467156B8054C8E88F3478A2897A20
+ 344C4B05665E7438AD1836BE86A07B83
+ stream[192..255] = 2D752E53C3FCA8D3CC4E760595D588A6
+ B321F910B8F96459DBD42C6635063246
+ 60A527C66A53B406709262B0E42F11CB
+ 0AD2450A1FB2F48EA85C1B39D4408DB9
+ stream[256..319] = 1EC94A21BD2C0408D3E15104FA25D15D
+ 6E3E0D3F8070D84184D35B6302BF62AE
+ A282E3640820CC09E1528B684B740018
+ 0598D6960EC92E4EC4C9E533E1BA06F1
+ stream[448..511] = D0AC302C5CC256351E24CFFD11F0BD8A
+ 0BE1277EDDCB3EE4D530E051712A710D
+ F4513FD6438B7A355CCF4FEDA9A60F2A
+ C375508F998C642E6C51724FE9462F7F
+ xor-digest = B7F32B6FADB48BB8DA231BDBDC469723
+ 2BAE5F8F8345F9F14A991FF851CC3C64
+ 1DF4913A5C550FC898F95AC299ED8915
+ 5A434DC4B1E37D82EA137BB763F68BC7
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ IV = 0000000000000000
+ stream[0..63] = EA869D49E7C75E07B551C24EBE351B4E
+ 7FD9CB26413E55A8A977B766650F81EF
+ CA06E30107F76DC97EA9147FFA7CA66A
+ FD4D4DA538CDA1C27E8D948CC406FB89
+ stream[192..255] = 436A8EC10421116CD03BF95A4DAAE630
+ 1BB8C724B3D481099C70B26109971CCE
+ ACBCE35C8EE98BBB0CD553B5C4181125
+ 00262C7EA10FAAC8BA9A30A04222D8E2
+ stream[256..319] = 47487A34DE325E79838475B1757D5D29
+ 3C931F9E57579FCA5E04A40E4A0A38CF
+ D1614F9CEF75F024FFF5D972BD671DC9
+ FB2A80F64E8A2D82C3BAA5DDFD1E6821
+ stream[448..511] = 3FDCAD4E7B069391FAB74C836D58DE23
+ 95B27FFAE47D633912AE97E7E3E60264
+ CA0DC540D33122320311C5CFC9E26D63
+ 2753AC45B6A8E81AC816F5CA3BBDB1D6
+ xor-digest = E30E770C75C94EE022BEA6B95241E5D7
+ 163D7C55AAF20FE7150768CEE6E11037
+ 42902FA4F928CDCF31335944DCDEBADD
+ E36FE089D2EB93677E9DF75234E1B3C8
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ IV = 0000000000000000
+ stream[0..63] = 7B3AA4599561C9059739C7D18D342CF2
+ E73B3B9E1E85D38EDB41AEFADD81BF24
+ 1580885078CA10D338598D18B3E4B693
+ 155D12D362D533494BA48142AB068F68
+ stream[192..255] = D27864FC30D5FD278A9FB83FADADFD2F
+ E72CE78A2563C031791D55FF31CF5946
+ 4BE7422C81968A70E040164603DC0B0A
+ EEE93AC497CC0B770779CE6058BE80CF
+ stream[256..319] = 4C5A87029660B65782FD616F48CFD600
+ 6DFB158682DC80E085E52163BE2947E2
+ 70A0FD74DC8DC2F5920E59F28E225280
+ FAC96BA78B8007E3D0DF6EF7BF835993
+ stream[448..511] = F5A2ECD04452358970E4F8914FC08E82
+ 926ECFF33D9FC0977F10241E7A50E528
+ 996A7FB71F79FC30BF881AF6BA19016D
+ DC077ED22C58DC57E2BDBDA1020B30B2
+ xor-digest = 8C9995B52F4AC9CA25E5C956850FFE90
+ D396530617298D89659C2F863995FB06
+ 0B65ADFED6AA977EDBB4FC2F6774335E
+ 9DEBC61E05E92718A340F79368E74273
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV = 0000000000000000
+ stream[0..63] = 9776A232A31A22E2F10D203A2A1B60B9
+ D28D64D6D0BF32C8CCA1BBF6B57B1482
+ BCC9FCF7BBE0F8B61C4BF64C540474BC
+ F1F9C1C808CCBE6693668632A4E8653B
+ stream[192..255] = 5C746D64A3195079079028D74CE029A8
+ 7F72B30B34B6C7459998847C42F2E44D
+ 843CF196229EED471B6BBDBA63BE3B52
+ 9B8AF4B5846EB0AB008261E161707B76
+ stream[256..319] = F780FE5204AC188A680F41068A9F5018
+ 2D9154D6D5F1886034C270A8C3AF61DF
+ 945381B7ADCA546E153DBF0E6EA2DDDA
+ 4EDA3E7F7CF4E2043C5E20AF659282B4
+ stream[448..511] = 71D24CD8B4A70554906A32A5EFDFA8B8
+ 34C324E6F35240257A0A27485103616D
+ D41C8F4108D1FC76AB72AF166100AB17
+ 212492A72099ACF6F9EB53AC50BD8B8B
+ xor-digest = B2217FF55077D373B735C1A7D8B784F5
+ 187AF2F028FE906F85B938277CAC918C
+ E87BEA508AFF86B9071F2B7E4F88A3B1
+ F3323151C9DF441FE6F266CF8F01A0B9
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ IV = 0000000000000000
+ stream[0..63] = 62DF49A919AF1367D2AAF1EB608DE1FD
+ F8B93C2026389CEBE93FA389C6F28458
+ 48EBBE70B3A3C8E79061D78E9ED24ED9
+ AA7BB6C1D726AA060AEFC4FFE70F0169
+ stream[192..255] = E7A4DF0D61453F612FB558D1FAE198AA
+ B1979F91E1792C99423E0C5733459365
+ 70915B60210F1F9CA8845120E6372659
+ B02A179A4D679E8EDDDDF8843ABAB7A4
+ stream[256..319] = C9501A02DD6AFB536BD2045917B016B8
+ 3C5150A7232E945A53B4A61F90C5D0FB
+ 6E6AC45182CBF428772049B32C825D1C
+ 33290DBEEC9EF3FE69F5EF4FAC95E9B1
+ stream[448..511] = B8D487CDD057282A0DDF21CE3F421E2A
+ C9696CD36416FA900D12A20199FE0018
+ 86C904AB629194AECCC28E59A54A1357
+ 47B7537D4E017B66538E5B1E83F88367
+ xor-digest = 4EB0E761F6BD6A738DC295C0B1B737FC
+ FDB2A68FF50EB198D699CC71141EC6EB
+ 54434D40B592A65F2F5C50B6027D4F52
+ 9307969E1D74028FF4BD6A44CEAA121C
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV = 0000000000000000
+ stream[0..63] = 6F703F3FF0A49665AC70CD9675902EE7
+ 8C60FF8BEB931011FC89B0F28D6E176A
+ 9AD4D494693187CB5DB08FF727477AE6
+ 4B2EF7383E76F19731B9E23186212720
+ stream[192..255] = AD26886ABF6AD6E0CA4E305E468DA1B3
+ 69F0ADD3E14364C8A95BD78C5F2762B7
+ 2915264A022AD11B3C6D312B5F6526E0
+ 183D581B57973AFB824945BFB78CEB8F
+ stream[256..319] = FE29F08A5C157B87C600CE4458F274C9
+ 86451983FE5AE561DF56139FF33755D7
+ 1100286068A32559B169D8C2161E215D
+ BC32FAEA11B652284795C144CF3E693E
+ stream[448..511] = 7974578366C3E999028FA8318D82AAAA
+ 8ED3FD4DFB111CBF0F529C251BA91DC6
+ ACFA9795C90C954CEA287D23AD979028
+ E974393B4C3ABA251BCB6CECCD09210E
+ xor-digest = 88BE85838404EA4F0FFDD192C43E3B93
+ 329C4A4919234D116E4393EA26110022
+ BED2B427EC719178E6F1A9B9B08BEF5B
+ F2FE4A9CC869CB6BD2D989F750EDA78F
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV = 0000000000000000
+ stream[0..63] = 61900F2EF2BEA2F59971C82CDFB52F27
+ 9D81B444833FF02DD0178A53A8BFB9E1
+ FF3B8D7EC799A7FBB60EADE8B1630C12
+ 1059AA3E756702FEF9EEE7F233AFC79F
+ stream[192..255] = D27E0784038D1B13833ACD396413FF10
+ D35F3C5C04A710FC58313EEBC1113B2C
+ FA20CBD1AEA4433C6650F16E7C3B6830
+ 2E5F6B58D8E4F26D91F19FE981DEF939
+ stream[256..319] = B658FB693E80CE50E3F64B910B660BEB
+ 142B4C4B61466424A9884D22EB80B8B4
+ 0C26BEA869118ED068DCC83F9E4C68F1
+ 7A3597D0FE0E36700D01B4252EE0010E
+ stream[448..511] = 9FC658A20D3107A34680CC75EB3F76D6
+ A2150490E9F6A3428C9AD57F2A252385
+ C956B01C31C978E219BE351A534DB23B
+ 99908DACC6726196742D0B7E1D88472C
+ xor-digest = DA74A6EC8D54723B1797751F786CB1B5
+ 17995EBF297A034AF744EEF86833CC5B
+ A3DCBDB4D3FAB47F5BA37463CEC80F45
+ DAE1A48FBB80148A39CA789BAE09D39F
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV = 0000000000000000
+ stream[0..63] = 42D1C40F11588014006445E81C8219C4
+ 370E55E06731E09514956834B2047EE2
+ 8A9DAECC7EB25F34A311CC8EA28EDCD2
+ 4A539160A0D8FDAA1A26E9F0CDFE0BE3
+ stream[192..255] = 976201744266DEABBA3BFE206295F40E
+ 8D9D169475C11659ADA3F6F25F11CEF8
+ CD6B851B1F72CD3E7D6F0ABAF8FB929D
+ DB7CF0C7B128B4E4C2C977297B2C5FC9
+ stream[256..319] = D3601C4CD44BBEEFD5DAD1BDFF12C190
+ A5F0B0CE95C019972863F4309CE566DE
+ 62BECB0C5F43360A9A09EB5BAB87CF13
+ E7AB42D71D5E1229AF88667D95E8C96F
+ stream[448..511] = 69EAA4BAAAA795BCF3B96E79C931A1F2
+ D2DD16A242714358B106F38C1234A5BB
+ D269E68A03539EFAFA79455ADBE1B984
+ E9766B0720947E1365FDF076F73639CD
+ xor-digest = 54E422EB1EB2DBDB338798E0D352A87A
+ D5F5A28BC5F77E1B42913E6500723A93
+ 6D4019D703DC93A1DF7C65AB74F1FC1A
+ 4D38C519A8338B73A435FC7491DFC769
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV = 0000000000000000
+ stream[0..63] = 9C09F353BF5ED33EDEF88D73985A14DB
+ C1390F08236461F08FDCAF9A7699FD7C
+ 4C602BE458B3437CEB1464F451ED021A
+ 0E1C906BA59C73A8BA745979AF213E35
+ stream[192..255] = 437E3C1DE32B0DB2F0A57E41A7282670
+ AC223D9FD958D111A8B45A70A1F863E2
+ 989A97386758D44060F6BFFF5434C908
+ 88B4BB4EDAE6528AAADC7B81B8C7BEA3
+ stream[256..319] = 94007100350C946B6D12B7C6A2FD1215
+ 682C867257C12C74E343B79E3DE79A78
+ 2D74663347D8E633D8BE9D288A2A64A8
+ 55C71B4496587ADECCB4F30706BB4BD9
+ stream[448..511] = 585D0C2DB901F4004846ADBAA754BCA8
+ 2B66A94C9AF06C914E3751243B87581A
+ FAE281312A492DBEE8D6BB64DD748F44
+ 5EF88F82AB44CBA33D767678914BDE77
+ xor-digest = BB97F09B9FCEC06B6124310BBDD1E9CE
+ 8D3793F62FF1337F520DE2A90FE2592A
+ F2636DFA20466FDAA9329443ACC0E9A5
+ 0492621AF5790CAE5642E6F7D9AF400D
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV = 0000000000000000
+ stream[0..63] = 4965F30797EE95156A0C141D2ACA5232
+ 04DD7C0F89C6B3F5A2AC1C59B8CF0DA4
+ 01B3906A6A3C94DA1F1E0046BD895052
+ CB9E95F667407B4EE9E579D7A2C91861
+ stream[192..255] = 8EDF23D6C8B062593C6F32360BF271B7
+ ACEC1A4F7B66BF964DFB6C0BD93217BB
+ C5FACC720B286E93D3E9B31FA8C4C762
+ DF1F8A3836A8FD8ACBA384B8093E0817
+ stream[256..319] = 44FA82E9E469170BA6E5E8833117DAE9
+ E65401105C5F9FEA0AF682E53A627B4A
+ 4A621B63F7CE5265D3DFADFBFD4A2B6C
+ 2B40D2249EB0385D959F9FE73B37D67D
+ stream[448..511] = 828BA57593BC4C2ACB0E8E4B8266C1CC
+ 095CE9A761FB68FC57D7A2FCFF768EFB
+ 39629D3378549FEE08CCF48A4A4DC2DD
+ 17E72A1454B7FA82E2ACF90B4B8370A7
+ xor-digest = 8A365EE7E7BC9198EC88A39F5047431D
+ 1632CBB0D1E812957595E7A0763DFA46
+ 953070863838812A9504F7A376078FEA
+ 9444B27E15FC043AE2D375D37DB1C6C3
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV = 0000000000000000
+ stream[0..63] = 5C7BA38DF4789D45C75FCC71EC9E5751
+ B3A60AD62367952C6A87C0657D6DB3E7
+ 1053AC73E75FF4B66177B3325B1BBE69
+ AEE30AD5867D68B660603FE4F0BF8AA6
+ stream[192..255] = B9C7460E3B6C313BA17F7AE115FC6A8A
+ 499943C70BE40B8EF9842C8A934061E1
+ E9CB9B4ED3503165C528CA6E0CF2622B
+ B1F16D24657BDAEDB9BA8F9E193B65EB
+ stream[256..319] = 406CD92883E991057DFD80BC8201067F
+ 35700264A4DFC28CF23EE32573DCB420
+ 91FEF27548613999E5C5463E840FE957
+ 60CF80CC5A05A74DE49E7724273C9EA6
+ stream[448..511] = F13D615B49786D74B6591BA6887A7669
+ 136F34B69D31412D4A9CB90234DAFCC4
+ 1551743113701EF6191A577C7DB72E2C
+ B723C738317848F7CC917E1510F02791
+ xor-digest = B31C13C287692760C2710CC4812A4CD3
+ 535248839E0B5220185BE58BBCE6A70D
+ 629E0749D40D9E79F698FFAFF7B9C530
+ 06419AAAD9AC1FAC2286F66DEC96AEB3
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV = 0000000000000000
+ stream[0..63] = 5B06F5B01529B8C57B73A410A61DD757
+ FE5810970AA0CBFAD3404F17E7C7B645
+ 9DD7F615913A0EF2DCC91AFC57FA660D
+ 6C7352B537C65CD090F1DE51C1036AB5
+ stream[192..255] = 0F613F9E9F03199DF0D0A5C5BE253CDF
+ 138903876DE7F7B0F40B2F840F322F27
+ 0C0618D05ABB1F013D8744B231555A8E
+ CB14A9E9C9AF39EDA91D36700F1C25B3
+ stream[256..319] = 4D9FAB87C56867A687A03BF3EDCC224A
+ C54D04450AB6F78A642715AF62CF5192
+ 15E2CDF5338E45554B852B6FB552BCAF
+ 5C599BDF9FA679962F038976CDA2DEFA
+ stream[448..511] = E0F80A9BF168EB523FD9D48F19CA96A1
+ 8F89C1CF11A3ED6EC8AEAB99082DE99B
+ E46DE2FB23BE4A305F185CF3A8EA377C
+ CA1EF46FD3192D03DCAE13B79960FEF4
+ xor-digest = AB020EA09B2573D7106EAA1D177F2E4A
+ 1F8E2237AD1481F9923DDF973A79CFC2
+ 1A0B8CDDD22D3D78C488D0CC9BE8FAA8
+ C74F0F2CFE619B7D7EA5B2E697E23372
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV = 0000000000000000
+ stream[0..63] = E7BC9C13F83F51E8855E83B81AF1FFB9
+ 676300ABAB85986B0B44441DDEFAB83B
+ 8569C4732D8D991696BD7B6694C6CB20
+ 872A2D4542192BE81AA7FF8C1634FC61
+ stream[192..255] = 0B429A2957CBD422E94012B49C443CBC
+ 2E13EFDE3B867C6018BABFDE9ED3B803
+ 6A913C770D77C60DCD91F23E03B3A576
+ 66847B1CACFCBCFF57D9F2A2BAD6131D
+ stream[256..319] = EA2CBD32269BB804DD2D641452DC09F9
+ 64CB2BCD714180E94609C1209A8C26D1
+ 256067F1B86AA4F886BB3602CF96B4DD
+ 7039F0326CD24D7C2D69DE22D9E24624
+ stream[448..511] = CA0DD398EA7E543F1F680BF83E2B773B
+ BB5B0A931DEADDEC0884F7B823FC686E
+ 71D7E4C033C65B03B292426CE4E1A7A8
+ A9D037303E6D1F0F45FDFB0FFE322F93
+ xor-digest = 0D67BC1CFE545A6AE2F51A7FB2F32FC6
+ 2E08707F9CBF2E08245E4594E9DB2A7E
+ CBB6AB7190831C3D7D8F9D606231668E
+ 447C4EA29D69B4344952A97A77CC71CB
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV = 0000000000000000
+ stream[0..63] = C93DA97CB6851BCB95ABFAF547C20DF8
+ A54836178971F748CF6D49AEF3C9CE8C
+ E7D284571D871EFD51B6A897AF698CD8
+ F2B050B6EB21A1A58A9FC77200B1A032
+ stream[192..255] = 5B4144FD0C46CEE4348B598EEF76D16B
+ 1A71CBF85F4D9926402133846136C59F
+ BE577B8B7EB8D6A67A48358573C06876
+ 6AC76A308A14154E2FA9BD9DCA8842E6
+ stream[256..319] = 3BF67A79DF6FE3C32DA7A53CD0D37237
+ 16A99BF7D168A25C93C29DF2945D9BCB
+ F78B669195411BD86D3F890A462734AB
+ 10F488E9952334D7242E51AC6D886D60
+ stream[448..511] = 65629AA9654930681578EEC971A48D83
+ 90FBF82469A385B8BCF28B2C1E9F13CE
+ FC06F54335B4D5DE011F3DCE2B94D38F
+ 1A04871E273FCD2A8FA32C0E08710E69
+ xor-digest = E308FAEC064EC30CA1BEA7C2A02E95F4
+ ABCBF7D7762557BE9872726F9020162F
+ 9B4EA11F621426EED6297C947BB3FAC2
+ 69A8D0F38672EFBD72FDCCBEB8475221
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ IV = 0000000000000000
+ stream[0..63] = 2DD5C3F7BA2B20F76802410C68868889
+ 5AD8C1BD4EA6C9B140FB9B90E21049BF
+ 583F527970EBC1A4C4C5AF117A5940D9
+ 2B98895B1902F02BF6E9BEF8D6B4CCBE
+ stream[192..255] = AB56CC2C5BFFEF174BBE28C48A17039E
+ CB795F4C2541E2F4AE5C69CA7FC2DED4
+ D39B2C7B936ACD5C2ECD4719FD6A3188
+ 323A14490281CBE8DAC48E4664FF3D3B
+ stream[256..319] = 9A18E827C33633E932FC431D697F0775
+ B4C5B0AD26D1ACD5A643E3A01A065821
+ 42A43F48E5D3D9A91858887310D39969
+ D65E7DB788AFE27D03CD985641967357
+ stream[448..511] = 752357191E8041ABB8B5761FAF9CB9D7
+ 3072E10B4A3ED8C6ADA2B05CBBAC298F
+ 2ED6448360F63A51E073DE02338DBAF2
+ A8384157329BC31A1036BBB4CBFEE660
+ xor-digest = F3BCF4D6381742839C5627050D4B227F
+ EB1ECCC527BF605C4CB9D6FB0618F419
+ B51846707550BBEEE381E44A50A406D0
+ 20C8433D08B19C98EFC867ED9897EDBB
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ IV = 0000000000000000
+ stream[0..63] = 0F8DB5661F92FB1E7C760741430E15BB
+ 36CD93850A901F88C40AB5D03C3C5FCE
+ 71E8F16E239795862BEC37F63490335B
+ B13CD83F86225C8257AB682341C2D357
+ stream[192..255] = 002734084DF7F9D6613508E587A4DD42
+ 1D317B45A6918B48E007F53BEB3685A9
+ 235E5F2A7FACC41461B1C22DC55BF82B
+ 54468C8523508167AAF83ABBFC39C67B
+ stream[256..319] = 3C9F43ED10724681186AC02ACFEC1A3A
+ 090E6C9AC1D1BC92A5DBF407664EBCF4
+ 563676257518554C90656AC1D4F167B8
+ B0D3839EB8C9E9B127665DCE0B1FD78C
+ stream[448..511] = 46B7C56E7ED713AAB757B24056AF58C6
+ AD3C86270CFEAE4AADB35F0DB2D96932
+ 1A38388D00ED9C2AD3A3F6D8BE0DE7F7
+ ADA068F67525A0996DE5E4DF490DF700
+ xor-digest = FDAEDE318DDD9EE44670318D51E812A2
+ F9B6EAEB18B9EBDC0FB76D95CD0AE8C9
+ 5792F6EA71332404798505D947B89B04
+ 1D56FAD3B0D92BEC06428EC5A841EB82
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ IV = 0000000000000000
+ stream[0..63] = 4B135E9A5C9D54E6E019B5A2B48B9E6E
+ 17F6E6667B9D43BC3F892AD6ED64C584
+ 4FE52F75BD67F5C01523EE026A385108
+ 3FBA5AC0B6080CE3E6A2F5A65808B0AC
+ stream[192..255] = E45A7A605BCFBBE77E781BBE78C270C5
+ AC7DAD21F015E90517672F1553724DDA
+ 12692D23EC7E0B420A93D249C4383566
+ 22D45809034A1A92B3DE34AEB4421168
+ stream[256..319] = 14DEA7F82A4D3C1796C3911ABC2EFE9D
+ C9EB79C42F72691F8CB8C353ECBCC0DC
+ 6159EC13DFC08442F99F0F68355D704E
+ 5649D8B34836B5D2C46F8999CD570B17
+ stream[448..511] = CA6A357766527EA439B56C970E2E089C
+ 30C94E62CB07D7FE1B1403540C2DA9A6
+ 362732811EF811C9D04ED4880DC0038D
+ 5FDCE22BDE2668CD75107D7926EC98B5
+ xor-digest = DE518E6B67BAEC2A516CCAB0475341C4
+ BCC652ABE49ECCAA64E87248441A8F72
+ 7BE173CACEBF8895B07DE8DDD28F1EE8
+ AA739855F1E6DB70765AB1B55BC3B1ED
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ IV = 0000000000000000
+ stream[0..63] = E04A423EF2E928DCA81E10541980CDE5
+ C8054CC3CF437025B629C13677D41167
+ 21123EE13F889A991C03A2E5ADC0B12B
+ 9BBC63CB60A23543445919AF49EBC829
+ stream[192..255] = F6E1D7DBD22E05430EBFBEA15E751C83
+ 76B4743681DE6AC3E257A3C3C1F9EC6A
+ 63D0A04BF3A07F64E6B167A49CD3FDAA
+ B89A05E438B1847E0DC6E9108A8D4C71
+ stream[256..319] = FC2B2A1A96CF2C73A8901D334462ED56
+ D57ABD985E4F2210D7366456D2D1CDF3
+ F99DFDB271348D00C7E3F51E6738218D
+ 9CD0DDEFF12341F295E762C50A50D228
+ stream[448..511] = 1F324485CC29D2EAEC7B31AE7664E8D2
+ C97517A378A9B8184F50801524867D37
+ 6652416A0CA96EE64DDF26138DB5C58A
+ 3B22EF9037E74A9685162EE3DB174A0E
+ xor-digest = 697048C59621DBC7D47B6BE93A5060C4
+ B2DFBDB1E7E444F1FC292C06C12974D1
+ 26EA9C8FD09C63945E4D9107CD0A1AC5
+ 7161CA8C7CFEF55CB60E52666C705EC6
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ IV = 0000000000000000
+ stream[0..63] = 361A977EEB47543EC9400647C0C16978
+ 4C852F268B34C5B163BCA81CFC5E746F
+ 10CDB464A4B1365F3F44364331568DB2
+ C4707BF81AA0E0B3AB585B9CE6621E64
+ stream[192..255] = E0F8B9826B20AEEC540EABA9D12AB8EB
+ 636C979B38DE75B87102C9B441876C39
+ C2A5FD54E3B7AB28BE342E377A328895
+ 6C1A2645B6B76E8B1E21F871699F627E
+ stream[256..319] = 850464EEED2251D2B5E2FE6AE2C11663
+ E63A02E30F59186172D625CFF2A646FA
+ CB85DC275C7CA2AF1B61B95F22A5554F
+ BAD63C0DCC4B5B333A29D270B6366AEF
+ stream[448..511] = 4387292615C564C860AE78460BBEC30D
+ ECDFBCD60AD2430280E3927353CEBC21
+ DF53F7FD16858EF7542946442A26A1C3
+ DA4CEFF5C4B781AD6210388B7905D2C7
+ xor-digest = 2FADEF81A5C4051CAC55E16C68CC6EEF
+ CEE2D4966BAE782E3D885CAA2271EFBB
+ E33F9313FD00632DC73441823713A487
+ 94C21E812E30A1DD4B2AE858A27E7C88
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ IV = 0000000000000000
+ stream[0..63] = 9F25D8BD7FBC7102A61CB590CC69D1C7
+ 2B31425F11A685B80EAC771178030AF0
+ 52802311ED605FF07E81AD7AAC79B6A8
+ 1B24113DB5B4F927E6481E3F2D750AB2
+ stream[192..255] = DAEF37444CB2B068124E074BAD188195
+ 3D61D5BA3BFBF37B21BC47935D74820E
+ 9187086CEF67EB86C88DDD62C48B9089
+ A9381750DC55EA4736232AE3EDB9BFFE
+ stream[256..319] = B6C621F00A573B60571990A95A4FEC4A
+ C2CA889C70D662BB4FF54C8FAAE0B7C4
+ 5B8EC5414AE0F080B68E2943ABF76EA2
+ ABB83F9F93EF94CB3CFE9A4CEED337CD
+ stream[448..511] = 6F17EAE9346878BB98C97F6C81DD2E41
+ 5FDEB54305FE2DF74AFC65627C376359
+ FB2E7841FF75744A715DF952851C1CBC
+ DD241BADF37B3618E0097B3A084E1B54
+ xor-digest = 8D1890B66A56552BE334B3472344F53D
+ D2782D4ABB4514D0F5B761436C997402
+ 02A4B1244A1A7F485EFDB52C0065263F
+ EE5A7D7DFC2BB754304CE9B2724119EB
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ IV = 0000000000000000
+ stream[0..63] = 3466360F26B76484D0C4FD63965E5561
+ 8BDBFDB2213D8CA5A72F2FE6E0A13548
+ D06E87C8A6EEA392FE52D3F5E0F6559D
+ 331828E96A07D99C6C0A42EFC24BA96D
+ stream[192..255] = AB7184066D8E0AB537BB24D777088BC4
+ 41E00481834B5DD5F6297D6F221532BC
+ 56F638A8C84D42F322767D3D1E11A3C6
+ 5085A8CA239A4FDD1CDF2AC72C1E354F
+ stream[256..319] = 55F29F112B07544EDA3EBB5892DBB91E
+ 46F8CBC905D0681D8E7109DF816ABFB8
+ AE6A0F9833CDF34A29F25D67A60D3633
+ 8A10346FEBE72CCF238D8670C9F2B59C
+ stream[448..511] = 0657453B7806D9EA777FFFBE05028C76
+ DCFF718BC9B6402A3CAEC3BCCB7231E6
+ D3DDB00D5A9637E1E714F47221FFCC11
+ B1425D9653F7D777292B146556A89787
+ xor-digest = C2A8D317E3B1CB884A2C3B07F11FD388
+ 33282A9FBD1F6AF5C33CBE1E18D99B64
+ 99A241EA83A56605BC6B99259FBAAED4
+ BDDA788B08CAAA93D2E00C6B5392ECF0
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ IV = 0000000000000000
+ stream[0..63] = 40AD59C99464D95702727406E4C82C85
+ 7FA48911319A3FCC231DC91C990E19D4
+ D9D5972B6A6F21BD12C118365ECAABC8
+ 9F9C3B63FFF77D8EA3C55B2322B57D0E
+ stream[192..255] = DBF23042C787DDF6FFCE32A792E39DF9
+ E0332B0A2A2F2A5F96A14F51FAAB7C27
+ 14E07C3ADCA32D0DE5F8968870C7F0E8
+ 1FE263352C1283965F8C210FC25DE713
+ stream[256..319] = 455E3D1F5F44697DA562CC6BF77B9309
+ 9C4AFAB9F7F300B44AD9783A9622BD54
+ 3EFDB027D8E71236B52BEE57DD2FB3EE
+ 1F5B9022AB96A59AE7DF50E6933B3209
+ stream[448..511] = F11D47D8C57BBF862E0D6238BC0BF6A5
+ 2500A62BB037B3A33E87525259B8E547
+ 35F664FCEDF11BA2C0F3AEB9C944BCE7
+ 7FFD26D604674DF8905A73CB7E230A4F
+ xor-digest = F021DE2B24C80A48DE6F7F807F1EF2F8
+ 13D72A77E7BFC12515F9F5755CEFF64C
+ B5829CA780627A7920F3963E28005677
+ B85A56017A6F5A403DA49F8F8B71581D
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ IV = 0000000000000000
+ stream[0..63] = D8B1A4CB2A5A8DE1F798254A41F61DD4
+ FB1226A1B4C62FD70E87B6ED7D57902A
+ 69642E7E21A71C6DC6D5430DCE89F16F
+ CCC9AAD48743974473753A6FF7663FD9
+ stream[192..255] = D4BA9BC857F74A28CACC734844849C3E
+ DCB9FB952023C97E80F5BFA445178CAB
+ 92B4D9AA8A6D4E79B81993B831C73765
+ 10E74E30E7E68AD3188F8817DA8243F2
+ stream[256..319] = B7039E6F6C4D5D7F750ED014E6501188
+ 17994F0D3C31B071CC16932A412E627D
+ 2486CCB9E43FCA79039D3E0F63577406
+ F5B6420F5587CF9DAC40118AA6F170A8
+ stream[448..511] = 1ABA14E7E9E6BA4821774CBC2B63F410
+ 381E4D661F82BAB1B182005B6D42900D
+ C658C6224F959E05095BC8081920C8AD
+ 11148D4F8BD746B3F0059E15C47B9414
+ xor-digest = AD0620EB4E71605CDEA447A02E638F0C
+ 2A0096EA666010761DB03CFC85629680
+ 44D213B15EC69E1E5811EEBE7C96B616
+ 6BE36E42B16F9F4BE0CC71B456C1FCA1
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ IV = 0000000000000000
+ stream[0..63] = 235E55E2759C6781BBB947133EDD4D91
+ C9746E7E4B2E5EF833A92BE6086C57C6
+ 729655D4C4253EC17ACF359012E80175
+ 7E7A6EB0F713DEC40491266604B83311
+ stream[192..255] = 247BEAAC4A785EF1A55B469A1AEE8530
+ 27B2D37C74B8DA58A8B92F1360968513
+ C0296585E6745E727C34FFCE80F5C72F
+ 850B999721E3BF1B6C3A019DBEE464C1
+ stream[256..319] = E7DDB25678BF6EECA2DA2390C9F333EB
+ 61CD899DD823E7C19474643A4DA31335
+ 2556E44A9C0006C8D54B1FD0313D574A
+ 08B86138394BA1194E140A62A96D7F01
+ stream[448..511] = DB417F9C1D9FD49FC96DB5E981F0C3F8
+ 484E3BDC559473963D12D982FEA287A3
+ 9A36D69DDBBCF1CA2C9FB7F4B2B37F3D
+ A755838A67C48822F4C1E82E65A07151
+ xor-digest = 119D1DDC7C95982B6B035FD4A4D8C5C9
+ FD2518FFBC69C3C6A7F600174A391614
+ 6287F19BDDDAB385D2C6A39C593935F2
+ 88B2F3E8895B9519EC71BA453319CC1F
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ IV = 0000000000000000
+ stream[0..63] = F27A0A59FA3D1274D934EACCFA0038AF
+ C3B866D2BFA4A8BA81D698DBCA5B65D5
+ 2F3A1AC9855BEEEB3B41C510F7489E35
+ AB22CB4444816208C282C461FF16A7BC
+ stream[192..255] = 522594154A2E4843083ABCA886102DA8
+ 14500C5AADAAB0C8FB40381B1D750F9D
+ A9A1831D8000B30BD1EFA854DC903D63
+ D53CD80A10D642E332DFFC9523792150
+ stream[256..319] = 5D092D8E8DDA6C878A3CFBC1EC8DD13F
+ 2A1B073916097AEC4C3E56A229D8E282
+ DDB656DAD60DBC7DF44DF124B19920FC
+ C27FCADB1782F1B73E0A78C161270700
+ stream[448..511] = 8F75BF72995AD23E9ADFEA351F26E42B
+ E2BE8D67FB810ABCBD5FAE552DC10D1E
+ 281D94D5239A4EA311784D7AC7A764FA
+ 88C7FD7789E803D11E65DD6AC0F9E563
+ xor-digest = 55AC113CC018689601F39AA80FA4FA26
+ EE655D40F315C6B694FFAE74A09D382B
+ 62A4E7C60F75167361871A82561FFAC4
+ 53BFED061D6B01672008308C92D241FF
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ IV = 0000000000000000
+ stream[0..63] = 654037B9120AEB60BD08CC07FFEC5985
+ C914DAD04CD1277312B4264582A4D85A
+ 4CB7B6CC0EB8AD16475AD8AE99888BC3
+ FDE6A5B744851C5FC77EAB50CFAD021D
+ stream[192..255] = E52D332CD0DE31F44CDCAB6C71BD38C9
+ 4417870829D3E2CFDAC40137D066EA48
+ 2786F146137491B8B9BC05675C4F88A8
+ B58686E18D63BE71B6FEFEF8E46D0273
+ stream[256..319] = 28959548CE505007768B1AA6867D2C00
+ 9F969675D6E6D54496F0CC1DC8DD1AFB
+ A739E8565323749EAA7B03387922C50B
+ 982CB8BC7D602B9B19C05CD2B87324F9
+ stream[448..511] = D420AEC936801FEE65E7D6542B37C919
+ 0E7DB10A5934D3617066BEA8CC80B8EA
+ AAFC82F2860FA760776418B4FF148DFD
+ 58F21D322909E7BF0EC19010A168FAF7
+ xor-digest = 5BAFB9BEA29B3658A5BBF649E09455B7
+ 0FB262AB938B65FE71652A0662FF0FB5
+ 14C35AF438A72A6122AC1AA8591477AE
+ AEB78214C63E41255E87230481D1A793
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ IV = 0000000000000000
+ stream[0..63] = 0DB7EA55A79C045818C29E99D8A4B664
+ 33E4C77DF532D71BA720BD5D82629F12
+ 76EF0BF93E636A6F71F91B947DFA7CAA
+ A1B0512AA531603197B86ABA2B0829D1
+ stream[192..255] = A62EAFD63CED0D5CE9763609697E78A7
+ 59A797868B94869EC54B44887D907F01
+ 542028DEDDF420496DE84B5DA9C6A401
+ 2C3D39DF6D46CE90DD45AF10FA0F8AAF
+ stream[256..319] = 7C2AD3F01023BC8E49C5B36AFE7E67DC
+ A26CCD504C222BD6AF467D4C6B07B792
+ 61E9714FDD1E35C31DA4B44DB8D4FC05
+ 69F885F880E63B5ABB6BA0BFEE2CE80C
+ stream[448..511] = 066D3C8D46F45891430A85852FF53744
+ 8EBDD6CE8A799CCF7EAF88425FBD60D3
+ 2A1741B39CC3C73371C2C9A36544D3C3
+ B0F02D2596ACC61C60A6671F112F185E
+ xor-digest = 6EE5BF7E194B03A7DDC92FC74A398FF8
+ 22471FEF6DD399426F7372E445E1EE36
+ 5ED7164CD09120A79CCF03D0A2A309DC
+ 5932441B64DDC6FDC9E183DA9F825106
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ IV = 0000000000000000
+ stream[0..63] = 3FE4BD60364BAB4F323DB8097EC189E2
+ A43ACD0F5FFA5D65D8BDB0D79588AA9D
+ 86669E143FD5915C31F7283F1180FCAB
+ CDCB64B680F2B63BFBA2AF3FC9836307
+ stream[192..255] = F1788B6CA473D314F6310675FC716252
+ 8285A538B4C1BE58D45C97349C8A3605
+ 7774A4F0E057311EEA0D41DFDF131D47
+ 32E2EAACA1AB09233F8124668881E580
+ stream[256..319] = FEF434B35F024801A77400B31BD0E735
+ 22BEC7D10D8BF8743F991322C660B4FD
+ 2CEE5A9FDE0D614DE8919487CBD5C6D1
+ 3FEB55C254F96094378C72D8316A8936
+ stream[448..511] = 338FD71531C8D07732FD7F9145BBC368
+ 932E3F3E4C72D2200A4F780AF7B2C3AA
+ 91C1ED44DBEAA9A2F1B3C64DCE8DCD27
+ B307A4104D5C755693D848BEA2C2D23B
+ xor-digest = 7ABF3C4E6E8CCAC05AA336DF2156E195
+ 7DFDAD45995FF6268B9708DAED9C2097
+ F8F0F2A0EE5FBF4A7B511ED2E8E56179
+ 93E915E9BAABA30D758A9691E9D8578A
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ IV = 0000000000000000
+ stream[0..63] = 062187DAA84742580D76E1D55EE4DE2E
+ 3B0C454F383CFDDE567A008E4E8DAA3C
+ E645D5BEDA64A23F0522D8C15E6DA0AD
+ 88421577A78F2A4466BD0BFA243DA160
+ stream[192..255] = 4CC379C5CF66AA9FB0850E50ED8CC58B
+ 72E8441361904449DAABF04D3C464DE4
+ D56B22210B4336113DAA1A19E1E15339
+ F047DA5A55379C0E1FE448A20BC10266
+ stream[256..319] = BD2C0F58DBD757240AEB55E06D5526FE
+ 7088123CE2F7386699C3E2780F5C3F86
+ 374B7CB9505299D639B89D7C717BA8A2
+ AEED0C529F22F8C5006913D1BE647275
+ stream[448..511] = 54D61231409D85E46023ED5EFF8FDC1F
+ 7A83CACDDB82DD8D1FA7CDEA0E088A61
+ D02BCE7FA7EC3B73B66953DA467BE4B9
+ 12EBE2A46B56A8BF0D925A919B7B22E3
+ xor-digest = 9F569A8133067D1D4651BAE70DB3FE20
+ 1649A1DA469C7D7C0B0DF16968285BF4
+ ED0F36ED1CF9F213B2EC4BFF83D455FF
+ C8B19E82DAE61408141F221C255DDFAB
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ IV = 0000000000000000
+ stream[0..63] = 1A74C21E0C929282548AD36F5D6AD360
+ E3A9100933D871388F34DAFB286471AE
+ D6ACC48B470476DC5C2BB593F59DC17E
+ F772F56922391BF23A0B2E80D65FA193
+ stream[192..255] = B9C8DAC399EF111DE678A9BD8EC24F34
+ 0F6F785B19984328B13F78072666955A
+ B837C4E51AC95C36ECBEFFC07D9B37F2
+ EE9981E8CF49FD5BA0EADDE2CA37CC8D
+ stream[256..319] = 3B0283B5A95280B58CEC0A8D65328A7A
+ 8F3655A4B39ECBE88C6322E93011E13C
+ FF0A370844851F4C5605504E8266B301
+ DD9B915CA8DCD72E169AEA2033296D7F
+ stream[448..511] = 4F9CA1676901DDC313D4EE17B815F6B5
+ AC11AF03BF02517FB3B10E9302FCBF67
+ C284B5C7612BBE7249365BCAC07FD4C2
+ C7AE78F3FDA1880B2DAA20E4EC70F93B
+ xor-digest = 9B9EA936FD4385D3516304BEFC44BC6D
+ 5B60C97925B52CE269F2843496DEBD33
+ 5A07ADA2EC87BA27E306CFFB884935D7
+ 74EE317C7307740B884095278D1DB0C2
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ IV = 0000000000000000
+ stream[0..63] = 0281FB6B767A90231AB6A19EB1E4FB76
+ A041063FE23AC835797DFA178CC2D7C2
+ 8DFAD591D2EAF26A985332F8DC74537D
+ F7E0A5F26946BCF7D70B6C3D9DD859D2
+ stream[192..255] = 088ED6D7AB26EEC97518EBF387B0644F
+ D22266E578F141A7218F94AE2EE5885A
+ 67A9FA304F6880A781EE05C1251A7EAD
+ 4C3025D833B59739C68D3D7F3A844148
+ stream[256..319] = 6B48D13EC0EB1CD0CDAC5D5E09DC7BE4
+ AE02BE4283DDC7FA68E802A31508E6EA
+ 7197E5AC10805FDEB6824AEEF8178BAA
+ 45D7E419CF9237155D379B38F994EF98
+ stream[448..511] = 7E71823935822D048B67103FF56A709A
+ 25517DCE5CFBB807B496EEF79EFFBCD1
+ 0D23BAD02758814F593B2CD4AC062699
+ AEC02B25A7E0D1BAE598AFDBE4333FE7
+ xor-digest = 0D4802AF0B0F92FFF2F80FE65FE5D1FB
+ DFEF122231028FE36CC164D1D39185A1
+ 869AD43D08C6E1C9F8A9113CE2CEF0A0
+ 22629C6FAC1C27E6DDF2A46C52293681
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ IV = 0000000000000000
+ stream[0..63] = D4ACE9BF4A76822D685E93E7F77F2A79
+ 46A76E3BF0910854C960331A41835D40
+ 902BC1CF3F8A30D4C8391087EC3A03D8
+ 81E4734A5B830EFD55DA84159879D97F
+ stream[192..255] = 5BD8BB7ED009652150E62CF6A17503BA
+ E55A9F4ECD45B5E2C60DB74E9AE6C8BF
+ 44C71000912442E24ED2816243A7794D
+ 5B1203A246E40BE02F285294399388B1
+ stream[256..319] = 55433BDEA349E8849D7DF899193F029A
+ 9F09405D7AFE842CB2C79F0E55C88913
+ B0776825D8D036A69DDDCD6AFCA6588F
+ 69F0946A86D32C3585F3813B8CCB56AF
+ stream[448..511] = 0B67F00FA0BB7D1ED5E4B46A68794864
+ 5239422656F77EF2AFEA34FFF98DA7A8
+ 90970F09137AF0FABD754C296DD3C6F2
+ 7539BC3AE78FFA6CDCCC75E944660BB4
+ xor-digest = 9D6D8BAB5F6EDB5450EA2D5751741351
+ 199ED720B0572410FD698C99F2E0DB92
+ C0E62E68AEE0CC6CDB6EA8898BFD29E8
+ E106470DE4E5C66F94FE0258A2D24CA3
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ IV = 0000000000000000
+ stream[0..63] = 92A067C3724F662120C25FAF4B9EC419
+ C392D98E5CB8C5EE5842C1D5C704DE87
+ 8C8C68C55BA83D63C5DEEC24CFF7230D
+ 3F6FBF6E49520C20CFE422798C676A47
+ stream[192..255] = 133C9A30B917C583D84FB0AAC2C63B5F
+ 6758AC8C2951196E9460ADBE3417D914
+ 90F0A195DC5682F984069506CA75DC1D
+ 79A7AE1DCDF9E0219D4E6A005BA72EDD
+ stream[256..319] = 091D38749503B63238B1E3260855B76C
+ 5CFE9D012265FB7F58EB8CAA76B45645
+ 9C54F051274DDAE06BEC6D7EB8B9FF59
+ 5302D9D68F2AF1057581D5EE97CCEEDD
+ stream[448..511] = 3FCCB960792B7136768BBA4C3D69C597
+ 88F04602C10848A7BCBED112F860998D
+ 9E9A788998D1DC760F7ECF40597446D8
+ F39CD4D4013F472BB125DE6A43E9799D
+ xor-digest = 12464226235C1DDDAFA37DF12F3A0444
+ 42C0EEE521DBB7B3239C86ADB61AD6A0
+ A418D3804252DC3658A3AE82473023A8
+ D190E1EDB1DAFA3CF566573511CF8F19
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ IV = 0000000000000000
+ stream[0..63] = AC3DE1B9F6DF6D6117B671A639BF0761
+ 24A0A6D293B107554E9D662A8BFC3F34
+ 17C59437C981A0FDF9853EDF5B9C38FE
+ 74072C8B78FE5EBA6B8B970FE0CE8F1F
+ stream[192..255] = 23112BD4E7F978D15F8B16F6EDB130D7
+ 2F377233C463D710F302B9D7844C8A47
+ FB2DFDD60235572859B7AF100149C87F
+ 6ED6CE2344CDF917D3E94700B05E2EEF
+ stream[256..319] = E8DDFE8916B97519B6FCC881AEDDB42F
+ 39EC77F64CAB75210B15FBE104B02FC8
+ 02A775C681E79086D0802A49CE6212F1
+ 77BF925D10425F7AD199AB06BD4D9802
+ stream[448..511] = F9D681342E65348868500712C2CA8481
+ D08B7176A751EF880014391A54680992
+ 6597B10E85761664558F34DA486D3D44
+ 54829C2D337BBA3483E62F2D72A0A521
+ xor-digest = 75BEFA10DACA457FFE4753A13543F996
+ 4CF17E6941318C931575A0865B1C86C1
+ 2EE5E031EFD125A3D56C4B7846C19484
+ 507CC551C5CB558533E288BA0D2C14F1
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ IV = 0000000000000000
+ stream[0..63] = 21BD228837BFB3ACB2DFC2B6556002B6
+ A0D63A8A0637533947615E61FE567471
+ B26506B3D3B23F3FDB90DFAC6515961D
+ 0F07FD3D9E25B5F31B07E29657E000BF
+ stream[192..255] = 2CF15E4DC1192CA86AA3B3F64841D8C5
+ CD7067696674B6D6AB36533284DA3ABF
+ D96DD87830AE8FA723457BE53CB3404B
+ 7A0DCBB4AF48A40FC946C5DEB7BD3A59
+ stream[256..319] = E3B15D2A87F61C2CE8F37DCEB896B5CA
+ 28D1DA6A3A71704309C0175BB6116911
+ 9D5CBE34FC8F052961FF15F2C8F06CD6
+ F8E889694E2C69E918DD29C33F125D31
+ stream[448..511] = CCD1C951D6339694972E902166A13033
+ A1B0C07313DC5927FE9FB3910625332C
+ 4F0C96A8896E3FC26EFF2AF9484D28B8
+ CB36FF4883634B40C2891FA53B6620B1
+ xor-digest = 1E6FA2DF675C21D1AA9819BA05D3C96D
+ 3463D6F0758286BBB41A63F8748B94C8
+ B652C60C5D4655E8436F2379CA7088B4
+ 9625667F386BC5A2F25FD0BFB0088FAA
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ IV = 0000000000000000
+ stream[0..63] = 7943AD4AA5F62E08E1AE450E84CFF27D
+ E3B204A2BCA315B981906D5A13F68AB0
+ 34D3396EA8A41001AF49834368805B37
+ D5380FB14821E3F7F4B44231784306F3
+ stream[192..255] = 415F5381C9A58A29045E77A1E91E6726
+ DFCEBC71E4F52B36DBD7432D158F2ADB
+ 31CF5F52D8456952C09B45A16B289B7A
+ 32687716B8EDFF0B1E5D0FC16DCCFA88
+ stream[256..319] = CE317CB853E2AFA22392D4B8AE345A91
+ 0807F8DE3A14A820CDA771C2F2F3629A
+ 65A1CC7A54DDEC182E29B4DACEA5FBFA
+ 4FAC8F54338C7B854CD58ABA74A2ACFF
+ stream[448..511] = 5804F61C5C07EC3C2D37DF746E4C96A1
+ AD5E004C2585F3F401CB3AF62CB975F8
+ 64375BE3A7117079810418B07DABCCEE
+ 61B6EC98EA4F28B0D88941CB6BE2B9D2
+ xor-digest = 9DBDBD0C3B340F294B1EB42CAD3111F0
+ A5CF6A0B6206976022C6A2D6303A235B
+ 717542C25397879A27480D67AC5A245D
+ 0C58334CD801764A948060CA6F99E2D6
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ IV = 0000000000000000
+ stream[0..63] = A4FB9A02500A1F86145956E16D04975E
+ 2A1F9D2283D8AD55C17A9BD6E0C8B561
+ 6658132B8928F908FEC7C6D08DBFBC55
+ 73449F28AA0EF2884E3A7637233E45CD
+ stream[192..255] = 74D169573560C14692BBE2498FDA0ED7
+ 866A11EE4F26BB5B2E9E2559F089B35E
+ C9972634C5A969DD16EB4341782C6C29
+ FBBF4D11ECB4133D1F9CA576963973EB
+ stream[256..319] = D28966E675759B82EDE324ABA1121B82
+ EAB964AB3E10F0FE9DF3FCC04AFC8386
+ 3A43FD6B7FC0AD592C93B80BE99207CB
+ A8A55DDEA56DD811AAD3560B9A26DE82
+ stream[448..511] = E362A817CCD304126E214D7A0C8E9EB9
+ 3B33EB15DE324DDDFB5C870EA22279C7
+ 8E28EFF95974C2B935FC9F1BF531D372
+ EF7244D2CC620CEBDE5D8096AD7926B3
+ xor-digest = 3DD73F824FD1D9CB55B7E37C9C8A55C7
+ EBB0866564AEA680BBBD431554D89E81
+ FF280B563D5991438CEA5C183C607ADC
+ 23CC72CDE3A4D2CEB27B81ED8E5C9215
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ IV = 0000000000000000
+ stream[0..63] = FF879F406EAF43FABC6BE563ADA47C27
+ 872647F244C7FAE428E4130F17B47138
+ 0E1E1CD06C50309760FDEE0BC91C31D0
+ CA797E07B173C6202D2916EEBA9B6D1C
+ stream[192..255] = 61E724B288AECF393483371C1BE653F3
+ 7BBA313D220173A43459F0BCE195E45C
+ 49B3B5FB1B0539DE43B5B4F2960D8E6E
+ 5BC81DAF07E9EFBB760881441FA8823B
+ stream[256..319] = F77AC22945ECD60EBCAF4BA19A59B078
+ B3C3BC36D1DDA6B9969B458C2019D68E
+ FD04D75DDC6041BBCD69747651D2DA7F
+ BED721081F8147367585CABB1C50CF0C
+ stream[448..511] = 7475DCD3545B810445AFCA0C0AFA93A9
+ 11EA99991A5D639AB32DDF69AA21C45A
+ 53DCB998FDAE5F9A82EC8501123EAE3D
+ 99351C43311F8430DB3D230E12DA77D2
+ xor-digest = A61CDBCF6F79213D2A789543B0EA3D8A
+ 22BA4FB8118C1D40AE56EC8238861566
+ 20CED8AA76FFE917C1E52060F91EE73B
+ C75E913D072C50B3D939E04F69493553
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ IV = 0000000000000000
+ stream[0..63] = 2B4C4185E2FDFAE75DABFF32632FB5D9
+ 823359F15E2D17FF74FAC844E5016A4A
+ 64C2C47498A15029FBEB6E4893381E65
+ 6D2A2B9712524827B151C6E67D990388
+ stream[192..255] = D870A94C4856EF818C5D93B2187F09C7
+ 32E4491103B8A49B14CDC118F1607E2D
+ 8443740F20220DF076B981D90436E9C3
+ 09282C1CEAAE6375002AD1CA9CCF720C
+ stream[256..319] = 5091AE53E13948DAE57F6B0BE95B8F46
+ A1F53553767B98F9799A0F0AC468AEB3
+ 40C20E23FA1A8CAE7387CEA127A7A0F3
+ 635667BF028DE15179093B706306B99C
+ stream[448..511] = 02323B1FA2C863D3B4A89CFC143013A6
+ EEA8265BBD1B8FE243DEA2F4B19A5726
+ 593564E7E7021FD042F58077A5821C2F
+ 415BC38D6DD2BE29A5400E4B1D65B2A2
+ xor-digest = 9B29085D13B4992B077E3A878A5918B5
+ 92C98C8A83956EC20EFE673A24C48C91
+ 5D8DB1A4A66F62F1A3E7D6ADF6DC8845
+ DD7A6D43F9DBF6C1EA21639060469AD6
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ IV = 0000000000000000
+ stream[0..63] = 9A5509AB6D2AB05C7DBA61B0CC9DD844
+ B352A293E7D96B5C0066ACDB548DB857
+ 0459E989B83AF10A2C48E9C00E02671F
+ 436B39C174494787D1ECEB3417C3A533
+ stream[192..255] = 8A913EBA25B4D5B485E67F97E83E10E0
+ B858780D482A6840C88E7981F59DC51F
+ 2A86109E9CD526FCFA5DBF30D4AB5753
+ 51027E5A1C923A00007260CE7948C53D
+ stream[256..319] = 0A901AB3EBC2B0E4CBC154821FB7A0E7
+ 2682EC9876144C4DC9E05098B6EFCCCB
+ 90E2F03837553C579CDD0A647D6A6963
+ 50000CA57628B1E48E96242226A92ECC
+ stream[448..511] = 9CDB39B79A464F2CCA3637F04EBAEA35
+ 7A229FC6A9BA5B83171A0A8945B6F117
+ 56EBC9F4201D0BA09C39F97767213046
+ 32AA6A68ADE5B90268AEE335E13B1D39
+ xor-digest = 695757EDF4992CE9E1C088D62CAB18A3
+ 8F56EE71F1F4866E88D1A02E07CB89B9
+ 133F0B02A23BA39622E84E19DACDF323
+ 97F29E50151F78524B717093131A10B1
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ IV = 0000000000000000
+ stream[0..63] = 37EDAFA4F5EDC64EBF5F74E543493A53
+ 93353DE345A70467A9EC9F61EEFE0ED4
+ 532914B3EA6C2D889DA9E22D45A7DD32
+ 1EA5F1F6978A7B2E2A15D705DE700CE4
+ stream[192..255] = C415739777C22430DAB2037F6287E516
+ B1CE142111456D8919E8CD19C2B2D30D
+ 8A1B662C26137F20F87C2802A2F3E66D
+ 8CEB9D3C1B4368195856249A379BD880
+ stream[256..319] = 0381733EC9B2073F9E4E995447118411
+ 2D99B23FA4A87B4025C6AF955E93E0D5
+ 7DD37011E1624175F970BDA7D625224B
+ AB0F021E6453DBA894A5074C447D24BC
+ stream[448..511] = F9D45C7E0E7A26F2E7E2C07F68AF1191
+ CC699964C01654522924A98D6790A946
+ A04CD9586455D5A537CBA4D10B3C2718
+ 745C24875156483FE662B11E0634EAEA
+ xor-digest = E0FE8129B73BCADA14FB385E6D3DB22D
+ 84C9755D63E93141202576FB5B2D3647
+ D47B2F6378BC8567E4416976443FAE76
+ 3C2B5FA46F2670C301A5B22802513D2D
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ IV = 0000000000000000
+ stream[0..63] = B935A7B6D798932D879795A182E7C194
+ BECEFF32522C2F3FFF55A5C6D32A91D2
+ BA9F144DB280ABA7BA8A7921AFA3BD82
+ CA742DDBEAF8AF72299936E9C2FEA59E
+ stream[192..255] = 6F32248B6EF4CDAE06864B6477893440
+ F0E0217421D7081D1F0DA197B5263674
+ 0E9BDD59068BEDE48BF52C43446C12CD
+ 4F10ED22BFDDFA915FA0FB1A73F9139C
+ stream[256..319] = BF01A4ED868EF9080DF80689E589897C
+ 021DCA18073F9291E1D158DC26266556
+ 728DD130629D3760F541439147F4C1CA
+ 279FB98040E9FCE50998E42D6259DE1F
+ stream[448..511] = 0F2B116CD687C91FBA1EDEAD586411E9
+ 66D9EA1076863EC3FDFC254DD5C93ED6
+ AE1B01982F63A8EB13D839B2510AD02C
+ DE24210D97A7FA9623CAC00F4C5A1107
+ xor-digest = C6970385CA89CDFCACA9E90DA2A2FE99
+ 58EF83B9BF04DBE7A3B3437503688831
+ 05FF6665D9F91D4DBBBCAF31B555ED3D
+ D07C3AC824281730BF834693C596AD54
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ IV = 0000000000000000
+ stream[0..63] = 09D36BFFDDCD3ADC8EB0ABEEB3794CE1
+ FFBDED9CFC315D21A53C221B27722FE3
+ F10E20D47DDCFD3CCDE9C1BAAF01F551
+ 1D3F14F88BF741A7F6578C3BC9024B2B
+ stream[192..255] = 552502A1B2D0F29806DE512F3314FC8E
+ 19518E35D9DB1EBC9034EA46E5815AB9
+ DF0F403E997E676BF47C0116D5E9B817
+ 26B99D65AA4315F1E5906F6E39B1297E
+ stream[256..319] = 6BF351A501E8D1B4BAF4BFD04726DC4F
+ 50200463DCC13FF3BE93E6C4D4304CE0
+ 9E6A1CEA41BFB93D6DBAD713298F79CF
+ F6F5BB81F456E33A3396D02F2E33BDC5
+ stream[448..511] = 715F8FFB2BC25CD89E46B706EF871207
+ EFE736AA3CB961B06E7B439E8E4F76E2
+ 944AF7BD49EEC47B4A2FD716D191E858
+ 59C74FD0B4A505ACE9F80EEB39403A1F
+ xor-digest = D51B519D78CDBC8DF5CB1CEA5EBBA6E4
+ 6530535D84CBF1696EBF238D3F7AA4A1
+ D2F1EF5FF092DB57943E28501C64CFF0
+ 4619197ED4A3D82EEEB2B2E9648D7494
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0000000000000000
+ stream[0..63] = BE4EF3D2FAC6C4C3D822CE67436A407C
+ C237981D31A65190B51053D13A19C89F
+ C90ACB45C8684058733EDD259869C58E
+ EF760862BEFBBCA0F6E675FD1FA25C27
+ stream[65472..65535] = F5666B7BD1F4BC8134E0E45CDB69876D
+ 1D0ADAE6E3C17BFBFE4BCE02461169C5
+ 4B787C6EF602AF92BEBBD66321E0CAF0
+ 44E1ADA8CCB9F9FACFC4C1031948352E
+ stream[65536..65599] = 292EEB202F1E3A353D9DC6188C5DB434
+ 14C9EF3F479DF988125EC39B30C014A8
+ 09683084FBCDD5271165B1B1BF54DAB4
+ 40577D864CD186867876F7FDA5C79653
+ stream[131008..131071] = C012E8E03878A6E7D236FEC001A9F895
+ B4F58B2AF2F3D237A944D93273F5F3B5
+ 45B1220A6A2C732FC85E7632921F2D36
+ 6B3290C7B0A73FB61D49BC7616FC02B8
+ xor-digest = 196D1A0977F0585B23367497D449E11D
+ E328ECD944BC133F786348C9591B35B7
+ 189CDDD934757ED8F18FBC984DA377A8
+ 07147F1A6A9A8759FD2A062FD76D275E
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 0000000000000000
+ stream[0..63] = BA1A48247B8C44AAF12F5645D65FF7F4
+ E4D7C404EE0CBB691355FAEB82D03B99
+ AD0FDFC20A1E593973E5B8F0264F7FB0
+ 538292A4C8FE8218A1DA3EB7B71EEA64
+ stream[65472..65535] = 03A24E89D69D5E1DA98B0367CF626F33
+ D558B1208AB120B6B1778BFF640F56DA
+ 715FE1B681D8CC0F305D6645B439BA81
+ D3C446A428B31BB18E9DA1E2A900B0FD
+ stream[65536..65599] = 6A28ADD4F926759CEBB0AFC5D5DA5243
+ 1F2E7ECBBD1E9DEAF368137E35F1AFBD
+ 65852214FA06310C3175FCF364810F62
+ 7E3703E9AC5458A8B681EB03CEECD872
+ stream[131008..131071] = E8D8AB5E245B9A83A77B30F19E3706F0
+ 37272E42F9C6CD7E8156C923535EF119
+ B633E896E97C404C6D87565EEA08EB7F
+ F6319FF3E631B6CDD18C53EE92CCEEA0
+ xor-digest = 2BD4F834BC7B3C128E291B2BCE7DA0A5
+ BA1A17E2785093B7F32B7D605AE63276
+ F8256998EC1E0B5A7FD2D66EE9B0B705
+ E49435EDF8BACE1BE770738A403B8F14
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 0000000000000000
+ stream[0..63] = 8313F4A86F697AAC985182862E4FC623
+ 3511C46B6DAEEDB94B63461111CB4768
+ 72F1BC3B4E8EE80A4ADE7D1A8CD49C17
+ 1D3A550D3F39B7775734225579B8B60A
+ stream[65472..65535] = 6AFA6F539C0F3B0B9DEB0235E7EB2E14
+ B111615D4FBC5BF7FFE75E160DEDA3D9
+ 932125469AEC00539ECE8FCF8067CB0F
+ B542C2064267BEA7D9AD6365314D5C2C
+ stream[65536..65599] = 296F2B5D22F5C96DA78304F5800E0C87
+ C56BC1BACD7A85D35CFECE17427393E1
+ 611975CC040D27DF6A5FABC89ADDE328
+ AE8E9CB4F64CFA0CB38FE525E39BDFE4
+ stream[131008..131071] = 86C8139FD7CED7B5432E16911469C7A5
+ 6BDD8567E8A8993BA9FA1394348C2283
+ F2DF5F56E207D52A1DA070ABF7B516CF
+ 2A03C6CD42D6EA2C217EC02DF8DDCA9C
+ xor-digest = DEEBF1FCF222519E26EC6556EA449080
+ 92923B357CB88D1A1C1B03341F5C6A98
+ 4C70E9DB735377615C0476D46DA9897B
+ 48127A0D224241E79FE8CF51B005EF93
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 0000000000000000
+ stream[0..63] = 62765613D127804ECD0F82D208D70156
+ 3B1685EEF67945DAE2900307CDB14EA6
+ 2474A439D8BAE8005493455471E7BCB9
+ DB75F0596F3FB47E65B94DC909FDE140
+ stream[65472..65535] = 00A0D5B2CE7B95E142D21B57B187C29C
+ 19B101CD063196D9B32A3075FB5D54A2
+ 0D3CE57CBEC6CA684CB0E5306D5E21E5
+ 657F35B8FB419A0251EA5CD94113E23B
+ stream[65536..65599] = AAC2D29404A015047DEFB4F11460958D
+ A989141026FE9325F15954363FC78898
+ D4A20F6870F4D2B124590973F6956096
+ 940E2324F7C63384A85BACF53F7755E3
+ stream[131008..131071] = 0A543607FE352336ACFEDFE6B74359E0
+ B26B19FD45A8938C6C0A6DB68A137749
+ 5B65211558D0CB9ECA9DA2C0E50702B6
+ 88B2DEC53AAA2FBF11BD149F4F445696
+ xor-digest = D124AA942DC1D54D5B9B4BC6804F9990
+ 543EAF31FF441F0CD16B961C817EA4A7
+ 6AF71F678BBB482052B2BA767B4F9265
+ B65C3D839D182D093B560AEB09184C0C
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector# 0:
+ key = 00000000000000000000000000000000
+ IV = 8000000000000000
+ stream[0..63] = B66C1E4446DD9557E578E223B0B76801
+ 7B23B267BB0234AE4626BF443F219776
+ 436FB19FD0E8866FCD0DE9A9538F4A09
+ CA9AC0732E30BCF98E4F13E4B9E201D9
+ stream[192..255] = 462920041C5543954D6230C531042B99
+ 9A289542FEB3C129C5286E1A4B4CF118
+ 7447959785434BEF0D05C6EC8950E469
+ BBA6647571DDD049C72D81AC8B75D027
+ stream[256..319] = DD84E3F631ADDC4450B9813729BD8E7C
+ C8909A1E023EE539F12646CFEC03239A
+ 68F3008F171CDAE514D20BCD584DFD44
+ CBF25C05D028E51870729E4087AA025B
+ stream[448..511] = 5AC8474899B9E28211CC7137BD0DF290
+ D3E926EB32D8F9C92D0FB1DE4DBE452D
+ E3800E554B348E8A3D1B9C59B9C77B09
+ 0B8E3A0BDAC520E97650195846198E9D
+ xor-digest = 104639D9F65C879F7DFF8A82A94C130C
+ D6C727B3BC8127943ACDF0AB7AD6D28B
+ F2ADF50D81F50C53D0FDFE15803854C7
+ D67F6C9B4752275696E370A467A4C1F8
+
+Set 5, vector# 9:
+ key = 00000000000000000000000000000000
+ IV = 0040000000000000
+ stream[0..63] = 1A643637B9A9D868F66237163E2C7D97
+ 6CEDC2ED0E18C98916614C6C0D435B44
+ 8105B355AE1937A3F718733CE1526231
+ 6FA3243A27C9E93D29745C1B4DE6C17B
+ stream[192..255] = CDDB6BD210D7E92FBFDD18B22A03D66C
+ C695A93F34FB033DC14605536EEEA06F
+ FC4F1E4BACFCD6EB9DA65E36C46B26A9
+ 3F60EAA9EC43307E2EA5C7A68558C01A
+ stream[256..319] = 5FC02B90B39F3E90B8AEC15776F2A94F
+ D8C26B140F798C93E1759957F99C613B
+ 8B4177A7B877D80A9B9C76C2B84E21A6
+ DF803F0DB651E1D0C88FB3743A79938F
+ stream[448..511] = B4BC18F7279AC64BB6140A586F45AC96
+ E549C0CA497F59B875C614DE605A8BFF
+ 63AB3F1E00DAEAE7A5CC7A7796E9BACC
+ DD469E9100EABCD6E69301EA59C4B76A
+ xor-digest = 4EF8F9A7D50D7ABEC1A104565E9E20BF
+ 35FACFDD5600B0360E3ECBDE626CC693
+ 4A52173415C05BA5EE681D649CB60D18
+ 6970CF18BC028AF829054903FDEB37BA
+
+Set 5, vector# 18:
+ key = 00000000000000000000000000000000
+ IV = 0000200000000000
+ stream[0..63] = 94B7B07E184BC24A0904290B2601FC3A
+ C70BEAD7B1FC3294360ED4EF16813453
+ 0B4D1F3F28A3C3B248B2E914A8DCBD53
+ 26A240C9BB361A8A93D023725BDCD4E3
+ stream[192..255] = 27C7A2C4EAA1E2E8798CA71EA50B7E5A
+ CD9FC82263D11781EFC16142CFD21A63
+ 4DB2B860B54A9979AFA187CE0667D176
+ 23FC91EC1E5E6C31A8089628AC76F9F0
+ stream[256..319] = C2CD243516E5919D6C5C478469260813
+ ABE8E6F54BE8E11D48FEC043CDADA19B
+ EFE9CB0C22A9BB30B98E4CFCF1A55EF1
+ 263B209CE15FEAEF8237CFAF7E5286D6
+ stream[448..511] = 84489BD680FB11E5CAA0F5535ABA86DC
+ FF30AC031CEFED9897F2528035977726
+ 70E1E164FA06A28DD9BAF625B576166A
+ 4C4BF4CADD003D5DF2B0E6D9142DD8B3
+ xor-digest = 783AD910F37369EFB54DD9A00D54CDB7
+ 2EEAF2693C121B13344025E08DF874AC
+ 4BBC08B8FA916B423B0F4667A6D1BAEC
+ 3016B999FF9FAB317161422E4FF925AB
+
+Set 5, vector# 27:
+ key = 00000000000000000000000000000000
+ IV = 0000001000000000
+ stream[0..63] = 2E6C8BE7DD335292EE9152641B0E4EFB
+ 43D27434E4BE70EAC4CAFAE5C38B2E5B
+ 06E70B9966F4EDD9B4C4589E18E61F05
+ B78E7849B6496F33E2FCA3FC8360824C
+ stream[192..255] = 1006D6A04165A951C7EE31EEB0F6C32B
+ D0B089683C001942886FCEF9E700D15A
+ DB117652735C546D30177DC14FA68708
+ D591C3254C05B84BF0DCBC3105F06A6F
+ stream[256..319] = 2196ADA05BED2BD097A43E4C5BE6C940
+ 4A353689939DCB9C4F82278BDB0EB505
+ F70FFD9921B46645EDDFCF47405FD3E6
+ 7CAE732B367A0B0F2B57A503161FA5DE
+ stream[448..511] = 4A3504DAC25F59489C769090D822E89E
+ 1338AC73F22DB2614B43D640525EF996
+ 9D6B7E3900ADCBE056AB818E0FF708E3
+ B0A8E63531F252C384DD3DE7318EA866
+ xor-digest = 33533F81725EA5444E0642A07A334AE5
+ AC3DD16214F6FE196A60A4343AFA5026
+ E1602E84D3E672EEDB9FB5BB6F44C023
+ 66C28BD8E3CF673BB34F438CF82561E2
+
+Set 5, vector# 36:
+ key = 00000000000000000000000000000000
+ IV = 0000000008000000
+ stream[0..63] = 1D3FD8BAF2A13BCD2A49B50F8DFB0522
+ 8E366B4FD2ECD6973DFF116289D7E0AF
+ 55EFB875345204B5FCE27A1C6DF79531
+ B3175647526BF5C028C454BADEFBECD6
+ stream[192..255] = F639D0D23CC5817501517216ADA14241
+ D08495F17CDEAFB883CE619A3255EC3F
+ EAADFA224CF354C425A74D3DDAAA0C86
+ E44016238C142B36944EF53A1EC7DF92
+ stream[256..319] = 9CAE4D4639696A188E08BC1B01774608
+ 5D18418F82DC90742BB6D172414ACC13
+ A4721B018B2CC002CB6E6FFE4A4E252C
+ C4BF5DE975684C8805036F4C76660DC8
+ stream[448..511] = CB2A2CB3136F5CC71FD95A4A242B15E5
+ 1C8E3BAE52FEC9C1B591B86DFDDC2442
+ 353DF500B2B9868A6C609655FC1A3E03
+ 347608D12D3923457EEEB34960F4DB31
+ xor-digest = D623CA4753D2197E68B87B1ACBD84CC9
+ A056EC02F83D7E399CE2C4ACCF7934A5
+ A0CAE68FC0EB88098AA39DA88881C7B2
+ 4C137195F32DA5CA86631CB84A6BC3B2
+
+Set 5, vector# 45:
+ key = 00000000000000000000000000000000
+ IV = 0000000000040000
+ stream[0..63] = 2DCAD75F5621A673A471FDE8728FACF6
+ D3146C10A0903DE12FBDCE134CC0F11B
+ 2D2ABBDBADFA19303E264011A1B9EFEC
+ AB4DFBC37E3D0F090D6B069505525D3A
+ stream[192..255] = 02C401ACF6D160CC1D80E11CB4F3038A
+ 4C5B61C995CD94E15D7F95A0A18C49D5
+ DA265F6D88D68A39B55DB3505039D13E
+ AB9DEBD408CE7A79C375FD3FEBEF86C8
+ stream[256..319] = 83D92AF769F5BF1FA894613D3DF447EB
+ D461CFFC0CA3A9843E8441EC91DEBC67
+ BE9162EABC5607A6D3FCAD4426EF4F9F
+ 3B42CEC8C287C194B2211DEA4549D5D5
+ stream[448..511] = D3F86930112EAFC7AA430444693BAE77
+ 3F014D0798CAF3652A3432460F326DA8
+ 8E82BE1E08C220B5FCBCE238B982E37D
+ 1E60DCBF1747D437D42DB21ADF5EECF2
+ xor-digest = 0BF26BADEFCB5BB32C43410920FF5E0F
+ 2720E8BB1C94DD5D04F0853F298C3ABA
+ 8FF670AF163C5D24BCAF13AD0A04196A
+ 2B89E82CF88846C77C77A097E234010F
+
+Set 5, vector# 54:
+ key = 00000000000000000000000000000000
+ IV = 0000000000000200
+ stream[0..63] = D8E137C510CDBB1C788677F44F3D3F2E
+ 4C19FCEB51E7C2ECBDB175E933F44625
+ C7B0168E446CCCA900B9DB12D53E89E1
+ B917A69BDB888935B3B795D743D0D0E6
+ stream[192..255] = E168F81B5BFB769F3380690D423E251E
+ 0F4BEEBE0B02F19AFFADBD94212B8063
+ D77A665FD53F8F1A1CC682599C74F415
+ 3642EC7DADA034403A90E1E5DA40C896
+ stream[256..319] = 574774CFB8452E82777371616E0AC224
+ E29939E725B99EA8CFB4A9BF459A70D6
+ AB1991E85E06905ACCDA8D1911F82835
+ 9C4FD7614A55C1E30171934412D46B3E
+ stream[448..511] = 21FE9B1F82E865CC305F04FA2C69EA97
+ 6D90A41590A3BD242337D87D28E3041D
+ 3D0F74CA24A74453CB679FDFFEE45AA6
+ 3B2DDE513D3F9E28E86346D9A4114CD7
+ xor-digest = 3E25D50331D9840FBD4F8B0FD10A9D64
+ 6A5E8E0ADE57CCDECF346B2973631740
+ 382139165B0E0E78A53E4B6CAABE6517
+ BF02B7B2905F9A64A60F412CA78E6929
+
+Set 5, vector# 63:
+ key = 00000000000000000000000000000000
+ IV = 0000000000000001
+ stream[0..63] = 42DCF10EA1BCBA82C88DDCDF905C9C78
+ 42A78AE57117F09CE51517C0C70063CF
+ 1F6BC955EF8806300972BD5FC715B0ED
+ 38A111610A81EBA855BB5CD1AEA0D74E
+ stream[192..255] = 261E70245994E208CDF3E868A19E26D3
+ B74DBFCB6416DE95E202228F18E56622
+ 521759F43A9A71EB5F8F705932B0448B
+ 42987CEC39A4DF03E62D2C24501B4BDE
+ stream[256..319] = 9E433A4BF223AA0126807E8041179CC4
+ 760516D3537109F72124E3534A24EA7D
+ B225C60063190FD57FF8595D60B2A8B4
+ AE37384BB4FCD5B65234EE4FB0A1EBEA
+ stream[448..511] = 3F9803DD763449758F008D77C8940F8A
+ FB755833ED080A10513D800BA3A83B1C
+ 028A53AED0A65177C58B116E574745D0
+ F28506A9DACD6F8A3D81613E00B12FDB
+ xor-digest = C0CA35A30730FCE3A6B08FD9707EBD1C
+ 8154F54266696A99430BCA8B9F94FDD1
+ A78CCB43CB67C58EFF3B171A38597F12
+ AA6A424088C062B97613691B7D12CDE6
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ IV = 0D74DB42A91077DE
+ stream[0..63] = 05E1E7BEB697D999656BF37C1B978806
+ 735D0B903A6007BD329927EFBE1B0E2A
+ 8137C1AE291493AA83A821755BEE0B06
+ CD14855A67E46703EBF8F3114B584CBA
+ stream[65472..65535] = 1A70A37B1C9CA11CD3BF988D3EE4612D
+ 15F1A08D683FCCC6558ECF2089388B8E
+ 555E7619BF82EE71348F4F8D0D2AE464
+ 339D66BFC3A003BF229C0FC0AB6AE1C6
+ stream[65536..65599] = 4ED220425F7DDB0C843232FB03A7B1C7
+ 616A50076FB056D3580DB13D2C295973
+ D289CC335C8BC75DD87F121E85BB9981
+ 66C2EF415F3F7A297E9E1BEE767F84E2
+ stream[131008..131071] = E121F8377E5146BFAE5AEC9F422F474F
+ D3E9C685D32744A76D8B307A682FCA1B
+ 6BF790B5B51073E114732D3786B985FD
+ 4F45162488FEEB04C8F26E27E0F6B5CD
+ xor-digest = 620BB4C2ED20F4152F0F86053D3F5595
+ 8E1FBA48F5D86B25C8F31559F3158072
+ 6E7ED8525D0B9EA5264BF97750713476
+ 1EF65FE195274AFBF000938C03BA59A7
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ IV = 167DE44BB21980E7
+ stream[0..63] = EF5236C33EEEC2E337296AB237F99F56
+ A48639744788E128BC05275D4873B9F0
+ FAFDA8FAF24F0A61C2903373F3DE3E45
+ 9928CD6F2172EA6CDBE7B0FBF45D3DAD
+ stream[65472..65535] = 29412152F2750DC2F951EC969B4E9587
+ DCD2A23DAADCBC20677DDFE89096C883
+ E65721FC8F7BFC2D0D1FD6143D8504CB
+ 7340E06FE324CE3445081D3B7B72F3B3
+ stream[65536..65599] = 49BFE800381794D264028A2E32D318E7
+ F6FD9B377ED3A12274CE21D40CCEF04D
+ 55791AF99849989C21D00E7D4E7B9FF4
+ D46AABC44AED676B5C69CF32BE386205
+ stream[131008..131071] = C3E16260DD666D8D8FBF1529D0E8151A
+ 931663D75FA0046132E4AD78D8BE7F8D
+ 7F41AAEFDE58BA80B962B8B68762CDF3
+ E4B06E05D73D22CC33F1E1592D5116F4
+ xor-digest = 10879B33D24115E4774C71711B563B67
+ CCD891E3825EDB58E182EC92648AE51C
+ DDC29A6A776C0AB3182DDDA1E180D55D
+ FAB024A3121BE45ECA59FF1A3715434C
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ IV = 1F86ED54BB2289F0
+ stream[0..63] = 8B354C8F8384D5591EA0FF23E7960472
+ B494D04B2F787FC87B6569CB9021562F
+ F5B1287A4D89FB316B69971E9B861A10
+ 9CF9204572E3DE7EAB4991F4C7975427
+ stream[65472..65535] = B8B26382B081B45E135DF7F8C468ACEA
+ 56EB33EC38F292E3246F5A90233DDDC1
+ CD977E0996641C3FA4BB42E7438EE04D
+ 8C275C57A69EEA872A440FC6EE39DB21
+ stream[65536..65599] = C0BA18C9F84D6A2E10D2CCCC041D736A
+ 943592BB626D2832A9A6CCC1005DDB9E
+ A1694370FF15BD486B77629BB363C3B1
+ 21811BCCFB18537502712A63061157D8
+ stream[131008..131071] = 870355A6A03D4BC9038EA0CB2F4B8006
+ B42D70914FBFF76A80D2567BE8404B03
+ C1124BCE2FD863CE7438A5680D23C5E1
+ F8ED3C8A6DB656BFF7B060B8A8966E09
+ xor-digest = 888FA87DB4EC690A180EF022AF6615F0
+ 677DB73B6A9E0CFACEBBB5B2A8816B2A
+ D0338A812E03F4DFB26AF9D66160348C
+ B9EE72B63B2866E8281A2DB793A3A68E
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ IV = 288FF65DC42B92F9
+ stream[0..63] = 71DAEE5142D0728B41B6597933EBF467
+ E43279E30978677078941602629CBF68
+ B73D6BD2C95F118D2B3E6EC955DABB6D
+ C61C4143BC9A9B32B99DBE6866166DC0
+ stream[65472..65535] = 906258725DDD0323D8E3098CBDAD6B7F
+ 941682A4745E4A42B3DC6EDEE565E6D9
+ C65630610CDB14B5F110425F5A6DBF18
+ 70856183FA5B91FC177DFA721C5D6BF0
+ stream[65536..65599] = 09033D9EBB07648F92858913E220FC52
+ 8A10125919C891CCF8051153229B958B
+ A9236CADF56A0F328707F7E9D5F76CCB
+ CAF5E46A7BB9675655A426ED377D660E
+ stream[131008..131071] = F9876CA5B5136805445520CDA425508A
+ E0E36DE975DE381F80E77D951D885801
+ CEB354E4F45A2ED5F51DD61CE0994227
+ 7F493452E0768B2624FACA4D9E0F7BE4
+ xor-digest = 0F4039E538DAB20139A4FEDCF07C00C4
+ 5D81FD259D0C64A29799A6EE2FF2FA8B
+ 480A8A3CC7C7027A6CE0A197C4432295
+ 5E4D4B00C94BF5B751E61B891F3FD906
+
+
+
+End of test vectors
+
--- /dev/null
+********************************************************************************
+* ECRYPT Stream Cipher Project *
+********************************************************************************
+
+Primitive Name: Salsa20
+=======================
+Profile: S3___
+Key size: 256 bits
+IV size: 64 bits
+
+Test vectors -- set 1
+=====================
+
+(stream is generated by encrypting 512 zero bytes)
+
+Set 1, vector# 0:
+ key = 80000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = E3BE8FDD8BECA2E3EA8EF9475B29A6E7
+ 003951E1097A5C38D23B7A5FAD9F6844
+ B22C97559E2723C7CBBD3FE4FC8D9A07
+ 44652A83E72A9C461876AF4D7EF1A117
+ stream[192..255] = 57BE81F47B17D9AE7C4FF15429A73E10
+ ACF250ED3A90A93C711308A74C6216A9
+ ED84CD126DA7F28E8ABF8BB63517E1CA
+ 98E712F4FB2E1A6AED9FDC73291FAA17
+ stream[256..319] = 958211C4BA2EBD5838C635EDB81F513A
+ 91A294E194F1C039AEEC657DCE40AA7E
+ 7C0AF57CACEFA40C9F14B71A4B3456A6
+ 3E162EC7D8D10B8FFB1810D71001B618
+ stream[448..511] = 696AFCFD0CDDCC83C7E77F11A649D79A
+ CDC3354E9635FF137E929933A0BD6F53
+ 77EFA105A3A4266B7C0D089D08F1E855
+ CC32B15B93784A36E56A76CC64BC8477
+ xor-digest = 50EC2485637DB19C6E795E9C73938280
+ 6F6DB320FE3D0444D56707D7B456457F
+ 3DB3E8D7065AF375A225A70951C8AB74
+ 4EC4D595E85225F08E2BC03FE1C42567
+
+Set 1, vector# 9:
+ key = 00400000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 01F191C3A1F2CC6EBED78095A05E062E
+ 1228154AF6BAE80A0E1A61DF2AE15FBC
+ C37286440F66780761413F23B0C2C9E4
+ 678C628C5E7FB48C6EC1D82D47117D9F
+ stream[192..255] = 86D6F824D58012A14A19858CFE137D76
+ 8E77597B96A4285D6B65D88A7F1A8778
+ 4BF1A3E44FC9D3525DDC784F5D99BA22
+ 2712420181CABAB00C4B91AAEDFF521C
+ stream[256..319] = 287A9DB3C4EEDCC96055251B73ED361B
+ A727C2F326EF6944F9449FB7A3DDC396
+ A88D9D0D853FADE365F82789D57F9B40
+ 10F963BC498F176A93FD51723FCD4D55
+ stream[448..511] = E0D62E2E3B37FDD906C934FAA35D5E8A
+ 89A517DD0F24CF33DE8495C5FF24F4B1
+ 476B3E826A1C90D74507C3991CEF4067
+ E316A04B97AEFFA5E9D1F33CB0609B9E
+ xor-digest = 44936C5AE8EA99630920CEC7C0FE9E8E
+ A6C5166366D543D3A6FCCE3EAE9B0DF6
+ 28C61B62CABD61B44F5610440C6798E9
+ 3B820711202105D120398ECB96C0C102
+
+Set 1, vector# 18:
+ key = 00002000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = C29BA0DA9EBEBFACDEBBDD1D16E5F598
+ 7E1CB12E9083D437EAAAA4BA0CDC909E
+ 53D052AC387D86ACDA8D956BA9E6F654
+ 3065F6912A7DF710B4B57F27809BAFE3
+ stream[192..255] = 77DE29C19136852CC5DF78B5903CAC7B
+ 8C91345350CF97529D90F18055ECB75A
+ C86A922B2BD3BD1DE3E2FB6DF9153166
+ 09BDBAB298B37EA0C5ECD917788E2216
+ stream[256..319] = 1985A31AA8484383B885418C78210D0E
+ 84CBC7070A2ED22DCAAC6A739EAD5881
+ 8E5F7755BE3BF0723A27DC69612F18DC
+ 8BF9709077D22B78A365CE6131744651
+ stream[448..511] = 9618FCA736A8ECA00BD1194FC9855085
+ 526ECD47A8DE1F8DB298AD49FCE935EA
+ 63B548597092ABAD6338F41AF87586A7
+ 0505F2537902B81F55E53599DABA84CC
+ xor-digest = C442D7538E8129F048E38EA1A6FFA5F8
+ 29F5B54D26A01DB1C0FA1B2E07418FB1
+ 872C5D96CDC250746C26BD803903E28D
+ 7DEC66DED9AB7DE6797C502B3D1B246D
+
+Set 1, vector# 27:
+ key = 00000010000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = FF852567EB72687DC56C122D61B2FB2A
+ 4FB9E8E8DA62313B618D10F8E0DA521B
+ 176E879CD78E641043F0FA4A22211566
+ 429B7C68EC645FF5E44B2505D61A2D71
+ stream[192..255] = E5B040B199C3DFC8DB1F41C74C798AE2
+ 62105477AEB1CE761D6FFF1CAB15AA1A
+ 7B7CE26B9CCE6DC33FD4522BF8F73E70
+ B843D67FC06FA2258F9709DB14FBD54C
+ stream[256..319] = 55706075E5FED81E2205994609868EFC
+ 383B3E4CC295C4214356BA41FC72BFE5
+ 4E6936FE6684EAF93C5973DDCD8E8F23
+ 767B82D783953F89AF4E808C90BEEABD
+ stream[448..511] = 7ECE71883742EE852C94F01AD85EA1A6
+ 76CC7CBC6EDFCF1BAE751455A923FAAC
+ 806BB72E6A982EC7A38F112445E25EB6
+ BC5B49C5E6C22DC8748DEE0942F6E8B2
+ xor-digest = 0058982850C947A63750238409A95FFF
+ CA5A559990EF1A60F038ADAAF965DD6B
+ 3931693C24AF075CC27663683B7B15D1
+ 0F7A4B6BD1AD61F35D67A7E632ADBF2D
+
+Set 1, vector# 36:
+ key = 00000000080000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = AF6E2EE1D5021675A92F02C764AFD94A
+ F3097F53532FC965EB861D6D12A3A012
+ ABA683A5281238CE76E3AF3944736752
+ AD86A5FD16E7DAFAF241ECFB0ADBBDFE
+ stream[192..255] = 19444E6D7C3D8BEC0957C3E785E1EEFD
+ 56B857F21CF8D325A4285F8DEF5078FF
+ 7B7EFB5E3B20F6E0906265B6F7580A04
+ 9CEC5DF1872DCCB54081054C0FC15514
+ stream[256..319] = 7EB544ADBF57D042E3A6753B13C65843
+ 0399764CF90D007E48DAFE3DA1FE3F90
+ 8EF4BFA6AF96DCD54197DA0D3A10FA35
+ 6A374DA08B9A84044E70EC70ED050D46
+ stream[448..511] = 57224DA912C62801DB393D5E3F4EDFF7
+ D61BA895F88C7391FE5C943B88CC4642
+ 0D11C3F1884B628F03C04A3C10F03FFB
+ CFC652D066BFD8DBF52DA2A72B9B9AC5
+ xor-digest = 9796755E92C0BBCABFF65DCC865EF240
+ BF5C2105C98EFFD368155FB2DFD06D3F
+ 2A4D7CCEE6A73DE51DF37F953BAF6BD7
+ EA28AE0B9DA94B7D2E05FC44389B4101
+
+Set 1, vector# 45:
+ key = 00000000000400000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = D203CC523351942C94E215F6D5CC1425
+ C5FFB2EA9A916C0D4F7B343333A58D94
+ 1DE20B5F543E3EE63C29D981469ACE48
+ 86ED9DEF839D4FBD20CDF9D001F1B89B
+ stream[192..255] = 9E37D2BE6473F4FA87ED294765816BB0
+ 8CCA625418155F6704CB48082A860581
+ A9CF69D9145D0DCB2621E1515013DD3E
+ 18819BEC5C186628ED545BFF7E4AC1C2
+ stream[256..319] = B8648B92B5A7B3B991722F0053909A3F
+ 052E8F7DABE7FE0E34498C1C550DE9D5
+ 3CE0818DDBA82F0616B3F79AD72B0BF9
+ B5FA2F2B8032B1860FAB0804934FBD00
+ stream[448..511] = 0CD554D10A975BEA79AEAC663F5FF984
+ 15883EB558925C5ECFA53D77FAB4B884
+ FE4D705B1E1B34A938C1C2D8528E1FAB
+ 4C9A7512F12707B78F2B6BFEE8D76E57
+ xor-digest = D570E4908F0A350A7D18A3039A94F070
+ 3F5FB6A5630594BEB15E15EC175F8E46
+ E3F1A3ABD993DDE832224D3192DB8A1D
+ 1E71A5009E2A6AB27C6A5989848F59C1
+
+Set 1, vector# 54:
+ key = 00000000000002000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = C45E28A2C9A80AC07A760580DCD96340
+ 26651B25BA2332FDAFC9AA16998317B9
+ 751A446302CDE95525C709E79CB55951
+ 4E4A54FD73ADAAF0AB3A3F1ADDABBADA
+ stream[192..255] = 17937670127CBF691AFDAD6D36994F0A
+ 40B3F369C21691B887CFE20B0F63D125
+ 8896C88CAB669ED6FABE464A700DA937
+ C43AABB45E60F14E6EBA69FBC9F2FCF3
+ stream[256..319] = 2690AB8F4616302C49D79CFE3AE29AA7
+ 9C4D1036E0CBB1D24C4682BCA0E1C1A5
+ 80904001185286AC3C63BFBF909F4A36
+ 525D2A732D7D166A52E087444DE24469
+ stream[448..511] = 9E5E91D8BE1E46B0BAD46ED9ACCD440A
+ 01882556B51C2B7CCC987A6C554201FC
+ 6CE8DA0B1CD42C011A085EB8FBA0F8F2
+ 623B6B9627EAEB91C05CFA3090A28040
+ xor-digest = B33D0D25BFA4A067F09A452AC147B2F4
+ C46BEC615D17D020CB9F39393433CF8B
+ 244607E5B7ACC4701A89EAB887D9035F
+ BC18163F59304929BAA5F25CE05FF43E
+
+Set 1, vector# 63:
+ key = 00000000000000010000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 5F7B6B86B0C197B960D8250B5106CFEB
+ F6F4DE0D94D3958945FA979534AFE19C
+ D5305C55A1404C59302F05ACC819D3A3
+ B0BDB9D154A45C0DEE52F25012DAA445
+ stream[192..255] = 20F99149AA74F631D22BEA8D85EC84A6
+ 57C2E8703B45ED36458F0ED47408C3C7
+ E6624A184E7CED17C93CBC9960914A61
+ E71083308CB7A55D7723C2B9E6A2F087
+ stream[256..319] = EBB0F7194EA7AE5D28B916D361B19394
+ A163A6EB124D37A372A798135E4F2FDF
+ 2EF422997F5AA1F9DFA3B1826431AA62
+ 99E0AEB44D844E297604D27974EAAD6B
+ stream[448..511] = 65CA9CAE36B65F58085D561A91CFDBE1
+ EA0400CDEB4AA1B987FAC06702590D8B
+ 39B6228E6F4B81BB91852971DE2D3436
+ C8C24FA193BC10BFC5534BF5915A245B
+ xor-digest = 884DDB758C2D7D1FA5B9DAC42756F87D
+ 9C1CF9E1EAA1B0B5BB032D2E8763EAEE
+ 261129C8340F163ABD66EEEEF507EAE5
+ BD230703C2A7C16FFCC23D063238F99C
+
+Set 1, vector# 72:
+ key = 00000000000000000080000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = B96FCF5A182789AD14E53FB2E981E496
+ B47C6B44BE7EF95692F19AE24E193219
+ 6E180778AC04A0EB2497497680587FEB
+ F412BB3A67E9538CA5B2A373E16E60F3
+ stream[192..255] = 953544577886B26F2F8D7BD237D7AE8E
+ 5D425523F6180C9591206E10E166C7E3
+ 06537355EFD9C32FF1C8808537BA12D5
+ B0E303DBCEC7DB3DA6E3A16DACB1E7FB
+ stream[256..319] = 9B416AA89BDC5589A1C9046D2D308B8A
+ CA852008C6503B373250C2639C693D9E
+ 164FC0E94FCFBB35D67D45DE1A3D838F
+ 302915E78470EB47654B87540AADF90A
+ stream[448..511] = 3911737593809A1A9FD14F57950AEFCA
+ 66E1E45475D39335DC01FFA72E431A85
+ 01E146994FAA64BA37AF255F1951B33F
+ CB28AAC76BB08AA0917B53B9ED64CDAD
+ xor-digest = DFED948E3423CF3689FFCBFAD85BD98A
+ 9785A39C7CAFCE10EC7C89686F9B45E0
+ F335D8FB649B07CA88D5D264CB47F133
+ 32538D762A8A38C5E1EEE97D25DF6442
+
+Set 1, vector# 81:
+ key = 00000000000000000000400000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 2B08D82E92AC352247211D5F0791DAC9
+ D585ABF67DADFBD7B5AC60EB2EEF4C72
+ F6F71CA110DEE4CB2F19FABE4F442B2F
+ 5F9FB1C94FBD553C21CD5B0CEF139880
+ stream[192..255] = AAD0055BF85562F06118CB260CB0BD5F
+ 374CD798021593F03A67134EA8A73B22
+ F00F09BAB770D1287FFF17CCF5F1CF32
+ 86833B57F4397B16A9F8351922042810
+ stream[256..319] = 724D557F9D7DA4AFCB5DC6D1040DD8BF
+ A14A0CC61F7206606BC99385D15BFED8
+ 9C4D69EFE5711A9E256C908AFF2734D6
+ 501C9D1AEB7CCD1029413BF7FA40848C
+ stream[448..511] = 8960F4D83E21984B3A6D5D1B667944ED
+ 12814CD390B107A502A4BBA620E3CE9F
+ 6DAF2D4629C828C59E86F09F1F435B4D
+ 40A1595C3D5B6E0744FFA546B22EF865
+ xor-digest = E63E2A4BFE4910ACEAEF896FC499955A
+ 04FCFE14F46F9A5273E9B61216A8AED3
+ 77A50ECE7429AB7FD8FC3A97C3A1B70E
+ 27B13A5B5486335B07132260FACD3E81
+
+Set 1, vector# 90:
+ key = 00000000000000000000002000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = C9969A75572ABFAA28FBE769A287A676
+ 3B534AF50B697C31B7F4CD8F50DDF2F2
+ 17B3C5532E95F73AF11B0693D5A33A34
+ DAFBB64635A195EC9477FDFD69AE7540
+ stream[192..255] = 6B358B53A60B9542F582FDE14B2711F2
+ 6CD1B7421B4D872B95E347CDD7D763C8
+ 73C2A8730A802AECA326FD63C8C4205C
+ FC1A6E2F4DF7A6ACF1E22A2BCA5379A9
+ stream[256..319] = AF64A04DB6B9CA63429E0D81CE975FD0
+ 2A5E3BB8C1A0C3D35636AE22F3733201
+ 2DF59549BAC23E992A1E4DD481F91956
+ 40C4D6EE0E083702DB18328D42D93BF7
+ stream[448..511] = 3F3FD5559C9C0CE3B5B484BD15E75CAB
+ B252CC44961C1ACA86B1722FCF205408
+ EF9841F947224170ECAC6503F7A8FEAE
+ 7281ED1D9A18C4C00D12C8E40F21876F
+ xor-digest = E759CFE55228EF54198A82FF8E11D269
+ 05EC81CAD0A4736124A5391D34ADB50A
+ 3956FA5321AFCD7AECA3E9D3E0FAF913
+ 502358257426307F76EB55A8184DBA88
+
+Set 1, vector# 99:
+ key = 00000000000000000000000010000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 698BFC90B147715FB9F0CA1DDC94EE10
+ 3082316701CDD1DF2EAE752BA485F585
+ 9E131D0D9233B16890BD5946CBCF116D
+ B50E8E2DCAE104162C7B76CB3D11445C
+ stream[192..255] = 07D49AB7BA8451A2A68DF473C6D1E91D
+ 407038568FADA2DB948ABFBBE408401F
+ DF5960241325F2981DC17EAF1C333CDC
+ 91E27EC064734234656AED7A944AD78A
+ stream[256..319] = C152FCF951DAECBD48EC1D0122A4EA00
+ 9FB8FD03E35E283109DAA4E033783990
+ DADE92932BC6410CE1B6ADE414AAF782
+ 8DA024FB2C3F4135DF6C42A347BD3E25
+ stream[448..511] = BD0CD02750FE445A0C03D2EA30D73684
+ 07DF4B13CBE8E3CE2DE2780F9A90983B
+ 9EB919DEF1EC22EBEE10F584B6FE8F99
+ 1374666D378C7C20CB5AD1771FA7C799
+ xor-digest = 7D24B8DDED30B6B17567C7AE46FE517B
+ C5700ED002A54CE30DB17A2ABC9F37F7
+ 1F6395D4E2C7467AB73483B89AEDC212
+ B9FEEA18E4C08DBDFD8A39DA31FB7EC5
+
+Set 1, vector#108:
+ key = 00000000000000000000000000080000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 07AE6801D7A94836ED52CCD69D9E97F6
+ 34B136A234B978BAE4302F475B0A6B0E
+ A7905CEE090F648962BB969CB4D65228
+ 03E1ACD1DCBEFC2E7482C0D426E4BD95
+ stream[192..255] = 145DF9D539C59467F55E67D959FC8C8B
+ 2CB0397F64D6F122C3F2F1A19E0D67B6
+ 9696EADDC6DDA6E80D5A0C0AC1F555A9
+ 21C054E0E75EBB246C8E20A854A38E93
+ stream[256..319] = 2BF710E9709B5178E5E50B421BAAF59E
+ B1F267F41C60E9E91695D658BAD32497
+ B56868B8738BAA6A15BDE89D69900ED2
+ 742F26285504C3D4748F77EECC0D4A67
+ stream[448..511] = E93A249CE755F099C81FA40B5DA6256E
+ E185FA1EFC475EB404BB68C13A921FA5
+ 78785537DD65964B9BF77F68DBAE4926
+ 9F5061B19AF08B82C372AC69EB64D762
+ xor-digest = FA4EC052E9C9712474F1BCDB5C09A6D8
+ 9A9F1843381F098CF3F9ADFDE0115133
+ FE977491C6365F5C5BB78BFF42B20EC2
+ 60193927289B597BE42EA7A0FFF6C3A2
+
+Set 1, vector#117:
+ key = 00000000000000000000000000000400
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = A374C1F86586B0D5A121E1F734EE70CC
+ 7072284B322BF61F88336EBE84B53219
+ F4D1FEE2C5EECC4A421BA8AEA9D108E7
+ 21A7A82DD979F2559BB0E45CC88C8780
+ stream[192..255] = B0CA15C769D66B26CA4A6D4772AE3521
+ AEA4696890998954F33ACA8638FA50E2
+ 9981C2F84596D9371644D18E3EB267E8
+ FCCC98D95A2FB38639D32468A3013B5F
+ stream[256..319] = 1CC3AE9293EE9CA19C12D9ABD7000F99
+ 047B86A868E82A839DD95418EECB23CB
+ 4B4A08E3EF69CC639DBADF3F5F33FAD5
+ 0762C2603DFC48882EE8D2346FDB426B
+ stream[448..511] = 0D6EC570BB04230AC35B49A1271336CA
+ 721E0395F63D306554158154CA12FB62
+ E8D45CF5E21A311554DE9DF5D90CA99E
+ 9B7FAFEFAD3597B50A17FEEDD9966884
+ xor-digest = 4C47AD8677A22F3587C4C25DD7A4A8CF
+ E144E34FA7567088BD9DC4001911A531
+ 83860E9CDCAB006CF50AC00B95C95725
+ BAE29E53648CD27B4183A213E5855E8A
+
+Set 1, vector#126:
+ key = 00000000000000000000000000000002
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 19F23D5CB3C7303D56AFF18413835EF3
+ DF7405C30BE5F19C72FE8746BA04610D
+ D5D261FB3A0E8C11D2478F4A4D6CF820
+ 9730187BB1386C03229F4EB02C5B4422
+ stream[192..255] = 7B814D9DB8DC9C8397C23550DE194BE2
+ 74694399A8B2BEF6B8095704C2A29E00
+ DEED66C8191F67BA9C048CA41DA4DB05
+ FDEAECBBD0727AD9664563991A22EA46
+ stream[256..319] = 7B4DC904BA9FC0CBB054FB57DAE11C58
+ C9505A98E319B43FBB9C30DA2CA7E6B8
+ 7A42F1E40774A6657EB3EB2C33B5D365
+ BB92A8CA0CCD5B71C17F7022DD840E14
+ stream[448..511] = 5B2DB8E73DB53C289E8479F524953BAF
+ D881E8A366899440175CB2B93F8EBF25
+ 3911652B3C7EA35B41B409B4BBD0BD93
+ 95AE5A2AE2368B7A43A0F9844239E3C2
+ xor-digest = F80AD4DE8D937A57E230BFD00A4AB8C0
+ 65DA8978DD9C51E6F998E393C0B888BA
+ C772F76BE8AD5D501425465AC5C05D82
+ 63925189E928BCA52AC7F4A738D46102
+
+Set 1, vector#135:
+ key = 00000000000000000000000000000000
+ 01000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = B18CFBA23F81884FBFEA037648B1715C
+ EFAEF1D8CD5C98957353E82B838FE332
+ 672B3D7C2905979698F6F6D98EAAE8F9
+ 8DA16EF393CB150228FE6438440C5759
+ stream[192..255] = BF285CEEEE6D66ED9A401AF86B4F1B0E
+ 69B5ABF625D0C35220F9E6198FF5C225
+ A728EEBF67EDC8690ADFB6A2E43ED7BD
+ 2956A4915A8FF4BC584C803C87B03956
+ stream[256..319] = 0FBE7818D981B60177DD1C7ED21FC23F
+ F088EEB3A36A3DB18E37BAA312642BE6
+ 481F6FBD4C6A3DCF6990D3F5E0F02813
+ F66F42B4384F3821E9F2A5CC7AC37029
+ stream[448..511] = A72F53B68BF3E6972515790869B97667
+ E353E1CC089AFA194B8ACFCC4C033567
+ 4B2E9E0290501D24D87B80AF12C636B9
+ 3902F09252F77812802151798FDB831D
+ xor-digest = 8811ABBCDCD51C0E367CF0E2A78935BE
+ 1FC6E462D026D995CC1B754E2DE7CB83
+ BC06112D2AC813006F2A32F8789AA939
+ 4DDF3A43DF247BFE94F456054AA057A9
+
+Set 1, vector#144:
+ key = 00000000000000000000000000000000
+ 00008000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 0EEF3E17B6B9388FB55C2C0AEF9716CB
+ 106786EEB0E606E124C41AB552EF3389
+ 7902AA2AE93D9E4628E785B356C53AC9
+ 70BDEE2A7DDBAB427371903EF3EC9FA5
+ stream[192..255] = BA437BE85A1152B673AB7F39345534C2
+ 6B53227FC8E99B6EEBCBBDC00B436DBD
+ E6AEF836EC78AC581F251D0C61F56404
+ D275B1DF39294B26CF24F4AC0792D176
+ stream[256..319] = 381C3C583CFB20763CDBE072668FD1A2
+ 557A35901CDC8595393181AF1610300E
+ D751154C050D8CE0354EFD30D05251A9
+ 7F215A48F8924B4A68FD475C793A0543
+ stream[448..511] = 15E30D96D2A42C99DB1030B5280A6313
+ 2AA665B57DEB3AC6AAC8DDC1450C899B
+ D0DAE783A224134232687459917CC525
+ 6D76929A153950DBFF7D12CA21EE77C9
+ xor-digest = 360A5D8ADE0ED311ADAFEDE072335406
+ 51A262FA795DF4B5FD3FB0041702B961
+ 49DD5DE99DE88D28EC9E87264AD9C5C1
+ 6CC9C1A21E01678E6800B3140F6E34E8
+
+Set 1, vector#153:
+ key = 00000000000000000000000000000000
+ 00000040000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = AE5572D5E61A992162AEEE513815339C
+ 93A994DB12576D087EA4A9A98EA5946C
+ F58794B43515A4B55C5E9B28A882DADE
+ 7D3BFE82B32EC3B604D2C1E1B37B1B99
+ stream[192..255] = 247616FFD99152BBFA71D2225AB667DD
+ 1999ED6E2AC64F60F43B3DD1EA5E574A
+ 47C52B82E3FBA3443996EB1E842D11EF
+ 78572638CA556157674B0A38ADF26F8C
+ stream[256..319] = 1BE7BBE4FA4078886183F1DC9E296911
+ 96106D005F5D653AAE744B2506401723
+ 30F38DA7C5CA81F38A879D79FAED5B23
+ 37045434875074B65D7E126DAF8B728F
+ stream[448..511] = 89048CF63BC3AC13B4637487735B9976
+ 2707C4161EBD6788289F2BAE38D3B68D
+ 14C9A49E26573E3604D8D9907D151C75
+ 6728F3D9A2A6BC118E62390BC0DBACA9
+ xor-digest = 9FBC8803149CCF3117F715A0343789DE
+ B0D5B7B16E34689DF65B83B5111AF91C
+ 590865CE8A73D8DD5A6D040832CA4604
+ 488D0592F87F90D74545439F9A6DE8E5
+
+Set 1, vector#162:
+ key = 00000000000000000000000000000000
+ 00000000200000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = BA66E5BA75AD8C4030AE54B554E07A97
+ 29685FDF033CCC35A153334E9FC93A90
+ 3C79F281907BADF6F37123819ACA25E1
+ F03BA0AC69D9B2D5E447F59F31A7A402
+ stream[192..255] = 6B0FC33710282B08A33917D23186B1CE
+ 0964104B5B8FC229CFD79BAEFF04FF97
+ 07AD12904B3673B15B72428BB3FDC0FD
+ DECFF9AF8606456774B1B3B53AE74C5F
+ stream[256..319] = FFD0D5ECE17F9C1890199A4F201333F3
+ D55A0AE07B1DBC50A704FE66493B71AC
+ F802534FCD7BAF86B140CF87C582BC02
+ 59EFE52CB2D1A64524F948A86F756E21
+ stream[448..511] = 81EF72B6DD7F8043A078486BF0DFA634
+ 7CF53FF6432432B45CC740533243D6E8
+ E936A5E6C1CB688388D6D97BFE48C430
+ 0325A4B5DE69825E6CB5409FE9518708
+ xor-digest = 6F8913AC7CC348D3F4A795850332BA5B
+ 9E6C87113F126686D5E10F728D8585AD
+ 3872C4FD4CDB446C23FD56E288E1FEEF
+ 3D65E9C600B7BAD4D476CCF40830B410
+
+Set 1, vector#171:
+ key = 00000000000000000000000000000000
+ 00000000001000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 59DBEE08FB86EBCBEBFFBF087F9DD881
+ 2AFFFD75414B5162B5E7AE540BFA8777
+ 5BEC4982E1F4B6985DC8B2B25F061947
+ 61BD6BC5EFD66B2A1EB12833733E5490
+ stream[192..255] = C54CDD55BBBC09038A772D1FEE876EF1
+ 88110319FD6D7B306E9F5ACBF3C47824
+ 9E4CD2C8C11900DBAA39F8F7D57724E3
+ 70606016AFC49DEF5248964A416E0DC8
+ stream[256..319] = EE1C6E2F9DA5404012821C3DBE703D47
+ 1FF717042C20DDB4743246448F431DE1
+ 53BADF69A059D161189D20B8F22F1F7C
+ C491B5B2F5CDFE7A779A0F9DB0C60586
+ stream[448..511] = 85E92E3EA90E7EB79A9D3894D0B21153
+ DA80FCC6DA7631A1C38EB38C78A1BEF2
+ 321265349CB5FCFA22E5FD02648BB37E
+ 74D3152011F7640A0FD42DCC9457B2AC
+ xor-digest = AF4B9782FA0332C8A6344DECDAE4FC2A
+ B63769CA35799A664FCC0A91A6F3C0E0
+ 689281D6D2BB4A856286BADB4986DD56
+ 4B7BDEB2867F5A2E20FE0B4311C77924
+
+Set 1, vector#180:
+ key = 00000000000000000000000000000000
+ 00000000000008000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = FD1D039AE6D953654A63334A92CEC647
+ A671CAB6374DB63B89DA1A12B99C231D
+ C7B9418D44210CB0C88F114EAA54AE4A
+ 096FEFCCBF51062E8EFD169715677F28
+ stream[192..255] = 119152E46B97338C5E50A28DB78757E6
+ B21C9C03AA9D96B5FDAC9D352AADF2F9
+ FA0FCA07649582E7288297E9CC765846
+ 2D929ACED1F14E3AEE634CD2086D1762
+ stream[256..319] = F9C91CA01A70253BC6D88A8DFA00537C
+ E635634769E8867B279C1A052A921F14
+ 8810FC8854BDF58F99E36FEDBC6E6E6F
+ 78BC8F82DCD18D408B3B4F8BFEF12F12
+ stream[448..511] = C22A3D49E727785EA32E83E79E349D62
+ C2647AC6D531BA2D466CCD7CF29D04D1
+ 015D41A79C9BE4B0AE1844DBDBCD7FE6
+ 765EB95A0D5E121F48840937AB399C6E
+ xor-digest = 422309F77B0CBD9E17E58372079547B2
+ A42EC06690AE889CB3095B8489734124
+ 2D7951F73579E2F66B26503723CABA8F
+ 5EAF869887D090BCF20344757A8105D0
+
+Set 1, vector#189:
+ key = 00000000000000000000000000000000
+ 00000000000000040000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 72491EC81A704E3694C83FCCC47CF5E8
+ 7B66F7B7979F78D8150A606ACDCB4492
+ F64A9D7D9DAD5042F8738DB462F4728C
+ 2475F5FDEE985CD3601FA31F576712C3
+ stream[192..255] = 17566EFAC19AFD1ADDEC66F42695006C
+ EDFBA525E8F41DB02BE50D2AC4CB497E
+ A10C6DA38ACF39BB608F40AD854F69C4
+ 4A0FC6696F6FA8361CF26D5411B1C7C9
+ stream[256..319] = E3CE396F970BC54C9E46B6129B48616D
+ F7FBD0293B1EFEB772D99CA90BCE12A4
+ AF729DA0B94223A3D2F0B9605DC04BF9
+ AE82E065C1B963039802BE6354D3EB2C
+ stream[448..511] = C0B2081FF9B7F2DDD59EE6808F6181F0
+ 4CD19D4B0D3F032D5FC0EA2B81D49276
+ BD6E540648576CEAE720411523889D3C
+ F14BF05DA43D8D6155B7D98B021F269E
+ xor-digest = 85395D5EA1C9428817FCEA56DA0978E4
+ C4B244D9556FE87F19806664A8D9BC42
+ C0A69A717F1AAD4E09200120A517B73A
+ 2F3FE01BE24B201508D801E416AD6AA6
+
+Set 1, vector#198:
+ key = 00000000000000000000000000000000
+ 00000000000000000200000000000000
+ IV = 0000000000000000
+ stream[0..63] = E3D058FC000427B4F0802300E5D7FE9F
+ 8E3F68E9E8339E9F4C5DE62252E14857
+ 71371DE4D2E1C97DC4172AA378924AB4
+ 2CADF887136B88D6FEB6514538EBA847
+ stream[192..255] = 80CE800DC11805A7522E3B423699D68B
+ 51BCCE201ECA4F8E465C5A58A558A71F
+ 019A22593CBC148A76647A527E635A23
+ 4096EB22F081F39B5A9DC7649277726B
+ stream[256..319] = 30A91E7D2CDB7D1B080750B433A14F7B
+ 6EE602EB53D67AC65B7E4219B533AA6C
+ CBC1FCAC070270D595CF9E90FD3C2D02
+ A707F7C1F97059DB3644F50D236933B0
+ stream[448..511] = 79FA6D08B8DF687EFE868E67643CB5A9
+ FC5FECEEC258E67D831D20AD3C8CBECB
+ 51F1712A0BAE64202FBF66A1FAE767C1
+ 68A9B0C4BE89FCF2F6D2DBC5CA96A4BB
+ xor-digest = B76429935B5D578116D0A303D8A435C8
+ 93BE1D132E2025922F192D5985E198BC
+ 5F07F6F16A8FAD5CCFB4487826366AA9
+ B60FCED5994A8740B0DDFE3F9AD2A408
+
+Set 1, vector#207:
+ key = 00000000000000000000000000000000
+ 00000000000000000001000000000000
+ IV = 0000000000000000
+ stream[0..63] = FF0D93064CDBD91A8D6BD0B9267A4F93
+ DF7D3C76BAA5D0D14798812203C55A34
+ 3BD50E6931394DAB88F514F44E2A1FB5
+ 8EF3A915F3B60DAB35E36174AD92B3B1
+ stream[192..255] = 074A711F8BB92EA6953D21F9FD7AAEA9
+ 1C12D18A2B18E8D325DB04029B5E8EBA
+ 43C408D3D4EBE049440CFB716BC3ECA9
+ 1929E009ED7EA0EA7273E32C13F44346
+ stream[256..319] = 6BD5DE42827A81941C72012219EED591
+ BE1AFE19DF91C8B7284DF2AF4050D7EB
+ 674DBE78680EF4F8963D59ACB05B43D6
+ A52B7CEBEBDED9D3268D0500699A036F
+ stream[448..511] = 9748C1BA603FE3DD4435A25F2ABF18B4
+ 9F25ECEBC3514785406425E03ACD369A
+ EC91463FDD5F3611F06870D513B10DB7
+ 730F3328C22312DE7329DF8CB43DA5C2
+ xor-digest = BF19031B4F8884F9A290E543C517998E
+ C8442A227DE1D46F5F441D5D586A215D
+ B4A24A2965F5FD3C70ABF296C55C4333
+ E3C9B2FF671080BBA28C24FDBD2C8370
+
+Set 1, vector#216:
+ key = 00000000000000000000000000000000
+ 00000000000000000000008000000000
+ IV = 0000000000000000
+ stream[0..63] = DCC597DC08E1AD1451E69D857AF803BB
+ DBF7CD6D510D5C59C9D6C66EB153CC79
+ F9A6228ADEE570983E959788628F174E
+ 5833B5CFA350C0C2D8A18F7FE46BB4E1
+ stream[192..255] = 8CCB839CB382DB591B5C80F6DD7EAE7E
+ AECB3C8BF29C9C6074058A5EA04E2E58
+ 675B4537B8FD061BA7E4195AD2A3EC29
+ FD260FD19F0AAB3DCB7BD483ED8FB860
+ stream[256..319] = 73E92E3449C863E55E9A41B0DB35805F
+ 344FB07E4C3CEFF25B261819140C849B
+ E90639644C542880946582842CE5B1D9
+ FA2DF07B5589C8C68BED84E15DED4AF2
+ stream[448..511] = 693C7F397D23C831431264E9BF4EE963
+ B8A43C6ED939B324FCB8AF1032BAC678
+ C71F1DE8BA3A8090948872FA9C747AB7
+ 67F7D162FD8B6F484B81AA54151612A6
+ xor-digest = E6732941C20C6DFF6276F6A21A461777
+ 638799041F1A360D7C8C88B1A8E9CA8D
+ 989360840F8E16C72890220E51A7913B
+ 6B5B74A70D75B7D9F26BF7FB5C8C7C78
+
+Set 1, vector#225:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000040000000
+ IV = 0000000000000000
+ stream[0..63] = C94A72C1B17F8B9F26420BF06B3A5445
+ 20C658D5F77ED7D62CC65AF824BD5678
+ 98EE4928AF0E2BEDEA64D5A7C22749C3
+ C16369D274EFD2A6DF2CFCCB130A1144
+ stream[192..255] = 2130A7225D4C78BBBB8C5122C18851A9
+ 32A78E360E62E56058027C624DA49EEC
+ 34DCE5ED9F66D78B44334CE0E3317AFF
+ 5BC78261FA4C96A642E846CDCEA4C242
+ stream[256..319] = 575EAB318220A54E5B2B0A8EC7F54429
+ 0719FE422C646E1114D807201416F37E
+ B5CECDB278AFC7CDE84E6DB5CA164840
+ 2BF9654D1C4E96A3E7BF5C19C84CDA71
+ stream[448..511] = EAFC6C17BF190180FFD817644D7933C2
+ F86989ADF705A72B04CDF8227A164596
+ 7BADE4A0E706039BD84702395B9A44DC
+ 7368E198B01335577A28028FE2F6056D
+ xor-digest = B26E45B88EB4359878EC471C5A5814D5
+ 10F435CE44D1A77A50468BE21F48F7B3
+ 7D5B2DDA0389405CEEA8998A9C3480CE
+ 9F30A02408B065F28543BFCBBB159AC3
+
+Set 1, vector#234:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000200000
+ IV = 0000000000000000
+ stream[0..63] = 832A824C044E27605AD9A3201EF106C1
+ A19B6FC6EA5B328DC1D1FC59086C498D
+ 47E7568CFA9616D7D5E63D9C087CC426
+ B4276752E0FF14D7F1E258F9A28A54BA
+ stream[192..255] = CFC021E1EDACD733768D3412C0DA7177
+ 7AF74D147D075BD5497BAD89B84D0A66
+ F7F4D0E46B77510AE3FB57C0DB9F9922
+ 111337BDFF89A9169DB16B38F305BEC8
+ stream[256..319] = CE311109342E1A41ADA17363B0AB030D
+ 1BE9C62F15C2A5D8FEE2BC9819F2E064
+ 6880D350E547824BDDFD5BE89C43F23D
+ FFA366BE34629F6EE929E2701EFA6829
+ stream[448..511] = DCE864E5E336A7B51A7FFE9E4C8C1FBE
+ F5F4755A0877EE91D61D1F20F29485FA
+ A879323F2566590917417C4AC0076CB9
+ 81EE78C58741506F725BC58743957CAC
+ xor-digest = 335D243CF73622A761D728CA87A083E8
+ F7EA67FEFE422833C9B963A9433DF43B
+ 02606FC5D67FFAB71724AD78339F51DF
+ B7CFD78C0F5472EF7727AA5C967969EB
+
+Set 1, vector#243:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000001000
+ IV = 0000000000000000
+ stream[0..63] = 28DD9E566F018FDA0251E1E648057E85
+ 211831E215AE21525E04C932736245C2
+ 288AD4A197E4ECA04003B85C3B80D02A
+ 9B82C28E7662A34467946A34257D8D0B
+ stream[192..255] = DDC4A6A1AAF92AB32D2958DE67BBA593
+ 338D7EE4E3A412C2374A5D63E6CD7F56
+ 51F518251CEEFE1E63636DB2F432F407
+ 88D4C0163738446515A62637695D782E
+ stream[256..319] = 107AAEEDD6C459411921177468E3D013
+ 50C40AEB41EE50AE196754BBCE5559B9
+ 7276957DC73141981DC087209378F87F
+ 89C8423ACE0EAE8C5EFEEDEBCBB20618
+ stream[448..511] = A3FE61185B31AA80EA384B36CEC7F41F
+ 19F2E55614BE22852E796963326B9F49
+ 72E8A316D4A6653CCE3FE06014C0F5BB
+ 6E4E64B439109608FEC6A44C15384C13
+ xor-digest = 3597FEEBE687F754D35F2BC480810C34
+ 1A1D557F867C07B83CB8A8890CD090F0
+ 0E6C6CA3CA9B804AD70B40747DCFF18C
+ 7F830FA6630EFBAEAB4B022C22B892A6
+
+Set 1, vector#252:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000008
+ IV = 0000000000000000
+ stream[0..63] = E48C2F264BF9E8374B78FB652BAFF1E3
+ 3ECB4B1C635D76A64ECFC4BDE00EE5C8
+ 77E1094D6480CA382815CCCD5CC36770
+ 46E801C29A860EB032420DCAEEBC36F4
+ stream[192..255] = D2EEE83D63F96B0B7E6D8E0C72B6581D
+ 50AF4081017CD62A73789C8C2DC5483F
+ CB4067C71FDBFD6EA8882FFBAC63BC9C
+ 5E4F438A2ECBC71627646539A5BFE1DD
+ stream[256..319] = BDDA0B90B24A4FF5D535E12D075DCE84
+ 6D6741F809D105DC03552A3F13AC88B2
+ F98411A1C19CB32FA3F595CDD8F87608
+ 3C057E42BDD903A055F13182CA080F4D
+ stream[448..511] = 44E931EF73A9AFA565EB9A8E6AB1AA3B
+ 9F14FC198B41909CB31B532F9EB776FA
+ B51FFD895E7F266D1D275463282BD7F6
+ 62FBBBB5629890A4C68B6F6CF8200623
+ xor-digest = 151F615109FC211C0A7AA4DD2CEBB984
+ CFE9ED0486E8C552233AED574E9983F9
+ A9DD738D23F2D307DC313C634A42A805
+ 18B616A250C0725694750A29413DA8F1
+
+Test vectors -- set 2
+=====================
+
+Set 2, vector# 0:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000000
+ stream[0..63] = 9A97F65B9B4C721B960A672145FCA8D4
+ E32E67F9111EA979CE9C4826806AEEE6
+ 3DE9C0DA2BD7F91EBCB2639BF989C625
+ 1B29BF38D39A9BDCE7C55F4B2AC12A39
+ stream[192..255] = 2F3C3E10649160B44321B7F830D7D222
+ 699FAE0E834C76C3997985B5404808AB
+ 7E6E99AA1FEC2730749213E7F37A291A
+ A6B5AFD2E524C2D608F34D4959930436
+ stream[256..319] = 8598D1FA94516B474B69DA83E3C1312C
+ 49A05B8283B880B31872CD1EA7D8F1B2
+ D60A86CBA8184F949EA7AE8502A582DB
+ 392E85C4D70D3D17B2E57D817A98ED6E
+ stream[448..511] = F86C7489712FB77896706FC892D9A1C8
+ 4BB53D081F6EB4AE1C68B1190CBB0B41
+ 484E9E2B6FEA0A31BF124415921E5CF3
+ 7C26493A5BC08F7620A8C80503C4C76F
+ xor-digest = 7C3A1499A63B507B0BC75824ABEEAA26
+ 109101C5B915F0F554DD9950045D02FA
+ FF815CA8B2C7CFF3625765697B80B026
+ 7EA87E25412564BD71DD05843A60465E
+
+Set 2, vector# 9:
+ key = 09090909090909090909090909090909
+ 09090909090909090909090909090909
+ IV = 0000000000000000
+ stream[0..63] = 7041E747CEB22ED7812985465F503331
+ 24F971DA1C5D6EFE5CA201B886F31046
+ E757E5C3EC914F60ED1F6BCE2819B681
+ 0953F12B8BA1199BF82D746A8B8A88F1
+ stream[192..255] = 4EE90AFB713AE7E01295C74381180A38
+ 16D7020D5A396C0D97AAA783EAABB6EC
+ 44D5111157F2212D1B1B8FCA7893E8B5
+ 20CD482418C272AB119B569A2B9598EB
+ stream[256..319] = 355624D12E79ADAB81153B58CD22EAF1
+ B2A32395DEDC4A1C66F4D274070B9800
+ EA95766F0245A8295F8AADB36DDBBDFA
+ 936417C8DBC6235D19494036964D3E70
+ stream[448..511] = 5CF38C1232023E6A6EF66C315BCB2A43
+ 28642FAABB7CA1E889E039E7C444B34B
+ B3443F596AC730F3DF3DFCDB343C307C
+ 80F76E43E8898C5E8F43DC3BB280ADD0
+ xor-digest = 8FE7F0A88BD73434364D9D9FFC95F837
+ 2C8F2B8808A7996239C9FA7E81F61D46
+ AD3C4CD426F149B186A298C554CCE61E
+ 661678F992DB556AFBDC541C814D3C21
+
+Set 2, vector# 18:
+ key = 12121212121212121212121212121212
+ 12121212121212121212121212121212
+ IV = 0000000000000000
+ stream[0..63] = 7BCD4C5528F4BEAE0FC9F164CEBEC73E
+ D89CE32DA46EB68CA3CEDAA7C7A580FB
+ 1C50D291F31C38DB2811864F6654098E
+ 141A2213828593A98B7D0020BF0D6D93
+ stream[192..255] = 87DCAB67C8D5A90D17AF198D3A22D432
+ BC82C06872F0E61B3A3D1A1FC14527D1
+ E8C3C9CA50E5BF529621C2860ED304F2
+ 7E6E427A9BC64D0FC6E2E16BD40C434C
+ stream[256..319] = 121F38D31A0ED8A6D72F4C6A4678A7B0
+ D3054A6268D02C9C6766069427722606
+ 36CD6D79F81C64412A93F10DB68D1B86
+ 962DFC41434B1C65AF4770F7D185514A
+ stream[448..511] = BEDDFB9B60B204E0332726D7D7E90640
+ FF29318A164A9551D9FA477D7E437273
+ A0E08EC35046CAE10BDAEB959F44E9C2
+ A09FFFBAA7A89B7B9F1AF34948FFFE9D
+ xor-digest = 3F8C09148423C1FBE286530726434747
+ F6362345A359A66A6066EAD149C4B1C3
+ B33E35608825D5618D924A7D5CDE0CB8
+ F2A0626D34F894C293FCAA83D162A460
+
+Set 2, vector# 27:
+ key = 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ 1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
+ IV = 0000000000000000
+ stream[0..63] = 944B67EAB62DF3756085CEE577D0C1DA
+ 4DD7CD17B85F9B9C51004107C8AA6935
+ 7E413AEA37BB512BD8246F2D03E2748D
+ 3BB24B60C1FBE4D1A55237FFE3D4D604
+ stream[192..255] = A9574AD5FC6A0D4A57FBE98AB5122A54
+ E2C355524AAC38580C659AE4E906F14C
+ 3FB5A096586FA808F5F266182D26C784
+ 72B116652EE1874CB5CF007DF2E2BB5A
+ stream[256..319] = EE5A306A60C83E209ACC5F3D60E17D90
+ FDDC0D790BBB7B1EEB635924A4C7AEBF
+ 3ADE18F1F2F03C1E74093847B8F9225A
+ 9588E92A826444BDD143B38CC3934FBD
+ stream[448..511] = 33DDC526B91BD452296DC8ABAEE7C65A
+ E7D8CA37FE66166B67570726639841C8
+ 559405236A37A104FAA3F5A1A1932D57
+ FFE36EC16D439B1C291DD11638C50730
+ xor-digest = 8FF9D4A8277BA858B70F05FBAF80FC6E
+ 31AC1CC81E8D847721CB632FA757C4B4
+ BAF548A4764EBA7206009A5B99A00089
+ 7717410EAA1D4ADC9F6D619EC2D6C511
+
+Set 2, vector# 36:
+ key = 24242424242424242424242424242424
+ 24242424242424242424242424242424
+ IV = 0000000000000000
+ stream[0..63] = 0FDF243C21DA8B291097C9F385DFF2AD
+ 4FDCA5EB4FA7E4C23CC61FA1A582EB23
+ 5AE23454DF6F19B259E498F746F9EF35
+ 491F77DC53BD596AACCB9FB7B5EE8ABC
+ stream[192..255] = A92CE971EA8E2ED7614325F0C47CE1D7
+ 200B94EEB7FB4E31CDE640696ED6449F
+ B29A9F19EABE323B776EE9460C2448E2
+ DF83206A401074E3254C5AD6C194BD99
+ stream[256..319] = 6F988009D4C82F523611DE08FEA23680
+ 02FA5A615E8EA831A76C7CABCC92E1BC
+ C02249FD76DDEA5C00FEBC391613857C
+ 97CD684B23C6D9B40F1C5254404F7CA4
+ stream[448..511] = 61503589A014A6F800A5D93803517581
+ 988262122B30755A337F81EF3B326125
+ 51ABCE838C0A57795EED2F26173DE6B7
+ E4BB6E37EE7F98383658A7BC47976321
+ xor-digest = 3AA2F283D77DD949C9EBF1B4EA95D9CE
+ AEC299832AE766A1BD617F56473D3031
+ 2B81DF89D0EB79669F1A044042213F93
+ DC7F0A2D4B6F089153C6FF9095C4E69C
+
+Set 2, vector# 45:
+ key = 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D
+ IV = 0000000000000000
+ stream[0..63] = 3D9EA1F4A3036C92CF9E0D6BB20824C0
+ F57818B3C84DF65AE4A1DE2A058F8BEE
+ 242F9BEA42A78383F98AC998BE4B1EA5
+ 401BEA5250611CFE6505AA5F43C9A262
+ stream[192..255] = 8C2F23B3E0255982DB921D035B507433
+ 2EB98C31143E19F5FAA40547D0819157
+ BBA1B6B5C3177AE45074CF5E711195F9
+ 281A71E62617F3A1E582D4F89FDAEC4F
+ stream[256..319] = 5D1ED872FD20FDE0C98FD76503F538B7
+ 538F5061D3A3B12385B4BAE7C8CECA20
+ E47EBD5C96F88D78230B5D3909CA9B0A
+ 4BDDA1FD1F561ABEC60524C51559EF45
+ stream[448..511] = EA2F040B9DD538FB258C9289F5CB76B2
+ 335C7D05F5B9B2CD591B55AC8FAB882D
+ 07EC54EDD33D4B24D6AD69841C219C5D
+ 26DDC827C67D0A6AC12D0A4E0DBE9A78
+ xor-digest = 04A255960FBBF45E8E9E0828035FA11D
+ A684C2A7099AB00DB1D3E117B78026F2
+ 8F69523A4B9A9F570C49FC02E1F2FBE9
+ 6F2CA223DC8105A5A6FD0E2CFCDC9AF0
+
+Set 2, vector# 54:
+ key = 36363636363636363636363636363636
+ 36363636363636363636363636363636
+ IV = 0000000000000000
+ stream[0..63] = E0E9C87C82202453CDE753D368DA1842
+ 9279F0B97446FB12A0436C6BE1AA7514
+ 3E98B740F6F9CEC72A1EA38D4EF2BC65
+ E1AF3AE13C5ADF6DA16A2131739C0084
+ stream[192..255] = A43046BAE6A4A2C288CA187C72A21E88
+ 047CE98C64147F2F853617A54A3057C7
+ 0F48823ECA4B82609924CC9453D57F1D
+ 3ACF7D302592BCF9B1439F28B3EE5F34
+ stream[256..319] = 08DFF1999015561E0817C20CED5E979C
+ 6BED0512A69CCB4C6F6FA480CCE4348A
+ 076F549355D22DDC52728F833447DAED
+ 83D7012F3F59A8BE495078B72B299753
+ stream[448..511] = C66109B099BAD13AF2F36F5AED7AA0F0
+ 0320D8B109EABC7428362B7CC43C284D
+ 04EC23DFA4F2A5ED2A7BE2A64CF42F9B
+ F973C6F2AFDB1AB7B7E5F9499B9DE964
+ xor-digest = 9F9D95E6B8F6E9682B03C0F78E06DD42
+ 35E62C6DDBC601EAA3D36D6E6F8B95C4
+ 50198564F812801FD2893F1B12A59158
+ B9506624CE698A648E1928A42BC72ACF
+
+Set 2, vector# 63:
+ key = 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ 3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F
+ IV = 0000000000000000
+ stream[0..63] = 18B631E89190A2C763AD5F1DBC57B565
+ EAD588F7DC85C3DD75E7D7E74C1D4429
+ E2FB3C6CB687A620EB7050CCD49B54D0
+ F147302BFB7ADC6D1EB235A60338D190
+ stream[192..255] = FE2017B0E26C72416B6789071D0EABE4
+ 8DA7531CAD058597AB3742792C791678
+ 44C84243B910FCA131C4EB3D39BD6341
+ 842F96F4059261438A81423586EEE459
+ stream[256..319] = 5FA44FAD6149C7E80BA6A98A8C861993
+ F7D39F1CAEAD07CEB96CBB9BD9153C97
+ 8B8957C82F88EC2EDD1BCC207627CDB7
+ 029AFC907BBEAFAA14444F66CB9A20EA
+ stream[448..511] = CF4DD50E4D99B8A26A9ED0F8CEE5FC10
+ E8410C7071CCFD6939C09AE576C3A5ED
+ D2F03412E40C8BAD8DC72FAFD2ED76A1
+ AF3BDD674EC5428BD400E2D4AE9026EF
+ xor-digest = 1C945357BA98CA7AAFD28A5A39DE3DD5
+ B5F640CC7F0A567172706069637AF5C3
+ 975923080CA3FAF9367294D495A02052
+ C0C473E4B779AFF3BDD9EE665D55EA9F
+
+Set 2, vector# 72:
+ key = 48484848484848484848484848484848
+ 48484848484848484848484848484848
+ IV = 0000000000000000
+ stream[0..63] = 82492EEE44E22AD4DFCA2032BA401F73
+ 7D4BC35CE8546EB6314EDC25E69DAC16
+ C8A9EBED6EAB895B7D72BFACEAA14E36
+ 3F9A9773E43B077A1991EAC1EEA83EC5
+ stream[192..255] = CB11B43F7E98D75576BB1B1AB33A4E6E
+ CD9CBCEEB36718B22C14F430A8BE7BCA
+ BCBCDE60D775DF441FCD808E79D05FAF
+ E3AA199D45DC174272EA3DD0057D9BD4
+ stream[256..319] = 7D237FF28E20F0FDCAE42A7D0D7AEFEC
+ 8AF23CF2906E305341FDF8FF75C0B9CB
+ C8F19696CE8D31D15E27EAB0AFFCE92A
+ AFD1BC29E9B80895B3A7CF57ED434D96
+ stream[448..511] = 5ED806ACF2490F17AB82438484FCBF61
+ 6A17015069B88DFC2C4CE76A2F564E4C
+ 5786A7514CE542709E90101094DEBBF4
+ 8954F9BF8F4773E06DEE7FB9231AA457
+ xor-digest = C77654229F128DE04A121608381F5F05
+ 7F7EC90BA31DCA134CB4AB45EF911F8A
+ 0AA71DCAB706277802FA880A73EE5153
+ 7451838D05B4ADDD796FA005E7F136DD
+
+Set 2, vector# 81:
+ key = 51515151515151515151515151515151
+ 51515151515151515151515151515151
+ IV = 0000000000000000
+ stream[0..63] = C7FC0F8C8D2064FE05BEC4A641560FCB
+ C41A60718B1DF62AA297E754756CDB68
+ 48C5BF60721B49A854A7A4D4BF2D36EE
+ 943A3B3922A638293B32F15A7E9A1357
+ stream[192..255] = 987A15FE80E62B043B2C7C0953A27D04
+ 83B2A7ECC03AD33C2F99FAB7FD2A7EE7
+ 0181F7913429F89027E392FC3B73F4A7
+ 5E475BA1D7DD4DA0F32D776BBABF270C
+ stream[256..319] = CEBF798ED076B963AC8EA9465F7EBB90
+ 6E09F80247C1FE09C86D1BEF3DE4F4AF
+ 94B51FECC1C58E1E8CD225C2F68CCEAF
+ C36C029DDCE9380AE9FBC867E145F658
+ stream[448..511] = FD7E885A72C796E642EA628C6ECDC508
+ 9F465F57E55D51170C039B253B14EB9D
+ 195A3712CDEA2624A5382880192DE3FA
+ 0DA2A86EF3A61220DB949596FE1C318F
+ xor-digest = DBE3B90391D0169C64BC96AA925975E5
+ 89CAE70CBE36AE6835496B1977D1ECF7
+ 9F9D3E161698CFAA3F7AF57DE535488D
+ A06A8B686577A52BC358FE25F95EA2E6
+
+Set 2, vector# 90:
+ key = 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ 5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
+ IV = 0000000000000000
+ stream[0..63] = 6C3645C8621D8E7286911278BAB37C5E
+ EBAA2AD321AB8ECA62D13372156F8B87
+ FB87FBE02B1EFE39AB0EBE41553E5348
+ 073053048A0D4DBDA1880230CD23A4F1
+ stream[192..255] = BB161E8441B29DE15C9A02F447766354
+ E7E590B42AE566935F0A6D7E864AF5EB
+ B288C0C63812B0917970547225899573
+ 7C804E58F7BEA1596B7343B0CBDC6AA3
+ stream[256..319] = 6EC6A41251D6FE041CD87EB3996369F1
+ 390E649F012712F9DA4D1F4DFF96CF74
+ 91CAA6836C09BA8C55ABB656B4F51F7B
+ 4AF829B5DC89F460287EFAD064C44F28
+ stream[448..511] = 3D54A399D5B92252CCF9E6A0C054D4A5
+ EDBFA58A3B53981BBA50EE9BB379D71A
+ C9775A0D793AFC79A64C708D0F9A7D7B
+ E061D5A5D50DBF32480AABEBC128D198
+ xor-digest = C8340B28A1E4A5AADAC14966D92094DD
+ 56EAB9C48C53327CFA62608FBF20456A
+ 23DEC3B658FBEC9EC1FB6B56651245DB
+ 58D6FF770F1404659BC697685BBDA62B
+
+Set 2, vector# 99:
+ key = 63636363636363636363636363636363
+ 63636363636363636363636363636363
+ IV = 0000000000000000
+ stream[0..63] = D417644E8A37FF8840772A55960C4B06
+ 4DA371869EA07FD02D7F8EFEF0BDB7CE
+ 308173B8BAFDCA6064CEBE09609377B6
+ 542CE73D44A0134C95C452D9B83A4B35
+ stream[192..255] = 2974AF76C0EB09874EFAF061BFD45636
+ E6AD9C2BA71A1B4FAE493C04205B5CCA
+ A1D361DED0F1BF8C2FF2DE70F4B68E1E
+ B1B6E63B19EE1842DA4ABC52C88714D8
+ stream[256..319] = 934392340254B83FA7A9888D1CA9959B
+ A221FF1C487B214FE6703C4BCE02EF62
+ 4DE46A76670712B381E2EE017B67DBAA
+ 3726CE1CFB39038FD0059EFCB2346385
+ stream[448..511] = F234ED6FEFF11821E19D73E31BFAF745
+ 126D80E0743623A179303C5A7827582A
+ ACFEE4845E8D3FD98AB990C710020B42
+ 542DAB392D6A1BFE058E200FEFA00006
+ xor-digest = 42453E59A686950A5E37CE26842A5939
+ 52CFAC24B39A3D7B2D7A4BA65BB95460
+ D5A493A51F5F1D97B30B6752A826BFD2
+ CD6EC49B87ED1815F2E47DBBE99BC904
+
+Set 2, vector#108:
+ key = 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ 6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C
+ IV = 0000000000000000
+ stream[0..63] = 1456A98D271F43A5FF29B3D0BCC35B78
+ 50C4D9DA5BBA43B752A1A541A4FC88DC
+ 0FC4C89F35ACF1B540F5C3207A0BF359
+ 490D482232936E5C0B818C3DE6EF2012
+ stream[192..255] = E8DFC363183330BBCC8498913A28545C
+ 6905F858D314939FA148C4C6600CD23A
+ 941F88F2FF08D7567202F335F5A90A0E
+ A92B9D73A2C710CFE22BE0D180BA1A42
+ stream[256..319] = 77ACAD59AC794EC38C13805E9638F145
+ DEE96C36C9C07A1811DCC1531A462144
+ AC1F4B2245A570C42B25EB646D4655D6
+ EA646776B0445C8B5670AB2B11203823
+ stream[448..511] = 9A1BBE72AEC868E45B28B9FE3570381D
+ A759D1484B710A2AFB385DB7EAC5A2C6
+ 5E2EFF9204C5DF6A684ED55C2D09FBD1
+ 7E2FB6B4FF4BAD3ABD201DCEE340305A
+ xor-digest = A5832EF363D2FD5B01270B6776A5C8EE
+ C08491D8064752E4B5AC53993EED1A5C
+ 24673C6B2A47FC31C91F2EEB995836D8
+ 20E8061303E9DB8C81384798C4265AE9
+
+Set 2, vector#117:
+ key = 75757575757575757575757575757575
+ 75757575757575757575757575757575
+ IV = 0000000000000000
+ stream[0..63] = 8F04C8F40319569CB4B04458528135E8
+ 35AF2C69561F0F0F5B6009B540B85ED1
+ BC7612C9EC7A200B08AEDF07DB08ABC3
+ 9FA48E63AC81974175AE3A4AC9429985
+ stream[192..255] = DD98FBC3465BBD56ED0BF2F2367498B0
+ E2854E514A27C7410AAF8E0B44117EAF
+ A5EDA0C7FA2106C03DB8AF62E5ED136B
+ 4BCA0B82CF2EA19FDADE4101C57117E2
+ stream[256..319] = 7CA321B64434A90CE08E00A99D9456CB
+ 7A0779D4F0FC12346C01A5A1310528DD
+ 2E0EA2F58A8795BD138687645A7054DC
+ 2FA74835B1B45F4B68E3CEAAA315C250
+ stream[448..511] = 076AB5564DB74D830CF96E6B90897E5F
+ 2E597619B47FF74B190C16735E902BDF
+ 111FA384ED3F8055343F4561C731F783
+ 7072FAB81825304DC3D4CC02404E539D
+ xor-digest = D725AAE2FE26DE0129790BC7BE3BEFC5
+ 83A8C7D9F4508C8582A40855D4A79C00
+ 098B8CAB2878A30F12FEE5F1B192C21F
+ DF3D41F5EBC784784B3DEC5C89D0716B
+
+Set 2, vector#126:
+ key = 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ 7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E7E
+ IV = 0000000000000000
+ stream[0..63] = DFD428440260E1B64579A6940EE53907
+ 8CF48977E4B61DD0C708B52B42A607AB
+ C0A0774F49FD8599E4A4CA3B7C54FEDC
+ 353D2467DEECDB9FFC8350C79414CFBB
+ stream[192..255] = F4C7C343C6DFB6F7EA25DBF6DFBD31D2
+ 595C45C4CD1C057308FFA60C1AF1BBCA
+ 888C6C8097E97319566A7EBD80DA4F0E
+ DDBD22015CC363E5AC01BE42770660C8
+ stream[256..319] = F1792B445D52BD4FC99557ABBECBCE74
+ 257A62EEA110EF9CB3CB0388922A7FBB
+ 5FCBCE5BCE44818F930284E4E360973D
+ 49607E1B0E1D97C618EBA4D909A50375
+ stream[448..511] = 7A2EB3ABE2F83C4B40A15F4AAA89D5C9
+ 72B911AAFFF5069FA3E7396162CFDBBB
+ 6A16E222C15878D9C8A00AD8201F1889
+ 9F060851A3147AC2F3385FD8144BCD32
+ xor-digest = 65FAF34064FE19847014B10AD550DF15
+ B05A8A3D6B7EB64C94FD0EB61774A8E1
+ 03DFB43B3C4E0BB074848DDC6A928449
+ 2AE5E03E36FAAB8D46E8D647753B825A
+
+Set 2, vector#135:
+ key = 87878787878787878787878787878787
+ 87878787878787878787878787878787
+ IV = 0000000000000000
+ stream[0..63] = 47756F1D1EEDDF06790A5E39083186D3
+ 16E3258B9C5B7D25E478E817308E2B90
+ A5DC4A8C03A38AE1757B6EFAE73B058A
+ 7CEA675CEE9A01E9BBC7B15DC5424E64
+ stream[192..255] = FE6FB2E0BDF120B585D082602D2648D6
+ D95D14C3E8DF44F7D9BF650709578C0A
+ A5D775BAA12A3C1153CF44AE2A3BAC49
+ 534210F8BB8AAE7F54DF049AE368678F
+ stream[256..319] = DA0D9214302984F36B92EDCA76765B8D
+ 5E748EE13176CFA41345AB0EFBD7CB54
+ 737DC606DE60E4355233E63B1EDAF48A
+ B84DF854E47D1D746B3AA5CCC0A5DA62
+ stream[448..511] = 8373EFD791B51A07B840A7FACA4307CE
+ 9F5FB71A0C7891CEF7E7754A414B61D6
+ 593A5EEB782FBF28998F4174C63733BF
+ A7EE172290A0A854AD6C36757AEE0911
+ xor-digest = 11BDAED16F1C5D38F8EAE0B9FC6E63BF
+ F0E7A087247A25A20135BB7A5500F937
+ F34ADA22153862AE37C963764901DFB0
+ 18E9D8245DB4F275A38C10BA393EFAFB
+
+Set 2, vector#144:
+ key = 90909090909090909090909090909090
+ 90909090909090909090909090909090
+ IV = 0000000000000000
+ stream[0..63] = 6AB7A8C769386FB6067059D0EE3DBC97
+ 1EFAEF4AC10C74A2F17527EA5A8C6E0C
+ DF1FA10F27A29911BB57BF3E7A6DBDCE
+ 4AF3E7BB730F47AC79DC917DA646A8B7
+ stream[192..255] = 1DD701A2698617855C38017B0ADE1E17
+ D22D9717E21AD8635CE6A40CECC7EE43
+ 83D5483F414B9F2285D200500CCA85C3
+ D45F4F25550E3701B675D7E1B8266C6B
+ stream[256..319] = 5D331C1544CFD44E3588C2EA0D889F44
+ D5742E7AFE9581CAF23CB668B0530C84
+ A89D63F948969DBC0D0574911EC0307E
+ CE9CF38C5FCDE75462D1C472455A78ED
+ stream[448..511] = A55713DFAA272076529BC5A33558A7D5
+ 206C1C070648DBAA348C78556631AD99
+ F8F16DDDA2E5779B155DD9377A8E575C
+ 257FE7E08ABE9B3A378027EA06539810
+ xor-digest = 8672FFC244BBC43DD6210AF1BDE1A607
+ C41F3243FC149BA8988B7FEF41C4A7E9
+ 61F5E992F51CDD23B183C4DB710E89AB
+ BAFFC13FBDD613EA098F9D7375742F8C
+
+Set 2, vector#153:
+ key = 99999999999999999999999999999999
+ 99999999999999999999999999999999
+ IV = 0000000000000000
+ stream[0..63] = E548ECEAF4B4AF1F8572F7113C7D8FF9
+ 61837C15ECC6BEAAB80F38CB15022B50
+ BCB1FA414A798C954DAFB572CF22A9A4
+ D82F7561186C31BA0199EAE1678CC4CF
+ stream[192..255] = 9E5D061279348E0D5DA552A82DDD3795
+ 37F928DCA393AE75AED13F63BD60DEE4
+ 32C96D1B2365B59FEE3C0E18515966D6
+ 642F2E156C30C704A77DCB5629AC6167
+ stream[256..319] = 9CDCAD9CB247AB21BA9E93C936936994
+ C6C320841C745D6DFC85110367B36C88
+ 67CFAB60F6A67A1656C645BFDBF196AC
+ 974A4165BF81FBE715CB6C3954E217FD
+ stream[448..511] = FE5134E8B0BC016D3ED3594B6EEF2F06
+ FAFE2F4C89CB4E2627B232BACFDCA8A4
+ 80B1C55DF4C0AF1E630A617CEDE0A48F
+ 900A9CF815362C098A76D29360414735
+ xor-digest = 6C7EF2493D05F6A8BBBB583EF1E361FC
+ 0F808F749BD13D2E6F23BDF76A9003FA
+ D08E8C1D840D2236C6C3686211353DB1
+ 4B5B421A75DD362E413D33D02A5D5658
+
+Set 2, vector#162:
+ key = A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2
+ IV = 0000000000000000
+ stream[0..63] = D0854334E4619E3EFBB2A53D59F89866
+ F67220CE00A3116313FB9CB645339766
+ 0CA976A8B3477F76FF8FA485D61E3758
+ 3DA5F35A8FAD678B7C2B9EC97321DFD0
+ stream[192..255] = 92D4924C3E682EECBF9AD3A5453BE7BD
+ 56D9FD73F16BA0CA09FBD0C136BCD595
+ 2FE55744B1871E4C8726611F291B282C
+ 2219C817C88086A5A7BDC513DCCA473D
+ stream[256..319] = CAC309E4AA3ED635D68E5AFD9F4CB0BA
+ DB229E8EB560B16645CA2A71B35B7C3D
+ 757C156983F7D053B0430F9634402B8E
+ 4FDE6926135473BA8560C3AE1FD5BF48
+ stream[448..511] = 980DB26FDBF49D5D890B65EB01AAEBD5
+ CC118812BDE441A71871206D67683889
+ 828622C6336DEA09DB6ADE0772A3D091
+ F77B1F3115E1341EF11F41F7CD0505D6
+ xor-digest = 3306A1B9675C78ADACEA0291207055CF
+ 68522DB3DA07A5EC9C91361B015B1896
+ 33E4451B8F7B811EF5CD0A056AC7A07D
+ BC1AB3A9DA16DEC28A006FD9928B53C4
+
+Set 2, vector#171:
+ key = ABABABABABABABABABABABABABABABAB
+ ABABABABABABABABABABABABABABABAB
+ IV = 0000000000000000
+ stream[0..63] = 6CD6B451B1C793485006B3B51470E6AB
+ 20163502C30240C4A3C6406482A2770D
+ 550AD77D0091632C719BA33769823D2D
+ 8147396466F1A2A857060A42ECCE0A0E
+ stream[192..255] = 81298474E6D86A66AE4CBCEE495D8740
+ 502CBE5CC91174865A615B193B55BA4F
+ CD2337667292D3F3C428B9FEF090207E
+ 2DEF037917A2244FFD3AE8161CEBA42A
+ stream[256..319] = 367B062DFFD72A6EF6CEB3AE7FE59684
+ 690F40A9F276E8021994ED475BE1F08F
+ A5C99E3A1AE1E68A92D02C5C14BE0E67
+ A1B989E7033274993D1685D4B2DAE6D0
+ stream[448..511] = 43C53B82CFBB199FFF9C5719ED1EF470
+ AAAD578C5778A9DD3C2D77C7BAF41CC3
+ 0F5F7B4C91FED81E9A661093EE20FC3B
+ BA55FF8447C899C6E12A0A0F5ECE3BA3
+ xor-digest = 7772EA572BE1609E5D20201E7F147A6F
+ DC25DCCF12D25DEBCAAFB9E9BD1E11A6
+ FD26D5B416743F495268D00B4B6CB798
+ B0AC43498541EFA188907F9E78AF0424
+
+Set 2, vector#180:
+ key = B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4
+ IV = 0000000000000000
+ stream[0..63] = EE879D01C8E20CE8CACDDB464348F69C
+ 6551F70383A82933C3A765B8AC138581
+ 8D67C69841FF2B4B8BC209ECFC0FE765
+ C44C42C9CD6EFF90E0A6DAB153F52D04
+ stream[192..255] = 8D7D377A3072E9571F9AE00D25E875A4
+ D9BAB98A3EA348BF823F12F44DABAE28
+ 317BAA3A71EB3D7C4C2EC3EF87E828CB
+ 862FBFC99C7ECBC629D22DB8EB82156D
+ stream[256..319] = 97B547A3E920FB054416A5787EAB5C76
+ 38FA6CCDEC816613FC855EAAFB4887C1
+ 3A38094D89570BF17E55E5E1EC275ECD
+ 122142C9126DE5E9411F06805071983F
+ stream[448..511] = CCA815558FFE08873C9AF373FAA546B2
+ FB3EA3059EFD02CB778D01962E87EFA8
+ 5F24BC5BEFD4ED02C986C0229D70ABA0
+ D4E97328780FBD0ECB367A8C085414E9
+ xor-digest = 00AADA5BD15D2585CDB0EF205F20E4B3
+ 3452AF75D4CE8C36925514CAFDB519EB
+ E387FAFF8DDC7856AD1CE68A7BBAEE29
+ 5347BE2A647434AC4CFCE3D2C925905F
+
+Set 2, vector#189:
+ key = BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ BDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBD
+ IV = 0000000000000000
+ stream[0..63] = DED8C79CC623162C2074FC7B4876F754
+ 1B959209AC6573E6D25D1F1E649CC241
+ 31A2F1B1B9E9E0FA639F8AF373CCAB88
+ 3C659001BD120449997871E6A1D5AD8E
+ stream[192..255] = 1E946CF03C4C89D19DDB9C48EACFE7FA
+ A48235899DF49232CE2A586130BAD63D
+ 52540151FBC02E3BFEF082A63A900C42
+ 0D6D7A11E289C34387A6155ABB71816A
+ stream[256..319] = 3CCAA2AEA81296ED9171B608FD8DEAEA
+ 3EA5B8A87B17B10751A01713EDE6A156
+ 652783C26C0247E347860C06AD633AAE
+ 2C0AFB239291A6E7729F8838A4D97533
+ stream[448..511] = 065DCB330DDC528BD42DC6A0F85179A3
+ 531CF900DC5F7D3B5455DC49D451161F
+ 9AFD79A619DD951C854019412532D33C
+ 9DE6F9AE44394208653CF12D316F4A70
+ xor-digest = 74D888BC6614CDD372E03DE0E92A0512
+ DAD7CE19C19B1E05F34BE79F1222BEFE
+ E92190397CDA031A0FDE5098FF31CEC1
+ CDC0FD7B422A6424119C46C506BF39CA
+
+Set 2, vector#198:
+ key = C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6
+ IV = 0000000000000000
+ stream[0..63] = 36AFBAFFF746195D8784CB72A16D12AA
+ 604CDBF567955F15FB55DD42FAE8DDC4
+ E6CEA63B6F8E2815F3094005E403FEA3
+ 0EEDD68B5F2573EFD03A4E2BC41AEC32
+ stream[192..255] = 4F7E1CE5E727D83989222ACF56776F0A
+ FD1B00E9A5734408E1513313E0CA347C
+ C37D8DE7AF4F6C5C7EF311BDA97BD8F4
+ 52F89B4D44411D63105BECADC661D558
+ stream[256..319] = 2677C65207F10008A28E0D3D2C7D43A6
+ 71A96CB9A98ED1ECDEBA8F5AFAF4DDF3
+ F7B078346EB1DAEB1047D2E656EFB331
+ F3A71302E6FB547568D6A8A2871EB5B2
+ stream[448..511] = C39BC4103ED0D8FE8C7D5FC072C94080
+ DF9DAB70F627D8BD68719A721836554F
+ 3A2CFD08616170F4E3C3B0420BB41FBE
+ 9A84C43D405B9EE32285BB5051CD5E83
+ xor-digest = C6AFC707ACCB8F10DFDA45A836C85603
+ D2F5E30BFFC0A9FDDE48666153F395EE
+ 0BF93F900D59C7FA70632F644521A5FC
+ FE28882311D315D53BC10755698FC81C
+
+Set 2, vector#207:
+ key = CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ CFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCF
+ IV = 0000000000000000
+ stream[0..63] = AA68F6EB41DB62A2C5E4E9AAF21D7D43
+ 1C29A66303854A68EF737872CBF7C505
+ 918B87CE4DB6B3D84BC039906AC0561D
+ F79F0A57CFA762B8B9C2991F1DC98032
+ stream[192..255] = 7BC0564BAF3C88CF14FCD2020433CEDF
+ 65EE68DF4AFAB7E040DFC396A856617F
+ 677217529B839EB9DF47AFD6758CAACD
+ 75E734FCC653ED5AC25C8A7B1AEBAA49
+ stream[256..319] = AD21BBE24EA84C0859B2EF3E09070493
+ 6A6D2A97DF912207D3F50D63FCD56676
+ 61A47AD0DF1FA8DDE08EAD7201AF15FA
+ 85BCBA0962D7921397E35E60149BB4EB
+ stream[448..511] = 8914307989CD704120A6DAC52789B845
+ 7260A2939CA0E02A4C41C46ECE890305
+ 9F58A2B0F3D93B45160D08A13737D51E
+ 984B97CD4A28DC2D92155FCADA3F8033
+ xor-digest = 2EE47E155D995B266EFC7E0A995172EB
+ AD6A1201A20D9A9F5397FFB815AE6246
+ 760EF488A9C45FB9B820E32A42E21634
+ E995CECF6E9E05FD14FFDCA92313AC0E
+
+Set 2, vector#216:
+ key = D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8
+ IV = 0000000000000000
+ stream[0..63] = 596EA70BBA1A4DE2F8ED2AF37A0CE6D1
+ 2443354659CD0C41203EB345E160CF05
+ 6F8D71314AA7221D86F868304F34D5B3
+ ED4D51072FE7B12568B859077B6F920D
+ stream[192..255] = 26716254A9C7067808EDC0D31D54D289
+ 88A3F655C10931E217B3C9A8A4B557D2
+ 8AD6C701612A8D848FED1589CCFBBE7B
+ 566496F4662B1D98FCFC70C1716E5347
+ stream[256..319] = B33C15E9488DE8A97AFE67FBFAF47FFE
+ 5C3934B05B5E2EA061A41A2BF0D81FB6
+ 054C824B492775E3E8300DAD609BCEA5
+ 837392668C0B54FECE2F2945F18160D3
+ stream[448..511] = A1F72ECB02649F01D4396574EA80BBCB
+ 8934FCF989CF1D7CF7410B0A93E08C10
+ 0A229C952DA999789662E1666CA71C65
+ 4DBEB2C5BBC20BB67DF67CD39B51B4CB
+ xor-digest = 7ABDAB4EA81129864F2CEB9157C01178
+ A413889D86A1D54F964F3D70C5A4326E
+ 3FDBEA3C5B77F4EFBBE94CC2DB808B96
+ A81BCEF94D3FC039CB13A754D4E4A1E6
+
+Set 2, vector#225:
+ key = E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
+ IV = 0000000000000000
+ stream[0..63] = 6D221A5561813E4B6BF1A3821F0BC95B
+ 3D51004ED29EAECD26016E5B7F628BA0
+ 6B2BA4D650D685C3BA9FB51E305EEB36
+ A11CA08C431E0740D59D521FBDDBF716
+ stream[192..255] = 9C9EEBCA7428A88562FAD4EC9800EB7D
+ E4EBE571855B40D3F1D9770236EF0131
+ 70A6BF8CF9C1880A1BC3C58193777098
+ 89384D19F4F9D6E8098E8E326B9AC4B7
+ stream[256..319] = 86ECBB7CA8E1526F538805A692C354B8
+ E335BAC919CB4355C15B40D721328BE9
+ 81105395FD27BB6F0515A427469DF557
+ DC92EB010C49C332BFEB1A98154BF0AA
+ stream[448..511] = 0503DAA102F9CDFBFF854D6015BF484A
+ 201F69E6E789A757B8DAB005D5859027
+ 849ECA4E951AE28126FB6C63BB65EF61
+ 94C9661F9E40CAAB817CBE89595096EC
+ xor-digest = A3008548B817A82F3D4D2813B5777952
+ A5D46CD710AC4F8417273ABDF65BF0D3
+ D519C5D0CA1CFFE8F265338084F54DC3
+ 65C61F376DF6F1DC4B2BC6BA63E2FF11
+
+Set 2, vector#234:
+ key = EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA
+ IV = 0000000000000000
+ stream[0..63] = 304665A82B0838D4EA0A7737855CEAB0
+ 44583FBF2F8E68D7B3B191600ADAEB33
+ 538942A71998F68DA9A0D4BAC36A5052
+ CBEAEFFCABC6B506E5F805F8105D5E79
+ stream[192..255] = 96B62FE40229E2CEBEAE44431F01A0A4
+ 3FA080D685215BEA4705B6B78187751B
+ E1DFA0DCC1C8D6A2040C0716F524CF40
+ 42889F743A3EDC01EBDFD3A6FF3E92DD
+ stream[256..319] = D1667A839D7725E602FD36A69117D039
+ AE92EC7032432323A61AFB1602F17E4F
+ B66F0BB5A5F4C54329F7217497B3546F
+ FF9938966B05789E0CA65CBF34DB1B2D
+ stream[448..511] = 3557FC69A9D44C66FB022ED8D4D349C1
+ D82A41DA40E3687B197DFC070000B69C
+ 2FD9B1F9F99C63BF3ED82F2CCBD2A6ED
+ 20A14ABA05F6855078DF5C73A4D50493
+ xor-digest = AA453B1E7AC7D53F54827BDBAD419A21
+ AA49AC5A55E96622D028D3D600F37D89
+ 2C084D404A006404B18620F84BDF872E
+ F7E90203875719F0B90FA8A900FDC22D
+
+Set 2, vector#243:
+ key = F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
+ IV = 0000000000000000
+ stream[0..63] = BF9634C2D81B6400C2ADACFCC0C353CE
+ 3AC45A2EB636AE9D2D6B8DB6107511C9
+ 399FB22CA2DF6406307EADEED423E72B
+ 72411E11530B1814AB196A74DFD4FA61
+ stream[192..255] = 50F32FC8C94BEFCE5E51F3E774134ACA
+ D60BF3DE49BFE1F17DDD88395C4880AC
+ 926528971A3D74796303A4064F67733B
+ A2AB545344B97F555525C0A5611151DE
+ stream[256..319] = A6E426963373DCDCE54C1827F683859D
+ F11857D7BEB1EEA10FF137CF6B395635
+ 53C79E92295B1FA385C59BC201612C70
+ 39341B55D49139B88A16544AEDBDA967
+ stream[448..511] = EB50C1AFCDFBF83EDA42011C141B67CD
+ 041598209605800EAFF2EE6A99A6C958
+ 9621B778FA4DB6D2FC4980030B86F3C8
+ 670B46BED56A511B9A18E60B1FED27D5
+ xor-digest = BEE123C7EF4E2D25DB862CC720D9FEA7
+ 4B329C3B1588342B6104DCA139FB1A3B
+ E0E1A1779D973C3F4473D76309B8FA2F
+ 831F295B150445F44E4F46336014FA7D
+
+Set 2, vector#252:
+ key = FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
+ IV = 0000000000000000
+ stream[0..63] = 356DD71DBC2B216B7A439E07BCC1348F
+ 769F7EF482486C92E8FD8EB050224838
+ AB1F4DFCD2FB196AFD4C4FFBF51B9124
+ 6BF45AE8131B8D5CAFA29FC3025A3597
+ stream[192..255] = C09481306DB9FF12F1798A21A3031921
+ B237E1B54A73F724CC0378379DB2FD86
+ 8DF08983A3D26C32379E3B132A6F1766
+ 646A963AA56C8F5D45B35F79B24D27C0
+ stream[256..319] = 6C198E30BBAD2E329A7A3ED5C383340F
+ 90EADD9F44AB7F339E6BE9217366188C
+ 4C8D721BD6DC5D5D192A8E854013EBE2
+ 66633893015AFBED28EA42F928B27F60
+ stream[448..511] = FF9B8ED2074ABD83B51AA93A65E5E303
+ 774CD6874D344236B1EFD39A3605984E
+ DFEBCFB5B41AC09AAD500F71AF6D77A0
+ 7CE81A5E0E1E29C857609143B5BE0BA6
+ xor-digest = 1858D5470ABE500EC2CC40158C700E5A
+ 78CF094440F2081ED694C47AD054D7C0
+ 0E77B67920631ED3E5C86B400FFD70D6
+ 244CEC58F08DD3C4AE05778B514163FC
+
+Test vectors -- set 3
+=====================
+
+Set 3, vector# 0:
+ key = 000102030405060708090A0B0C0D0E0F
+ 101112131415161718191A1B1C1D1E1F
+ IV = 0000000000000000
+ stream[0..63] = B580F7671C76E5F7441AF87C146D6B51
+ 3910DC8B4146EF1B3211CF12AF4A4B49
+ E5C874B3EF4F85E7D7ED539FFEBA73EB
+ 73E0CCA74FBD306D8AA716C7783E89AF
+ stream[192..255] = 9B5B5406977968E7F472DE2924EFFD0E
+ 8EA74C954D23FCC21E4ED87BBA9E0F79
+ D1477D1810368F02259F7F53966F91CE
+ B50ECD3DA10363E7F08EEAB83A0EF71A
+ stream[256..319] = 68E43AA40C5D5718E636D8E3B0AB3830
+ D61698A12EB15BD9C923FF40A23E80BE
+ 026B7E1349265AD9C20A6C8A60256F4A
+ CD1D7AD0DCBE1DFF3058ACD9E1B4C537
+ stream[448..511] = 343ED5D011373AF376308D0B0DAB7806
+ A4B4D3BF9B898181D546EFCF83D7464C
+ FC56AE76F03F3711174DC67AC9363E69
+ 84F5A447BD25642A00754F1133BFD953
+ xor-digest = 8C03E9237FEE95D5041C753C204D2B35
+ 764E4A53035A76F9EFBADD7E63E60B69
+ BF23F7C5FD39B2249B0C628FB654D521
+ 4EB588371E5D2F34BF51396AF3ACB666
+
+Set 3, vector# 9:
+ key = 090A0B0C0D0E0F101112131415161718
+ 191A1B1C1D1E1F202122232425262728
+ IV = 0000000000000000
+ stream[0..63] = 0DD83B7F93629BA8E489E30FE4B6EE54
+ 9BAFB44CB794AAEF2EF07116649FD4C4
+ 4DAC52560EFB34FF1A2E56FC0DD86F2D
+ 56C2C5C97089FC4C35C6788F36E6F142
+ stream[192..255] = 19A8C09135CBB83C6140BBEB60099BDB
+ 469178F58B6DC87AD2B33CAE53A83B46
+ A3BCE1289A68528D5A32A8867587FCC7
+ F4DFE8EEA78BB2A9C40B9F6D8797BFE3
+ stream[256..319] = 2E4E97BAAE813AD2C14848ABAB7C51A7
+ 4BF3153C63101F4E6E4EEA56B470F0A6
+ 78FAC3AA6CC300A51A7A345356D3FE1E
+ 3A56242086CA61A1E8E43F6703CDF6DE
+ stream[448..511] = 306FBEFC44132B66D527F5E75D171868
+ EE8CBC6DAEFD6FC5B3730541CEA82CF6
+ 7D41B8783D75117D266B924502D5AA5F
+ 28FF44A13AA2179DD8F0F4AD4B29024F
+ xor-digest = 25B9F46F897C9060052B08E0E70C8FAC
+ C9FAC41A4057E304209D39EE0807987A
+ C77A8A723BE07A22E9AB6BB8DC358A54
+ 14E6C31C1C6B9D9E107AF74594134307
+
+Set 3, vector# 18:
+ key = 12131415161718191A1B1C1D1E1F2021
+ 22232425262728292A2B2C2D2E2F3031
+ IV = 0000000000000000
+ stream[0..63] = 4B094A8031FEA02C5CBDC1E2A64B13A9
+ A0976897FCBD92A15738330CD1F85448
+ EBD8B7E61A76855C64BE1BE78034ADEB
+ FFDEDFCF064AB92744760DFBF59F0A9D
+ stream[192..255] = F807DF0420C6D87DAD3A1811A96B5E4D
+ 2B2F284CD9130F51D307521BD2CABE72
+ 1F1BAC0EF6219B7ACF8923C026C7F9AD
+ 8762CC9A9F8847750511D3697E165689
+ stream[256..319] = AFB3798B54C003AA6C05C7893C5DB290
+ AC7FAFE8C25D3E66AC699BBA3A880330
+ 70D17C0314DAEAF51DBDA0C9DF36B713
+ A913BD397B41DA7FF410A593568AB2BE
+ stream[448..511] = 67AFD443E67F5FF76A247EFCF3D54649
+ 0649CDE396FE3AA34549C3ABC8F7447D
+ DB7A666C0402AFA25ADC47E95B8924B4
+ B1C955C11A746FD4C0DA15432C1B83B7
+ xor-digest = 842B6DBFACE3D7D24AC981C56F398BD9
+ C19DB3B086F4ECF5473CAB197AD6C170
+ BF57A238BD47FED65726CF2D58AD701F
+ B66E27C2026772AC8C706B77186BA837
+
+Set 3, vector# 27:
+ key = 1B1C1D1E1F202122232425262728292A
+ 2B2C2D2E2F303132333435363738393A
+ IV = 0000000000000000
+ stream[0..63] = AE39508EAC9AECE7BF97BB20B9DEE41F
+ 87D947F828913598DB72CC232948565E
+ 837E0BF37D5D387B2D7102B43BB5D823
+ B04ADF3CECB6D93B9BA752BEC5D45059
+ stream[192..255] = CF7F36734A7AD1EF4D9A4AA518A91C14
+ 64184688F31E5E775E879E01E82FB42E
+ AEE8F382AA0701D54AF5DB788858CCDF
+ 801DED1E18BA4195019AA3111BA111AC
+ stream[256..319] = AB84E643D214E8DE9274720A1557A1E0
+ 471F00394934A83A324D4270949BD448
+ A7BB6B5D5FA40E9831AE5B4EA7D8D34E
+ 071EB56EFD84F127C8E34DA9BF633B46
+ stream[448..511] = E757CA957797D6416E17F852AFFBF191
+ AF98EB8CF73DCBBA0BCE8EFA29B958E3
+ 9C0085F0076E0B4E31289A4F2DF35855
+ ADD6BBEC725FC2860D4F49AB4EEA6C87
+ xor-digest = DCF2DD4BD229E2325045FBE0DA487A00
+ 256DA072F2EC9FADF50897E8C0379308
+ 28C6C1971EFBEA4155758DAEC6404CB0
+ E312243E7757060D600EB8094FB66995
+
+Set 3, vector# 36:
+ key = 2425262728292A2B2C2D2E2F30313233
+ 3435363738393A3B3C3D3E3F40414243
+ IV = 0000000000000000
+ stream[0..63] = 5DDE22EEE0ED12CF83F433441A3799B3
+ A4415A2018A60BDE0A0F8E08993820C8
+ 20998D420F346D8B808CBED40FC7CBD0
+ CC43949B0A16F0EF2577CECAD03DCAD6
+ stream[192..255] = 5C86A6AB19AD083676D609D2C094FFC2
+ 921CD8D4580815522BA72AA20FEC59D5
+ 64F1EDF2E2AE4810C69701BCD515A939
+ D9C156254F28DE5C90C6CA2B0A385D53
+ stream[256..319] = 956A71BB6344DDF03A8B828A03FEA914
+ 8585BB8D21E52134F1FA9541A57519F4
+ 4C2D56C8746E9FB40EB1FCF3551A5F95
+ 38B90606924F3D082987B77C127D1DB7
+ stream[448..511] = 2160DB576116DD75880E4DE9A7505308
+ 05EBD00F48B6BFB62679F93EDBD42766
+ A51AD3052C64174B5B027F6D5DD02059
+ 2F5BBC369D48708295259F4B9519B19B
+ xor-digest = 5923F3E59743F7BD9E6C9E81DB5E0007
+ 02C2A1BF996C3F00C43D2BF32FBD0F62
+ 38B3EC2AB846972C48171EE53B5A9722
+ 2CCC6DF5B470C5C1ECC1F6FF89F74043
+
+Set 3, vector# 45:
+ key = 2D2E2F303132333435363738393A3B3C
+ 3D3E3F404142434445464748494A4B4C
+ IV = 0000000000000000
+ stream[0..63] = BDF4E0BB6B36D01A31EE2E76F2379D33
+ 286ABFA82F6872677955777DEE0B1662
+ A65D85EBC56A7995A6F6CF995154C444
+ C27CEF3EABC85B8985C7FA94C8ECB065
+ stream[192..255] = 8835BF6D66FD567BCDA956673D9DA182
+ 701921B79AAAB6039D65ABE1C7178923
+ BC39C8A56FDEC8FEAAC4C29707914F68
+ CA6CBEDE4DBE9FEAAF84DA2DFEC56E96
+ stream[256..319] = A2751597632CF806C8246F7F9D9C4A72
+ DE85C8C0C36A769F32A062DFCD45635B
+ 0C7131BFB38CE253886D4918CC4B7DBA
+ 780CAE5FA0F22479F445C0AD1285F35D
+ stream[448..511] = 1130339E16298874524D18F68266246C
+ A0B2060607B60689D025BD30BC6DE7FF
+ 5DDB90249319C9EA13195200ACADB595
+ 14D56FC358D7A0D3BAEA374E34EA2E9D
+ xor-digest = EBF45CE390507D94E9969EF42C62C8B3
+ C6649FF841003830CD716EF712BAD8F2
+ A47575AF99B8F93F12C14FAD7CC03D6F
+ 0D4C5C5E5C6D997053C9C36DAA99BBCC
+
+Set 3, vector# 54:
+ key = 363738393A3B3C3D3E3F404142434445
+ 464748494A4B4C4D4E4F505152535455
+ IV = 0000000000000000
+ stream[0..63] = 51B180F1C9C31388F8B3DE8734F3918F
+ F6DEC759689E6A54D0EAF8734DECAB2C
+ A2ACA4DFAA260AB781769B83CF94C2A0
+ 166F2643585CAB42220D200F92074363
+ stream[192..255] = 147CE4098C9884493CF00DD28B6439A5
+ B794F871CCC4FFE349CABF3963C6BACE
+ D799AAB7F778B59473EDE8CB475056A1
+ E7F5D0BE68DE84C535A8FB67724E0C6D
+ stream[256..319] = 7F0BCA1B790CD5C8F8CFD047AFE1C5BF
+ DDA8C8E0BBAF0567D4AE6B63C9E32770
+ 51D1200ED8740D60FBBADC20CAC825A0
+ 819CB66398FF7CFA38F3CE5CF23BAC37
+ stream[448..511] = 74C2B38820E2614D4AC42477185346D7
+ 5EC3BB41DC9810610C5B745A1B423A3C
+ BF14A7E45C08C5E7C1CAE65B8839F030
+ A8E52500776B45EA65885322FC1B3A57
+ xor-digest = 109865F93CCF7C2EF35211EE91967DFE
+ 6A45DD309EF3FEB5375F05F1429F7C88
+ 0D712F67A547462D01CDC15D72AA32CD
+ A5F4D630AD5186D951E34A8E1F9F6D20
+
+Set 3, vector# 63:
+ key = 3F404142434445464748494A4B4C4D4E
+ 4F505152535455565758595A5B5C5D5E
+ IV = 0000000000000000
+ stream[0..63] = AADBA970B29F5BB8522C3817E849E5D0
+ 417863554D16D6FC42405CA5A826A82A
+ 7F0ADD295D02DF3EB565E10CA1902E7E
+ E84CC977614F325AA0BCA298F64871C4
+ stream[192..255] = 23453B14E9067B2733C88A3137650D83
+ BF2EDEA3BD78D336765151C9DC15A534
+ 5394C7B0E1B0DD3BEF7C7BBBB84AB0B5
+ 7992446F8DD102F90B0D72728686EC17
+ stream[256..319] = 0291E9B6188CB3E43F98B576C9C114B4
+ E1165A39B33E32E7260D6767058C45B0
+ 93717E09868B400557E750557417E7C7
+ F0DA6A8AB0179630023EEE17B0362575
+ stream[448..511] = D98E6AF3B8A4BE5EE6CD4F067FDDE869
+ FA2569648498460C0B2E4A3A4652FB71
+ 77D02D632BFEF2C3511F1D374AAADDE1
+ 4542AC660114716E5CAF854AA5C2CF1A
+ xor-digest = 989C4606DDB85C89396FD3D07C6D0341
+ 6D90B980843BDB761E51AE7887E10E6A
+ F845E1D71C310A84473701B2D27AC832
+ 6721A660A63B5EA4E265D1F2B2027093
+
+Set 3, vector# 72:
+ key = 48494A4B4C4D4E4F5051525354555657
+ 58595A5B5C5D5E5F6061626364656667
+ IV = 0000000000000000
+ stream[0..63] = 53AD3698A011F779AD71030F3EFBEBA0
+ A7EE3C55789681B1591EF33A7BE521ED
+ 68FC36E58F53FFD6E1369B00E390E973
+ F656ACB097E0D603BE59A0B8F7975B98
+ stream[192..255] = A04698274C6AC6EC03F66ED3F94C08B7
+ 9FFDBF2A1610E6F5814905E73AD6D0D2
+ 8164EEB8450D8ED0BB4B644761B43512
+ 52DD5DDF00C31E3DABA0BC17691CCFDC
+ stream[256..319] = B826C7F071E796D34E3BFFB3C96E76A1
+ 209388392806947C7F19B86D379FA3AE
+ DFCD19EBF49803DACC6E577E5B97B0F6
+ D2036B6624D8196C96FCF02C865D30C1
+ stream[448..511] = B505D41E2C207FA1C0A0E93413DDCFFC
+ 9BECA8030AFFAC2466E56482DA0EF428
+ E63880B5021D3051F18679505A2B9D4F
+ 9B2C5A2D271D276DE3F51DBEBA934436
+ xor-digest = 7849651A820B1CDFE36D5D6632716534
+ E0635EDEFD538122D80870B60FB055DB
+ 637C7CA2B78B116F83AFF46E40F8F71D
+ 4CD6D2E1B750D5E011D1DF2E80F7210A
+
+Set 3, vector# 81:
+ key = 5152535455565758595A5B5C5D5E5F60
+ 6162636465666768696A6B6C6D6E6F70
+ IV = 0000000000000000
+ stream[0..63] = B2995CDC9255E4E6177398EECE05F338
+ BE14825E8025598C1B4B0B80013E5D4B
+ C195802ACF47326F309C58809E044CA0
+ 2027CCE97D80F7AEBA6D0376C96BFD7A
+ stream[192..255] = 0B89114F6F4111D2C7C33B0CC3DE682F
+ 932E9B060BD3D1E17801ADBF7F034819
+ 2D1F77F99104BE2FE62AA14CAF17D0C2
+ 35243B76D298C9CB51F7E5E02914027D
+ stream[256..319] = A93BEF16E18FB3D34FD342AEAC4EC93F
+ 474910948F5E25F20C3C6AF50FBFFD14
+ 8B8272DF4AAE7400843AE11502D06196
+ 59F3F2484D5D5659BC340039CAC03B20
+ stream[448..511] = 031AB90E5D0C95ED116B7D03EFDD3543
+ ACDA91FE89071680C1B025F305538F7E
+ 7154BDF131351E68F0F0ADDD40FB5183
+ 0DD7761114BB4BA9692BD72500E7B2A3
+ xor-digest = F72CEF83AF80636D318B6C1623368883
+ 65438DF6E3B8611FBF3D602746BD8077
+ 961880B5FD7ED4C6BD13C360B50BA7AF
+ E838ABA36FD1B21FED0AA6B095D04F60
+
+Set 3, vector# 90:
+ key = 5A5B5C5D5E5F60616263646566676869
+ 6A6B6C6D6E6F70717273747576777879
+ IV = 0000000000000000
+ stream[0..63] = 447D16E09F139ADBFDBC742D248EC354
+ 67F165D42937FBA97B816016613DE365
+ B0C23E4145CA71A3680B382CFF6D615C
+ E7B2B02AEE1B6CAE692E4D09B2B47CE4
+ stream[192..255] = 49DEBE1A89CE85C6BC52DCE9E80422D0
+ 523FA99D29132F3B292B695EC641C0E3
+ C3C339414349F83BAAF6E534E426DA98
+ 2BB80981B58401128A158AEB75FD48E7
+ stream[256..319] = E661F70FC1DCB4437D4DE0C4F6540EFC
+ 14D319CF67906DDBF41BA8FA8FD1B17E
+ A8452CCB67F4078A8CEB2953218F97C7
+ 73850D1CB882656A6486C0D12F9324EE
+ stream[448..511] = 7916FA50772F5BCD5DBF87F6733466B7
+ E0DC28687A5AFDEE5BDFCA4A197E7B6D
+ 82072AC49F2C7944519999FCE9438AF9
+ 80EC5576BEF6454C43AEC151A488A405
+ xor-digest = 62E4E63373B0DD84227A80FDE16A2B25
+ 27AF035FAFE70CCF3B67F0CB2C22DF85
+ AF7FFAF9B34E05C6AE9E42C9C6DC457B
+ C223D886718E3B0022BD15FF398FC2CE
+
+Set 3, vector# 99:
+ key = 636465666768696A6B6C6D6E6F707172
+ 737475767778797A7B7C7D7E7F808182
+ IV = 0000000000000000
+ stream[0..63] = D356187B3A555932420B005EEA1703CB
+ 6C568987D54316540561425C078A0BC1
+ 6011BD3A1E88C62039608DDB65C35453
+ 8E6E6BE417066D824B4CC3F4842D1B7D
+ stream[192..255] = FC9DB2F6F1A10BB4690291F108119B07
+ C7D908E2A3C35BDEDF1F0B79041C04B9
+ 1D63CE0D20459F3A99BF37AB195D907D
+ 3EBF1C75C5B7272D29ED83C0ECAE915F
+ stream[256..319] = 2193BE6883F2B56B74312E46F422441C
+ C1A54EF08360C87F70AF598751E24F28
+ 5E7A0C2F886147DFEC52B34466F3A598
+ 8DDAF657AF45A452495F852233F3E312
+ stream[448..511] = 42822BF1D4BFD3122C2C842CE59BD9AD
+ 4616D916AADBBADB1A7F710EED2F7211
+ 653055D94569FA2BE4C2BA8B758E2956
+ 2C7A3354074705A28891B5E66EB8A7D7
+ xor-digest = 8DBE66E2AAD0332B5D3B001C2EDFB91E
+ 9335910ACC1E28F2150289D7A414DCF8
+ ACE6EC6CE70A985602E8E10B61F0736B
+ 0076F2E181758E99DE3628079B9C41B6
+
+Set 3, vector#108:
+ key = 6C6D6E6F707172737475767778797A7B
+ 7C7D7E7F808182838485868788898A8B
+ IV = 0000000000000000
+ stream[0..63] = 4C2EB1D4A9A84064F43082EAC25C741F
+ A49F2579FCB069A2B072B4D7EB704B38
+ E00DB35E0D9C2077E58B9403D73904B9
+ BDAF16A1C79A0A25B0B9BC06E49D2659
+ stream[192..255] = DBB77843D3F626E1F577ED0AB0D90348
+ 66237611BC25FEA9713D5D001D2FE59F
+ 51A5C201D1EE6F7844BF231C34BB489A
+ CB3EA4434226248FDA91597AC400C8D2
+ stream[256..319] = 3AC1C77E12C7B3CD306743B805738AAA
+ 8269B47132D1902ECEAD7EC403E2CE6F
+ D3EA6DFF1FE350995BAC330874EB0777
+ EA659488C3991432A1FF9CDE7ABB9D34
+ stream[448..511] = FFC9E408A4521EFDA22B2D4C30F22781
+ D17CB1C709C4ECB2FD03ABEF56B4DD98
+ 6379C068662A5CBC01053A0A7B3D1A0E
+ 9B9AB81EEB8F57EDED3BE1EE75ED340B
+ xor-digest = 0030ABB5B1F3B9615878BB05AE84977C
+ 6F5DFC18FDD5C2C7CDA6AC2E00997C43
+ 4DF73B9AE21A6C58D0D856801A072B23
+ DCBA58AC011983C8AEA55A48F8A38FCC
+
+Set 3, vector#117:
+ key = 75767778797A7B7C7D7E7F8081828384
+ 85868788898A8B8C8D8E8F9091929394
+ IV = 0000000000000000
+ stream[0..63] = B36D9BB49A62689A751CF5C971A15F70
+ 439E56DC516F15F958369E3DA2500EC4
+ D51CE469B050037570D03B0948D9FF82
+ F2AD1B1D65FA5D782CAE515E03BA6A60
+ stream[192..255] = 0A4DE80091F11609F0AE9BE3AA9BE969
+ 9AA1C0BDEE5C1DE5C00C36C642D7FF87
+ 2195871708F2A2325DE93F81462E7305
+ 4CECEFA7C1906CDAE88F874135D5B95D
+ stream[256..319] = F69916317394BF360EB6E726751B7050
+ 96C5BF1317554006E4E832123D7E43CE
+ 74A06499BF685BB0AAC8E19C41C75B1C
+ 840FD9375F656AD2B1377B5A0B26289A
+ stream[448..511] = 5A49B471376394B09890CA0A5A72410A
+ B34ED9B829B127FB5677026E1BFC75B4
+ AFE9DBF53B5C1B4D8BEB5CEDB678D697
+ FE56DACBA9D6DEA9C57CD8243153755A
+ xor-digest = 9DEC1D2B309A5B7872F2AF1F30A5ACB0
+ FC656DFE3C88B5C098DB3D5CE76F3ADC
+ C9D4BEB8C29B81C3EF3BB24D34A93A52
+ DD659F62FD9BCBEAEC440BEB08B342D7
+
+Set 3, vector#126:
+ key = 7E7F808182838485868788898A8B8C8D
+ 8E8F909192939495969798999A9B9C9D
+ IV = 0000000000000000
+ stream[0..63] = 4E7DB2320A4A7717959C27182A53072B
+ 9D18874644B42B319963B5512340AA4D
+ C7088FE4803EE59CC25E77AC29D13E72
+ 20654487F4A3BF2D39C073C7D231DB17
+ stream[192..255] = 58A4B8F161BE5C1AC1573FB95C216AAE
+ ADBF17205072225CD2236439A574B40A
+ 2AD76749E37AAEC60B52D79F5DA5459F
+ 094244FDE783122FACE929D94E914A87
+ stream[256..319] = BE41A549607DA00691D0C3734D1F9CF7
+ 1A0D21056E50BC89F29135989432FDB5
+ C2340BFF6D181946BACD49D4B28A5104
+ 97990B241CE021280159DFAAC44DA45C
+ stream[448..511] = E7CEFE15DADB07044C730CE7650E4124
+ 687B7781C85C472EF6D3DD6C7150B050
+ 001904552B59778F2BAEA8C0CA29900F
+ 0470F14CCED15E2D83FB1A06A0C57C7E
+ xor-digest = 81B127B36F506C56D5D62AA866E93BD5
+ 2F97F96D353D50F613B9CF2270743A29
+ 4B4082749139ADC010A6C12B05A77533
+ EA699A1FDDEFFE1B28880AC98F7FAD71
+
+Set 3, vector#135:
+ key = 8788898A8B8C8D8E8F90919293949596
+ 9798999A9B9C9D9E9FA0A1A2A3A4A5A6
+ IV = 0000000000000000
+ stream[0..63] = EE17A6C5E4275B77E5CE6B0549B556A6
+ C3B98B508CC370E5FA9C4EA928F7B516
+ D8C481B89E3B6BE41F964EE23F226A97
+ E13F0B1D7F3C3FBBFF2E49A9A9B2A87F
+ stream[192..255] = 1246C91147270CA53D2CEACA1D11D00B
+ F83BB8F1C893E6F10118807D71021972
+ 586592F9935827B03EA663B7CF032AA7
+ ED9F1F9EE15409B18E08D12F4880E162
+ stream[256..319] = 6B6AC56A7E4C7636D6589886D8D27462
+ 41BACAF2A1C102C5D0DE1603E4C7A92B
+ 42F609BCB73BC5BFC0927EF075C72656
+ 7018B47870365138EE821345C958F917
+ stream[448..511] = DA438732BA03CBB9AFFF4B796A0B4482
+ EA5880D7C3B02E2BE135B81D63DF351E
+ EECEFA571731184CD5CB7EEA0A1D1626
+ 83BA706373017EE078B8068B14953FBF
+ xor-digest = C06DCD6409120BCC16F4412019C0D958
+ 3BFDE4F32A6AE9B469A4112211B77654
+ 355FB3ECEE657E1B8C20E570A83A9CC6
+ E58656A63AD343E0C241DE558EB4EFE3
+
+Set 3, vector#144:
+ key = 909192939495969798999A9B9C9D9E9F
+ A0A1A2A3A4A5A6A7A8A9AAABACADAEAF
+ IV = 0000000000000000
+ stream[0..63] = 14530F67317B09CB008EA4FD08813F80
+ 4AC63D6B1D595D21E244E11AA4F153E1
+ 256DF77976F713B4F7DD1DF64E7016BB
+ F9460A1A7CC7F3E9D28D8D19A69EB0B4
+ stream[192..255] = 6C025A7A0A9F32AE768D35C56231AFFF
+ 5E9A283260E54F442D1F3263A837545C
+ 234F7701D1A5B568DDA76A5D596F532C
+ 4F950425A2F79CD74203CCBB27293020
+ stream[256..319] = CA585389DDA8D79B73CA2C64B476C776
+ 0DC029271B359EB10D09B90FEF816E96
+ 432CCEDFB51322F7AEA6DEB896E048FA
+ 2AAD234F89C45FC25967DF99955B1234
+ stream[448..511] = 7DECE5C4BA2E08A2A61A37D9DD56BC89
+ 2E141874A572AE4342067CBD4E080933
+ 1851640E5D6EF48F73A4A638C74471C1
+ 85E731136BAC231B0803A66A4CDB6A4C
+ xor-digest = 99D13A0741CCC1C40D655993BE02D21C
+ 6BDB707DCF4FE3EE7866FC62F9C23EBF
+ C1C57844796FF8B71CDC8F569E75D960
+ 0EFA123DCDDD96E33C1090238E750B34
+
+Set 3, vector#153:
+ key = 999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8
+ A9AAABACADAEAFB0B1B2B3B4B5B6B7B8
+ IV = 0000000000000000
+ stream[0..63] = 9B05907B8F2EE3E831D9A0BE6203DBED
+ 012C381B7E3225B52282B9D0BA5A5A6A
+ A367F7C553177557B87FFAA73C59E123
+ B8B2F069B6C0F6DF25CC0A340CD2550D
+ stream[192..255] = 4274D6C7996E9E605D378A52CB5AECCC
+ E6EF862FC0F40091C79FDC93DE2B7CF8
+ 4B484FC874687BE243965F92080444D2
+ 206123C6815E9A497610283D79EB8FA9
+ stream[256..319] = B9EBAF94F5CD2CCDAA2F8804E586DE09
+ 98A5E2E79D9C2E9F6267A16B314C3748
+ 07E7DD80A3115D2F64F1A7B6AF174AD6
+ 8EA04962D48C7F0BCA72D9CDA9945FB1
+ stream[448..511] = A08547DA215E1372CED1AC1192431AF3
+ 52B670CE9FF5F1F3A598CB17961D7780
+ F1D08A6C69BF2EF73BB54DAC8308D320
+ 66CB8132DE497FDD9BB54739A54A57AC
+ xor-digest = 71B9D8900F2C9E50E4E8E31D22C1E008
+ 9113A28C9E4039B00E181FC3AC2CBAC0
+ 70EA10B1E44ADF4C46D767A1945D5414
+ 42E4C1322099B3EAC9AF05736E2BFDDC
+
+Set 3, vector#162:
+ key = A2A3A4A5A6A7A8A9AAABACADAEAFB0B1
+ B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1
+ IV = 0000000000000000
+ stream[0..63] = 7D0FF0DCB7CAAC90E548E24BEEA22D10
+ 1C927E0A9BD559BC32BA70B346659F41
+ 8FD9E36202D3AF35CB836F1BD15087DE
+ 0D01FFF0BD42BC24B01A65CAD6F38E2C
+ stream[192..255] = 12E246BA025A6174789C631646D092A8
+ 865094571FF71BC28A38BEACEB08A822
+ 72441DE97C1F273A9AE185B1F05B2953
+ EC37C940EE4C3AB5C901FF563563CCC9
+ stream[256..319] = 2B48A7B5979BD5D27E841D2A6ED203D7
+ 9126471DB9201444D07FCEA31A66D22F
+ DC65636F451B8D51365639CE2F5090B8
+ D08E14FE955580CB3692F4A35410D9BA
+ stream[448..511] = A94E650CCC1ADEE62D2BAC9AA8969BA1
+ 911429B6B9287E2E8A553752EDDF6F82
+ 132FA5620E1F4F671EDF9C2EF1B76DB1
+ CE63A8A61EDF905A8D5D195D8EE7A116
+ xor-digest = 6492816A5383705890130321A2A5AFB7
+ B76B54481A48AF1F307EAA0AF41FB5FD
+ 45CA6F00FE72C7D5C09E48406575651B
+ 5674BC9488CF5EE93986F830947BF1A6
+
+Set 3, vector#171:
+ key = ABACADAEAFB0B1B2B3B4B5B6B7B8B9BA
+ BBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA
+ IV = 0000000000000000
+ stream[0..63] = F943B21C04A85C22ED1FC5BFBACAAF93
+ 2CB889EF7CD4472089B16B6DDA5C72E9
+ A8F11B66CFC7677D72FB8908018B2A32
+ F6B37A2AC811665D8266841199C066AE
+ stream[192..255] = E877CA4C8570A4A0CF06FECCCF0430BB
+ C63077B80518C4BFEC10BA18ABB08C0B
+ 3FD72D94EED86F1A9A38385AD4395A96
+ 7ABB10B245D71680E50C2918CB5AE210
+ stream[256..319] = 89B67848C1661AFE6D54D7B7A92EB3FF
+ AB5D4E1438B6BEB9E51DE6733F08A71F
+ F16B676851ADD55712C5EE91B3F89381
+ 0352A3C0DC7093FCC6D11810C475F472
+ stream[448..511] = 14ABC36FB047EB4137390D3AA3486407
+ 7400CDF9AC001025BA6F45BEDD460ECD
+ 2FD4C16064F5579C50ACC64361EE9470
+ 468B39F5CABCF366E0AE7DEA4EB1FEB1
+ xor-digest = 85D10891442BBD49CB301840BC9BFFDC
+ AAC81AAAAD8E6CF18E35C17B8E14255F
+ 10650F031203035A67B68E4DA9414BF3
+ 3C229E3F7C253F55771460CA6E804B09
+
+Set 3, vector#180:
+ key = B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3
+ C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3
+ IV = 0000000000000000
+ stream[0..63] = 5F76E49A712A9B36D646FDB1355FA862
+ DE02BDC06E9AA4DF8DC0749102ADB071
+ D575101D0CA6E36034EE3A039CF5239B
+ 817466A88DE350081D91090D79842DF5
+ stream[192..255] = 48AEECB9BA29A1B52B2A5F58597980CF
+ 2B5A31CD6DB97B98A4DB560500705ED7
+ 0BF7D9946DF6B2D26C77E2BC3152F23C
+ 2302F08ADE124F97E9E45F2894832434
+ stream[256..319] = BD9BFA707093FD92BE49E0B0FD0A9E89
+ 0AFD92AC6A50375173CE0C966C9D9A87
+ E2B538445E697EA193BD33D60DC9F107
+ 1784CDA56C8AAD2BC67E17C9F5BDBAF8
+ stream[448..511] = 1477E6B19CA394B91496C5C1E1EFE3D4
+ 68D157B035C87A4667F6559F56C84ABF
+ 3CE27D85D85784C40081EA064835904D
+ AE34A9277900B6F2F0B67F44B6B41776
+ xor-digest = E7FDF2693C8481BADDA0503996EAA6F8
+ 201C2422907DC27CF747F8325B5FAB10
+ 0567204E731A896F0128BFD87993C5C0
+ 80B05AA3C75C9675BB7F9CBF935F502A
+
+Set 3, vector#189:
+ key = BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC
+ CDCECFD0D1D2D3D4D5D6D7D8D9DADBDC
+ IV = 0000000000000000
+ stream[0..63] = 1D8D3CB0B17972779FBD8339BDBC5D0C
+ 4178C943381AFA6FA974FF792C78B4BB
+ 5E0D8A2D2F9988C01F0FF7CE8AD310B6
+ 6FA3B8D8CB507E507C4516BC9E7603B6
+ stream[192..255] = F32D0691B1832478889516518C441ADB
+ 8F0FE2165B15043756BB37928EBCA33F
+ 9C166A5907F7F85CCF45CE6BFB68E725
+ 748FA39528149A0E96B0B6C656854F88
+ stream[256..319] = 66A7226EA4CF4DB203592F0C678BA8D2
+ 99F26E212F2874681E29426A579469B2
+ CA747B8620E7E48A7E77D50E5C45FF62
+ A733D6052B2FB4AAB4AC782539193A76
+ stream[448..511] = 25CCCD9E6FF25D8D6525E621BC376F6A
+ F73C749E80213260F1418B0C191B1F24
+ C1922DAD397EFA6062BBE9E3612D35D5
+ 30F49C5D9D4F11E4CB2B3A4E66731FA8
+ xor-digest = 92BE9D3D0940E7447B043A3C0150AE8A
+ E28BC1F1D3EF2318E447210936356401
+ 729A21A8BBA3FE17EAC0334B9E42E2BE
+ FE94CF0FEDBA97460B1BC07813A48053
+
+Set 3, vector#198:
+ key = C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5
+ D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5
+ IV = 0000000000000000
+ stream[0..63] = 9D2EB0E9A93A0EF9F8ABCE0916C06EEB
+ E9C8EBB52A8112CD352A8E2E4EE84DFD
+ 44B7C8251D0D1A36EA69CEB8C595D527
+ DA0EF26A2C5A5F443DC3040C6BF2DA49
+ stream[192..255] = A86842C08DA057352B70FB63EBD1516F
+ D56E7BB389BBBB22F8EDE940DC7036CF
+ E10104AB81A51F23CFE35CCCC07BF50D
+ 40A2438F3B3AEAB62953406A9E7D7BF3
+ stream[256..319] = 9EE5EE22FFEDB13C11A81B0E5EC82DB6
+ 303F22A62F0FD0574CE7007AF1EA2FCC
+ 23D9C4196EBE897AB0D00371429F518E
+ C150063EAE314EE72EFADB1AA7714AC6
+ stream[448..511] = 125ACD159548C79FCC93BFEC7B832C5D
+ 387AFD85A0537BB6A49A8C3F4673306B
+ D76E17AC601629E00AB5AFF62B269491
+ AD996A624C6B1888BF13785AD63DEC7C
+ xor-digest = 9772AADF9F5BE8C14EC8304D594AF93E
+ 1285357C9DFE9C10A1D45E5EB7D5BDCC
+ FCBF529FDCA3E620EB097575BFE68B08
+ 04E63DD07C5FE3C8D8E28E2277E0358E
+
+Set 3, vector#207:
+ key = CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE
+ DFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE
+ IV = 0000000000000000
+ stream[0..63] = 1D99BD420A9EBE17CF6144EEBE46A4B5
+ D8CE913F571DCEDEE6C6E3CFA27572F5
+ 9983D4B2CADC292A956983AF7250CA81
+ A23A9EDA42417CC150597891045FF321
+ stream[192..255] = D53AB2E60871F42D10E6747FE358E562
+ 14D7CE3E7BA38E51354C801B72E5D515
+ DD805F8FDBA9F1BC81C5926DBE8CDBD2
+ 3B006714CC8D550671036F6FD2991825
+ stream[256..319] = FD97553220FB51132C33EBDA78606A24
+ 5C5E3578A69754BF4FC11D6242605160
+ B4085DFDFC3D11505F72DC15CC16C683
+ 37798E0DABD37C67B2E8912E498EA940
+ stream[448..511] = A2D9199683D73F01DDD77BD46CD5BCEF
+ 37CD9D4ECBA40B6C51446DCC68BCAD18
+ 9FBEFEFC3D82131ECF98263299DC0CA9
+ 1DD349E4DD348A88B2E3D7AA2D20CC13
+ xor-digest = 0F8AA6C52B1A2A36DA0EBE5C16BA2360
+ 2E48161F836C228A0B8A413F6E0699A0
+ 4DA22789A18C53A5125CFE51B9D7B5A1
+ D9957CDED4D1F48744944B65D2AE2290
+
+Set 3, vector#216:
+ key = D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7
+ E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7
+ IV = 0000000000000000
+ stream[0..63] = B9751AF24FCF14907948F7AD36E2649A
+ 9A07B637F84D34E961EE82B7C33A9CC3
+ 7B96DA6A956AFF4A629546C422802767
+ AD9F24BB2E79F09FCD43775FAC965123
+ stream[192..255] = 6C4CB6AD15DDCE11F1BF68FFF1376E0F
+ 4CE35ABCE777F4AB1D6906D09184689D
+ B697D1CFFAF46C5B85AD9F21CFF0D756
+ 3DF67CF86D4199FA055F4BE18AFA34C2
+ stream[256..319] = 35F4A1BBB9DA8476A82367A5607C72A0
+ C273A8D1F94DC4D62FDB2FA303858678
+ FABCD6C6EBA64849640BFB6FE4ADB340
+ 28FAE26F802EA0ECE37D2AC2F2560CE8
+ stream[448..511] = 3D208E3CFAF58AF11BCC527F948A3B75
+ E1751A28A76CBFE94204783820AD7FEE
+ 7C98B318EDA2DC87111D18978CEE0C0C
+ E39F1469E7CB3EEEDBD6BF30DA68DF34
+ xor-digest = 7843987CBFAF3BC7DABD22E793F0F1B6
+ 599E7774A6FAAA79B81A956F7C20964A
+ 884A766CD76FDCDB67AAFAEACF24D221
+ 5C5CE400F056F81A9EB0951A468502D9
+
+Set 3, vector#225:
+ key = E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0
+ F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00
+ IV = 0000000000000000
+ stream[0..63] = EA444200CDE137A48DD3728CFC0FE82A
+ 1CD6F0F412C0343639052B6471F8321C
+ 3C9A38986A5F882A26ABCFB342D3FF50
+ 4E2EBF01D8CDA2408AE1A9023F4D64CA
+ stream[192..255] = 5C20B3CECA032C29E7B8118BB8B946F9
+ 90A9DD8895D9D7FE620727087DB8C6E9
+ 6973741552A24E8C3B9EC81FA2B06E5F
+ F4283201639C83CC0C6AF8AA20FBDDD9
+ stream[256..319] = 4DB2FF5167737BB90AD337FE16C10BD9
+ E4D2B8D6FBD172F5448D099D24FEAEA9
+ B30224AB670781C667292D04C76EFEC2
+ 476B2D33ADA7A7132677E4B8270C68CD
+ stream[448..511] = 5AB9F03158EA17B1D845CDC688C3BB0F
+ F1AC5CEAA2F16DB3178223D1471D0191
+ 0E9D5BB3C6D0C9CC652C0ACF527B4F44
+ 94B0DE521164493800E132B272A42A22
+ xor-digest = E7CADB2D003E6B1FB7ED9E085806817E
+ A548D2F1AFEF99ADED650D1B3DDF3533
+ C1E86435B9040DEEC83CEA60A501F35F
+ 8538B9A4B3836B7D23A909100E244801
+
+Set 3, vector#234:
+ key = EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9
+ FAFBFCFDFEFF00010203040506070809
+ IV = 0000000000000000
+ stream[0..63] = 99A8CCEC6C5B2A0B6E336CB20652241C
+ 32B24D34ACC0457EF679178EDE7CF805
+ 805A9305C7C49909683BD1A803327817
+ 627CA46FE8B929B6DF0012BD864183BE
+ stream[192..255] = 2D226C11F47B3C0CCD0959B61F59D5CC
+ 30FCEF6DBB8CBB3DCC1CC25204FCD449
+ 8C37426A63BEA3282B1A8A0D60E13EB2
+ FE59241A9F6AF426689866EDC769E1E6
+ stream[256..319] = 482FE1C128A15C1123B5655ED546DF01
+ 4CE0C455DBF5D3A13D9CD4F0E2D1DAB9
+ F12FB68C544261D7F88EAC1C6CBF993F
+ BBB8E0AA8510BFF8E73835A1E86EADBB
+ stream[448..511] = 0597188A1C19255769BE1C210399AD17
+ 2EB46C52F92FD541DF2EAD71B1FF8EA7
+ ADD380EC71A5FD7ADB5181EADD1825EC
+ 02779A4509BE5832708CA2836C1693A5
+ xor-digest = 0F8D6440841701C8C9BA58C0A86262AE
+ 0220D0655B0B8C6DE7D2987BCC211A59
+ F2A23C932D0C17DF87C6B5F80AACB5AC
+ 5A7894CB6B7552D0C0E235F1FCEAC442
+
+Set 3, vector#243:
+ key = F3F4F5F6F7F8F9FAFBFCFDFEFF000102
+ 030405060708090A0B0C0D0E0F101112
+ IV = 0000000000000000
+ stream[0..63] = B4C0AFA503BE7FC29A62058166D56F8F
+ 5D27DC246F75B9AD8760C8C39DFD8749
+ 2D3B76D5D9637F009EADA14458A52DFB
+ 09815337E72672681DDDC24633750D83
+ stream[192..255] = DBBA0683DF48C335A9802EEF02522563
+ 54C9F763C3FDE19131A6BB7B85040624
+ B1D6CD4BF66D16F7482236C8602A6D58
+ 505EEDCCA0B77AED574AB583115124B9
+ stream[256..319] = F0C5F98BAE05E019764EF6B65E0694A9
+ 04CB9EC9C10C297B1AB1A6052365BB78
+ E55D3C6CB9F06184BA7D425A92E7E987
+ 757FC5D9AFD7082418DD64125CA6F2B6
+ stream[448..511] = 5A5FB5C8F0AFEA471F0318A4A2792F7A
+ A5C67B6D6E0F0DDB79961C34E3A564BA
+ 2EECE78D9AFF45E510FEAB1030B102D3
+ 9DFCECB77F5798F7D2793C0AB09C7A04
+ xor-digest = E940A6B3F4FF6EEDB11FF692E60C1246
+ 392EB04AF868088EE85D813B0600CA91
+ E8C384620F059B6537F29431A534ADFF
+ 92DB33C3615465AE4B19E6196F14C0DE
+
+Set 3, vector#252:
+ key = FCFDFEFF000102030405060708090A0B
+ 0C0D0E0F101112131415161718191A1B
+ IV = 0000000000000000
+ stream[0..63] = 2064790538ACDF1DE3852C465070D962
+ FE2993BDD20C96DED5B2E5FA33283374
+ 2A6B03966D47F8874D39C501ECFE0045
+ 725C463530967ED1499097906B9775C3
+ stream[192..255] = 9F880124435347E31FDF6EF96981FAB3
+ 1A912D0B70210CBED6DDC9813521CCE2
+ B5C2B80193A59DCD933026D262E8EC74
+ F5880028FBB06166E0A304453A3A54BB
+ stream[256..319] = 8A3F922FCDE48CE6C2E324EAA639DECC
+ E7257A25C420A2435BBA98740DF6C92A
+ 8FA18F1D4E67C5F75F314219BB769685
+ A0C028D115321D10D58B46E5D58ABB4E
+ stream[448..511] = 905C86F2F2C1E0454963E21D7498E8F4
+ 67ECF23F8B02671F57584322E9952223
+ 58D4FD541714BF12EFB189ACEA624AFF
+ 2D55B252974D39D8598E8A066536ACB2
+ xor-digest = 4750CDBC728F8AB112C58235A5891BA1
+ 84B79BAF5172AC7C530F57023F1E9CFD
+ 26071B4826FF3C6971DC2A7DD8FB35B0
+ 054D59D5538746F0C4C2D1A8DE6DC771
+
+Test vectors -- set 4
+=====================
+
+Set 4, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ 3083D6297CCF2275C81B6EC11467BA0D
+ IV = 0000000000000000
+ stream[0..63] = F9D2DC274BB55AEFC2A0D9F8A982830F
+ 6916122BC0A6870F991C6ED8D00D2F85
+ 94E3151DE4C5A19A9A06FBC191C87BF0
+ 39ADF971314BAF6D02337080F2DAE5CE
+ stream[65472..65535] = 05BDA8EE240BA6DC53A42C14C17F620F
+ 6FA799A6BC88775E04EEF427B4B9DE5A
+ 5349327FCADA077F385BA321DB4B3939
+ C0F49EA99801790B0FD32986AFC41B85
+ stream[65536..65599] = FED5279620FBCBDD3C3980B11FCE4787
+ E6F9F97772BEAAD0EF215FDCD0B3A16F
+ BB56D72AFD5FD52E6A584BF840914168
+ D04A594FFDDA959A63EB4CF42694F03F
+ stream[131008..131071] = F161DCE8FA4CF80F8143DDB21FA1BFA3
+ 1CA4DC0A412233EDE80EF72DAA1B8039
+ 4BCE3875CA1E1E195D58BC3197F803A8
+ 9C433A59A0718C1A009BCB4DA2AC1778
+ xor-digest = 2052F9A2853E989133D10938222AC76D
+ B8B4CBA135ACB59970DDF9C074C6271A
+ 5C4E2A7A00D2D697EDFC9B1FF9B365C8
+ 7347B23020663A30711A71E3A02AB00C
+
+Set 4, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ 3588DB2E81D4277ACD2073C6196CBF12
+ IV = 0000000000000000
+ stream[0..63] = 2F634849A4EDC206CE3E3F89949DF4E6
+ EA9A0E3EE87F0AB108C4D3B789ACE673
+ 07AC8C54F07F30BAD9640B7F6EDEEC9D
+ B15E51599EB15E1CA94739FEA5F1E3D7
+ stream[65472..65535] = EB2B0FD63C7EEEAA5A4D712EEEFC0A7E
+ 214BEB04D3FDA19C32250949868216D3
+ A659B312E13EC66C5832E970F9C91FF9
+ 4F7463439A9827ECCA52248D3CC604CD
+ stream[65536..65599] = 425E0DF93A3DE6B22E0871EB4E435691
+ D77B5C471228DE302A79001F89F7E77D
+ 837C5CA0177B2206568EDC2EB0F169D5
+ 6B414B9DCCDC928659B4BE1E0DEDFF73
+ stream[131008..131071] = 6AA3D6938B6B54B4CB8D2885274A991B
+ 4A0D5CCF35D981953EC64452FACC8640
+ B5ACFA39A372E38BE4E10EE68E7F1B50
+ 5A5660CDFBAE8DCBFCC9A3847BBB6BA4
+ xor-digest = 61F90A34A70BEE706D298B31B281BFC7
+ 2CF9E82394F6AD7277AAFE176CDB6D62
+ 8E723AC403D892A85AC907D48DD2C3CB
+ CB6C622297670AD2590BE9A774B07D65
+
+Set 4, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ 3A8DE03386D92C7FD22578CB1E71C417
+ IV = 0000000000000000
+ stream[0..63] = 0A8BBD088ABADC4D57D3389E32175878
+ 125BD89DE7E9D05DBF29B753F5F0C2CB
+ F0EEF9333526E9308A114E06EB9564EB
+ 35C28EA93C17BEF0466748079A355B9C
+ stream[65472..65535] = F47FDFF047F0303F6CCE2510FA2475F0
+ 7784D5F0FBD63D1746BD8CE4BB02802C
+ 3052A375D7DE75D439174E7B19CEBA3B
+ 9546DB027F14FFDB9EF542D5768CE5A7
+ stream[65536..65599] = 40FEC0EE1697D63CB04299A17C446DE0
+ 6B3407D10C6DD2143DFA24EB7362D09A
+ 6857C6AA83A191D65B05EBBBC8133D12
+ 2BDE75900C86FCD8785EECE48659C3B0
+ stream[131008..131071] = 7820087794D46993E984536E7B74C615
+ 67AB34C6C0A90090DB080E6EB79532FB
+ 414CD1145A781A2C55519A3E3AD19FA6
+ D78790313EBE19A86F61068E4C8E508D
+ xor-digest = 67125CED828BA1AC0E22B29E75886255
+ ED129F94F30B83E81E9DACFC4D2BD1DD
+ 782BCC1929B62D754D1CC0AB120A24A4
+ 8FB8190CEF0519F73B404C97A83E3925
+
+Set 4, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ 3F92E5388BDE3184D72A7DD02376C91C
+ IV = 0000000000000000
+ stream[0..63] = 4A671A2AE75DB7555BEA5995DC53AF8D
+ C1E8776AF917A3AB2CA9827BCED53DA7
+ 00B779820F17294751A2C37EF5CCCFE9
+ 7BF7481E85AFC9ECAE431B7CF05F6153
+ stream[65472..65535] = 15C415BE73C12230AC9505B92B2B1273
+ 7F6FB2FAAF9C51F22ECCB8CBED36A27A
+ 1E0738E1252D26E8E5E5651FE8AA02CC
+ 9887D141A7CBAE80F01BE09B314005BB
+ stream[65536..65599] = 1C48158413F5EC5E64D2FA4786D91D27
+ 27DF6BECD614F6AE745CF2B6F35CD824
+ 3E5F1C440BEDE01E6C8A1145F2AB77FA
+ 24D634DE88F955D4F830D4A548A926D0
+ stream[131008..131071] = A9BE2FB00C8BD01054153F77EC0C633C
+ E8DF7F78E994907B9F387FF090CB3B95
+ 4271FEADF50C9084106F4285FF4F534D
+ AEC130AAE287D47033179BBAEEB36CE6
+ xor-digest = FE8E842CB0F33D020632A0A682AF9EF0
+ AD3715E3DBAF4CD3591D46B1CE47FCEB
+ 6D3A04AE59AF466E22EE507FB8BD58F7
+ 4C643E138029521638A3B066305F60DF
+
+Test vectors -- set 5
+=====================
+
+Set 5, vector# 0:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 8000000000000000
+ stream[0..63] = 2ABA3DC45B4947007B14C851CD694456
+ B303AD59A465662803006705673D6C3E
+ 29F1D3510DFC0405463C03414E0E07E3
+ 59F1F1816C68B2434A19D3EEE0464873
+ stream[192..255] = EFF0C107DCA563B5C0048EB488B40341
+ ED34052790475CD204A947EB480F3D75
+ 3EF5347CEBB0A21F25B6CC8DE6B48906
+ E604F554A6B01B23791F95C4A93A4717
+ stream[256..319] = E3393E1599863B52DE8C52CF26C752FB
+ 473B74A34D6D9FE31E9CA8DD6292522F
+ 13EB456C5BE9E5432C06E1BA3965D454
+ 48936BC98376BF903969F049347EA05D
+ stream[448..511] = FC4B2EF3B6B3815C99A437F16BDB06C5
+ B948692786081D91C48CC7B072ABB901
+ C0491CC6900F2FEA217BFFC70C43EDD6
+ 65E3E020B59AAA43868E9949FBB9AE22
+ xor-digest = FE40F57D1586D7664C2FCA5AB10BD7C7
+ 9DE3234836E76949F9DC01CBFABC6D6C
+ 42AB27DDC748B4DF7991092972AB4985
+ CEC19B3E7C2C85D6E25A338DEC288282
+
+Set 5, vector# 9:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0040000000000000
+ stream[0..63] = F28343BCF4C946FC95DCAAED9DA10B27
+ 7E573FC8EBC8CEE246FDDC533D29C2EA
+ 05451ED9A821C4161EE0AFA32EC0FCA0
+ DAD124B702DA9248B3D2AA64489C9D26
+ stream[192..255] = C65F799168D6B229D0281309526B746C
+ 490D3EDC0F6408A04339275FCE04BDF4
+ 656AB5868495C32D238FDB97869A9332
+ E09CB7BE8031D38B8F565FB5469C8459
+ stream[256..319] = 03E48FD41282FCD62C7217ED64153E55
+ B558F82A613245C3D8A885542346AA39
+ 27DE9734C0581338C3DE5DB443EC4227
+ E3F82677D259D2D42601D187C79BF87A
+ stream[448..511] = 551F95AD9751E4F4BACE7FD48B6A3C67
+ E86C4B1E5B747BA60377B07FE8365E09
+ F8973085F8A6086FC56BD88168D8C561
+ 8B01B159EF29F658C85FD117925D46E0
+ xor-digest = 17E005D5257D3ECE55DBE678290C9E1F
+ E0D1E18CA8D54F6271E83D1A94580D8A
+ 597403F680674F564D130D71111ADD2D
+ A17E21268D5A8407CB2721730776DC94
+
+Set 5, vector# 18:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000200000000000
+ stream[0..63] = 621F3014E0ADC8022868C3D9070BC49E
+ 48BC6B504AFF11CB17957F0EBFB7612F
+ 7FCB67C60A2FBD7A4BD7C312E8F50AF3
+ CA7520821D73DB47189DAD557C436DDC
+ stream[192..255] = 42C8DFE869C90018825E2037BB5E2EBB
+ C4A4A42660AFEA8A2E385AFBBC63EF30
+ 98D052FF4A52ED12107EE71C1AEC271E
+ 6870538FCEAA1191B4224A6FFDCE5327
+ stream[256..319] = 4214DA4FAF0DF7FC2955D81403C9D49E
+ E87116B1975C5823E28D9A08C5B1189D
+ C52BCBEF065B637F1870980CB778B75A
+ DDA41613F5F4728AD8D8D189FBF0E76D
+ stream[448..511] = 4CA854257ECE95E67383FC8665C3A823
+ 8B87255F815CA4DEC2D57DB72924C60C
+ B20A7EE40C559406AAAB25BE5F47184D
+ D187ED7EA191133F3000CB88DCBAC433
+ xor-digest = 3191EA19C819BC3382B2C085B709E569
+ 54D91532C88F49E77BACCCBCE6312A46
+ A6079A13DF08EFEE0F1A6C95BE79E919
+ 87677D1CAAE2E0CE253B3EE47F825EAF
+
+Set 5, vector# 27:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000001000000000
+ stream[0..63] = D2DB1A5CF1C1ACDBE81A7A4340EF5343
+ 5E7F4B1A50523F8D283DCF851D696E60
+ F2DE7456181B8410D462BA6050F061F2
+ 1C787FC12434AF58BF2C59CA9077F3B0
+ stream[192..255] = 6CE020B3E83765A11F9AE157AD2D07D1
+ EA4E9FBBF386C83FEF54319746E5F997
+ D35BE9F73B99772DA97054FF07301314
+ 3FF9E5B47C61966D8525F17265F48D08
+ stream[256..319] = FFEAB16EEA5C43BFD08D2591F9A40293
+ 24CDDC83A840B2C136B7CE99AF3A66CB
+ 3084E4E2CA6F44AC5CEAF7A1157BE267
+ 3DF688B43BD51B9A8444CE194E3CA7F2
+ stream[448..511] = 0D3873FD47A7B3400115C40574469D21
+ 5BCE0679ED5CF9E374E473B4427DE498
+ 5804DD75151D72EE367A3F066E641B7F
+ 5CF28A67215B74DD80EB3FC02E12A308
+ xor-digest = 838960663A70C2CACD205BC38D8BCC12
+ 8438D6A03006727EF1440B1D3C7FD557
+ CC4A02AC9CF7D51DCFE3862ACCDEEEBE
+ B15393EE6D8E4483710932C4B44990B5
+
+Set 5, vector# 36:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000008000000
+ stream[0..63] = 22E129373F7589D9EAFFF18DEA63432E
+ 38D0245BAE221D3635BEE176760552B8
+ 9B6BC49CFEB7D9A5B358963C488ED8FA
+ D01F1C72307CADEEF9C20273FB5D6775
+ stream[192..255] = 6E6FFCB8B324EE4FF55E64449B2A356B
+ D53D8AB7747DFFC0B3D044E0BE1A736B
+ 4AB2109624600FE8CA7E6949A4DF82AC
+ A5C96D039F78B67767A1B66FAB0EF24B
+ stream[256..319] = C3DF823DBA0F84D70E425D0C2C88DCE3
+ CAEC3ACCA435B5A2832BE2E0F0AA46AD
+ 3F288AFE49BE5C345DC65445D26993F5
+ 1E3F46E0C1B02B5AEDF73D68336AA04F
+ stream[448..511] = 443B0FDC4F8365AB93A07682EBCA7B92
+ 42259A26DAB3574B2E562CCABDB25633
+ 96F331146347C26D5DB49C87054642F8
+ 60FC1A0B87468ED0B5CB9C30D72EA8F7
+ xor-digest = 8D2110EA7CABD4A3DAEC4768131D8AED
+ 9E7E1EB1E1F553F7EE38FB339B648444
+ 0F43AB7C7F17BB593BF2CFB53688CC74
+ F00A32117039DA4745F78E66059000E6
+
+Set 5, vector# 45:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000040000
+ stream[0..63] = DC302570A4D1C44F31D9FA55C7712B11
+ AE770BFAA3F8631DFF924BCF00A09C90
+ 6571B024CE5264215E516D73416BF3E3
+ CE373CAE669DB1A057EFD7EB184243B6
+ stream[192..255] = A52427068F8048FC5E3E6E94A1A616CD
+ 11F5A9ED4F8899F780F67836EEC4FADB
+ B19C183C6946541F182F224104DF9444
+ 66D96A6CE7F2EFE723807A8738950AD9
+ stream[256..319] = D1410A14DFA3DA5C9BDF18A34476F7C0
+ D7A8373331741ED62682C555EA8B62A8
+ 1EDB10DB9479BAF2CD532CFB18357A92
+ FF90897315F69CEE526DE31329CFA06B
+ stream[448..511] = 9CA44AF188E42090F9969FB5F771C987
+ 557912B83261760EE80A809F7E398A66
+ D56049FFDFFBD3E16633537B84AFB38E
+ 564B717A0C26EBFEE907B8EF7FDA31F0
+ xor-digest = BBF40E80EBBCBCC93067CAC497FD4403
+ D1E797AC131A593D06BCA34ED650CB3D
+ 70403B26550EBB76E00CE04CB15F28CA
+ 99F1700ABBA462F041D474E008488F0D
+
+Set 5, vector# 54:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000200
+ stream[0..63] = 98951956F4BD5E2E9DC624CCD2D79E60
+ 6D24A4DB51D413FDAF9A9741A6F079B4
+ 21400FDA0B4D8785578BB318BDAD4ABC
+ A8C2D1BA3BA4E18C2F5572499F345BC1
+ stream[192..255] = C3A267F0EB87ED714E09CABC2780FEF6
+ E5F665BBBBB44C8448D8EB42D88275CD
+ 62AD759AAC9F4080F73993DE50FF94E8
+ 34E2CF7B74A91E68B38EACE9C12922C2
+ stream[256..319] = 78BD0BB32A69E62362EE7E31F1DD9E96
+ CA6E196844EFD9459F270D612119DFA4
+ 5DD1522967629143CECD585CFE62B7FD
+ 9D1503A62A238C35A66595C49DD71575
+ stream[448..511] = C17F946C14A492392A1C554993F406B2
+ EA806E4186D97FCB420C21FB4245A3DB
+ 4EBA2BCB59D2C33CE2CD5044A79A96F9
+ 5182112D9724E16AD9E965047DA71F05
+ xor-digest = 0094C2C02618E924D6CD7C96CBD6A44A
+ 33D3983DEAD3084C1A694490B367CE6D
+ 7732300C3BA3848C2EA143031A980BE4
+ 9C1354A528D1E1E1B1A55AFF18BD0F92
+
+Set 5, vector# 63:
+ key = 00000000000000000000000000000000
+ 00000000000000000000000000000000
+ IV = 0000000000000001
+ stream[0..63] = B47F96AA96786135297A3C4EC56A613D
+ 0B80095324FF43239D684C57FFE42E1C
+ 44F3CC011613DB6CDC880999A1E65AED
+ 1287FCB11C839C37120765AFA73E5075
+ stream[192..255] = 97128BD699DDC1B4B135D94811B5D2D6
+ B2ADCBDC1ED8D3CF86ECF65A1750DE66
+ CA5F1C2ED350DC2F497396E029DBD4A0
+ 6FDDA6238BE7D120DD41E9F19E6DEEA2
+ stream[256..319] = FF8065AD901A2DFC5C01642A840F7593
+ AE032946058E54EA67300FBF7B928C20
+ 3244EF546762BA640032B6A2514122DE
+ 0CA969283F70CE21F981A5D668274F0D
+ stream[448..511] = 1309268BE548EFEC38D79DF4334CA949
+ AB15A2A1003E2B97969FE0CD74A16A06
+ 5FE8691F03CBD0ECFCF6312F2EE0697F
+ 44BD3BF3E60320B289CBF21B428C8922
+ xor-digest = 1115D387A0C41A67543BE13DD539AB84
+ 4D9A2CC98C20BB6E7B092268C060884F
+ 53774E3B044C6058B137CCCADF9F7026
+ 96B3D40DFF3835341E4BF01BDD1C8FB1
+
+Test vectors -- set 6
+=====================
+
+Set 6, vector# 0:
+ key = 0053A6F94C9FF24598EB3E91E4378ADD
+ 3083D6297CCF2275C81B6EC11467BA0D
+ IV = 0D74DB42A91077DE
+ stream[0..63] = F5FAD53F79F9DF58C4AEA0D0ED9A9601
+ F278112CA7180D565B420A48019670EA
+ F24CE493A86263F677B46ACE1924773D
+ 2BB25571E1AA8593758FC382B1280B71
+ stream[65472..65535] = B70C50139C63332EF6E77AC54338A407
+ 9B82BEC9F9A403DFEA821B83F7860791
+ 650EF1B2489D0590B1DE772EEDA4E3BC
+ D60FA7CE9CD623D9D2FD5758B8653E70
+ stream[65536..65599] = 81582C65D7562B80AEC2F1A673A9D01C
+ 9F892A23D4919F6AB47B9154E08E699B
+ 4117D7C666477B60F8391481682F5D95
+ D96623DBC489D88DAA6956B9F0646B6E
+ stream[131008..131071] = A13FFA1208F8BF50900886FAAB40FD10
+ E8CAA306E63DF39536A1564FB760B242
+ A9D6A4628CDC878762834E27A541DA2A
+ 5E3B3445989C76F611E0FEC6D91ACACC
+ xor-digest = C349B6A51A3EC9B712EAED3F90D8BCEE
+ 69B7628645F251A996F55260C62EF31F
+ D6C6B0AEA94E136C9D984AD2DF3578F7
+ 8E457527B03A0450580DD874F63B1AB9
+
+Set 6, vector# 1:
+ key = 0558ABFE51A4F74A9DF04396E93C8FE2
+ 3588DB2E81D4277ACD2073C6196CBF12
+ IV = 167DE44BB21980E7
+ stream[0..63] = 3944F6DC9F85B128083879FDF190F7DE
+ E4053A07BC09896D51D0690BD4DA4AC1
+ 062F1E47D3D0716F80A9B4D85E6D6085
+ EE06947601C85F1A27A2F76E45A6AA87
+ stream[65472..65535] = 36E03B4B54B0B2E04D069E690082C8C5
+ 92DF56E633F5D8C7682A02A65ECD1371
+ 8CA4352AACCB0DA20ED6BBBA62E177F2
+ 10E3560E63BB822C4158CAA806A88C82
+ stream[65536..65599] = 1B779E7A917C8C26039FFB23CF0EF8E0
+ 8A1A13B43ACDD9402CF5DF38501098DF
+ C945A6CC69A6A17367BC03431A86B3ED
+ 04B0245B56379BF997E25800AD837D7D
+ stream[131008..131071] = 7EC6DAE81A105E67172A0B8C4BBE7D06
+ A7A8759F914FBEB1AF62C8A552EF4A4F
+ 56967EA29C7471F46F3B07F7A3746E95
+ 3D315821B85B6E8CB40122B96635313C
+ xor-digest = C3EAAF32836BACE32D04E1124231EF47
+ E101367D6305413A0EEB07C60698A287
+ 6E4D031870A739D6FFDDD208597AFF0A
+ 47AC17EDB0167DD67EBA84F1883D4DFD
+
+Set 6, vector# 2:
+ key = 0A5DB00356A9FC4FA2F5489BEE4194E7
+ 3A8DE03386D92C7FD22578CB1E71C417
+ IV = 1F86ED54BB2289F0
+ stream[0..63] = 3FE85D5BB1960A82480B5E6F4E965A44
+ 60D7A54501664F7D60B54B06100A37FF
+ DCF6BDE5CE3F4886BA77DD5B44E95644
+ E40A8AC65801155DB90F02522B644023
+ stream[65472..65535] = C8D6E54C29CA204018A830E266CEEE0D
+ 037DC47E921947302ACE40D1B996A6D8
+ 0B598677F3352F1DAA6D9888F891AD95
+ A1C32FFEB71BB861E8B07058515171C9
+ stream[65536..65599] = B79FD776542B4620EFCB88449599F234
+ 03E74A6E91CACC50A05A8F8F3C0DEA8B
+ 00E1A5E6081F5526AE975B3BC0450F1A
+ 0C8B66F808F1904B971361137C93156F
+ stream[131008..131071] = 7998204FED70CE8E0D027B206635C08C
+ 8BC443622608970E40E3AEDF3CE790AE
+ EDF89F922671B45378E2CD03F6F62356
+ 529C4158B7FF41EE854B1235373988C8
+ xor-digest = 3CD23C3DC90201ACC0CF49B440B6C417
+ F0DC8D8410A716D5314C059E14B1A8D9
+ A9FB8EA3D9C8DAE12B21402F674AA95C
+ 67B1FC514E994C9D3F3A6E41DFF5BBA6
+
+Set 6, vector# 3:
+ key = 0F62B5085BAE0154A7FA4DA0F34699EC
+ 3F92E5388BDE3184D72A7DD02376C91C
+ IV = 288FF65DC42B92F9
+ stream[0..63] = 5E5E71F90199340304ABB22A37B6625B
+ F883FB89CE3B21F54A10B81066EF87DA
+ 30B77699AA7379DA595C77DD59542DA2
+ 08E5954F89E40EB7AA80A84A6176663F
+ stream[65472..65535] = 2DA2174BD150A1DFEC1796E921E9D6E2
+ 4ECF0209BCBEA4F98370FCE629056F64
+ 917283436E2D3F45556225307D5CC5A5
+ 65325D8993B37F1654195C240BF75B16
+ stream[65536..65599] = ABF39A210EEE89598B7133377056C2FE
+ F42DA731327563FB67C7BEDB27F38C7C
+ 5A3FC2183A4C6B277F901152472C6B2A
+ BCF5E34CBE315E81FD3D180B5D66CB6C
+ stream[131008..131071] = 1BA89DBD3F98839728F56791D5B7CE23
+ 5036DE843CCCAB0390B8B5862F1E4596
+ AE8A16FB23DA997F371F4E0AACC26DB8
+ EB314ED470B1AF6B9F8D69DD79A9D750
+ xor-digest = E00EBCCD70D69152725F9987982178A2
+ E2E139C7BCBE04CA8A0E99E318D9AB76
+ F988C8549F75ADD790BA4F81C176DA65
+ 3C1A043F11A958E169B6D2319F4EEC1A
+
+
+
+End of test vectors
memxor(ctx->s, tmp, 64);
twister_blank_round(ctx);
for(j=0; j<4; ++j){
- *((uint8_t*)dest) = ctx->s[3-j][0] ^ tmp[3-j][0];
+ *((uint8_t*)dest) = ctx->s[7-j][0] ^ tmp[7-j][0];
dest = (uint8_t*)dest + 1;
}
}
--- /dev/null
+/******************************************************************
+ * S-BOX for Twister
+ *
+ *
+ *******************************************************************/
+
+#include "config.h"
+#include <stdint.h>
+#include <avr/pgmspace.h>
+
+ const uint8_t twister_sbox[256] PROGMEM = {
+ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,
+ 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
+ 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,
+ 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
+ 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,
+ 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
+ 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a,
+ 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
+ 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,
+ 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
+ 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b,
+ 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
+ 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85,
+ 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
+ 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
+ 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
+ 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17,
+ 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
+ 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88,
+ 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
+ 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,
+ 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
+ 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9,
+ 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
+ 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,
+ 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
+ 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,
+ 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
+ 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94,
+ 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
+ 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68,
+ 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
+};
+
+#ifndef TWISTER_MUL_TABLE
+
+
+/* Twister MDS matrix */
+ const uint8_t twister_mds[8][8] PROGMEM = {
+ {2, 1, 1, 5, 7, 8, 6, 1},
+ {1, 2, 1, 1, 5, 7, 8, 6},
+ {6, 1, 2, 1, 1, 5, 7, 8},
+ {8, 6, 1, 2, 1, 1, 5, 7},
+ {7, 8, 6, 1, 2, 1, 1, 5},
+ {5, 7, 8, 6, 1, 2, 1, 1},
+ {1, 5, 7, 8, 6, 1, 2, 1},
+ {1, 1, 5, 7, 8, 6, 1, 2}
+};
+
+#else
+
+#define S1 0
+#define S2 1
+#define S3 X
+#define S4 X
+#define S5 2
+#define S6 3
+#define S7 4
+#define S8 5
+
+ const uint8_t twister_mds[8][8] PROGMEM = {
+ {S2, S1, S1, S5, S7, S8, S6, S1},
+ {S1, S2, S1, S1, S5, S7, S8, S6},
+ {S6, S1, S2, S1, S1, S5, S7, S8},
+ {S8, S6, S1, S2, S1, S1, S5, S7},
+ {S7, S8, S6, S1, S2, S1, S1, S5},
+ {S5, S7, S8, S6, S1, S2, S1, S1},
+ {S1, S5, S7, S8, S6, S1, S2, S1},
+ {S1, S1, S5, S7, S8, S6, S1, S2}
+};
+
+ const uint8_t twister_multab[8][256] PROGMEM = {
+ { /* 1 */
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255
+ },
+ { /* 2 */
+ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
+ 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62,
+ 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94,
+ 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126,
+ 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158,
+ 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190,
+ 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222,
+ 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254,
+ 77, 79, 73, 75, 69, 71, 65, 67, 93, 95, 89, 91, 85, 87, 81, 83,
+ 109, 111, 105, 107, 101, 103, 97, 99, 125, 127, 121, 123, 117, 119, 113, 115,
+ 13, 15, 9, 11, 5, 7, 1, 3, 29, 31, 25, 27, 21, 23, 17, 19,
+ 45, 47, 41, 43, 37, 39, 33, 35, 61, 63, 57, 59, 53, 55, 49, 51,
+ 205, 207, 201, 203, 197, 199, 193, 195, 221, 223, 217, 219, 213, 215, 209, 211,
+ 237, 239, 233, 235, 229, 231, 225, 227, 253, 255, 249, 251, 245, 247, 241, 243,
+ 141, 143, 137, 139, 133, 135, 129, 131, 157, 159, 153, 155, 149, 151, 145, 147,
+ 173, 175, 169, 171, 165, 167, 161, 163, 189, 191, 185, 187, 181, 183, 177, 179
+ },
+/* { / * 3 * /
+ 0, 3, 6, 5, 12, 15, 10, 9, 24, 27, 30, 29, 20, 23, 18, 17,
+ 48, 51, 54, 53, 60, 63, 58, 57, 40, 43, 46, 45, 36, 39, 34, 33,
+ 96, 99, 102, 101, 108, 111, 106, 105, 120, 123, 126, 125, 116, 119, 114, 113,
+ 80, 83, 86, 85, 92, 95, 90, 89, 72, 75, 78, 77, 68, 71, 66, 65,
+ 192, 195, 198, 197, 204, 207, 202, 201, 216, 219, 222, 221, 212, 215, 210, 209,
+ 240, 243, 246, 245, 252, 255, 250, 249, 232, 235, 238, 237, 228, 231, 226, 225,
+ 160, 163, 166, 165, 172, 175, 170, 169, 184, 187, 190, 189, 180, 183, 178, 177,
+ 144, 147, 150, 149, 156, 159, 154, 153, 136, 139, 142, 141, 132, 135, 130, 129,
+ 205, 206, 203, 200, 193, 194, 199, 196, 213, 214, 211, 208, 217, 218, 223, 220,
+ 253, 254, 251, 248, 241, 242, 247, 244, 229, 230, 227, 224, 233, 234, 239, 236,
+ 173, 174, 171, 168, 161, 162, 167, 164, 181, 182, 179, 176, 185, 186, 191, 188,
+ 157, 158, 155, 152, 145, 146, 151, 148, 133, 134, 131, 128, 137, 138, 143, 140,
+ 13, 14, 11, 8, 1, 2, 7, 4, 21, 22, 19, 16, 25, 26, 31, 28,
+ 61, 62, 59, 56, 49, 50, 55, 52, 37, 38, 35, 32, 41, 42, 47, 44,
+ 109, 110, 107, 104, 97, 98, 103, 100, 117, 118, 115, 112, 121, 122, 127, 124,
+ 93, 94, 91, 88, 81, 82, 87, 84, 69, 70, 67, 64, 73, 74, 79, 76
+ },
+ { / * 4 * /
+ 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60,
+ 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124,
+ 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188,
+ 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252,
+ 77, 73, 69, 65, 93, 89, 85, 81, 109, 105, 101, 97, 125, 121, 117, 113,
+ 13, 9, 5, 1, 29, 25, 21, 17, 45, 41, 37, 33, 61, 57, 53, 49,
+ 205, 201, 197, 193, 221, 217, 213, 209, 237, 233, 229, 225, 253, 249, 245, 241,
+ 141, 137, 133, 129, 157, 153, 149, 145, 173, 169, 165, 161, 189, 185, 181, 177,
+ 154, 158, 146, 150, 138, 142, 130, 134, 186, 190, 178, 182, 170, 174, 162, 166,
+ 218, 222, 210, 214, 202, 206, 194, 198, 250, 254, 242, 246, 234, 238, 226, 230,
+ 26, 30, 18, 22, 10, 14, 2, 6, 58, 62, 50, 54, 42, 46, 34, 38,
+ 90, 94, 82, 86, 74, 78, 66, 70, 122, 126, 114, 118, 106, 110, 98, 102,
+ 215, 211, 223, 219, 199, 195, 207, 203, 247, 243, 255, 251, 231, 227, 239, 235,
+ 151, 147, 159, 155, 135, 131, 143, 139, 183, 179, 191, 187, 167, 163, 175, 171,
+ 87, 83, 95, 91, 71, 67, 79, 75, 119, 115, 127, 123, 103, 99, 111, 107,
+ 23, 19, 31, 27, 7, 3, 15, 11, 55, 51, 63, 59, 39, 35, 47, 43
+ },
+*/ { /* 5 */
+ 0, 5, 10, 15, 20, 17, 30, 27, 40, 45, 34, 39, 60, 57, 54, 51,
+ 80, 85, 90, 95, 68, 65, 78, 75, 120, 125, 114, 119, 108, 105, 102, 99,
+ 160, 165, 170, 175, 180, 177, 190, 187, 136, 141, 130, 135, 156, 153, 150, 147,
+ 240, 245, 250, 255, 228, 225, 238, 235, 216, 221, 210, 215, 204, 201, 198, 195,
+ 13, 8, 7, 2, 25, 28, 19, 22, 37, 32, 47, 42, 49, 52, 59, 62,
+ 93, 88, 87, 82, 73, 76, 67, 70, 117, 112, 127, 122, 97, 100, 107, 110,
+ 173, 168, 167, 162, 185, 188, 179, 182, 133, 128, 143, 138, 145, 148, 155, 158,
+ 253, 248, 247, 242, 233, 236, 227, 230, 213, 208, 223, 218, 193, 196, 203, 206,
+ 26, 31, 16, 21, 14, 11, 4, 1, 50, 55, 56, 61, 38, 35, 44, 41,
+ 74, 79, 64, 69, 94, 91, 84, 81, 98, 103, 104, 109, 118, 115, 124, 121,
+ 186, 191, 176, 181, 174, 171, 164, 161, 146, 151, 152, 157, 134, 131, 140, 137,
+ 234, 239, 224, 229, 254, 251, 244, 241, 194, 199, 200, 205, 214, 211, 220, 217,
+ 23, 18, 29, 24, 3, 6, 9, 12, 63, 58, 53, 48, 43, 46, 33, 36,
+ 71, 66, 77, 72, 83, 86, 89, 92, 111, 106, 101, 96, 123, 126, 113, 116,
+ 183, 178, 189, 184, 163, 166, 169, 172, 159, 154, 149, 144, 139, 142, 129, 132,
+ 231, 226, 237, 232, 243, 246, 249, 252, 207, 202, 197, 192, 219, 222, 209, 212
+ },
+ { /* 6 */
+ 0, 6, 12, 10, 24, 30, 20, 18, 48, 54, 60, 58, 40, 46, 36, 34,
+ 96, 102, 108, 106, 120, 126, 116, 114, 80, 86, 92, 90, 72, 78, 68, 66,
+ 192, 198, 204, 202, 216, 222, 212, 210, 240, 246, 252, 250, 232, 238, 228, 226,
+ 160, 166, 172, 170, 184, 190, 180, 178, 144, 150, 156, 154, 136, 142, 132, 130,
+ 205, 203, 193, 199, 213, 211, 217, 223, 253, 251, 241, 247, 229, 227, 233, 239,
+ 173, 171, 161, 167, 181, 179, 185, 191, 157, 155, 145, 151, 133, 131, 137, 143,
+ 13, 11, 1, 7, 21, 19, 25, 31, 61, 59, 49, 55, 37, 35, 41, 47,
+ 109, 107, 97, 103, 117, 115, 121, 127, 93, 91, 81, 87, 69, 67, 73, 79,
+ 215, 209, 219, 221, 207, 201, 195, 197, 231, 225, 235, 237, 255, 249, 243, 245,
+ 183, 177, 187, 189, 175, 169, 163, 165, 135, 129, 139, 141, 159, 153, 147, 149,
+ 23, 17, 27, 29, 15, 9, 3, 5, 39, 33, 43, 45, 63, 57, 51, 53,
+ 119, 113, 123, 125, 111, 105, 99, 101, 71, 65, 75, 77, 95, 89, 83, 85,
+ 26, 28, 22, 16, 2, 4, 14, 8, 42, 44, 38, 32, 50, 52, 62, 56,
+ 122, 124, 118, 112, 98, 100, 110, 104, 74, 76, 70, 64, 82, 84, 94, 88,
+ 218, 220, 214, 208, 194, 196, 206, 200, 234, 236, 230, 224, 242, 244, 254, 248,
+ 186, 188, 182, 176, 162, 164, 174, 168, 138, 140, 134, 128, 146, 148, 158, 152
+ },
+ { /* 7 */
+ 0, 7, 14, 9, 28, 27, 18, 21, 56, 63, 54, 49, 36, 35, 42, 45,
+ 112, 119, 126, 121, 108, 107, 98, 101, 72, 79, 70, 65, 84, 83, 90, 93,
+ 224, 231, 238, 233, 252, 251, 242, 245, 216, 223, 214, 209, 196, 195, 202, 205,
+ 144, 151, 158, 153, 140, 139, 130, 133, 168, 175, 166, 161, 180, 179, 186, 189,
+ 141, 138, 131, 132, 145, 150, 159, 152, 181, 178, 187, 188, 169, 174, 167, 160,
+ 253, 250, 243, 244, 225, 230, 239, 232, 197, 194, 203, 204, 217, 222, 215, 208,
+ 109, 106, 99, 100, 113, 118, 127, 120, 85, 82, 91, 92, 73, 78, 71, 64,
+ 29, 26, 19, 20, 1, 6, 15, 8, 37, 34, 43, 44, 57, 62, 55, 48,
+ 87, 80, 89, 94, 75, 76, 69, 66, 111, 104, 97, 102, 115, 116, 125, 122,
+ 39, 32, 41, 46, 59, 60, 53, 50, 31, 24, 17, 22, 3, 4, 13, 10,
+ 183, 176, 185, 190, 171, 172, 165, 162, 143, 136, 129, 134, 147, 148, 157, 154,
+ 199, 192, 201, 206, 219, 220, 213, 210, 255, 248, 241, 246, 227, 228, 237, 234,
+ 218, 221, 212, 211, 198, 193, 200, 207, 226, 229, 236, 235, 254, 249, 240, 247,
+ 170, 173, 164, 163, 182, 177, 184, 191, 146, 149, 156, 155, 142, 137, 128, 135,
+ 58, 61, 52, 51, 38, 33, 40, 47, 2, 5, 12, 11, 30, 25, 16, 23,
+ 74, 77, 68, 67, 86, 81, 88, 95, 114, 117, 124, 123, 110, 105, 96, 103
+ },
+ { /* 8 */
+ 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
+ 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248,
+ 77, 69, 93, 85, 109, 101, 125, 117, 13, 5, 29, 21, 45, 37, 61, 53,
+ 205, 197, 221, 213, 237, 229, 253, 245, 141, 133, 157, 149, 173, 165, 189, 181,
+ 154, 146, 138, 130, 186, 178, 170, 162, 218, 210, 202, 194, 250, 242, 234, 226,
+ 26, 18, 10, 2, 58, 50, 42, 34, 90, 82, 74, 66, 122, 114, 106, 98,
+ 215, 223, 199, 207, 247, 255, 231, 239, 151, 159, 135, 143, 183, 191, 167, 175,
+ 87, 95, 71, 79, 119, 127, 103, 111, 23, 31, 7, 15, 55, 63, 39, 47,
+ 121, 113, 105, 97, 89, 81, 73, 65, 57, 49, 41, 33, 25, 17, 9, 1,
+ 249, 241, 233, 225, 217, 209, 201, 193, 185, 177, 169, 161, 153, 145, 137, 129,
+ 52, 60, 36, 44, 20, 28, 4, 12, 116, 124, 100, 108, 84, 92, 68, 76,
+ 180, 188, 164, 172, 148, 156, 132, 140, 244, 252, 228, 236, 212, 220, 196, 204,
+ 227, 235, 243, 251, 195, 203, 211, 219, 163, 171, 179, 187, 131, 139, 147, 155,
+ 99, 107, 115, 123, 67, 75, 83, 91, 35, 43, 51, 59, 3, 11, 19, 27,
+ 174, 166, 190, 182, 142, 134, 158, 150, 238, 230, 254, 246, 206, 198, 222, 214,
+ 46, 38, 62, 54, 14, 6, 30, 22, 110, 102, 126, 118, 78, 70, 94, 86
+ }
+};
+
+#endif
+
+
#include "config.h"
#include <stdint.h>
-#include <avr/pgmspace.h>
-static const uint8_t twister_sbox[256] PROGMEM = {
- 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,
- 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
- 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,
- 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
- 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,
- 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
- 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a,
- 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
- 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,
- 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
- 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b,
- 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
- 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85,
- 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
- 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
- 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
- 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17,
- 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
- 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88,
- 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
- 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,
- 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
- 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9,
- 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
- 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,
- 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
- 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,
- 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
- 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94,
- 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
- 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68,
- 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
-};
+#ifndef TWISTER_TABLES_H_
+#define TWISTER_TABLES_H_
+extern const uint8_t twister_sbox[256];
#ifndef TWISTER_MUL_TABLE
-
/* Twister MDS matrix */
-static const uint8_t twister_mds[8][8] PROGMEM = {
- {2, 1, 1, 5, 7, 8, 6, 1},
- {1, 2, 1, 1, 5, 7, 8, 6},
- {6, 1, 2, 1, 1, 5, 7, 8},
- {8, 6, 1, 2, 1, 1, 5, 7},
- {7, 8, 6, 1, 2, 1, 1, 5},
- {5, 7, 8, 6, 1, 2, 1, 1},
- {1, 5, 7, 8, 6, 1, 2, 1},
- {1, 1, 5, 7, 8, 6, 1, 2}
-};
+extern const uint8_t twister_mds[8][8];
#else
-#define S1 0
-#define S2 1
-#define S3 X
-#define S4 X
-#define S5 2
-#define S6 3
-#define S7 4
-#define S8 5
-
-static const uint8_t twister_mds[8][8] PROGMEM = {
- {S2, S1, S1, S5, S7, S8, S6, S1},
- {S1, S2, S1, S1, S5, S7, S8, S6},
- {S6, S1, S2, S1, S1, S5, S7, S8},
- {S8, S6, S1, S2, S1, S1, S5, S7},
- {S7, S8, S6, S1, S2, S1, S1, S5},
- {S5, S7, S8, S6, S1, S2, S1, S1},
- {S1, S5, S7, S8, S6, S1, S2, S1},
- {S1, S1, S5, S7, S8, S6, S1, S2}
-};
+extern const uint8_t twister_mds[8][8];
+extern const uint8_t twister_multab[8][256];
-static const uint8_t twister_multab[8][256] PROGMEM = {
- { /* 1 */
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255
- },
- { /* 2 */
- 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
- 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62,
- 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94,
- 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126,
- 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158,
- 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190,
- 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222,
- 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254,
- 77, 79, 73, 75, 69, 71, 65, 67, 93, 95, 89, 91, 85, 87, 81, 83,
- 109, 111, 105, 107, 101, 103, 97, 99, 125, 127, 121, 123, 117, 119, 113, 115,
- 13, 15, 9, 11, 5, 7, 1, 3, 29, 31, 25, 27, 21, 23, 17, 19,
- 45, 47, 41, 43, 37, 39, 33, 35, 61, 63, 57, 59, 53, 55, 49, 51,
- 205, 207, 201, 203, 197, 199, 193, 195, 221, 223, 217, 219, 213, 215, 209, 211,
- 237, 239, 233, 235, 229, 231, 225, 227, 253, 255, 249, 251, 245, 247, 241, 243,
- 141, 143, 137, 139, 133, 135, 129, 131, 157, 159, 153, 155, 149, 151, 145, 147,
- 173, 175, 169, 171, 165, 167, 161, 163, 189, 191, 185, 187, 181, 183, 177, 179
- },
-/* { / * 3 * /
- 0, 3, 6, 5, 12, 15, 10, 9, 24, 27, 30, 29, 20, 23, 18, 17,
- 48, 51, 54, 53, 60, 63, 58, 57, 40, 43, 46, 45, 36, 39, 34, 33,
- 96, 99, 102, 101, 108, 111, 106, 105, 120, 123, 126, 125, 116, 119, 114, 113,
- 80, 83, 86, 85, 92, 95, 90, 89, 72, 75, 78, 77, 68, 71, 66, 65,
- 192, 195, 198, 197, 204, 207, 202, 201, 216, 219, 222, 221, 212, 215, 210, 209,
- 240, 243, 246, 245, 252, 255, 250, 249, 232, 235, 238, 237, 228, 231, 226, 225,
- 160, 163, 166, 165, 172, 175, 170, 169, 184, 187, 190, 189, 180, 183, 178, 177,
- 144, 147, 150, 149, 156, 159, 154, 153, 136, 139, 142, 141, 132, 135, 130, 129,
- 205, 206, 203, 200, 193, 194, 199, 196, 213, 214, 211, 208, 217, 218, 223, 220,
- 253, 254, 251, 248, 241, 242, 247, 244, 229, 230, 227, 224, 233, 234, 239, 236,
- 173, 174, 171, 168, 161, 162, 167, 164, 181, 182, 179, 176, 185, 186, 191, 188,
- 157, 158, 155, 152, 145, 146, 151, 148, 133, 134, 131, 128, 137, 138, 143, 140,
- 13, 14, 11, 8, 1, 2, 7, 4, 21, 22, 19, 16, 25, 26, 31, 28,
- 61, 62, 59, 56, 49, 50, 55, 52, 37, 38, 35, 32, 41, 42, 47, 44,
- 109, 110, 107, 104, 97, 98, 103, 100, 117, 118, 115, 112, 121, 122, 127, 124,
- 93, 94, 91, 88, 81, 82, 87, 84, 69, 70, 67, 64, 73, 74, 79, 76
- },
- { / * 4 * /
- 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60,
- 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124,
- 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188,
- 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252,
- 77, 73, 69, 65, 93, 89, 85, 81, 109, 105, 101, 97, 125, 121, 117, 113,
- 13, 9, 5, 1, 29, 25, 21, 17, 45, 41, 37, 33, 61, 57, 53, 49,
- 205, 201, 197, 193, 221, 217, 213, 209, 237, 233, 229, 225, 253, 249, 245, 241,
- 141, 137, 133, 129, 157, 153, 149, 145, 173, 169, 165, 161, 189, 185, 181, 177,
- 154, 158, 146, 150, 138, 142, 130, 134, 186, 190, 178, 182, 170, 174, 162, 166,
- 218, 222, 210, 214, 202, 206, 194, 198, 250, 254, 242, 246, 234, 238, 226, 230,
- 26, 30, 18, 22, 10, 14, 2, 6, 58, 62, 50, 54, 42, 46, 34, 38,
- 90, 94, 82, 86, 74, 78, 66, 70, 122, 126, 114, 118, 106, 110, 98, 102,
- 215, 211, 223, 219, 199, 195, 207, 203, 247, 243, 255, 251, 231, 227, 239, 235,
- 151, 147, 159, 155, 135, 131, 143, 139, 183, 179, 191, 187, 167, 163, 175, 171,
- 87, 83, 95, 91, 71, 67, 79, 75, 119, 115, 127, 123, 103, 99, 111, 107,
- 23, 19, 31, 27, 7, 3, 15, 11, 55, 51, 63, 59, 39, 35, 47, 43
- },
-*/ { /* 5 */
- 0, 5, 10, 15, 20, 17, 30, 27, 40, 45, 34, 39, 60, 57, 54, 51,
- 80, 85, 90, 95, 68, 65, 78, 75, 120, 125, 114, 119, 108, 105, 102, 99,
- 160, 165, 170, 175, 180, 177, 190, 187, 136, 141, 130, 135, 156, 153, 150, 147,
- 240, 245, 250, 255, 228, 225, 238, 235, 216, 221, 210, 215, 204, 201, 198, 195,
- 13, 8, 7, 2, 25, 28, 19, 22, 37, 32, 47, 42, 49, 52, 59, 62,
- 93, 88, 87, 82, 73, 76, 67, 70, 117, 112, 127, 122, 97, 100, 107, 110,
- 173, 168, 167, 162, 185, 188, 179, 182, 133, 128, 143, 138, 145, 148, 155, 158,
- 253, 248, 247, 242, 233, 236, 227, 230, 213, 208, 223, 218, 193, 196, 203, 206,
- 26, 31, 16, 21, 14, 11, 4, 1, 50, 55, 56, 61, 38, 35, 44, 41,
- 74, 79, 64, 69, 94, 91, 84, 81, 98, 103, 104, 109, 118, 115, 124, 121,
- 186, 191, 176, 181, 174, 171, 164, 161, 146, 151, 152, 157, 134, 131, 140, 137,
- 234, 239, 224, 229, 254, 251, 244, 241, 194, 199, 200, 205, 214, 211, 220, 217,
- 23, 18, 29, 24, 3, 6, 9, 12, 63, 58, 53, 48, 43, 46, 33, 36,
- 71, 66, 77, 72, 83, 86, 89, 92, 111, 106, 101, 96, 123, 126, 113, 116,
- 183, 178, 189, 184, 163, 166, 169, 172, 159, 154, 149, 144, 139, 142, 129, 132,
- 231, 226, 237, 232, 243, 246, 249, 252, 207, 202, 197, 192, 219, 222, 209, 212
- },
- { /* 6 */
- 0, 6, 12, 10, 24, 30, 20, 18, 48, 54, 60, 58, 40, 46, 36, 34,
- 96, 102, 108, 106, 120, 126, 116, 114, 80, 86, 92, 90, 72, 78, 68, 66,
- 192, 198, 204, 202, 216, 222, 212, 210, 240, 246, 252, 250, 232, 238, 228, 226,
- 160, 166, 172, 170, 184, 190, 180, 178, 144, 150, 156, 154, 136, 142, 132, 130,
- 205, 203, 193, 199, 213, 211, 217, 223, 253, 251, 241, 247, 229, 227, 233, 239,
- 173, 171, 161, 167, 181, 179, 185, 191, 157, 155, 145, 151, 133, 131, 137, 143,
- 13, 11, 1, 7, 21, 19, 25, 31, 61, 59, 49, 55, 37, 35, 41, 47,
- 109, 107, 97, 103, 117, 115, 121, 127, 93, 91, 81, 87, 69, 67, 73, 79,
- 215, 209, 219, 221, 207, 201, 195, 197, 231, 225, 235, 237, 255, 249, 243, 245,
- 183, 177, 187, 189, 175, 169, 163, 165, 135, 129, 139, 141, 159, 153, 147, 149,
- 23, 17, 27, 29, 15, 9, 3, 5, 39, 33, 43, 45, 63, 57, 51, 53,
- 119, 113, 123, 125, 111, 105, 99, 101, 71, 65, 75, 77, 95, 89, 83, 85,
- 26, 28, 22, 16, 2, 4, 14, 8, 42, 44, 38, 32, 50, 52, 62, 56,
- 122, 124, 118, 112, 98, 100, 110, 104, 74, 76, 70, 64, 82, 84, 94, 88,
- 218, 220, 214, 208, 194, 196, 206, 200, 234, 236, 230, 224, 242, 244, 254, 248,
- 186, 188, 182, 176, 162, 164, 174, 168, 138, 140, 134, 128, 146, 148, 158, 152
- },
- { /* 7 */
- 0, 7, 14, 9, 28, 27, 18, 21, 56, 63, 54, 49, 36, 35, 42, 45,
- 112, 119, 126, 121, 108, 107, 98, 101, 72, 79, 70, 65, 84, 83, 90, 93,
- 224, 231, 238, 233, 252, 251, 242, 245, 216, 223, 214, 209, 196, 195, 202, 205,
- 144, 151, 158, 153, 140, 139, 130, 133, 168, 175, 166, 161, 180, 179, 186, 189,
- 141, 138, 131, 132, 145, 150, 159, 152, 181, 178, 187, 188, 169, 174, 167, 160,
- 253, 250, 243, 244, 225, 230, 239, 232, 197, 194, 203, 204, 217, 222, 215, 208,
- 109, 106, 99, 100, 113, 118, 127, 120, 85, 82, 91, 92, 73, 78, 71, 64,
- 29, 26, 19, 20, 1, 6, 15, 8, 37, 34, 43, 44, 57, 62, 55, 48,
- 87, 80, 89, 94, 75, 76, 69, 66, 111, 104, 97, 102, 115, 116, 125, 122,
- 39, 32, 41, 46, 59, 60, 53, 50, 31, 24, 17, 22, 3, 4, 13, 10,
- 183, 176, 185, 190, 171, 172, 165, 162, 143, 136, 129, 134, 147, 148, 157, 154,
- 199, 192, 201, 206, 219, 220, 213, 210, 255, 248, 241, 246, 227, 228, 237, 234,
- 218, 221, 212, 211, 198, 193, 200, 207, 226, 229, 236, 235, 254, 249, 240, 247,
- 170, 173, 164, 163, 182, 177, 184, 191, 146, 149, 156, 155, 142, 137, 128, 135,
- 58, 61, 52, 51, 38, 33, 40, 47, 2, 5, 12, 11, 30, 25, 16, 23,
- 74, 77, 68, 67, 86, 81, 88, 95, 114, 117, 124, 123, 110, 105, 96, 103
- },
- { /* 8 */
- 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120,
- 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248,
- 77, 69, 93, 85, 109, 101, 125, 117, 13, 5, 29, 21, 45, 37, 61, 53,
- 205, 197, 221, 213, 237, 229, 253, 245, 141, 133, 157, 149, 173, 165, 189, 181,
- 154, 146, 138, 130, 186, 178, 170, 162, 218, 210, 202, 194, 250, 242, 234, 226,
- 26, 18, 10, 2, 58, 50, 42, 34, 90, 82, 74, 66, 122, 114, 106, 98,
- 215, 223, 199, 207, 247, 255, 231, 239, 151, 159, 135, 143, 183, 191, 167, 175,
- 87, 95, 71, 79, 119, 127, 103, 111, 23, 31, 7, 15, 55, 63, 39, 47,
- 121, 113, 105, 97, 89, 81, 73, 65, 57, 49, 41, 33, 25, 17, 9, 1,
- 249, 241, 233, 225, 217, 209, 201, 193, 185, 177, 169, 161, 153, 145, 137, 129,
- 52, 60, 36, 44, 20, 28, 4, 12, 116, 124, 100, 108, 84, 92, 68, 76,
- 180, 188, 164, 172, 148, 156, 132, 140, 244, 252, 228, 236, 212, 220, 196, 204,
- 227, 235, 243, 251, 195, 203, 211, 219, 163, 171, 179, 187, 131, 139, 147, 155,
- 99, 107, 115, 123, 67, 75, 83, 91, 35, 43, 51, 59, 3, 11, 19, 27,
- 174, 166, 190, 182, 142, 134, 158, 150, 238, 230, 254, 246, 206, 198, 222, 214,
- 46, 38, 62, 54, 14, 6, 30, 22, 110, 102, 126, 118, 78, 70, 94, 86
- }
-};
-
#endif
+#endif
E(u) 1 B 9 C D 6 F 3 E 8 7 4 A 2 5 0
E -1(u) F 0 D 7 B E 5 A 9 2 C 1 3 4 8 6
*/
-static uint8_t eeinv_box[16] PROGMEM = {
+static const uint8_t eeinv_box[16] PROGMEM = {
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
0x1F, 0xB0, 0x9D, 0xC7, 0xDB, 0x6E, 0xF5, 0x3A,
0xE9, 0x82, 0x7C, 0x41, 0xA3, 0x24, 0x58, 0x06
};
-static uint8_t r_box[16] PROGMEM = {
+static const uint8_t r_box[16] PROGMEM = {
0x77, 0xCC, 0xBB, 0xDD, 0xEE, 0x44, 0x99, 0xFF,
0x66, 0x33, 0x88, 0xAA, 0x22, 0x55, 0x11, 0x00
};
#else
#if WHIRLPOOL_0
-static uint8_t sbox[256] PROGMEM = {
+static const uint8_t sbox[256] PROGMEM = {
0x68, 0xd0, 0xeb, 0x2b, 0x48, 0x9d, 0x6a, 0xe4, 0xe3, 0xa3, 0x56, 0x81, 0x7d, 0xf1, 0x85, 0x9e,
0x2c, 0x8e, 0x78, 0xca, 0x17, 0xa9, 0x61, 0xd5, 0x5d, 0x0b, 0x8c, 0x3c, 0x77, 0x51, 0x22, 0x42,
0x3f, 0x54, 0x41, 0x80, 0xcc, 0x86, 0xb3, 0x18, 0x2e, 0x57, 0x06, 0x62, 0xf4, 0x36, 0xd1, 0x6b,
0x13, 0xbb, 0xf7, 0x6f, 0xb9, 0x47, 0x2f, 0xee, 0xb8, 0x7b, 0x89, 0x30, 0xd3, 0x7f, 0x76, 0x82
};
#else
-static uint8_t sbox[256] PROGMEM = {
+static const uint8_t sbox[256] PROGMEM = {
0x18, 0x23, 0xC6, 0xE8, 0x87, 0xB8, 0x01, 0x4F, 0x36, 0xA6, 0xD2, 0xF5, 0x79, 0x6F, 0x91, 0x52,
0x60, 0xBC, 0x9B, 0x8E, 0xA3, 0x0C, 0x7B, 0x35, 0x1D, 0xE0, 0xD7, 0xC2, 0x2E, 0x4B, 0xFE, 0x57,
0x15, 0x77, 0x37, 0xE5, 0x9F, 0xF0, 0x4A, 0xDA, 0x58, 0xC9, 0x29, 0x0A, 0xB1, 0xA0, 0x6B, 0x85,
}
#if WHIRLPOOL_0 || WHIRLPOOL_T
-static uint8_t theta_matrix[8] PROGMEM = {
+static const uint8_t theta_matrix[8] PROGMEM = {
0x1, 0x1, 0x3, 0x1, 0x5, 0x8, 0x9, 0x5
};
#else
-static uint8_t theta_matrix[8] PROGMEM = {
+static const uint8_t theta_matrix[8] PROGMEM = {
0x1, 0x1, 0x4, 0x1, 0x8, 0x5, 0x2, 0x9
};
#endif