adding Keccak
This commit is contained in:
parent
de0d7d8778
commit
1b51cba0fd
4
Doxyfile
4
Doxyfile
|
@ -91,8 +91,8 @@ FILE_PATTERNS = *.h \
|
||||||
*.H++ \
|
*.H++ \
|
||||||
RECURSIVE \
|
RECURSIVE \
|
||||||
= \
|
= \
|
||||||
NO
|
YES
|
||||||
RECURSIVE = NO
|
RECURSIVE = YES
|
||||||
EXCLUDE =
|
EXCLUDE =
|
||||||
EXCLUDE_SYMLINKS = NO
|
EXCLUDE_SYMLINKS = NO
|
||||||
EXCLUDE_PATTERNS = main-*
|
EXCLUDE_PATTERNS = main-*
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
/* hfal_keccak.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 hfal_keccak.c
|
||||||
|
* \email daniel.otte@rub.de
|
||||||
|
* \author Daniel Otte
|
||||||
|
* \date 2010-02-09
|
||||||
|
* \license GPLv3 or later
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "hashfunction_descriptor.h"
|
||||||
|
#include "keccak.h"
|
||||||
|
|
||||||
|
|
||||||
|
static const char keccak224_str[] PROGMEM = "Keccak-224";
|
||||||
|
static const char keccak256_str[] PROGMEM = "keccak-256";
|
||||||
|
static const char keccak384_str[] PROGMEM = "Keccak-384";
|
||||||
|
static const char keccak512_str[] PROGMEM = "keccak-512";
|
||||||
|
|
||||||
|
const hfdesc_t keccak224_desc PROGMEM = {
|
||||||
|
HFDESC_TYPE_HASHFUNCTION,
|
||||||
|
0,
|
||||||
|
keccak224_str,
|
||||||
|
sizeof(keccak_ctx_t),
|
||||||
|
KECCAK224_BLOCKSIZE,
|
||||||
|
224,
|
||||||
|
(hf_init_fpt)keccak224_init,
|
||||||
|
(hf_nextBlock_fpt)keccak_nextBlock,
|
||||||
|
(hf_lastBlock_fpt)keccak_lastBlock,
|
||||||
|
(hf_ctx2hash_fpt)keccak224_ctx2hash,
|
||||||
|
(hf_free_fpt)NULL,
|
||||||
|
(hf_mem_fpt)NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const hfdesc_t keccak256_desc PROGMEM = {
|
||||||
|
HFDESC_TYPE_HASHFUNCTION,
|
||||||
|
0,
|
||||||
|
keccak256_str,
|
||||||
|
sizeof(keccak_ctx_t),
|
||||||
|
KECCAK256_BLOCKSIZE,
|
||||||
|
256,
|
||||||
|
(hf_init_fpt)keccak256_init,
|
||||||
|
(hf_nextBlock_fpt)keccak_nextBlock,
|
||||||
|
(hf_lastBlock_fpt)keccak_lastBlock,
|
||||||
|
(hf_ctx2hash_fpt)keccak256_ctx2hash,
|
||||||
|
(hf_free_fpt)NULL,
|
||||||
|
(hf_mem_fpt)NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const hfdesc_t keccak384_desc PROGMEM = {
|
||||||
|
HFDESC_TYPE_HASHFUNCTION,
|
||||||
|
0,
|
||||||
|
keccak384_str,
|
||||||
|
sizeof(keccak_ctx_t),
|
||||||
|
KECCAK384_BLOCKSIZE,
|
||||||
|
384,
|
||||||
|
(hf_init_fpt)keccak384_init,
|
||||||
|
(hf_nextBlock_fpt)keccak_nextBlock,
|
||||||
|
(hf_lastBlock_fpt)keccak_lastBlock,
|
||||||
|
(hf_ctx2hash_fpt)keccak384_ctx2hash,
|
||||||
|
(hf_free_fpt)NULL,
|
||||||
|
(hf_mem_fpt)NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const hfdesc_t keccak512_desc PROGMEM = {
|
||||||
|
HFDESC_TYPE_HASHFUNCTION,
|
||||||
|
0,
|
||||||
|
keccak512_str,
|
||||||
|
sizeof(keccak_ctx_t),
|
||||||
|
KECCAK512_BLOCKSIZE,
|
||||||
|
512,
|
||||||
|
(hf_init_fpt)keccak512_init,
|
||||||
|
(hf_nextBlock_fpt)keccak_nextBlock,
|
||||||
|
(hf_lastBlock_fpt)keccak_lastBlock,
|
||||||
|
(hf_ctx2hash_fpt)keccak512_ctx2hash,
|
||||||
|
(hf_free_fpt)NULL,
|
||||||
|
(hf_mem_fpt)NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
/* hfal_keccak.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 hfal_keccak.h
|
||||||
|
* \email daniel.otte@rub.de
|
||||||
|
* \author Daniel Otte
|
||||||
|
* \date 2010-02-09
|
||||||
|
* \license GPLv3 or later
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef HFAL_KECCAK_H_
|
||||||
|
#define HFAL_KECCAK_H_
|
||||||
|
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
#include "hashfunction_descriptor.h"
|
||||||
|
|
||||||
|
extern const hfdesc_t keccak224_desc;
|
||||||
|
extern const hfdesc_t keccak256_desc;
|
||||||
|
extern const hfdesc_t keccak384_desc;
|
||||||
|
extern const hfdesc_t keccak512_desc;
|
||||||
|
|
||||||
|
#endif /* HFAL_KECCAK_H_ */
|
|
@ -0,0 +1,266 @@
|
||||||
|
/* keecak.c */
|
||||||
|
/*
|
||||||
|
This file is part of the AVR-Crypto-Lib.
|
||||||
|
Copyright (C) 2010 Daniel Otte (daniel.otte@rub.de)
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
#include "memxor.h"
|
||||||
|
#include "keccak.h"
|
||||||
|
|
||||||
|
#define W 64
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
# undef DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DEBUG 1
|
||||||
|
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
#include "cli.h"
|
||||||
|
|
||||||
|
void keccak_dump_state(uint64_t a[5][5]){
|
||||||
|
uint8_t i,j;
|
||||||
|
for(i=0; i<5; ++i){
|
||||||
|
cli_putstr_P(PSTR("\r\n"));
|
||||||
|
cli_putc('0'+i);
|
||||||
|
cli_putstr_P(PSTR(": "));
|
||||||
|
for(j=0; j<5; ++j){
|
||||||
|
cli_hexdump_rev(&(a[i][j]), 8);
|
||||||
|
cli_putc(' ');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak_dump_ctx(keccak_ctx_t* ctx){
|
||||||
|
keccak_dump_state(ctx->a);
|
||||||
|
cli_putstr_P(PSTR("\r\nDBG: r: "));
|
||||||
|
cli_hexdump_rev(&(ctx->r), 2);
|
||||||
|
cli_putstr_P(PSTR("\t c: "));
|
||||||
|
cli_hexdump_rev(&(ctx->c), 2);
|
||||||
|
cli_putstr_P(PSTR("\t d: "));
|
||||||
|
cli_hexdump(&(ctx->d), 1);
|
||||||
|
cli_putstr_P(PSTR("\t bs: "));
|
||||||
|
cli_hexdump(&(ctx->bs), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef DEBUG
|
||||||
|
|
||||||
|
static uint64_t rc[] PROGMEM = {
|
||||||
|
0x0000000000000001LL, 0x0000000000008082LL,
|
||||||
|
0x800000000000808ALL, 0x8000000080008000LL,
|
||||||
|
0x000000000000808BLL, 0x0000000080000001LL,
|
||||||
|
0x8000000080008081LL, 0x8000000000008009LL,
|
||||||
|
0x000000000000008ALL, 0x0000000000000088LL,
|
||||||
|
0x0000000080008009LL, 0x000000008000000ALL,
|
||||||
|
0x000000008000808BLL, 0x800000000000008BLL,
|
||||||
|
0x8000000000008089LL, 0x8000000000008003LL,
|
||||||
|
0x8000000000008002LL, 0x8000000000000080LL,
|
||||||
|
0x000000000000800ALL, 0x800000008000000ALL,
|
||||||
|
0x8000000080008081LL, 0x8000000000008080LL,
|
||||||
|
0x0000000080000001LL, 0x8000000080008008LL
|
||||||
|
};
|
||||||
|
|
||||||
|
uint64_t rotl64(uint64_t a, uint8_t r){
|
||||||
|
return (a<<r)|(a>>(64-r));
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint8_t r[5][5] PROGMEM = {
|
||||||
|
{ 0, 36, 3, 41, 18 },
|
||||||
|
{ 1, 44, 10, 45, 2 },
|
||||||
|
{ 62, 6, 43, 15, 61 },
|
||||||
|
{ 28, 55, 25, 21, 56 },
|
||||||
|
{ 27, 20, 39, 8, 14 }
|
||||||
|
};
|
||||||
|
|
||||||
|
void keccak_round(uint64_t a[5][5], uint8_t rci){
|
||||||
|
uint64_t c[5], d[5], b[5][5];
|
||||||
|
uint8_t i,j;
|
||||||
|
/* theta */
|
||||||
|
for(i=0; i<5; ++i){
|
||||||
|
c[i] = a[0][i] ^ a[1][i] ^ a[2][i] ^ a[3][i] ^ a[4][i];
|
||||||
|
}
|
||||||
|
for(i=0; i<5; ++i){
|
||||||
|
d[i] = c[(4+i)%5] ^ rotl64(c[(i+1)%5], 1);
|
||||||
|
}
|
||||||
|
for(i=0; i<5; ++i){
|
||||||
|
for(j=0; j<5; ++j){
|
||||||
|
a[j][i] ^= d[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
cli_putstr_P(PSTR("\r\nAfter theta:"));
|
||||||
|
keccak_dump_state(a);
|
||||||
|
#endif
|
||||||
|
/* rho & pi */
|
||||||
|
for(i=0; i<5; ++i){
|
||||||
|
for(j=0; j<5; ++j){
|
||||||
|
b[(2*i+3*j)%5][j] = rotl64(a[j][i], pgm_read_byte(&(r[i][j])));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
cli_putstr_P(PSTR("\r\n--- after rho & pi ---"));
|
||||||
|
keccak_dump_state(a);
|
||||||
|
#endif
|
||||||
|
/* chi */
|
||||||
|
for(i=0; i<5; ++i){
|
||||||
|
for(j=0; j<5; ++j){
|
||||||
|
a[j][i] = b[j][i] ^ ((~(b[j][(i+1)%5]))&(b[j][(i+2)%5]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
cli_putstr_P(PSTR("\r\nAfter chi:"));
|
||||||
|
keccak_dump_state(a);
|
||||||
|
#endif
|
||||||
|
/* iota */
|
||||||
|
uint64_t t;
|
||||||
|
memcpy_P(&t, &(rc[rci]), 8);
|
||||||
|
a[0][0] ^= t;
|
||||||
|
#if DEBUG
|
||||||
|
cli_putstr_P(PSTR("\r\nAfter iota:"));
|
||||||
|
keccak_dump_state(a);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak_f1600(uint64_t a[5][5]){
|
||||||
|
uint8_t i=0;
|
||||||
|
do{
|
||||||
|
#if DEBUG
|
||||||
|
cli_putstr_P(PSTR("\r\n\r\n--- Round "));
|
||||||
|
cli_hexdump(&i, 1);
|
||||||
|
cli_putstr_P(PSTR(" ---"));
|
||||||
|
#endif
|
||||||
|
keccak_round(a, i);
|
||||||
|
}while(++i<24);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak_nextBlock(keccak_ctx_t* ctx, const void* block){
|
||||||
|
memxor(ctx->a, block, ctx->bs);
|
||||||
|
keccak_f1600(ctx->a);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak_lastBlock(keccak_ctx_t* ctx, const void* block, uint16_t length_b){
|
||||||
|
while(length_b>=ctx->r){
|
||||||
|
keccak_nextBlock(ctx, block);
|
||||||
|
block = (uint8_t*)block + ctx->bs;
|
||||||
|
length_b -= ctx->r;
|
||||||
|
}
|
||||||
|
uint8_t tmp[ctx->bs];
|
||||||
|
uint8_t pad[3];
|
||||||
|
memset(tmp, 0x00, ctx->bs);
|
||||||
|
memcpy(tmp, block, (length_b+7)/8);
|
||||||
|
/* appand 1 */
|
||||||
|
if(length_b&7){
|
||||||
|
/* we have some single bits */
|
||||||
|
uint8_t t;
|
||||||
|
t = tmp[length_b/8]>>(8-(length_b&7));
|
||||||
|
t |= 0x01<<(length_b&7);
|
||||||
|
tmp[length_b/8] = t;
|
||||||
|
}else{
|
||||||
|
tmp[length_b/8] = 0x01;
|
||||||
|
}
|
||||||
|
pad[0] = ctx->d;
|
||||||
|
pad[1] = ctx->bs;
|
||||||
|
pad[2] = 0x01;
|
||||||
|
if(length_b/8+1+3<ctx->bs){
|
||||||
|
memcpy(tmp+length_b/8+1, pad, 3);
|
||||||
|
}else{
|
||||||
|
if(length_b/8+1+2<ctx->bs){
|
||||||
|
memcpy(tmp+length_b/8+1, pad, 2);
|
||||||
|
keccak_nextBlock(ctx, tmp);
|
||||||
|
memset(tmp, 0x00, ctx->bs);
|
||||||
|
tmp[0]=0x01;
|
||||||
|
}else{
|
||||||
|
if(length_b/8+1+1<ctx->bs){
|
||||||
|
memcpy(tmp+length_b/8+1, pad, 1);
|
||||||
|
keccak_nextBlock(ctx, tmp);
|
||||||
|
memset(tmp, 0x00, ctx->bs);
|
||||||
|
tmp[0] = ctx->bs;
|
||||||
|
tmp[1] = 0x01;
|
||||||
|
}else{
|
||||||
|
keccak_nextBlock(ctx, tmp);
|
||||||
|
memset(tmp, 0x00, ctx->bs);
|
||||||
|
tmp[0] = ctx->d;
|
||||||
|
tmp[1] = ctx->bs;
|
||||||
|
tmp[2] = 0x01;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
keccak_nextBlock(ctx, tmp);
|
||||||
|
keccak_dump_ctx(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak_ctx2hash(void* dest, uint16_t length_b, keccak_ctx_t* ctx){
|
||||||
|
while(length_b>=ctx->r){
|
||||||
|
memcpy(dest, ctx->a, ctx->bs);
|
||||||
|
dest = (uint8_t*)dest + ctx->bs;
|
||||||
|
length_b -= ctx->r;
|
||||||
|
keccak_f1600(ctx->a);
|
||||||
|
}
|
||||||
|
memcpy(dest, ctx->a, (length_b+7)/8);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak224_ctx2hash(void* dest, keccak_ctx_t* ctx){
|
||||||
|
keccak_ctx2hash(dest, 224, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak256_ctx2hash(void* dest, keccak_ctx_t* ctx){
|
||||||
|
keccak_ctx2hash(dest, 256, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak384_ctx2hash(void* dest, keccak_ctx_t* ctx){
|
||||||
|
keccak_ctx2hash(dest, 384, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak512_ctx2hash(void* dest, keccak_ctx_t* ctx){
|
||||||
|
keccak_ctx2hash(dest, 512, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
1. SHA3-224: ⌊Keccak[r = 1152, c = 448, d = 28]⌋224
|
||||||
|
2. SHA3-256: ⌊Keccak[r = 1088, c = 512, d = 32]⌋256
|
||||||
|
3. SHA3-384: ⌊Keccak[r = 832, c = 768, d = 48]⌋384
|
||||||
|
4. SHA3-512: ⌊Keccak[r = 576, c = 1024, d = 64]⌋512
|
||||||
|
*/
|
||||||
|
void keccak_init(uint16_t r, uint16_t c, uint8_t d, keccak_ctx_t* ctx){
|
||||||
|
memset(ctx->a, 0x00, 5*5*8);
|
||||||
|
ctx->r = r;
|
||||||
|
ctx->c = c;
|
||||||
|
ctx->d = d;
|
||||||
|
ctx->bs = (uint8_t)(r/8);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak224_init(keccak_ctx_t* ctx){
|
||||||
|
keccak_init(1152, 448, 28, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak256_init(keccak_ctx_t* ctx){
|
||||||
|
keccak_init(1088, 512, 32, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak384_init(keccak_ctx_t* ctx){
|
||||||
|
keccak_init( 832, 768, 48, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keccak512_init(keccak_ctx_t* ctx){
|
||||||
|
keccak_init( 576, 1024, 64, ctx);
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
/* keccak.h */
|
||||||
|
/*
|
||||||
|
This file is part of the AVR-Crypto-Lib.
|
||||||
|
Copyright (C) 2010 Daniel Otte (daniel.otte@rub.de)
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef KECCAK_H_
|
||||||
|
#define KECCAK_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#define KECCAK224_BLOCKSIZE 1152
|
||||||
|
#define KECCAK224_BLOCKSIZE_B (KECCAK224_BLOCKSIZE/8)
|
||||||
|
#define KECCAK256_BLOCKSIZE 1088
|
||||||
|
#define KECCAK256_BLOCKSIZE_B (KECCAK256_BLOCKSIZE/8)
|
||||||
|
#define KECCAK384_BLOCKSIZE 832
|
||||||
|
#define KECCAK384_BLOCKSIZE_B (KECCAK384_BLOCKSIZE/8)
|
||||||
|
#define KECCAK512_BLOCKSIZE 576
|
||||||
|
#define KECCAK512_BLOCKSIZE_B (KECCAK512_BLOCKSIZE/8)
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
uint64_t a[5][5];
|
||||||
|
uint16_t r, c;
|
||||||
|
uint8_t d, bs;
|
||||||
|
} keccak_ctx_t;
|
||||||
|
|
||||||
|
|
||||||
|
void keccak_dump_ctx(keccak_ctx_t* ctx);
|
||||||
|
|
||||||
|
void keccak_init(uint16_t r, uint16_t c, uint8_t d, keccak_ctx_t* ctx);
|
||||||
|
void keccak224_init(keccak_ctx_t* ctx);
|
||||||
|
void keccak256_init(keccak_ctx_t* ctx);
|
||||||
|
void keccak384_init(keccak_ctx_t* ctx);
|
||||||
|
void keccak512_init(keccak_ctx_t* ctx);
|
||||||
|
|
||||||
|
void keccak_nextBlock(keccak_ctx_t* ctx, const void* block);
|
||||||
|
void keccak_lastBlock(keccak_ctx_t* ctx, const void* block, uint16_t length_b);
|
||||||
|
|
||||||
|
void keccak_ctx2hash(void* dest, uint16_t length_b, keccak_ctx_t* ctx);
|
||||||
|
void keccak224_ctx2hash(void* dest, keccak_ctx_t* ctx);
|
||||||
|
void keccak256_ctx2hash(void* dest, keccak_ctx_t* ctx);
|
||||||
|
void keccak384_ctx2hash(void* dest, keccak_ctx_t* ctx);
|
||||||
|
void keccak512_ctx2hash(void* dest, keccak_ctx_t* ctx);
|
||||||
|
|
||||||
|
#endif /* KECCAK_H_ */
|
|
@ -0,0 +1,66 @@
|
||||||
|
/* memxor.S */
|
||||||
|
/*
|
||||||
|
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: memxor.S
|
||||||
|
* Author: Daniel Otte
|
||||||
|
* Date: 2008-08-07
|
||||||
|
* License: GPLv3 or later
|
||||||
|
* Description: memxor, XORing one block into another
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* void memxor(void* dest, const void* src, uint16_t n);
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* param dest is passed in r24:r25
|
||||||
|
* param src is passed in r22:r23
|
||||||
|
* param n is passed in r20:r21
|
||||||
|
*/
|
||||||
|
.global memxor
|
||||||
|
memxor:
|
||||||
|
movw r30, r24
|
||||||
|
movw r26, r22
|
||||||
|
movw r24, r20
|
||||||
|
adiw r24, 0
|
||||||
|
breq 2f
|
||||||
|
1:
|
||||||
|
ld r20, X+
|
||||||
|
ld r21, Z
|
||||||
|
eor r20, r21
|
||||||
|
st Z+, r20
|
||||||
|
sbiw r24, 1
|
||||||
|
brne 1b
|
||||||
|
2:
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#ifndef MEMXOR_H_
|
||||||
|
#define MEMXOR_H_
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
void memxor(void* dest, const void* src, uint16_t n);
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Makefile for BlueMidnightWish
|
||||||
|
ALGO_NAME := KECCAK_C
|
||||||
|
|
||||||
|
# comment out the following line for removement of BlueMidnightWish from the build process
|
||||||
|
HASHES += $(ALGO_NAME)
|
||||||
|
|
||||||
|
$(ALGO_NAME)_DIR := keccak/
|
||||||
|
$(ALGO_NAME)_OBJ := keccak.o memxor.o
|
||||||
|
$(ALGO_NAME)_TEST_BIN := main-keccak-test.o hfal_keccak.o $(CLI_STD) $(HFAL_STD)
|
||||||
|
$(ALGO_NAME)_NESSIE_TEST := test nessie
|
||||||
|
$(ALGO_NAME)_PERFORMANCE_TEST := performance
|
||||||
|
|
|
@ -527,90 +527,111 @@ void testrun_aes192_cmac0(void){
|
||||||
cli_hexdump_block(tag, 2, 4, 16);
|
cli_hexdump_block(tag, 2, 4, 16);
|
||||||
bcal_cmac_free(&ctx);
|
bcal_cmac_free(&ctx);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
MSG:
|
uint8_t eax_msg[] PROGMEM = {
|
||||||
KEY: 233952DEE4D5ED5F9B9C6D6FF80FF478
|
0xF7, 0xFB,
|
||||||
NONCE: 62EC67F9C3A4A407FCB2A8C49031A8B3
|
0x1A, 0x47, 0xCB, 0x49, 0x33,
|
||||||
HEADER: 6BFB914FD07EAE6B
|
0x48, 0x1C, 0x9E, 0x39, 0xB1,
|
||||||
CIPHER: E037830E8389F27B025A2D6527E79D01
|
0x40, 0xD0, 0xC0, 0x7D, 0xA5, 0xE4,
|
||||||
*/
|
0x4D, 0xE3, 0xB3, 0x5C, 0x3F, 0xC0, 0x39, 0x24, 0x5B, 0xD1, 0xFB, 0x7D,
|
||||||
|
0x8B, 0x0A, 0x79, 0x30, 0x6C, 0x9C, 0xE7, 0xED, 0x99, 0xDA, 0xE4, 0xF8, 0x7F, 0x8D, 0xD6, 0x16, 0x36,
|
||||||
|
0x1B, 0xDA, 0x12, 0x2B, 0xCE, 0x8A, 0x8D, 0xBA, 0xF1, 0x87, 0x7D, 0x96, 0x2B, 0x85, 0x92, 0xDD, 0x2D, 0x56,
|
||||||
|
0x6C, 0xF3, 0x67, 0x20, 0x87, 0x2B, 0x85, 0x13, 0xF6, 0xEA, 0xB1, 0xA8, 0xA4, 0x44, 0x38, 0xD5, 0xEF, 0x11,
|
||||||
|
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};
|
||||||
|
|
||||||
|
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,
|
||||||
|
0xD0, 0x7C, 0xF6, 0xCB, 0xB7, 0xF3, 0x13, 0xBD, 0xDE, 0x66, 0xB7, 0x27, 0xAF, 0xD3, 0xC5, 0xE8,
|
||||||
|
0x35, 0xB6, 0xD0, 0x58, 0x00, 0x05, 0xBB, 0xC1, 0x2B, 0x05, 0x87, 0x12, 0x45, 0x57, 0xD2, 0xC2,
|
||||||
|
0xBD, 0x8E, 0x6E, 0x11, 0x47, 0x5E, 0x60, 0xB2, 0x68, 0x78, 0x4C, 0x38, 0xC6, 0x2F, 0xEB, 0x22,
|
||||||
|
0x7C, 0x77, 0xD6, 0xE8, 0x13, 0xBE, 0xD5, 0xAC, 0x98, 0xBA, 0xA4, 0x17, 0x47, 0x7A, 0x2E, 0x7D,
|
||||||
|
0x5F, 0xFF, 0x20, 0xCA, 0xFA, 0xB1, 0x19, 0xCA, 0x2F, 0xC7, 0x35, 0x49, 0xE2, 0x0F, 0x5B, 0x0D,
|
||||||
|
0xA4, 0xA4, 0x78, 0x2B, 0xCF, 0xFD, 0x3E, 0xC5, 0xE7, 0xEF, 0x6D, 0x8C, 0x34, 0xA5, 0x61, 0x23,
|
||||||
|
0x83, 0x95, 0xFC, 0xF1, 0xE9, 0x5B, 0xEB, 0xD6, 0x97, 0xBD, 0x01, 0x0B, 0xC7, 0x66, 0xAA, 0xC3
|
||||||
|
};
|
||||||
|
|
||||||
|
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,
|
||||||
|
0x84, 0x08, 0xDF, 0xFF, 0x3C, 0x1A, 0x2B, 0x12, 0x92, 0xDC, 0x19, 0x9E, 0x46, 0xB7, 0xD6, 0x17,
|
||||||
|
0xFD, 0xB6, 0xB0, 0x66, 0x76, 0xEE, 0xDC, 0x5C, 0x61, 0xD7, 0x42, 0x76, 0xE1, 0xF8, 0xE8, 0x16,
|
||||||
|
0x6E, 0xAC, 0x5C, 0x93, 0x07, 0x2D, 0x8E, 0x85, 0x13, 0xF7, 0x50, 0x93, 0x5E, 0x46, 0xDA, 0x1B,
|
||||||
|
0x1A, 0x8C, 0x98, 0xDC, 0xD7, 0x3D, 0x38, 0x39, 0x3B, 0x2B, 0xF1, 0x56, 0x9D, 0xEE, 0xFC, 0x19,
|
||||||
|
0xDD, 0xE5, 0x9B, 0x97, 0xD7, 0x22, 0x15, 0x6D, 0x4D, 0x9A, 0xFF, 0x2B, 0xC7, 0x55, 0x98, 0x26,
|
||||||
|
0xB7, 0x81, 0xFC, 0xF2, 0xF7, 0x5F, 0xA5, 0xA8, 0xDE, 0x97, 0xA9, 0xCA, 0x48, 0xE5, 0x22, 0xEC,
|
||||||
|
0x22, 0xE7, 0xAD, 0xD9, 0x3C, 0xFC, 0x63, 0x93, 0xC5, 0x7E, 0xC0, 0xB3, 0xC1, 0x7D, 0x6B, 0x44
|
||||||
|
};
|
||||||
|
|
||||||
|
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,
|
||||||
|
0x33, 0xCC, 0xE2, 0xEA, 0xBF, 0xF5, 0xA7, 0x9D,
|
||||||
|
0xAE, 0xB9, 0x6E, 0xAE, 0xBE, 0x29, 0x70, 0xE9,
|
||||||
|
0xD4, 0x48, 0x2D, 0x1C, 0xA7, 0x8D, 0xCE, 0x0F,
|
||||||
|
0x65, 0xD2, 0x01, 0x79, 0x90, 0xD6, 0x25, 0x28,
|
||||||
|
0x54, 0xB9, 0xF0, 0x4E, 0x6A, 0x09, 0x18, 0x9A,
|
||||||
|
0x89, 0x9A, 0x17, 0x58, 0x97, 0x56, 0x1D, 0x7E,
|
||||||
|
0x12, 0x67, 0x35, 0xFC, 0xC3, 0x20, 0xD2, 0x5A
|
||||||
|
};
|
||||||
|
|
||||||
|
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,
|
||||||
|
0x63, 0x2A, 0x9D, 0x13, 0x1A, 0xD4, 0xC1, 0x68, 0xA4, 0x22, 0x5D, 0x8E, 0x1F, 0xF7, 0x55, 0x93, 0x99, 0x74, 0xA7, 0xBE, 0xDE,
|
||||||
|
0x07, 0x1D, 0xFE, 0x16, 0xC6, 0x75, 0xCB, 0x06, 0x77, 0xE5, 0x36, 0xF7, 0x3A, 0xFE, 0x6A, 0x14, 0xB7, 0x4E, 0xE4, 0x98, 0x44, 0xDD,
|
||||||
|
0x83, 0x5B, 0xB4, 0xF1, 0x5D, 0x74, 0x3E, 0x35, 0x0E, 0x72, 0x84, 0x14, 0xAB, 0xB8, 0x64, 0x4F, 0xD6, 0xCC, 0xB8, 0x69, 0x47, 0xC5, 0xE1, 0x05, 0x90, 0x21, 0x0A, 0x4F,
|
||||||
|
0x02, 0x08, 0x3E, 0x39, 0x79, 0xDA, 0x01, 0x48, 0x12, 0xF5, 0x9F, 0x11, 0xD5, 0x26, 0x30, 0xDA, 0x30, 0x13, 0x73, 0x27, 0xD1, 0x06, 0x49, 0xB0, 0xAA, 0x6E, 0x1C, 0x18, 0x1D, 0xB6, 0x17, 0xD7, 0xF2,
|
||||||
|
0x2E, 0xC4, 0x7B, 0x2C, 0x49, 0x54, 0xA4, 0x89, 0xAF, 0xC7, 0xBA, 0x48, 0x97, 0xED, 0xCD, 0xAE, 0x8C, 0xC3, 0x3B, 0x60, 0x45, 0x05, 0x99, 0xBD, 0x02, 0xC9, 0x63, 0x82, 0x90, 0x2A, 0xEF, 0x7F, 0x83, 0x2A,
|
||||||
|
0x0D, 0xE1, 0x8F, 0xD0, 0xFD, 0xD9, 0x1E, 0x7A, 0xF1, 0x9F, 0x1D, 0x8E, 0xE8, 0x73, 0x39, 0x38, 0xB1, 0xE8, 0xE7, 0xF6, 0xD2, 0x23, 0x16, 0x18, 0x10, 0x2F, 0xDB, 0x7F, 0xE5, 0x5F, 0xF1, 0x99, 0x17, 0x00,
|
||||||
|
0xCB, 0x89, 0x20, 0xF8, 0x7A, 0x6C, 0x75, 0xCF, 0xF3, 0x96, 0x27, 0xB5, 0x6E, 0x3E, 0xD1, 0x97, 0xC5, 0x52, 0xD2, 0x95, 0xA7, 0xCF, 0xC4, 0x6A, 0xFC, 0x25, 0x3B, 0x46, 0x52, 0xB1, 0xAF, 0x37, 0x95, 0xB1, 0x24, 0xAB, 0x6E
|
||||||
|
};
|
||||||
|
|
||||||
void testrun_aes128_eax(void){
|
void testrun_aes128_eax(void){
|
||||||
uint8_t key[16]= {
|
uint8_t key[16];
|
||||||
0x23, 0x39, 0x52, 0xDE, 0xE4, 0xD5, 0xED, 0x5F,
|
uint8_t nonce[16];
|
||||||
0x9B, 0x9C, 0x6D, 0x6F, 0xF8, 0x0F, 0xF4, 0x78
|
uint8_t header[8];
|
||||||
};
|
|
||||||
uint8_t nonce[16] = {
|
|
||||||
0x62, 0xEC, 0x67, 0xF9, 0xC3, 0xA4, 0xA4, 0x07,
|
|
||||||
0xFC, 0xB2, 0xA8, 0xC4, 0x90, 0x31, 0xA8, 0xB3
|
|
||||||
};
|
|
||||||
uint8_t header[8] = {
|
|
||||||
0x6B, 0xFB, 0x91, 0x4F, 0xD0, 0x7E, 0xAE, 0x6B
|
|
||||||
};
|
|
||||||
uint8_t tag[16];
|
uint8_t tag[16];
|
||||||
|
uint8_t msg[21];
|
||||||
|
uint8_t msg_len;
|
||||||
|
PGM_VOID_P msg_p;
|
||||||
|
PGM_VOID_P cipher_p;
|
||||||
|
uint8_t i, r;
|
||||||
|
|
||||||
bcal_eax_ctx_t ctx;
|
bcal_eax_ctx_t ctx;
|
||||||
uint8_t r;
|
|
||||||
|
|
||||||
|
msg_p = eax_msg;
|
||||||
|
cipher_p = eax_cipher;
|
||||||
|
for(i=0; i<10; ++i){
|
||||||
|
cli_putstr_P(PSTR("\r\n\r\n** AES128-EAX-TEST #"));
|
||||||
|
cli_putc('0'+i);
|
||||||
|
cli_putstr_P(PSTR(" **"));
|
||||||
|
|
||||||
cli_putstr_P(PSTR("\r\n** AES128-EAX-TEST **"));
|
msg_len = pgm_read_byte(eax_msg_len+i);
|
||||||
|
memcpy_P(key, eax_key+16*i, 16);
|
||||||
cli_putstr_P(PSTR("\r\n key: "));
|
memcpy_P(nonce, eax_nonce+16*i, 16);
|
||||||
cli_hexdump(key, 16);
|
memcpy_P(header, eax_header+8*i, 8);
|
||||||
cli_putstr_P(PSTR("\r\n nonce: "));
|
memcpy_P(msg, msg_p, msg_len);
|
||||||
cli_hexdump(nonce, 16);
|
msg_p = (uint8_t*)msg_p+msg_len;
|
||||||
cli_putstr_P(PSTR("\r\n header: "));
|
|
||||||
cli_hexdump(header, 8);
|
|
||||||
r = bcal_eax_init(&aes128_desc, key, 128, &ctx);
|
|
||||||
cli_putstr_P(PSTR("\r\n init = 0x"));
|
|
||||||
cli_hexdump(&r, 1);
|
|
||||||
if(r)
|
|
||||||
return;
|
|
||||||
bcal_eax_loadNonce(nonce, 16*8, &ctx);
|
|
||||||
bcal_eax_addLastHeader(header, 8*8, &ctx);
|
|
||||||
bcal_eax_encLastBlock(NULL, 0, &ctx);
|
|
||||||
bcal_eax_ctx2tag(tag, 128, &ctx);
|
|
||||||
cli_putstr_P(PSTR("\r\n tag: "));
|
|
||||||
cli_hexdump_block(tag, 16, 4, 16);
|
|
||||||
bcal_eax_free(&ctx);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
MSG: F7FB
|
|
||||||
KEY: 91945D3F4DCBEE0BF45EF52255F095A4
|
|
||||||
NONCE: BECAF043B0A23D843194BA972C66DEBD
|
|
||||||
HEADER: FA3BFD4806EB53FA
|
|
||||||
CIPHER:
|
|
||||||
*/
|
|
||||||
void testrun_aes128_eax2(void){
|
|
||||||
uint8_t key[16]= {
|
|
||||||
0x91, 0x94, 0x5D, 0x3F, 0x4D, 0xCB, 0xEE, 0x0B,
|
|
||||||
0xF4, 0x5E, 0xF5, 0x22, 0x55, 0xF0, 0x95, 0xA4,
|
|
||||||
};
|
|
||||||
uint8_t msg[2] = { 0xF7, 0xFB };
|
|
||||||
uint8_t nonce[16] = {
|
|
||||||
0xBE, 0xCA, 0xF0, 0x43, 0xB0, 0xA2, 0x3D, 0x84,
|
|
||||||
0x31, 0x94, 0xBA, 0x97, 0x2C, 0x66, 0xDE, 0xBD,
|
|
||||||
};
|
|
||||||
uint8_t header[8] = {
|
|
||||||
0xFA, 0x3B, 0xFD, 0x48, 0x06, 0xEB, 0x53, 0xFA
|
|
||||||
};
|
|
||||||
uint8_t tag[16];
|
|
||||||
|
|
||||||
bcal_eax_ctx_t ctx;
|
|
||||||
uint8_t r;
|
|
||||||
|
|
||||||
|
|
||||||
cli_putstr_P(PSTR("\r\n** AES128-EAX2-TEST **"));
|
|
||||||
|
|
||||||
cli_putstr_P(PSTR("\r\n key: "));
|
cli_putstr_P(PSTR("\r\n key: "));
|
||||||
cli_hexdump(key, 16);
|
cli_hexdump(key, 16);
|
||||||
cli_putstr_P(PSTR("\r\n msg: "));
|
cli_putstr_P(PSTR("\r\n msg: "));
|
||||||
cli_hexdump(msg, 2);
|
if(msg_len){
|
||||||
|
cli_hexdump(msg, msg_len);
|
||||||
|
}
|
||||||
cli_putstr_P(PSTR("\r\n nonce: "));
|
cli_putstr_P(PSTR("\r\n nonce: "));
|
||||||
cli_hexdump(nonce, 16);
|
cli_hexdump(nonce, 16);
|
||||||
cli_putstr_P(PSTR("\r\n header: "));
|
cli_putstr_P(PSTR("\r\n header: "));
|
||||||
cli_hexdump(header, 8);
|
cli_hexdump(header, 8);
|
||||||
|
|
||||||
r = bcal_eax_init(&aes128_desc, key, 128, &ctx);
|
r = bcal_eax_init(&aes128_desc, key, 128, &ctx);
|
||||||
cli_putstr_P(PSTR("\r\n init = 0x"));
|
cli_putstr_P(PSTR("\r\n init = 0x"));
|
||||||
cli_hexdump(&r, 1);
|
cli_hexdump(&r, 1);
|
||||||
|
@ -618,66 +639,33 @@ void testrun_aes128_eax2(void){
|
||||||
return;
|
return;
|
||||||
bcal_eax_loadNonce(nonce, 16*8, &ctx);
|
bcal_eax_loadNonce(nonce, 16*8, &ctx);
|
||||||
bcal_eax_addLastHeader(header, 8*8, &ctx);
|
bcal_eax_addLastHeader(header, 8*8, &ctx);
|
||||||
bcal_eax_encLastBlock(msg, 2*8, &ctx);
|
bcal_eax_encLastBlock(msg, msg_len*8, &ctx);
|
||||||
bcal_eax_ctx2tag(tag, 128, &ctx);
|
bcal_eax_ctx2tag(tag, 128, &ctx);
|
||||||
|
|
||||||
cli_putstr_P(PSTR("\r\n cipher: "));
|
cli_putstr_P(PSTR("\r\n cipher: "));
|
||||||
cli_hexdump_block(msg, 2, 4, 16);
|
cli_hexdump_block(msg, msg_len, 4, 16);
|
||||||
cli_putstr_P(PSTR("\r\n tag: "));
|
|
||||||
cli_hexdump_block(tag, 16, 4, 16);
|
|
||||||
bcal_eax_free(&ctx);
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
MSG: 1A47CB4933
|
|
||||||
KEY: 01F74AD64077F2E704C0F60ADA3DD523
|
|
||||||
NONCE: 70C3DB4F0D26368400A10ED05D2BFF5E
|
|
||||||
HEADER: 234A3463C1264AC6
|
|
||||||
CIPHER:
|
|
||||||
*/
|
|
||||||
void testrun_aes128_eax3(void){
|
|
||||||
uint8_t key[16]= {
|
|
||||||
0x01, 0xF7, 0x4A, 0xD6, 0x40, 0x77, 0xF2, 0xE7,
|
|
||||||
0x04, 0xC0, 0xF6, 0x0A, 0xDA, 0x3D, 0xD5, 0x23
|
|
||||||
};
|
|
||||||
uint8_t msg[5] = {
|
|
||||||
0x1A, 0x47, 0xCB, 0x49, 0x33
|
|
||||||
};
|
|
||||||
uint8_t nonce[16] = {
|
|
||||||
0x70, 0xC3, 0xDB, 0x4F, 0x0D, 0x26, 0x36, 0x84,
|
|
||||||
0x00, 0xA1, 0x0E, 0xD0, 0x5D, 0x2B, 0xFF, 0x5E
|
|
||||||
};
|
|
||||||
uint8_t header[8] = {
|
|
||||||
0x23, 0x4A, 0x34, 0x63, 0xC1, 0x26, 0x4A, 0xC6
|
|
||||||
};
|
|
||||||
uint8_t tag[16];
|
|
||||||
|
|
||||||
bcal_eax_ctx_t ctx;
|
|
||||||
uint8_t r;
|
|
||||||
|
|
||||||
|
|
||||||
cli_putstr_P(PSTR("\r\n** AES128-EAX3-TEST **"));
|
|
||||||
|
|
||||||
cli_putstr_P(PSTR("\r\n key: "));
|
|
||||||
cli_hexdump(key, 16);
|
|
||||||
cli_putstr_P(PSTR("\r\n msg: "));
|
|
||||||
cli_hexdump(msg, 5);
|
|
||||||
cli_putstr_P(PSTR("\r\n nonce: "));
|
|
||||||
cli_hexdump(nonce, 16);
|
|
||||||
cli_putstr_P(PSTR("\r\n header: "));
|
|
||||||
cli_hexdump(header, 8);
|
|
||||||
r = bcal_eax_init(&aes128_desc, key, 128, &ctx);
|
|
||||||
cli_putstr_P(PSTR("\r\n init = 0x"));
|
|
||||||
cli_hexdump(&r, 1);
|
|
||||||
if(r)
|
|
||||||
return;
|
|
||||||
bcal_eax_loadNonce(nonce, 16*8, &ctx);
|
|
||||||
bcal_eax_addLastHeader(header, 8*8, &ctx);
|
|
||||||
bcal_eax_encLastBlock(msg, 5*8, &ctx);
|
|
||||||
bcal_eax_ctx2tag(tag, 128, &ctx);
|
|
||||||
cli_putstr_P(PSTR("\r\n cipher: "));
|
|
||||||
cli_hexdump_block(msg, 5, 4, 16);
|
|
||||||
cli_putstr_P(PSTR("\r\n tag: "));
|
cli_putstr_P(PSTR("\r\n tag: "));
|
||||||
cli_hexdump_block(tag, 16, 4, 16);
|
cli_hexdump_block(tag, 16, 4, 16);
|
||||||
|
|
||||||
|
if(memcmp_P(msg, cipher_p, msg_len)){
|
||||||
|
cli_putstr_P(PSTR("\r\n cipher: [fail]\r\n should: "));
|
||||||
|
memcpy_P(msg, cipher_p, msg_len);
|
||||||
|
cli_hexdump_block(msg, msg_len, 4, 16);
|
||||||
|
}else{
|
||||||
|
cli_putstr_P(PSTR("\r\n cipher: [pass]"));
|
||||||
|
}
|
||||||
|
cipher_p = ((uint8_t*)cipher_p)+msg_len;
|
||||||
|
// *
|
||||||
|
if(memcmp_P(tag, cipher_p, 16)){
|
||||||
|
cli_putstr_P(PSTR("\r\n tag: [fail]"));
|
||||||
|
}else{
|
||||||
|
cli_putstr_P(PSTR("\r\n tag: [pass]"));
|
||||||
|
}
|
||||||
|
|
||||||
|
cipher_p = ((uint8_t*)cipher_p)+16;
|
||||||
bcal_eax_free(&ctx);
|
bcal_eax_free(&ctx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -823,8 +811,6 @@ const char testcmac_str[] PROGMEM = "testcmac";
|
||||||
const char testcmac72_str[] PROGMEM = "testcmac72";
|
const char testcmac72_str[] PROGMEM = "testcmac72";
|
||||||
const char testcmac0_str[] PROGMEM = "testcmac0";
|
const char testcmac0_str[] PROGMEM = "testcmac0";
|
||||||
const char testeax_str[] PROGMEM = "testeax";
|
const char testeax_str[] PROGMEM = "testeax";
|
||||||
const char testeax2_str[] PROGMEM = "testeax2";
|
|
||||||
const char testeax3_str[] PROGMEM = "testeax3";
|
|
||||||
const char cmacvs_list_str[] PROGMEM = "cmacvs_list";
|
const char cmacvs_list_str[] PROGMEM = "cmacvs_list";
|
||||||
const char cmacvs_set_str[] PROGMEM = "cmacvs_set";
|
const char cmacvs_set_str[] PROGMEM = "cmacvs_set";
|
||||||
const char cmacvs_test1_str[] PROGMEM = "cmacvs_test1";
|
const char cmacvs_test1_str[] PROGMEM = "cmacvs_test1";
|
||||||
|
@ -846,8 +832,6 @@ cmdlist_entry_t cmdlist[] PROGMEM = {
|
||||||
{ testcmac72_str, NULL, testrun_aes128_cmac72 },
|
{ testcmac72_str, NULL, testrun_aes128_cmac72 },
|
||||||
{ testcmac0_str, NULL, testrun_aes192_cmac0 },
|
{ testcmac0_str, NULL, testrun_aes192_cmac0 },
|
||||||
{ testeax_str, NULL, testrun_aes128_eax },
|
{ testeax_str, NULL, testrun_aes128_eax },
|
||||||
{ testeax2_str, NULL, testrun_aes128_eax2 },
|
|
||||||
{ testeax3_str, NULL, testrun_aes128_eax3 },
|
|
||||||
{ cmacvs_list_str, NULL, cmacvs_listalgos },
|
{ cmacvs_list_str, NULL, cmacvs_listalgos },
|
||||||
{ cmacvs_set_str, (void*)1, (void_fpt)cmacvs_setalgo },
|
{ cmacvs_set_str, (void*)1, (void_fpt)cmacvs_setalgo },
|
||||||
{ cmacvs_test1_str, NULL, cmacvs_test1 },
|
{ cmacvs_test1_str, NULL, cmacvs_test1 },
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
/* main-keccak-test.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/>.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* Keccak test-suit
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "uart_i.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
#include "keccak.h"
|
||||||
|
#include "cli.h"
|
||||||
|
#include "hfal_keccak.h"
|
||||||
|
#include "shavs.h"
|
||||||
|
#include "nessie_hash_test.h"
|
||||||
|
#include "performance_test.h"
|
||||||
|
#include "hfal-nessie.h"
|
||||||
|
#include "hfal-performance.h"
|
||||||
|
#include "hfal-test.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
char* algo_name = "Keccak";
|
||||||
|
|
||||||
|
|
||||||
|
const hfdesc_t* algolist[] PROGMEM = {
|
||||||
|
(hfdesc_t*)&keccak224_desc,
|
||||||
|
(hfdesc_t*)&keccak256_desc,
|
||||||
|
(hfdesc_t*)&keccak384_desc,
|
||||||
|
(hfdesc_t*)&keccak512_desc,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* additional validation-functions *
|
||||||
|
*****************************************************************************/
|
||||||
|
void test_256(void){
|
||||||
|
uint8_t data[] = {0x53, 0x58, 0x7B, 0xC8 };
|
||||||
|
uint8_t hash[32];
|
||||||
|
uint8_t null[KECCAK256_BLOCKSIZE_B];
|
||||||
|
memset(null, 0, KECCAK256_BLOCKSIZE_B);
|
||||||
|
keccak_ctx_t ctx;
|
||||||
|
keccak256_init(&ctx);
|
||||||
|
keccak_lastBlock(&ctx, data, 29);
|
||||||
|
keccak256_ctx2hash(hash, &ctx);
|
||||||
|
cli_putstr_P(PSTR("\r\n testhash: "));
|
||||||
|
cli_hexdump(hash, 32);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void performance_keccak(void){
|
||||||
|
hfal_performance_multiple(algolist);
|
||||||
|
}
|
||||||
|
|
||||||
|
void testrun_nessie_keccak(void){
|
||||||
|
hfal_nessie_multiple(algolist);
|
||||||
|
}
|
||||||
|
/*****************************************************************************
|
||||||
|
* main *
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
const char nessie_str[] PROGMEM = "nessie";
|
||||||
|
const char test256_str[] PROGMEM = "test256";
|
||||||
|
const char performance_str[] PROGMEM = "performance";
|
||||||
|
const char echo_str[] PROGMEM = "echo";
|
||||||
|
const char shavs_list_str[] PROGMEM = "shavs_list";
|
||||||
|
const char shavs_set_str[] PROGMEM = "shavs_set";
|
||||||
|
const char shavs_test1_str[] PROGMEM = "shavs_test1";
|
||||||
|
const char shavs_test3_str[] PROGMEM = "shavs_test3";
|
||||||
|
|
||||||
|
cmdlist_entry_t cmdlist[] PROGMEM = {
|
||||||
|
{ nessie_str, NULL, testrun_nessie_keccak },
|
||||||
|
{ performance_str, NULL, performance_keccak },
|
||||||
|
{ test256_str, NULL, test_256 },
|
||||||
|
{ shavs_list_str, NULL, shavs_listalgos },
|
||||||
|
{ shavs_set_str, (void*)1, (void_fpt)shavs_setalgo },
|
||||||
|
{ shavs_test1_str, NULL, shavs_test1 },
|
||||||
|
{ shavs_test3_str, NULL, shavs_test3 },
|
||||||
|
{ echo_str, (void*)1, (void_fpt)echo_ctrl },
|
||||||
|
{ NULL, NULL, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
int main (void){
|
||||||
|
DEBUG_INIT();
|
||||||
|
|
||||||
|
cli_rx = (cli_rx_fpt)uart0_getc;
|
||||||
|
cli_tx = (cli_tx_fpt)uart0_putc;
|
||||||
|
shavs_algolist=(hfdesc_t**)algolist;
|
||||||
|
shavs_algo=(hfdesc_t*)&keccak256_desc;
|
||||||
|
for(;;){
|
||||||
|
cli_putstr_P(PSTR("\r\n\r\nCrypto-VS ("));
|
||||||
|
cli_putstr(algo_name);
|
||||||
|
cli_putstr_P(PSTR("; "));
|
||||||
|
cli_putstr(__DATE__);
|
||||||
|
cli_putstr_P(PSTR(" "));
|
||||||
|
cli_putstr(__TIME__);
|
||||||
|
cli_putstr_P(PSTR(")\r\nloaded and running\r\n"));
|
||||||
|
|
||||||
|
cmd_interface(cmdlist);
|
||||||
|
}
|
||||||
|
}
|
|
@ -303,9 +303,11 @@ void shavs_test1(void){ /* KAT tests */
|
||||||
cli_putstr_P(PSTR("\r\n\t (temp) == "));
|
cli_putstr_P(PSTR("\r\n\t (temp) == "));
|
||||||
cli_hexdump_rev(&temp,2);
|
cli_hexdump_rev(&temp,2);
|
||||||
_delay_ms(500);
|
_delay_ms(500);
|
||||||
#endif
|
temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
|
||||||
|
#else
|
||||||
uint16_t temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
|
uint16_t temp=length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8);
|
||||||
/* cli_putstr_P(PSTR("\r\n\t (temp) == "));
|
#endif
|
||||||
|
/* cli_putstr_P(PSTR("\r\n\t (temp) == "));
|
||||||
cli_hexdump_rev(&temp,2); */
|
cli_hexdump_rev(&temp,2); */
|
||||||
hfal_hash_lastBlock( &(shavs_ctx.ctx), buffer, /* be aware of freaking compilers!!! */
|
hfal_hash_lastBlock( &(shavs_ctx.ctx), buffer, /* be aware of freaking compilers!!! */
|
||||||
// length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8));
|
// length-(shavs_ctx.blocks)*((shavs_ctx.buffersize_B)*8));
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
[Keccak-224]
|
||||||
|
algo=a
|
||||||
|
file_0=testvectors/shavs/Keccak/ShortMsgKAT_224.txt
|
||||||
|
file_1=testvectors/shavs/Keccak/LongMsgKAT_224.txt
|
||||||
|
|
||||||
|
[Keccak-256]
|
||||||
|
algo=b
|
||||||
|
file_0=testvectors/shavs/Keccak/ShortMsgKAT_256.txt
|
||||||
|
file_1=testvectors/shavs/Keccak/LongMsgKAT_256.txt
|
||||||
|
|
||||||
|
[Keccak-384]
|
||||||
|
algo=c
|
||||||
|
file_0=testvectors/shavs/Keccak/ShortMsgKAT_384.txt
|
||||||
|
file_1=testvectors/shavs/Keccak/LongMsgKAT_384.txt
|
||||||
|
|
||||||
|
[Keccak-512]
|
||||||
|
algo=d
|
||||||
|
file_0=testvectors/shavs/Keccak/ShortMsgKAT_512.txt
|
||||||
|
file_1=testvectors/shavs/Keccak/LongMsgKAT_512.txt
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
# ExtremelyLongMsgKAT_224.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Repeat = 16777216
|
||||||
|
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||||
|
MD = AB17D18D23C633D3E597D3377E3C129DB8C856D735C95A3C31EAA660
|
|
@ -0,0 +1,7 @@
|
||||||
|
# ExtremelyLongMsgKAT_256.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Repeat = 16777216
|
||||||
|
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||||
|
MD = 869C73CA3D81ECFD5EF69DBCC94DC9B76B6E3FBF6388B589D98D6809747DE0E6
|
|
@ -0,0 +1,7 @@
|
||||||
|
# ExtremelyLongMsgKAT_384.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Repeat = 16777216
|
||||||
|
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||||
|
MD = CEF802CC242D16607E5777A476AAC9E9F5EF2EC2FA031FA93DF07F6DCD9D9C2A00C93F673EEE78B8257D1DC46D275474
|
|
@ -0,0 +1,7 @@
|
||||||
|
# ExtremelyLongMsgKAT_512.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Repeat = 16777216
|
||||||
|
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||||
|
MD = 0F22A97E694C2032BD698E63FAB13E741CE68BE656C00AA44EA27DCC98AEA05EAE18C903BB3A0FAA4745AA596FF6EEDBF7A94F22FB350911DC809CE8BD0F5F2E
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,305 @@
|
||||||
|
# MonteCarlo_224.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||||
|
|
||||||
|
j = 0
|
||||||
|
MD = EF114D0B5E3AC3647945102C60482609B743C740CCE6F8801A4E1AB6
|
||||||
|
|
||||||
|
j = 1
|
||||||
|
MD = 55680F182C7500A1AF83C2BE5E6F54D4541D41086EBC7C485B710AD1
|
||||||
|
|
||||||
|
j = 2
|
||||||
|
MD = 42D93C7C36577C96B942054A28B58688764565C3FE750DD1776CD1F5
|
||||||
|
|
||||||
|
j = 3
|
||||||
|
MD = 2CA4859C90458D68442321696601D41FE98D013D1B194D9BE70C8184
|
||||||
|
|
||||||
|
j = 4
|
||||||
|
MD = 2C5BE0876AEB9C02267D4E90D350812E2C113EE792804703F9D360C0
|
||||||
|
|
||||||
|
j = 5
|
||||||
|
MD = 5014F473F6B47B191D843314AFEDC465B4A857869AB0A85A9A848894
|
||||||
|
|
||||||
|
j = 6
|
||||||
|
MD = 9A7C868F2796C4CE177AA966280B7D56E02BA74A2A69A477A2509F1E
|
||||||
|
|
||||||
|
j = 7
|
||||||
|
MD = 0C603525BAD1FE46CA58568A4C403B6DC22C8C96C19B0DED8F9638B7
|
||||||
|
|
||||||
|
j = 8
|
||||||
|
MD = 32C0D83F1986BB2C605ADCA353AB43EE7D959E8A70B8A698B3B680FB
|
||||||
|
|
||||||
|
j = 9
|
||||||
|
MD = C4AC375B3361F3553FAF9E008AF42CA879F0352560ADC451BE8F8916
|
||||||
|
|
||||||
|
j = 10
|
||||||
|
MD = 5349B1BA3689A5080BA994A1755F51668E43A4F6ACB01528C38278E1
|
||||||
|
|
||||||
|
j = 11
|
||||||
|
MD = 4B49B34ABFA8A77FA0F7A6DE3F8565BF5CA55C857729C1089D70A2E0
|
||||||
|
|
||||||
|
j = 12
|
||||||
|
MD = 6B10618C610C124BA6ED80DBD75814F8FC1E3B1F0396B4F710E8A838
|
||||||
|
|
||||||
|
j = 13
|
||||||
|
MD = B7A97FE26FD68AF0CBADB3659B7DC6B375F6403923ADF382B0DF3D46
|
||||||
|
|
||||||
|
j = 14
|
||||||
|
MD = 8E91D1AE196B5CC3E73191A6063733AE230F2346A5B00A9C8E00C9D6
|
||||||
|
|
||||||
|
j = 15
|
||||||
|
MD = 4FFF5C95A0F8B7B2D3EFCAC8487D229FD7D51985A98D29A329865536
|
||||||
|
|
||||||
|
j = 16
|
||||||
|
MD = 35F512258778BF108356794C9A97C676730D2FC5FA0ED46253DCB76B
|
||||||
|
|
||||||
|
j = 17
|
||||||
|
MD = 290EEBA37BFAC2283875D65C36609A855795DDA376A5B4B1798B1D96
|
||||||
|
|
||||||
|
j = 18
|
||||||
|
MD = 2D9CA70A43C7D27F51E5BBDC8FAAC928E262A572E37A7846E7D61768
|
||||||
|
|
||||||
|
j = 19
|
||||||
|
MD = C5F2EBDB854DDCB78C694745616BBF30ECFD4E63087EBDD1A4914A56
|
||||||
|
|
||||||
|
j = 20
|
||||||
|
MD = 3B77D25CA9169D56578054B8F76D0AD7C788D91D0BCCAA2C2CF407ED
|
||||||
|
|
||||||
|
j = 21
|
||||||
|
MD = 9F266D5284AB662A86AD71A7F22C04C176077497D5FBC7CD35590D3C
|
||||||
|
|
||||||
|
j = 22
|
||||||
|
MD = ECFA12BAB77FDC8F2398F0863BF2B4BDD406B1022E94719578D6B1A4
|
||||||
|
|
||||||
|
j = 23
|
||||||
|
MD = A3D252C96F522CB5C17A02FABD1322B0EC25A78F18174F16B8DB1332
|
||||||
|
|
||||||
|
j = 24
|
||||||
|
MD = 20DB47420D353EEEDB605D67639BA8D69E73D1530C4F06431F197736
|
||||||
|
|
||||||
|
j = 25
|
||||||
|
MD = 556EDEA803D20FCFBB0FD5896B1564A6CE3C293424F2F6E3BAA5ECD4
|
||||||
|
|
||||||
|
j = 26
|
||||||
|
MD = C7230F67B656CCE6F7CD482A0ECF673C35BE26088094714CF3868572
|
||||||
|
|
||||||
|
j = 27
|
||||||
|
MD = 812A152E65A4683B8BED04F56BF21E06A36FC8195651F4A553FA81AA
|
||||||
|
|
||||||
|
j = 28
|
||||||
|
MD = B36557813DF04B296DBB54091E18841A674A067B7DB9F81130D6B041
|
||||||
|
|
||||||
|
j = 29
|
||||||
|
MD = 781EBDEE2A98851F4AF2BA8D73E40934DEF046F4174F105A9988F8B6
|
||||||
|
|
||||||
|
j = 30
|
||||||
|
MD = 11FE19F8037BBC360BC5E681ABB5008D8A3F40BA4EFFEC4E3C32743D
|
||||||
|
|
||||||
|
j = 31
|
||||||
|
MD = E7D8C6C29ED8E1DC952ADBEFB7BB9E8F5DB74C5783289630D467A96D
|
||||||
|
|
||||||
|
j = 32
|
||||||
|
MD = 9F1C982F587517AB40B2B9514A9CD3F5F7BE2FEA34A0F8C7AAE5365E
|
||||||
|
|
||||||
|
j = 33
|
||||||
|
MD = 246FFB8618864676B120F111C78272CAEB0C7E42C64D321638C858D5
|
||||||
|
|
||||||
|
j = 34
|
||||||
|
MD = 0FA3D2821C0169F5F91148D0885E87E7D2DC8472F964ECBADD1F8DAC
|
||||||
|
|
||||||
|
j = 35
|
||||||
|
MD = 1D1F1E192280216E30224A4669F811CD0C8CC4280555CDAD23EB9FAF
|
||||||
|
|
||||||
|
j = 36
|
||||||
|
MD = A485C1D1F88CAEABF37F46F9BD81895AEC1D37234B89F5156C3A2BDE
|
||||||
|
|
||||||
|
j = 37
|
||||||
|
MD = B64BEBE966A50DAB91566410B3E455BE7F3257D724B21FF624142DE9
|
||||||
|
|
||||||
|
j = 38
|
||||||
|
MD = 7CCA9A3B46BC0C7FD00B2429CA77F795DA90F854027A39CD2AADC780
|
||||||
|
|
||||||
|
j = 39
|
||||||
|
MD = 5712A54074E2B3B0E8993CB34D01828878C0310DB436B36B64756A24
|
||||||
|
|
||||||
|
j = 40
|
||||||
|
MD = 5429020509599166384530ED4FC02B70D909CC7069C35AA04F5AB586
|
||||||
|
|
||||||
|
j = 41
|
||||||
|
MD = 198ECCAB56DED0AEBA7F39FF5153DDF83643E6AFC1B7CC9E7D4C4D62
|
||||||
|
|
||||||
|
j = 42
|
||||||
|
MD = 1106FB9CD966BA7FE48B69EF7690175D906B8181169C6D4D2464F9E4
|
||||||
|
|
||||||
|
j = 43
|
||||||
|
MD = CEAF56E1F7B61C71C6A8FD816383D88B3676CA309E36775E38193805
|
||||||
|
|
||||||
|
j = 44
|
||||||
|
MD = C820FF379CDD76FB5CEDA9F970CD68BAF8228DE00C57FDEB143E888B
|
||||||
|
|
||||||
|
j = 45
|
||||||
|
MD = 81AA65F26EB4E49F0F73CFE23C86A277C9A8C8A21F8DB2EC57AE3EF6
|
||||||
|
|
||||||
|
j = 46
|
||||||
|
MD = FDA21077569F91F50A82C1132DC48550BCC7AFC882C639F9329D64BF
|
||||||
|
|
||||||
|
j = 47
|
||||||
|
MD = 0C1F6EB3347B31654191277FC93A1A269BD9C5722AC384768AEE9E88
|
||||||
|
|
||||||
|
j = 48
|
||||||
|
MD = 613EF6BC627734C13A753918FD0CC048F8E430E2EE4AD2C186784D2F
|
||||||
|
|
||||||
|
j = 49
|
||||||
|
MD = A490FA9FA1A78FB0F3C65558196253E047362ACC5D9C009D978B672F
|
||||||
|
|
||||||
|
j = 50
|
||||||
|
MD = 94106054A666B6A531A873B3C4DFC6BDF1BD08D00C3A3AA309E68AB5
|
||||||
|
|
||||||
|
j = 51
|
||||||
|
MD = 60F937C760E743919AEE5A4D42B885595D4A989BDC2CDD6755872CE8
|
||||||
|
|
||||||
|
j = 52
|
||||||
|
MD = EBDB70A35D03D46657F47885095AA2FB1FB8DBAC64343E4F31CEB0F0
|
||||||
|
|
||||||
|
j = 53
|
||||||
|
MD = 6AA424A2AD297DA1FA9FE6B9B23AF9D7431EBA34CB5A42797FB30D20
|
||||||
|
|
||||||
|
j = 54
|
||||||
|
MD = 0455B13802E37589CF563458589D5427B6C81248C6EE73680E20499A
|
||||||
|
|
||||||
|
j = 55
|
||||||
|
MD = C21BF7D364AB5FC61624021C8339501A0DDD4BD57A27E232D8C20A03
|
||||||
|
|
||||||
|
j = 56
|
||||||
|
MD = 833C7514AF3260B38593019F064F71674E6ABDE61E394E2877EF9664
|
||||||
|
|
||||||
|
j = 57
|
||||||
|
MD = 36F9E0849D59A530E56C3D505D5E4A192796C07BC90D9FD92E3590BA
|
||||||
|
|
||||||
|
j = 58
|
||||||
|
MD = B14486770A3C59708B37E4F61EDCC95C9CC54223129B3F458B8E3F30
|
||||||
|
|
||||||
|
j = 59
|
||||||
|
MD = 699B4B69F8FF27DFA783F4FC1E07A6EFAA6BDAC99034E6BA66B03FE9
|
||||||
|
|
||||||
|
j = 60
|
||||||
|
MD = 82D7742EF0302FBC52E7EA7FA5A738BFC394EA83853D47D7506652A6
|
||||||
|
|
||||||
|
j = 61
|
||||||
|
MD = 2253A5EA6DA06C26732F4E913360D18AEC210E405E0D3B50BBF0F494
|
||||||
|
|
||||||
|
j = 62
|
||||||
|
MD = 304A9044950DDE97A5A360516906039C97591BEAC3B66ACDEF96C299
|
||||||
|
|
||||||
|
j = 63
|
||||||
|
MD = E505A037BD612982895A1C694A08CCA023B37785F38DDB5FDE5F4A92
|
||||||
|
|
||||||
|
j = 64
|
||||||
|
MD = C25E57FFDD3D78D1280087AE544C8374CCBC09CD3D76D29A0AAFFE14
|
||||||
|
|
||||||
|
j = 65
|
||||||
|
MD = CFD609316A524D04B660F0693D012C6674E2FFF3BFFBE45AA200B47D
|
||||||
|
|
||||||
|
j = 66
|
||||||
|
MD = C92EF85F4DFEFF51B0485335E10AFD6F23CD45DDEEB089E9D0371DE8
|
||||||
|
|
||||||
|
j = 67
|
||||||
|
MD = 4284F2969542545DB7CF8D14AAE41E38BADC6685A4ADD1A7C0D8A1B3
|
||||||
|
|
||||||
|
j = 68
|
||||||
|
MD = 80490B80159C9AC1B45A6F6ECC1C88FE560FC5B763F28EED08AB245C
|
||||||
|
|
||||||
|
j = 69
|
||||||
|
MD = E7110FE5D0D5CFEB7DCC66CDECE5A0C0C085415634832F1BCE96718B
|
||||||
|
|
||||||
|
j = 70
|
||||||
|
MD = C8DE55663B4909793C76B70F720EA09497629E3A16345BBF180D6F0F
|
||||||
|
|
||||||
|
j = 71
|
||||||
|
MD = B974767980D8FA14B42E5D7A3508CD716EF6375419AC7FC075F0997A
|
||||||
|
|
||||||
|
j = 72
|
||||||
|
MD = 14F89E23C012A587E71F2B0768D8C6BEEEF11DA8F4113A1868E68427
|
||||||
|
|
||||||
|
j = 73
|
||||||
|
MD = FC76FA1B0273094604D6898785A20CEA193CA86C494D5CEE3BE10546
|
||||||
|
|
||||||
|
j = 74
|
||||||
|
MD = 9C2F708D217FF127E1B619AD849DCEAACBC29F8DD73BA40C96FF956C
|
||||||
|
|
||||||
|
j = 75
|
||||||
|
MD = E2A40D11C5A5AF157F5B56A393DAE61295864DA8EFF62FB234D5C5EC
|
||||||
|
|
||||||
|
j = 76
|
||||||
|
MD = 3A1172CA1DC2771B020C4C39D0E98EBF16E8E7A8BF9BA3DF03FA7BDF
|
||||||
|
|
||||||
|
j = 77
|
||||||
|
MD = 103C2FA4ACAB3D283D79F9F990017F9DA8F5E5B9918A5C8323B711AF
|
||||||
|
|
||||||
|
j = 78
|
||||||
|
MD = B6001F6799FFC5E2FA257473717BE68E6F5994D3FB8519E19635FD2A
|
||||||
|
|
||||||
|
j = 79
|
||||||
|
MD = EF09B1D548F1DD7494D4C3CAC44EE036336199343E1E9F301929988B
|
||||||
|
|
||||||
|
j = 80
|
||||||
|
MD = 60359F121D4594BDC18F2294FAF1C9A072A2FE02E3D0CE2041A032F0
|
||||||
|
|
||||||
|
j = 81
|
||||||
|
MD = 49375AE4B8FE8E5909655FBE9875EB5ECA267F62B5D420B433E977B8
|
||||||
|
|
||||||
|
j = 82
|
||||||
|
MD = BA8337E9A121E99849CC04B3EBD8A2A9D0CB23CDB9D9EC15230ED383
|
||||||
|
|
||||||
|
j = 83
|
||||||
|
MD = 7C740E9AC32C2B74A1868865A5BFB858DF8A2EA267D0ADA2091B54D3
|
||||||
|
|
||||||
|
j = 84
|
||||||
|
MD = 57BDB3AD336252152B136402599C4A0CB6DF626E759A45C339439F37
|
||||||
|
|
||||||
|
j = 85
|
||||||
|
MD = C1C732CA7870864D4471E3A6EB5520F747AE6F95ACF8102DBCC6A6E1
|
||||||
|
|
||||||
|
j = 86
|
||||||
|
MD = 9752355D60CF37DE331A8DDB70F78CD919AAF87148CDDF56202B59F2
|
||||||
|
|
||||||
|
j = 87
|
||||||
|
MD = 9B1B5FB24806544EFDDB6BE4B65C2FB6FD17A0F75F3FC0CC0AC3A47E
|
||||||
|
|
||||||
|
j = 88
|
||||||
|
MD = C650C5557863BE6EBD186BD5EB13E8157FC664463DC73DC1B9CE9E5B
|
||||||
|
|
||||||
|
j = 89
|
||||||
|
MD = C5943CA4CBA8A1AF649A1809C464C93A2F94AE75327674345299A3E1
|
||||||
|
|
||||||
|
j = 90
|
||||||
|
MD = C3A9AB65DCFCDCAD4BB3093B74E8D95D154FD6C1C28B1A511685D605
|
||||||
|
|
||||||
|
j = 91
|
||||||
|
MD = DDAAADCB4E62690939DB343DD9CA876B5EF2A220BCA1CB86591A2742
|
||||||
|
|
||||||
|
j = 92
|
||||||
|
MD = C7893D28F4E57AC4EF8ABB2C3A70199A90DE7FDB180634BC2A9A0AD8
|
||||||
|
|
||||||
|
j = 93
|
||||||
|
MD = 8AF573936FB6CBD42924249617C1AB14628162E62CA70694B7A0E5D5
|
||||||
|
|
||||||
|
j = 94
|
||||||
|
MD = 20ED177851CE64E4731A3A8219FC62F2D3C3A645D48F154B7E7C1DD7
|
||||||
|
|
||||||
|
j = 95
|
||||||
|
MD = DA13094C9C231101576D0E3F60545AD4EF46CE754AABF13DDB9E532C
|
||||||
|
|
||||||
|
j = 96
|
||||||
|
MD = 8B35E233D37AE3A728B988295C5DE4A1B148DA9137935AE57F51EB35
|
||||||
|
|
||||||
|
j = 97
|
||||||
|
MD = EAFE0CF967F3A643E68AA08C5821684651C1FC2849D092CD26A8FC97
|
||||||
|
|
||||||
|
j = 98
|
||||||
|
MD = B9D96F14D9FA06B0309284D6C8070363D0D38C139889A461C07E235A
|
||||||
|
|
||||||
|
j = 99
|
||||||
|
MD = 89965DEC224F80C62BA360BF6053B45110124B063A1E38F712EE20D2
|
|
@ -0,0 +1,305 @@
|
||||||
|
# MonteCarlo_256.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||||
|
|
||||||
|
j = 0
|
||||||
|
MD = 96DC718815408516160BB7E5C270EFF1EF7FF455CA4CD604823F18C6040326D5
|
||||||
|
|
||||||
|
j = 1
|
||||||
|
MD = 46EFBD577B845887D8C3BBF8AF33ED6C4D16D7F78A0F1F274646BB239CDE5C63
|
||||||
|
|
||||||
|
j = 2
|
||||||
|
MD = 4F219E44B329E045B5796316FAC3C7D081F83F5109A5D3C04D04C6085ECB99CF
|
||||||
|
|
||||||
|
j = 3
|
||||||
|
MD = 740DE881E12657CBE15FF9BD31C35B1B58F399D3A4C6A95C9732262C9CCAFDFC
|
||||||
|
|
||||||
|
j = 4
|
||||||
|
MD = 53180A5CB86CBDFFD5786C7DF4614D6B5917212AD452B4649C58F52EE85618AF
|
||||||
|
|
||||||
|
j = 5
|
||||||
|
MD = 05B20D0D8D0AFFC4C193020E32E98662BEE09F8509477001C47B31020033A7DD
|
||||||
|
|
||||||
|
j = 6
|
||||||
|
MD = E79A28614C4DAC49A385DBBB94868FEEEA14144DB6B56EBE8706B42831D14373
|
||||||
|
|
||||||
|
j = 7
|
||||||
|
MD = 4B8A44425A1330D72EBBC61C1A729781772AB59C8BB66CE6F3AE10857C63353B
|
||||||
|
|
||||||
|
j = 8
|
||||||
|
MD = B9715C164425BA78D3874EB7772EF46773AC63403E0BC0D7F337BF73D4FA85D8
|
||||||
|
|
||||||
|
j = 9
|
||||||
|
MD = 98C5794C978BD33E7A73E5B36477C52EE9CD94C4A4DA7C7778D31EDC5BF03B50
|
||||||
|
|
||||||
|
j = 10
|
||||||
|
MD = 86AA9F3624817BAC95C5627C517EF1B64C30F320F715860A91C26B068A6E76E9
|
||||||
|
|
||||||
|
j = 11
|
||||||
|
MD = EC0FDBCECA3330A442CB13D734CE913290298C2DD1ED8F751A641D57C53F2A44
|
||||||
|
|
||||||
|
j = 12
|
||||||
|
MD = 0FC37BA7137D76F39A08E6A56808CF12B82B4FF8415C3CD1C5E84BD1E849EC0D
|
||||||
|
|
||||||
|
j = 13
|
||||||
|
MD = 0F82715C0C24C2D866F6EAD89A180ABF672AFC4F2EE6164ECC9D2862D5181B33
|
||||||
|
|
||||||
|
j = 14
|
||||||
|
MD = 523FAABE32B941F88E3909C47926AA521121B4C0D38FE5E784999DE072B477F3
|
||||||
|
|
||||||
|
j = 15
|
||||||
|
MD = 62666A58C27B43CE070AAB888D2C885A6722273659D98DBC07EE9BB3E396279A
|
||||||
|
|
||||||
|
j = 16
|
||||||
|
MD = 0A9430E9A6D90C693A3042A6E58D3B81135D9F15861FF2C170DB08BB2CF7BDCA
|
||||||
|
|
||||||
|
j = 17
|
||||||
|
MD = 1BA3007DA71F7B38C46D3F98F4296BB9F2D5427EEF38344B3E33391117936FA3
|
||||||
|
|
||||||
|
j = 18
|
||||||
|
MD = 201D831B936EDE14727AC880F5626D2CF15ABFEF2606B171716A562A0B8E3A03
|
||||||
|
|
||||||
|
j = 19
|
||||||
|
MD = 5ED9271873F1CBD90E1E8D6D4B8B536A02D002666262F3094587CE1AF20548B7
|
||||||
|
|
||||||
|
j = 20
|
||||||
|
MD = 099332ABE9CCD2E72A03BDC6084B0639960BB553AE997C59A1F8EF0E2898FDFF
|
||||||
|
|
||||||
|
j = 21
|
||||||
|
MD = 09111E83CA62E70A11070D6F33E8A1EAF703BF7EADA400A049BC130781C029D6
|
||||||
|
|
||||||
|
j = 22
|
||||||
|
MD = 52A995B45CD1033FD11BCB38D5F5CB367998C0F1B1EFDD70F691862A2F044135
|
||||||
|
|
||||||
|
j = 23
|
||||||
|
MD = D32A226089AEF43D1B8C3A5A2C3A8A040F633008148DEE58DC0A93A201232C24
|
||||||
|
|
||||||
|
j = 24
|
||||||
|
MD = 37B6AB3A01A3CA3C939AF0CC99CDD19694AB4D98A1D7590101F426339D3319EB
|
||||||
|
|
||||||
|
j = 25
|
||||||
|
MD = 8F1C265D1518605F08EA1A90C49CA21D417E0F3886648FE50F062070DB822EC1
|
||||||
|
|
||||||
|
j = 26
|
||||||
|
MD = B045EF3B0C1A1E1A2554ED62A3210168D41D7B20E2404742EBE8EA45079E983B
|
||||||
|
|
||||||
|
j = 27
|
||||||
|
MD = 431D940F35D9BD52E11A5EC6F8EDF55E5C9A66BF20E3AB7E66960565926F02B4
|
||||||
|
|
||||||
|
j = 28
|
||||||
|
MD = 7176EDDC2315F0F3040F23F2EBA678BA0410209688A7436590157C8EDF5D8DEC
|
||||||
|
|
||||||
|
j = 29
|
||||||
|
MD = 9D8703540F4E88F4F7ABCEDDB5D3A0E5851774DE2B8A9033FEE7E1253A47C988
|
||||||
|
|
||||||
|
j = 30
|
||||||
|
MD = DCEB13B28A003F9C6F5A32C00260B87D3D6EF7FCE971613814367715BE21572A
|
||||||
|
|
||||||
|
j = 31
|
||||||
|
MD = AD820D6726D4E5D75BD2E696892B2ACF7AC8310EC2D27A1EC4835326E628CEB1
|
||||||
|
|
||||||
|
j = 32
|
||||||
|
MD = 6B80B99B21823827F03F4E4EB80F95B809F05B29EBFAABDE4FB31D7FF337BC9A
|
||||||
|
|
||||||
|
j = 33
|
||||||
|
MD = 352E60614BD57D39DC1A412012D56D1045FE91063AF4BEBB150B83C030EAAD9F
|
||||||
|
|
||||||
|
j = 34
|
||||||
|
MD = A1588950C19D7161CBD1BFDB813459DAFB6BCAF18162560B4478CE99EDBEDF5D
|
||||||
|
|
||||||
|
j = 35
|
||||||
|
MD = D797A367C4DEECDCF6E2615586126C1797D9D5EDAB6510504C6DB21F3418EFB0
|
||||||
|
|
||||||
|
j = 36
|
||||||
|
MD = A1ECF7696DB53498EA07195EECA6071B10F45001CC7BCF5C3172029A2BC25FEF
|
||||||
|
|
||||||
|
j = 37
|
||||||
|
MD = EAB7361FB84944715FC9F177840DE90CFC69B7DD74E6A4C3DB1103D5E9EBED98
|
||||||
|
|
||||||
|
j = 38
|
||||||
|
MD = 6D805BB0C1F45EB177D80BB1371549219EC9C5EA68DD226E80410E97A7B97909
|
||||||
|
|
||||||
|
j = 39
|
||||||
|
MD = C6E3F46425D45A348CDEAA5C25241398D62DAF1F45E4BADE4EC98587C291C2AD
|
||||||
|
|
||||||
|
j = 40
|
||||||
|
MD = BB5CCA581203C9F2CA4D35C4083EDA3AE780E71E96AA0537692C920E393768B3
|
||||||
|
|
||||||
|
j = 41
|
||||||
|
MD = 3EDCAB69CD54B9E401C1F61FF76A0E4033F13512254D0C1F29F02D98B3EAFB4E
|
||||||
|
|
||||||
|
j = 42
|
||||||
|
MD = 723590F5D2E89D9B217B07B8FF1B149FF95A7342381C88983BFAE40252FF2137
|
||||||
|
|
||||||
|
j = 43
|
||||||
|
MD = 680326B28B5ADAE72D01EC6C06461077703A3EF7BAE6F595DA8FA041E0DCAD75
|
||||||
|
|
||||||
|
j = 44
|
||||||
|
MD = C6479F09B30F78A214095CAAF676ECB5C2E6A2F15CA26A3FDE4DE29F30BA1519
|
||||||
|
|
||||||
|
j = 45
|
||||||
|
MD = 733D8178CA754EC84ACA7DFCD17907FC23EEFE7F384B35A0D02E53E22820A363
|
||||||
|
|
||||||
|
j = 46
|
||||||
|
MD = 79408D5E18D7834AE762B54D4969C4B14818184EB20E6550E07A471A06E269F7
|
||||||
|
|
||||||
|
j = 47
|
||||||
|
MD = A79C8D5A94214EE3447DD60F248A9E56EBA674421EC706EFEBFC997501FBEBF7
|
||||||
|
|
||||||
|
j = 48
|
||||||
|
MD = 69AE1537B62ABB42CC9F6D4156A61E8C3FDB83655BFBD27D3C16DA71346D76C9
|
||||||
|
|
||||||
|
j = 49
|
||||||
|
MD = C3D5FC08AD31D1B58B66D93318827F1C4BDEE77B9DD670D9DDBDEE72C56D21E9
|
||||||
|
|
||||||
|
j = 50
|
||||||
|
MD = B8657E2C9D8EA1CEC9CB1DAAAA5884A1F8A2328F4446B3BD775BE375B122D426
|
||||||
|
|
||||||
|
j = 51
|
||||||
|
MD = 5FB921BF349D6D002375B98A04989D29A527D8F8278E1BEF097000999F81ED71
|
||||||
|
|
||||||
|
j = 52
|
||||||
|
MD = 5C5371143898E1D4636C2997141C3D2664ED52963F0B7A014658829610E1B699
|
||||||
|
|
||||||
|
j = 53
|
||||||
|
MD = 045B9E962864C84411FAD905BFB83AD6AD47F132E1F71151D715C9A1A81CC42C
|
||||||
|
|
||||||
|
j = 54
|
||||||
|
MD = 4F732E2570711679EF817980BC4D2592D4370E35C7C1F87824B1314D08389564
|
||||||
|
|
||||||
|
j = 55
|
||||||
|
MD = 2FAB0BA32819E3073663E5637D1561F19A1818D6BC88A91C56EA1656CE260533
|
||||||
|
|
||||||
|
j = 56
|
||||||
|
MD = 53BBFBDED8300F4543C9EF54B3A71461F6AE62EBD8D5119FF9E69360F6FB216F
|
||||||
|
|
||||||
|
j = 57
|
||||||
|
MD = 62BEDB61EF90DFC662736E50F415224717F196D5791C2D6CC6F070F17394E93F
|
||||||
|
|
||||||
|
j = 58
|
||||||
|
MD = F65122D16FEFD0FB32B70A2B251D39CE0A90F5DB11410BB8FABEC9ADF3A15042
|
||||||
|
|
||||||
|
j = 59
|
||||||
|
MD = C2ADDF5A09E35CA317CCC853A13A25CDFD0E2BA6FB293C0D09BA383F5CD30048
|
||||||
|
|
||||||
|
j = 60
|
||||||
|
MD = 45ED6278527A5B1C20BD355AD101AEEF76D8D923F041F4B2F540D9E32BFBB0F6
|
||||||
|
|
||||||
|
j = 61
|
||||||
|
MD = 2FDF29BD6317A02CD97B501C5E52BDE685023D38C290AAC02A074C2714672CF1
|
||||||
|
|
||||||
|
j = 62
|
||||||
|
MD = CAB55E1B2478C1DC48F72F8E0EAAB977EEC667FF2528830915E99EA8F9B36F68
|
||||||
|
|
||||||
|
j = 63
|
||||||
|
MD = 880FF6E2D612890FDF2A831FA481375557C7D6CE11DC9D62423ECF618D03099F
|
||||||
|
|
||||||
|
j = 64
|
||||||
|
MD = 7258C3EFB4C6F3C163681A5DF7906292AA9D097C0DFC44ED0A6EE90557A787A2
|
||||||
|
|
||||||
|
j = 65
|
||||||
|
MD = CFE7912D7A8D5F83E55C4783309DA3BCD33BE70B7CD23E070E5125034EC1E9E9
|
||||||
|
|
||||||
|
j = 66
|
||||||
|
MD = 82B19CBC3097D0EB81AC5B933FAEAE13F9AB26614E79B94F90BFF2CC339ACCB6
|
||||||
|
|
||||||
|
j = 67
|
||||||
|
MD = EBDC22811C87AC5575A8A5916968990D316FEBB11BB95C2C2B0B3C50939465AA
|
||||||
|
|
||||||
|
j = 68
|
||||||
|
MD = F699996B52F7484922399DBD9DFDCE7C94400440C9DB99DF771F275D10829F8F
|
||||||
|
|
||||||
|
j = 69
|
||||||
|
MD = 007BED83B83D45F1B4D5F40664D14A57DDB1A0E59E84BD9AEE88E11D7D9952CF
|
||||||
|
|
||||||
|
j = 70
|
||||||
|
MD = 50C97A182A98D7DF5DC33B5C2517638F841AD3E1CF0B9C9AC7A0B9B59F4F58EA
|
||||||
|
|
||||||
|
j = 71
|
||||||
|
MD = 638F58D218AB1F4C51E26D834663D82E1F58526AAC629129A9CB6C0695CB9F49
|
||||||
|
|
||||||
|
j = 72
|
||||||
|
MD = FE498C8359C8CEFCC866A21B69509BABF82629B962267D2977B4610E16C7F5F1
|
||||||
|
|
||||||
|
j = 73
|
||||||
|
MD = CD9B1AA253D64EF2D031C4082CEF60487264672BBDD2DC62F99C9EB43A90E2B1
|
||||||
|
|
||||||
|
j = 74
|
||||||
|
MD = DFA3FA8A691E332BD36A03542F3D4D039490269F6715809EE579C782A1F3581A
|
||||||
|
|
||||||
|
j = 75
|
||||||
|
MD = B7964AA4F4B677F4D87C410CFE81FD7A565ED6325F7092AF8F894D3E6F2135EE
|
||||||
|
|
||||||
|
j = 76
|
||||||
|
MD = 42A2A8CA895A5EAC038D8EAC547D98B6113F252EEA267BB869E65ADDA0E8829A
|
||||||
|
|
||||||
|
j = 77
|
||||||
|
MD = EBA418D9DDCD9B34B69DAE640806684EE8A7CDC5113D7533ACB028BC85813AF7
|
||||||
|
|
||||||
|
j = 78
|
||||||
|
MD = F7804F2D93B06B579D271932034FD8C5E5B7A7D266FF7412A2AC0FF487CF9C05
|
||||||
|
|
||||||
|
j = 79
|
||||||
|
MD = C5440276B80D5117531F41D5ADE82CBFA9D4ECE9F06E988D01AB2749F266E2B3
|
||||||
|
|
||||||
|
j = 80
|
||||||
|
MD = DA1ADC2819C7AD35389FCE5B199E8EF3E6DE0BBE1111F658E0EC66B583F34E6A
|
||||||
|
|
||||||
|
j = 81
|
||||||
|
MD = D0378A08148153A0A6F37CB5EA9BADFCD16246DAC188C967F9B248BB76AC0756
|
||||||
|
|
||||||
|
j = 82
|
||||||
|
MD = 8DFED8F6C2727B63B7E3C1BB52E1965B184A21E2D1890BFB91503852D5434448
|
||||||
|
|
||||||
|
j = 83
|
||||||
|
MD = BA6D8A6E0DD30A3773ADDCF0E75C423EDA477A9F49C6B7401595064A4497D3EF
|
||||||
|
|
||||||
|
j = 84
|
||||||
|
MD = 6ABE21ADCD39F37059153CFC38DE5F9A70DAD9A50C9B68BCDE6C164C3621FE1D
|
||||||
|
|
||||||
|
j = 85
|
||||||
|
MD = A2C30297FB7CBECFF6B59051757BB0B6B3F8AE868BB4F18C4570A35615892D43
|
||||||
|
|
||||||
|
j = 86
|
||||||
|
MD = 70D6415736670C974E7AE1B0DCD9C603824B41FE57E3106302D5D7D625962079
|
||||||
|
|
||||||
|
j = 87
|
||||||
|
MD = 046180A281BFA32F45812AFEAF8A6423D393BA0C5C62700844FC3C27E78F60FE
|
||||||
|
|
||||||
|
j = 88
|
||||||
|
MD = B53131C5DB2D21683DCF53EC0F7772178D21F04B6D4FD1ADD2FC1759CB9E4F74
|
||||||
|
|
||||||
|
j = 89
|
||||||
|
MD = 006E40D165A471A3E2A26E4D48C00DF8CAAC9FC11028445A9E72ACE9F0DEE26A
|
||||||
|
|
||||||
|
j = 90
|
||||||
|
MD = D7BA187B0407D2A6A449974369C4BFB63C3FAA309F828F1DF2058AB152D3EA6C
|
||||||
|
|
||||||
|
j = 91
|
||||||
|
MD = 2B52EE3B1043BD564560DA3670DFFFADF15753747A6E2B4B5010F4651415C1DC
|
||||||
|
|
||||||
|
j = 92
|
||||||
|
MD = F3ABC4BCF8FD3D4634B030B6B2840A8BE9F1EEC7B81E8FB6C2828A9DB4BFF51A
|
||||||
|
|
||||||
|
j = 93
|
||||||
|
MD = CFC0B2F8B99275565D5BAFAF758F6433C404903B1681E45D99C9FB042A0967D2
|
||||||
|
|
||||||
|
j = 94
|
||||||
|
MD = 26553D0232A6B7EFE2B766E18E531A6245C04DC9564B22193868E6F6BDB57DDA
|
||||||
|
|
||||||
|
j = 95
|
||||||
|
MD = 774189794287EA775DAF401656B56ABD0764C2BFB3FCFBC229DB0EF5D5E29BD2
|
||||||
|
|
||||||
|
j = 96
|
||||||
|
MD = 3DD93E0704AAF271A35665C8ED2ECCEDBD5FE353E1E3DBA0C0BEEB0A3E98A9C2
|
||||||
|
|
||||||
|
j = 97
|
||||||
|
MD = 6BC2F2D453194C91D48C094B4F9FB0F97B3862F50616D0BCE7220A6E214858AC
|
||||||
|
|
||||||
|
j = 98
|
||||||
|
MD = 0783BBBCE32900B727D1498CDBAE98682988D0BB3E8BD2E6CCED0750BE47814C
|
||||||
|
|
||||||
|
j = 99
|
||||||
|
MD = F1F27B5EE3065374A48CE29A6F80CD85E67AA75F45F61CF72C32BDA8AE92BA11
|
|
@ -0,0 +1,305 @@
|
||||||
|
# MonteCarlo_384.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||||
|
|
||||||
|
j = 0
|
||||||
|
MD = C62830A53D71374CD08A8CA3FBCD54841C8AB8A27B7398B73512C11FEE59D473C0794276E617B65C6CD35DF02AEE84DD
|
||||||
|
|
||||||
|
j = 1
|
||||||
|
MD = 0A0450E7E154B14FB3E9C559DF696CAC6A663EB3C5B3ED7A932E7BED032C6A30938D95FAC5036A43497839261FCA6AD0
|
||||||
|
|
||||||
|
j = 2
|
||||||
|
MD = 831179B1A98C9E63B427875FB02FA2A8F0CE6CADA8DDB78224A0DAFB81D6D9ACBAF6CC9C1A812C20FF4E950CBCAD7ACA
|
||||||
|
|
||||||
|
j = 3
|
||||||
|
MD = 31CDD8DCB7E120EDA87F1482494965E897BDA596FFD8C67C9E5E447EE5380ABCF084767B68394B3CAE8BAB4C1074A44B
|
||||||
|
|
||||||
|
j = 4
|
||||||
|
MD = B7C03C3B570E7AC2D8082345B961742F38B7740776F5417AA2A997D8C26C461ABED91D333E4A22C8A09C60850C980489
|
||||||
|
|
||||||
|
j = 5
|
||||||
|
MD = 14EEED0B459CAB55223EC189F8CE5F803D721E0C4B5DA5C3ACF7DDCC430BB610B13D4702B45B1E45A5D5B93BC8F3BAAF
|
||||||
|
|
||||||
|
j = 6
|
||||||
|
MD = 7B91F57BDB4506DF94FC55CE4537F421A9FB51ECA561FD59295354747A2845EE48C02CA89E1E2FC94B75FEEAE28DC8BF
|
||||||
|
|
||||||
|
j = 7
|
||||||
|
MD = 9D1DC594F5657EEDA5667C55DBFD4BCA1AA923DCA7B8C903C766FDE4F5EC8DBC801775499B88A7AA504E2EB0F30E906F
|
||||||
|
|
||||||
|
j = 8
|
||||||
|
MD = BFD5AAE62F474FD511A73AC56F4723B9A8A4BEE2828082627CBA00DEFDB736355901A5A67F06BEBA6ADE78FDC0015401
|
||||||
|
|
||||||
|
j = 9
|
||||||
|
MD = 66918B59B5222A80D87AD2366CC8C2B5B6046D6471AD919A0CF31062BEDA6323943CB0F069DD51727C94D391B62A2652
|
||||||
|
|
||||||
|
j = 10
|
||||||
|
MD = E4B3BC58AEBF7A4C44673AD791A79F9CD6B54D69D6FEB08371881F40093491A61667FBA32F6AFAD84AE6835AF5D3504A
|
||||||
|
|
||||||
|
j = 11
|
||||||
|
MD = 3821CC34801306E6CBA7B80E382B95E7FB31D16C279CFC0378E42D995EFB045C12F294B30B3F9777BC53B8D02B4A467D
|
||||||
|
|
||||||
|
j = 12
|
||||||
|
MD = D48B1C9CC9FD31448F195D004B9BA32EC3DB61750FF2F6037BD419715678C77E227BC7DA55A1CBCF96C1B5C60EDCE7E7
|
||||||
|
|
||||||
|
j = 13
|
||||||
|
MD = 5879FCAB050133935A55DD525F30BE409B67628FDCDBC8FDC08A1175056700170F26601413DF423674CC41AE0F96EE71
|
||||||
|
|
||||||
|
j = 14
|
||||||
|
MD = 8743EE9597D813C5DF555D6847ABDB76B3E1B82B50D91257E37D141234D225E7FCAA2240E2EEFB0ED4DEA023B71F4B52
|
||||||
|
|
||||||
|
j = 15
|
||||||
|
MD = 876B468DE37B35D0C57E5E6CE08DC923868575F8A108B76F6842E2019CCCA7112A4916A4813C6D3CCC808F28AF2EB94D
|
||||||
|
|
||||||
|
j = 16
|
||||||
|
MD = EB02078E1ED139F8848FDD20F5DC5759B45432CCCC038CA93FC4C580D8E67706A4CFF70B338A9F6E00FCF53D692476CF
|
||||||
|
|
||||||
|
j = 17
|
||||||
|
MD = 5EFE1235A9011AFB037067657FE74092F5BA1ABE9BBF0C7C607D92EF7B1D2AD11DFB002DFEB69327CBD2C45BB9D780B4
|
||||||
|
|
||||||
|
j = 18
|
||||||
|
MD = A0BEADE02CED06077E30A2708F232CBC2DD5DBBEC8DEF961104D10B310151B7B700B20714EE6BC7E5D678196BF4841E3
|
||||||
|
|
||||||
|
j = 19
|
||||||
|
MD = 49467628B92E2610D4CF04E974D388188D09490E8442BF1CD2EE6BADE3C6EE04909433F2C1B304393825444144AF5479
|
||||||
|
|
||||||
|
j = 20
|
||||||
|
MD = 6E9B82231D2538951EDF29361151E9568DC1D2A5C59D348F36B21BD1AF924C4B6D3ED4C075F949E13F31F487E8B6D5F5
|
||||||
|
|
||||||
|
j = 21
|
||||||
|
MD = 5369CC0D1EAE68C1DD64D25A060859930F48264DF41A9AB0DD013B330D042DAB3A163CDF48DC629918087548EEDFF579
|
||||||
|
|
||||||
|
j = 22
|
||||||
|
MD = 6EE83A3CCBEAB7B6DD81CFD7603836E1C8CC30376B030B645F0B406AB975025755FC0250EFC8BAACC4FE3445BA1CB48B
|
||||||
|
|
||||||
|
j = 23
|
||||||
|
MD = F5A1BAB1C63888BB4162F141B0DD7528B58C73CB7D41DC7426FAD92E11D58805D40377F9D8FDDDD461C2B795919C465E
|
||||||
|
|
||||||
|
j = 24
|
||||||
|
MD = 572886A9D859C9A812B4BBEAEE9F4B261D6BAEE8B1697059CB4C3D2A23908688BFC6CF330C69B74694CAFD744FD6E205
|
||||||
|
|
||||||
|
j = 25
|
||||||
|
MD = AB12D651CE43F665E65E293584D25FC03C1CADDD5612BE712B2DF71F07E9D2BEFA81935B23700EB44D2F21F7FA542958
|
||||||
|
|
||||||
|
j = 26
|
||||||
|
MD = F2E9EAE7A275772B378AC2E8F2EFEB8B85BB52B9FE9A573F1AEC13CC7930B3EC753D2007681C45A6EA45F36499A8511B
|
||||||
|
|
||||||
|
j = 27
|
||||||
|
MD = 32AB50EC19C11BB33CAB57D22F27B8C9E41D0BCC6B1DDBEC9C431D476D0C9926412115C3DB733CBCC5BAE7E95AB3C8F5
|
||||||
|
|
||||||
|
j = 28
|
||||||
|
MD = 13E229A04C10174927E0C4F8EFC33F6971A2E4A379F6E0E3242F3788A8D56CF82A1FA2D88DD60E78CB8675937CDCBDB2
|
||||||
|
|
||||||
|
j = 29
|
||||||
|
MD = 459A8F21E1B5707B21B111E471160E5F8266B767A9DB00F7E02F407A497693446C25CF3957D1D32E2AC48A7F72D57B1E
|
||||||
|
|
||||||
|
j = 30
|
||||||
|
MD = 14CDEDFF06ED5F7CD89BA5AD0D7F5E30E709A498BD913A26EA2AB4BBF15ABDC50FFB902A439D15AD3F0F26CFB33A8D6F
|
||||||
|
|
||||||
|
j = 31
|
||||||
|
MD = FEB06BFE509DBCAE5F9547835E5613C322B977FB2783EEF207264236E12635E08AE17A4E0AA19875805932ADE6086F13
|
||||||
|
|
||||||
|
j = 32
|
||||||
|
MD = 37F039719779AE73CD05466C5EF4490685B60792DFC45DC0CA3507A65D098903DB200B01A9D7C999E14078511C2F68FC
|
||||||
|
|
||||||
|
j = 33
|
||||||
|
MD = 0C8DAFAAFF3D298DE204F9A26012685EA59AEF8163544A793BADFF1A9D50E4EA27BD464EF715A9B498C73851E60E8FCD
|
||||||
|
|
||||||
|
j = 34
|
||||||
|
MD = 0498DF14727E77F319F5207803A0B3CDE8DAD720540DDEE5A2248A7A2458F9C25153D606FFF6390E9DB634CAD5777B2A
|
||||||
|
|
||||||
|
j = 35
|
||||||
|
MD = 3ED492AC51D9C86391EF901E66DC8049FDA9FEAF8F4EAE3DC501DF3DE7ED6390B08745A5C094E5F02011C2242C115F3A
|
||||||
|
|
||||||
|
j = 36
|
||||||
|
MD = 392173E75A104BC50429710F511A057942B5450ADE29C0329819E59FCADCCBE45135E51CABC67936E17E7113A27CD687
|
||||||
|
|
||||||
|
j = 37
|
||||||
|
MD = 154869BFFF5B932A02EB14362935E0A118ED4A4B3732AF36469AF417932B02C448BDBCB0C73C9659010BDA30F1EDD8FA
|
||||||
|
|
||||||
|
j = 38
|
||||||
|
MD = 9C0B495BF5C010B9AA0B7AE01DB1F5E2C4FE50784BC9CAD9344BF0A5564BAAAD57475BEA9D369575CDD418DCDF88424C
|
||||||
|
|
||||||
|
j = 39
|
||||||
|
MD = DD4642E334E56B00E5E689934830E1D8140AC2DA3918657D3ADFCBCD6FA9398C80C76F9733C5604FEDAD9AAD253BB922
|
||||||
|
|
||||||
|
j = 40
|
||||||
|
MD = 54029AB1F7CF93FD31DE678FCAC7402A8FAF8D9C0F1851D379071A3A3F6CCBEF8191086243418DB167DCC12ACF7E6F39
|
||||||
|
|
||||||
|
j = 41
|
||||||
|
MD = 98D7115FA0F6E2863A6161C1DDFF767660F6280C7583DC9DCD5F2270C0D758816C363B95EDF23D1FB27AA663F5F90268
|
||||||
|
|
||||||
|
j = 42
|
||||||
|
MD = 49806A583A8FB2C83A7C814533F44919C8113813B0993777B0ED2E17B2A24EB03903F7B88561D230B63D51FC25F59C1E
|
||||||
|
|
||||||
|
j = 43
|
||||||
|
MD = 515ABEAB5584029BD97EA5AE4734D7948C2584BF55406B644909F8739D70DBEAC619B6B6D784E171E8852605988563DC
|
||||||
|
|
||||||
|
j = 44
|
||||||
|
MD = 3C7CA8FE7225534C88F0856124702A6E52542BEA3DB4E63E41F09665AC267A44B1FE6C4741AFAF2E85FB8FDE5053741B
|
||||||
|
|
||||||
|
j = 45
|
||||||
|
MD = B7F9E749E1282AE2EE908C3B6521C8AF005C06B14064010035B534980854C89BAD085D794343BC69586990ED00625B0D
|
||||||
|
|
||||||
|
j = 46
|
||||||
|
MD = 1F8F0DC4F7C9A1171236428B8BC7D63694B6A1C459D66D08FCD4C23A23CC9F18303E5F784EB6272B3A998D0617BAB226
|
||||||
|
|
||||||
|
j = 47
|
||||||
|
MD = 352589F325660A52B490932364695AD1AC7B538A85E41FD3234916A53FE1A6374AA3A6C4BA1FE716463E623C4102110E
|
||||||
|
|
||||||
|
j = 48
|
||||||
|
MD = C8F46BCB154A4BCFBFFBD2ABB47FD1D509A1F9D2C5F3142738E2F59B4C9EBC9A05675D83462E5A649A8B482E8AA8E8EF
|
||||||
|
|
||||||
|
j = 49
|
||||||
|
MD = 945A29BFA0D534B25A8D219ACB416200B301D507401DA8CC0FD4F7C109A56DEEE9DF29B988E71FEE746FE88B43526D3F
|
||||||
|
|
||||||
|
j = 50
|
||||||
|
MD = 323C50D40D12B59918E1034D721EE41E4EF1521D0A50E1D617804B1208B0B416C8765915530EFB6DAFD5EF63C3A5F8D1
|
||||||
|
|
||||||
|
j = 51
|
||||||
|
MD = 33D6010659B3B8A1BFDAA5E213EB70529F759871A3E6CF9635DFAC77B3963A8A94105E28D76F5F22FACEA6C44D8B3490
|
||||||
|
|
||||||
|
j = 52
|
||||||
|
MD = C28DDC608AD8A13483D0089A00F527AAC07B1227BCC4843E7895F8955E5F812C0FBA761FBEC638CE504A182AE25AA083
|
||||||
|
|
||||||
|
j = 53
|
||||||
|
MD = 9D88825612B216C71D4CEC6D58FC9616544985E7EB1A1661F48A2CE4A73BDA6DA99C0DA795493798238D0AF648CF68C9
|
||||||
|
|
||||||
|
j = 54
|
||||||
|
MD = 3611D88FEC69D46DA735B2BD23E5E247DA1619B83623FB5913FEE4471F2455FDCA6C16C31661CA7362B911540D96B88A
|
||||||
|
|
||||||
|
j = 55
|
||||||
|
MD = 733A460100E5A8AC1FE492BE09F2EC5D43B6872A114C5870BFA48A5F8AC4CEE124918B8B4DE91377AD59B7CC5B76E55F
|
||||||
|
|
||||||
|
j = 56
|
||||||
|
MD = DBAF59023EEFA658B8287DB2DBEA36C8B4219583EFCF1016866E05BF1BCAA4D463AFDA58F88AB1D2CF8FCF764F9BAC50
|
||||||
|
|
||||||
|
j = 57
|
||||||
|
MD = C0C020E4F172E51F677AA4380ACF51B6892C018286A83E2A4BA026C2139A552B6CC303F158E30D1B76CA630CFACFD840
|
||||||
|
|
||||||
|
j = 58
|
||||||
|
MD = 889911D660DC08E77809399CF85E44D2ABF926C0D9C2EDE27D12272A95F836F0BAECEA065CA1EFDC3B5D1B6F4E788C5E
|
||||||
|
|
||||||
|
j = 59
|
||||||
|
MD = 17559DA05FD2FF74D856E5503E6565A77D6D97542A87CE37062946727895638DC1F202D1FEACC8F8D763F121988F01F5
|
||||||
|
|
||||||
|
j = 60
|
||||||
|
MD = AB7C432FCF84AF60E5E6A51F761ECC3DCBADC55CB33F68B3EA3112FC28B596BF89E0C06D68D4CAD86EB30613EA3D21A8
|
||||||
|
|
||||||
|
j = 61
|
||||||
|
MD = 4080E321EE7502633C0FB121023700C631BA57C476C38453165BBE508B0E3A9E007DC66E1880E324B6C92B6FAA119078
|
||||||
|
|
||||||
|
j = 62
|
||||||
|
MD = 23987F0965D48B3A04F3CC3D01490289BDDED1D8D5782CC061DC6D6591ABCAB0C0A7AA67E507EA3297AD6601B89BE6E3
|
||||||
|
|
||||||
|
j = 63
|
||||||
|
MD = 969EECF3820BCDEFC6444E8E493382320976F8B67ABF1FAF690E3A4E9BDF7423B0E0971C3FD4169B5A4E6D2DA54A89D7
|
||||||
|
|
||||||
|
j = 64
|
||||||
|
MD = 8A7EB758947D90FA39F823963AC4CFA655E1B49471E2B022298AAD12DE432649243EDC48288342736F41642B42AB6CB7
|
||||||
|
|
||||||
|
j = 65
|
||||||
|
MD = 4E555CA1FC0DC1D11463367D62D9EAB7523DCDF95B4B6AFABDA47593A7A72DAD60AD3EBE7130CA932267B7D2C4FA31D3
|
||||||
|
|
||||||
|
j = 66
|
||||||
|
MD = 9294FE0317E017E04D670A4B5BFDE5997638F6112A7C3AD4E9A784BDE29C99CF9D0E05887544CD9EB30F7306823DC1B5
|
||||||
|
|
||||||
|
j = 67
|
||||||
|
MD = D12C5C81FD82D0BDD8FBFEFA0472382386D4EFCBE843EDEC786C5B451053831C3A4F625430FA7CFE5B3413483A84C418
|
||||||
|
|
||||||
|
j = 68
|
||||||
|
MD = 6BCF0391B10D9BB0A6CE12EEEA47006FD67B8C4F60A201E6B0094332C3AAB576087A5C03D7A6C4FF0123F194F024F884
|
||||||
|
|
||||||
|
j = 69
|
||||||
|
MD = 79941DC9C3436D7A1CD3388FC3D7F0C6717336F8980933683156B82F8B64F2BA99C22561B885EA5C79980465EE617558
|
||||||
|
|
||||||
|
j = 70
|
||||||
|
MD = 03E82ED3995C64E71E52266BA501C95C6625BE44B122097AEAD9C46703937D656C9100612A182D9266688290D86D609C
|
||||||
|
|
||||||
|
j = 71
|
||||||
|
MD = BE2AADA12C1B8E14F67B3FA6494063FB6F3B933510DA106B3C25CDCBC121548435C3409210CDA5C7A0C98B41ED56F154
|
||||||
|
|
||||||
|
j = 72
|
||||||
|
MD = 70FB439114ED31703F3BAD40F26F4F0CBBBD5E8FA1534033D62DCE1F4F30E775CCCFAD02D97903D9FBDBC5D5A47E00E5
|
||||||
|
|
||||||
|
j = 73
|
||||||
|
MD = 33650574CFE71803FFA444ECDDEF152D1C51ADF25CE5C7D8F01D0C0B8CCB3F3CB3C4EA467AC714AF437A84EDB3D3C40E
|
||||||
|
|
||||||
|
j = 74
|
||||||
|
MD = 0580EA976F19020611D4C1A7E97960F18E9E747C08AF7B2C15BA17FF3AC59DC28B15A56511A3F6B54DB4643357F46904
|
||||||
|
|
||||||
|
j = 75
|
||||||
|
MD = 14858349920730F92EBD5F67AED6861605306758CA1B23CE0EB3C6167E5E7C4A8AADA35C06B8C5570316B1D7DC1586AD
|
||||||
|
|
||||||
|
j = 76
|
||||||
|
MD = E964A72FA8180FB69A90E00B6EE6811BC7A75E88FD3A94793BD39F13FE8AE3565099AF1779271F58D7A15568D898C544
|
||||||
|
|
||||||
|
j = 77
|
||||||
|
MD = AF508526202B27858B95106B72122B10B271D202E03D1F853ADB950F62AEDE04D040E4E91231DBB77C3DC1539B810688
|
||||||
|
|
||||||
|
j = 78
|
||||||
|
MD = AC6E8A7A4E657E28C8549B60E630913AED50249495F0710EBADA75564B5E4A9A8FDB5FDE2C19254DD7D39F07E409855D
|
||||||
|
|
||||||
|
j = 79
|
||||||
|
MD = 4BAD5506CEED8F0EA2D5E37651F3C5F9BBE6F3D00DA2C5276485C986851ED474DD14BF4D61132FAF7F9A2AD1C449511C
|
||||||
|
|
||||||
|
j = 80
|
||||||
|
MD = 7EC780985C22EB0A3FB5061A26910A389A73021826704E2D4B780E757D4DB11BF0046B2F3444E5797CFBF7E8CC7BA31B
|
||||||
|
|
||||||
|
j = 81
|
||||||
|
MD = FACFF59F8B7D2B26A504943071CB250BEFDEF9AF1B0FBDDA79130BF3D21999A8DBF3999CF1ACA387EAECB9B0ADB83EC8
|
||||||
|
|
||||||
|
j = 82
|
||||||
|
MD = C8CC35CD69FEF5ED9A7CB9ADD0E099E8649C3545BF6FBC388BD290ED9DA540DB15B9318B5903C3D0827D0CC5B84C213C
|
||||||
|
|
||||||
|
j = 83
|
||||||
|
MD = 5EF0E067FB57C3F8149B2EB12198BE94680C4CC82DC4519F3A7A756AB4FCBED18836139582827276FCAE0B5BC279EDE9
|
||||||
|
|
||||||
|
j = 84
|
||||||
|
MD = D3D7F8B4983F0BBD63DA76FB77CD42BD4891AC3826E1E533B98E798A185BF52517D8084C14A1A509F5E06D16E71E3F85
|
||||||
|
|
||||||
|
j = 85
|
||||||
|
MD = E40C24DEA2833666960233D9EF00104441C8AC7193F1F0D956A403A953220C1AEC7ADB3A996DBD7982E46E130CFECE8F
|
||||||
|
|
||||||
|
j = 86
|
||||||
|
MD = 18CC3A15CFD4773D7A61AD23BB7BEB33EF21275B0D4093893F4F674DE5CAB86BE2AD4FCFC0EBC795D39CE8A25118AE3A
|
||||||
|
|
||||||
|
j = 87
|
||||||
|
MD = 68BFF893902D7FC70BBFEF9AC0B1359E7980D986ABA40CA66C8C55560972AA0AAFB47D46E7C9658A43F73EF5C9E50B8F
|
||||||
|
|
||||||
|
j = 88
|
||||||
|
MD = BA83F5E17A35476FC75E64150451AF56A6B274409C0D06F1E7BD5747A17C8931AD28282D308E608DEB7E7C0F5454CF75
|
||||||
|
|
||||||
|
j = 89
|
||||||
|
MD = 9CB2F7E6026C21747A8621B68C4AC0A196CE693BBCDA2BDC0B307810CFC1FC9D83913DF7D46318B6EEF74DC1B38DE85D
|
||||||
|
|
||||||
|
j = 90
|
||||||
|
MD = B6EE529E9A547B9D40A773F15DDDE18943F03BAE40809A29B714FC3784F581E0F9E09DADE3C285D41D159E2D09D97769
|
||||||
|
|
||||||
|
j = 91
|
||||||
|
MD = 9EE9D7E01F4C2431C9E346096AB22B2A4FE9F155C88C5E4D4D15EAFA551424FD5DA0C2EF01766FFEF2A1D2ABFAA48C65
|
||||||
|
|
||||||
|
j = 92
|
||||||
|
MD = 35D4317FB2CE046AFE60D069A67BDBC939A6E703EFB01F69F42C2F61C76F4D69396E5FE401750AB0A6C181D73D77D69A
|
||||||
|
|
||||||
|
j = 93
|
||||||
|
MD = 15E534E68EB967AF253F99F30F56E823D9AAD2F85E8623A201F49E67D15276D2A7EA48B195A82D5EC5F492A260E25728
|
||||||
|
|
||||||
|
j = 94
|
||||||
|
MD = 6088900D2DBDC176E5F2B6BEE06FCB280CC1266068373BE233F11F9A14B5FE66803C1623CAE12063D1F7CF1B547A8F3C
|
||||||
|
|
||||||
|
j = 95
|
||||||
|
MD = C710C6808EA46BA9EDF506FAB01B33998E4B2F9A699EBFADCD20F5715A2FBDE0E8C4D0DF0BD450FF0BDF7EF7B2C1EBAA
|
||||||
|
|
||||||
|
j = 96
|
||||||
|
MD = E387D6D3FCC622028C9075D7B319D16A75F746DF7FE8960F66C207C53637A44941C471F3635BA8CEA362CC97E1DA8219
|
||||||
|
|
||||||
|
j = 97
|
||||||
|
MD = 6A1D2F3E92FCDF24BC27149FA61C7BB098BC8057D1B7B74CB1A2F01094457F02307835E11749636B0F85E5154DE2CE1B
|
||||||
|
|
||||||
|
j = 98
|
||||||
|
MD = F19B87290BFE2971CECADA3C6CBE9CFBF9AD2D1CE5D5718BCA5CFC2E794081388F68B2C55E7B16C62B6F15F3F934C168
|
||||||
|
|
||||||
|
j = 99
|
||||||
|
MD = C1C338279D927E1AFF660AA511B78EBE6124E1EFC8FDBA74597195FDE92D442CBED61AB9E1DFF5DD3362CFCDAAA51BC7
|
|
@ -0,0 +1,305 @@
|
||||||
|
# MonteCarlo_512.txt
|
||||||
|
# Algorithm Name: Keccak
|
||||||
|
# Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche)
|
||||||
|
|
||||||
|
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||||
|
|
||||||
|
j = 0
|
||||||
|
MD = 015237E301389B7DDAB954EFD690C0A7E849C475684062592B2B973BE3AC5B220D4C3EC353B17F1577CD01909B86CB89285E7642DDFE4856822CFA34F8319BA9
|
||||||
|
|
||||||
|
j = 1
|
||||||
|
MD = 1480310F6C0E5FEB84FE0AB33BB120FE685439CD4B4B9842536B079A098E941D1E84C3883964CD25CBC9106A7DE03EE2794A1E18D0C886FDCDFE28F692393DF4
|
||||||
|
|
||||||
|
j = 2
|
||||||
|
MD = 4A597660170C6958CEEF42FB443CFB71EE6C2955D19FBF68486D7A3F678EDF88569A16CBFDC099B699D832F904BB81FE15612D0D789AAC0CF753759E2C664ADC
|
||||||
|
|
||||||
|
j = 3
|
||||||
|
MD = 386C8103CF7C80C03743D10150DACB4A1119D0F9964E1D4EA9D1C9C8C9E215F9657818E608BAD190A2DC7B7675B5FA323D20078293E0019AB5405BB7102A5F9B
|
||||||
|
|
||||||
|
j = 4
|
||||||
|
MD = 59181BD3109ADB456A623FF787EF3A09D3886396AB0D71681980134BAC568A0C6265501AE356ED442C3CB3855881BB4D5317E6357EDB454CE59B5509D7560338
|
||||||
|
|
||||||
|
j = 5
|
||||||
|
MD = 549371737360EDAF15C1901E2FB31DCF0F2395233A1006C10B8FFC3AA1A55BA6E6D20D7BECB9F128FDD29B0F5D7FD529E54E9405FDB62F008ED11515F7A80D17
|
||||||
|
|
||||||
|
j = 6
|
||||||
|
MD = 9CA5B55949C7D4DC19C742BAF5911D5D2854CBC2B674F8962A0ABE50F0247ACD7F10C57B00E01798EDDA0D0F3906157BE99CEBD7EB879DCB89058E1511CB0EB7
|
||||||
|
|
||||||
|
j = 7
|
||||||
|
MD = 6FBD5786171AD9DC6ED0ED2B24C36A42C7939809E7311517FFC9C0F90BD6C6C74084F0AD7EB9BFD753687B0C3FCB25167D40574EF6B191B068691CB8F69013D5
|
||||||
|
|
||||||
|
j = 8
|
||||||
|
MD = 4E3D1F2D0DAAA3603772C77131836C22707ECAB174CD8EE7094956C304DF8C334C5A31B3E5954DD6A863E2C8B62585AB0FC56873E663747AD8ADC90D532FF7A2
|
||||||
|
|
||||||
|
j = 9
|
||||||
|
MD = 872151A6FD7C720112FA595A787AD895C5F0D0949F7D105BCD7877A0D740E5F19F5D245ED6CAFD0510BB2364C9533C1404B58C30D84C22370BDA3C6FC7AA2417
|
||||||
|
|
||||||
|
j = 10
|
||||||
|
MD = 5017FEB413835CA88E29EC50393AD37FD79F270EFF035068EC0205328ACF7B0FACF07EC29800832F00FEBD90A135A57CFA05E93BE1ECD96C94EEE81AB51B4F11
|
||||||
|
|
||||||
|
j = 11
|
||||||
|
MD = 0D8EA3A64DC402C516E154EF4431CA252DF03C2F5C50F3AE3A4655C910AC30AC2F1300EF60F0E2BFE59CCE545162040F3B8A326502446834B1AE41CBD3EC2B5F
|
||||||
|
|
||||||
|
j = 12
|
||||||
|
MD = 31AFE46E0822E9DBE86579195CAA2B622350BAAC1AA7835EFBC210E5A60B2AB1BD14B4AD9FF96B84B05354E008C2155BB97C4B671456AE2C7399206E21881917
|
||||||
|
|
||||||
|
j = 13
|
||||||
|
MD = 21D524A6170DC1D5D3188CD453DDD851C89BF9DD442AFACC2540B439B125753BAB0197CE0177501D395B3CB9C56C86C393DB551F9664BEC529A777FEF74CE011
|
||||||
|
|
||||||
|
j = 14
|
||||||
|
MD = 7887F9841DF41E339A292F4B1C2682F0082B9F7DD675063B260A0E8524D2781276FE0F1BC5D1F97341F069FB69F0ACBCBAFA3982E5C416AD553FD0366A9EA8EF
|
||||||
|
|
||||||
|
j = 15
|
||||||
|
MD = A7C4F0F2425721C25CF060C0BBA21979B9CF305B3B3DA2EE4D97B075E22168ACC10E4B4B17AD0A4CB0F15CAEF3B1CDF668405C5C080261A412360D23E4C5EC06
|
||||||
|
|
||||||
|
j = 16
|
||||||
|
MD = D80C171405DD10AE560E8E22C57AA990FA5884E5F4654AC970A6C1C1C25C0C114D233A4AAA6DBCEE69FFDEF99E3ED5B6213F7A3635F68382BFDBE24C89B4DE1D
|
||||||
|
|
||||||
|
j = 17
|
||||||
|
MD = BD752DD23C4AFAA31423D3609CE6A90A9D7219E63C6364A6900BA0C687B3D022664372DB3250C41C3E41AB0D2184DDC54905D51A848F63C71932BB33A82C186B
|
||||||
|
|
||||||
|
j = 18
|
||||||
|
MD = BFADC648128C11027EBBAEEFD380C5D98B8A25664955A31A998A63C65DF3C613D21066C72EE22CCAD445FACBC346B11794AA1A4FE194EEAB0BC5C4FAE278FD5B
|
||||||
|
|
||||||
|
j = 19
|
||||||
|
MD = DECB05B02E511B2D4A468824C2B4F0C655EC6CA44D1367C14A8F4F12D9A4AB5FDCB46C14E74098E3507297143268EFC07D1932A70AC2A22D20FF050BFB6BCEEA
|
||||||
|
|
||||||
|
j = 20
|
||||||
|
MD = C5801928EFFFD6553545B35A6C7C90BEEEEB2131336C588BFF86D637B4983ABF1C370367ACFAD884E5E50DC25A55A255A0AF6CC986001B591626315B3D3F0274
|
||||||
|
|
||||||
|
j = 21
|
||||||
|
MD = 7916572D1FE9DAB4927A02DE7863EF16BD7B5B46CC4EAC240EABF952F732376FDDBA82A5FE589FE9DA81CFBC3668D207927101F38E7AF993166C757F5D8CE8AA
|
||||||
|
|
||||||
|
j = 22
|
||||||
|
MD = 084308A71FA66DCE383A294F26D6A500EA2B07C94DCF583A5CB2D85891478D3E944D2E532CD1B7E27E5C1E4BBF05050F937C6412F23A149D067FB577EE7100E7
|
||||||
|
|
||||||
|
j = 23
|
||||||
|
MD = 4CB1ABC7EF0F491CF98FC223608A78591D51131E2BAC3F59561737D290BAEAC6A0E1E35EADC3103B6BBCCB58769B9DFBD7E1997B08B72A87B2BC5C8226C3FF2E
|
||||||
|
|
||||||
|
j = 24
|
||||||
|
MD = BBD78E28AF14C0195D7ADE237C83C3B725F2B4C918001183EFACCCF15BAF470AE7A0FAE07A9B018E826576F13A51CCD52D85831A6AF8C29A715639BBC1EB8111
|
||||||
|
|
||||||
|
j = 25
|
||||||
|
MD = 674E26C2B392416C1F39E19ADA10926496350F2D18EAEEC493666CDC74DBA08B371A52D19798FFCDF64D011D93282625CC9E16F32D5E1A519FF82A4BF2070C4B
|
||||||
|
|
||||||
|
j = 26
|
||||||
|
MD = A29F4FC3A2DAB84750859E0BB9ED42BAE9B98B1956D568B2997BD948455096BBFBF016BB586B7E35E58893BA98EF34405E16DA2462B064BAA20241C79BEB9983
|
||||||
|
|
||||||
|
j = 27
|
||||||
|
MD = 9E718DAC7FB7DAEC8F1F8AEF4AE7AC3FC23BED1B129F4CD4CFA075ADF94CC2A95F6A73B99476E5DD244C32662AAACA9A6EBC9DBABF008925BA9E2FA9700925CB
|
||||||
|
|
||||||
|
j = 28
|
||||||
|
MD = 2AD4A079F91C8C95D8CE54298DCBD439809EAB9AD2E3BDB64FC6F5A8966C0A5294685FEF972F050D57FA69175AA1E0357865E5DBD224795A63796A6FFF40B178
|
||||||
|
|
||||||
|
j = 29
|
||||||
|
MD = A0BBB833BE8E543A4D5CA1DC16C298F5CFF87B7C5AAB0A15846156D9AD303609217413E814983D33F4304223FB723667058A1F592DEF5B1067FF4F56D265E7B3
|
||||||
|
|
||||||
|
j = 30
|
||||||
|
MD = 57CB435CD4F1E75C0D682FA0382BFC0AEB8052BB74DF0BAA37450DC04E720B480C29458C357ADD8AE74CD550CFFEE1851930C2C4DB57EA87B2A263A292571DFF
|
||||||
|
|
||||||
|
j = 31
|
||||||
|
MD = 8FF7024DAE272D3C6AA42FE6129617CAC0286D009FC8226284D873CCA0C84603352857698A311B75A6E1882054D2CCB74346B32657B3422FB1BDAE92FF2EB90B
|
||||||
|
|
||||||
|
j = 32
|
||||||
|
MD = 57F67D6B77C69483DF8D9C6A1617D1A876BFCB313424597AF0F1CD07C00A34ADF143F516D075B7E779D6BBEAEB21EFD23F2F5AC88F8CF4751D1CBEEFF3504844
|
||||||
|
|
||||||
|
j = 33
|
||||||
|
MD = B694E6F5DF86E3CD0CF0F8B60A47CFBFEC008E6F3C7D970DA3DD567A22FDE94622A886643CF26600ED3BA64FE5232DA497D5606CAA61F721FC4FDF79810A8FB0
|
||||||
|
|
||||||
|
j = 34
|
||||||
|
MD = 9FFC1ECE5AF4AAB1C7A1289DFEA5704AB0EE1E741C0D951799A0209507814CEF5754155685FCF08DBEB89D0A9C3D8B6F1E9BAF3D163280B6F985069E1059E768
|
||||||
|
|
||||||
|
j = 35
|
||||||
|
MD = 4AC26F5B6EF9E9F8D3C6F3C29A62F8DC6328102497F7951B908958DB026C3D90118DA190E7FE42326D4A7ED6960634E20FF793788F885A085158F59C1AF93648
|
||||||
|
|
||||||
|
j = 36
|
||||||
|
MD = 0D1CC0768D72EC4142EF700D851851E5127ADE35BD5EF3BDB33A936144911922059A74F13D483EF71180B505D8A6C550F7C457EA5B8F57BC2938B5AD35D01BBC
|
||||||
|
|
||||||
|
j = 37
|
||||||
|
MD = B45463B1C4400B8477961569FEA3FE1C1060337187F152BDCE6D50DACA8973164AC029B9A257CC7924EE9787AAAC59BE79DFF70969161D17EDD6D31987438064
|
||||||
|
|
||||||
|
j = 38
|
||||||
|
MD = 78E6A596EB909F0B69E598BE790A623069EEC0962BFA723A17A68AFE9171FD4CE8C5F6AE9F2D6CEC894E4EF7FDC485ED43DA181728ACD64511BF2A4E14650D9F
|
||||||
|
|
||||||
|
j = 39
|
||||||
|
MD = 7AB1980C39753C5ED8891EA395B3FA50EBAF63302CC6F9C8ED6D92E7F3AC907BD2E54A7D9CA6EDE9D24ADB4D76E4FF7E64BABDBEBF9198F5EF3915D52EB86689
|
||||||
|
|
||||||
|
j = 40
|
||||||
|
MD = C7A6E4CB17E8C39CD537EBD3A8E24E6DF3916AEA35DBA9CC98994216C9D59268EDF7797DB373D22ECECD719C02BA9ECE0DA2E9F9DC3CBD1CB3C344C40B35AFF8
|
||||||
|
|
||||||
|
j = 41
|
||||||
|
MD = D7A256C865CD3C9FF6D4DF8687232136A38086310AFC7B0A0ADD88860D2348AD44EE4C19BA7E5F3DD5B2984A9B822AB2B0E222BD3C5E44C782DF54E8379272E4
|
||||||
|
|
||||||
|
j = 42
|
||||||
|
MD = 60BE8F00C39ABD9A30D9361C6EFF6A21964DF3E8A66351A3DF5340783621DBCE58AA90218876A100F668075B283FA82A45AE7CD463E064EE7BF80CFE812D5A0C
|
||||||
|
|
||||||
|
j = 43
|
||||||
|
MD = 5A7AA5B4318799D271EC305498E4453176F5C0E6FC7B7BBCC372DE3A4684E15F18AEDCDA707CB13B0CDFF40E703120654389E2C5C54ADEA7DB4B2774D0C002E6
|
||||||
|
|
||||||
|
j = 44
|
||||||
|
MD = FFE379F2887B0DB3A5B49739A2E0C2773F2C0B74B14B753BDF989910268944C50F8116127217E1E9E6A753A7059F0A52EA0B2F834E6FFA29BA8BA11A43EF26E3
|
||||||
|
|
||||||
|
j = 45
|
||||||
|
MD = 46089C1C9C35DF61AD7CDE46140142C0AFFC046A71AA1ADE4C62A8FD65BA5D299E1CA1DB770DCC5C2039CD8FAD2FAD111F6903373C3F2367337369DCC045CA5A
|
||||||
|
|
||||||
|
j = 46
|
||||||
|
MD = 0122FC9D52A07847BFB9D47F1D85C595E6364C0F0B4F1C7F19A6345A42EB9837CBDAED9A32330641D337744D3380AB407EDEDAA9AECB014EECFB1074C28CED81
|
||||||
|
|
||||||
|
j = 47
|
||||||
|
MD = 739BDCBC4CCBA4263A3FF80DA093FF8A48C815B0A71C2B0ED043905F2A5A25F646D92C9BDEFA67F6F6D24424E0A2147B27BD5D982F6B2129D3E12F8FD6BE00E7
|
||||||
|
|
||||||
|
j = 48
|
||||||
|
MD = 1F4227F8C4D55DB1E6E3BD8492254A9D387FEA207D9664E18492811DDBB56D03D9F8606E22F485F1828C42DAED354D3C0787B130DBE40185B5BAF825C5C33A76
|
||||||
|
|
||||||
|
j = 49
|
||||||
|
MD = A297B1A958E82E2CCB185CDF31F2D88CEADCC373BC7D46453266808534066A94BBB3009271EA20D7A6C45845A3FDB61DDD7BB1638A006E83D7E5F97AEA8C7696
|
||||||
|
|
||||||
|
j = 50
|
||||||
|
MD = 1A96271F665FBF18D2F1D143D326767CCBF0D29B5724602AAB63EEAA3402FB12388B7F539BBFBC86A2B86D45B3ADC1247BCD26F1BD2AE83985ADD08F0C8C373A
|
||||||
|
|
||||||
|
j = 51
|
||||||
|
MD = FB7E4DDAB80DBD5720432F49CBE1A17AE586A73AECEBCF638C8127CD69E59512BA828A63D6A5ED91FD5DB67B845CA05B9796E72F12522CCD42E631323767507D
|
||||||
|
|
||||||
|
j = 52
|
||||||
|
MD = 4D738D4B751ED9EC1E42C4FAB3CAB2C6D5A18AFE8550F877A4B8969F5CD5F5799662B1BECC7215E60B4979BD68EC392587C9D5B3E0579DB5B178503EDF920B19
|
||||||
|
|
||||||
|
j = 53
|
||||||
|
MD = 0C33CD9D889025420C8DDFA2BDB72FC23B6096666BBAE04E12EBA19B34595D160E4AE74957B714AEAC213031D665CC59A04FAC068DFD0BD7D73000F228A342C2
|
||||||
|
|
||||||
|
j = 54
|
||||||
|
MD = 65EEFFE626DFC0B736E26EC6BB36B91715207DC8DDCD3537881BC9A68B1ECD30671872D43F543171E75B114AF1A00315B1FE3822FD036A6C8BB6CC2E31B57F1D
|
||||||
|
|
||||||
|
j = 55
|
||||||
|
MD = 63C74278EC24F37149AF33D00989783C3A36287FD241510894D61F6A02BE22C668A482870E00107F9EF4711AF4CBB7AAE174EF74EFBC31126384A115C5BDA941
|
||||||
|
|
||||||
|
j = 56
|
||||||
|
MD = 29095E3FB1591029C4681A3C52F15BB660C51C872F8851E40CDF96A99E88041EED9F8D914BCAA91781AB154BCA29BF3D097625C125F7AD8BA7D0069AD192E5A8
|
||||||
|
|
||||||
|
j = 57
|
||||||
|
MD = C9475A00AF4076C6F9C48EE3ECE8EF0FC35E9933EA0B47464E7E3D5FE83877853C3B5B142197BF0E5B4F3E3DAED438DC7F74395F5A48AE075020E82F7B5F7885
|
||||||
|
|
||||||
|
j = 58
|
||||||
|
MD = 9D57BA78CF0128D0516ECB312719B86BA7F026FEE0CE5DF3A7778FA1DF2A14D422E720D41571C341E57308F0BFC0EFC9A8F1B66C58B62A09CFC3BCFC6F7A25B9
|
||||||
|
|
||||||
|
j = 59
|
||||||
|
MD = 522ED569C6D23F09573AFB6B24C331B60242CE3D51D6FED5A290C900088BDA83CCC86B56C0C41398B49E3DC525FBE26D312672D5AC99012D433DC359C60A209E
|
||||||
|
|
||||||
|
j = 60
|
||||||
|
MD = D43899B3F5823695BE223C2246F5C2B8C7A42DA5423481FC1FCFB7FF7FA1E64E3637B471F672C1E472C69A87265AAE53C2F53A500941A6C1257991E3D0A55DB9
|
||||||
|
|
||||||
|
j = 61
|
||||||
|
MD = C6CCF337DAEACD10676D2CC0E8B1171F0AAF5694EE9B7F761BFCDD62F640C971DB1F457AA1B4064A6902C90BBB457F1343D20DE13104CA85066D422E05010F37
|
||||||
|
|
||||||
|
j = 62
|
||||||
|
MD = 8DD331A2A7D9A22668992EF12C99402CE5294E5D4BE63B38280D1649DAE49604D94A9119580573D39644DB170F0861BA15F0FCD35804F38DA2876C2C2F305A7A
|
||||||
|
|
||||||
|
j = 63
|
||||||
|
MD = 80549BA9C1490EA3A81BFBEF1FEC8075964AA8F7C4DBA16BE34B699EE9F7E6D44738D1AE43294DBBEDEE6CC73DE59D8A61F2A2BDB448FEC1BC557ABCE59467AB
|
||||||
|
|
||||||
|
j = 64
|
||||||
|
MD = 73800EF788736364175C7641184D3F3A51A44B4B541F4FD5704773FDE283453BB3417E221DAD15FFC64BBFA9967CFCB50286AD5530ACEC80A3CBE5D1D058562F
|
||||||
|
|
||||||
|
j = 65
|
||||||
|
MD = 84389F8706AAEDDAFE14EF183DDB04A75ABBDF5C05DC8CE1DD950F1BB089772C585FE7A93C910154883561B7BB74DC5B8A60F0B80DF8357B4F809BA8809EC3AC
|
||||||
|
|
||||||
|
j = 66
|
||||||
|
MD = C3B274247904C7259286D183280A4C59EFB2273F5895E7B2CFC7192B08716F6FC12B86900797F40EDD2A17F404507838BD13CF3F18B5B58754C1719A5B190033
|
||||||
|
|
||||||
|
j = 67
|
||||||
|
MD = 0ADD68790BCBB149E5BEBF3EEE8EE10C57184D441A40D71317A508855DDD77CBE99C200CAAD611C3BC476F06765E33636ECE6E159559BEB24BA0BB6CCADFD08A
|
||||||
|
|
||||||
|
j = 68
|
||||||
|
MD = C56A90C3A7A071E9A2BDEB85692B26C46C7BC6DF942DA707FF3949E6091FC113E247E5880CD6972B240CB3E3FCCC3629E15E311AC8AA86283BA5278C3DC8FC2D
|
||||||
|
|
||||||
|
j = 69
|
||||||
|
MD = 2886715138126BAD20BFFD1D42B99256BBDF223DFF8074755360D6284CD6FDF1D656102CF12CE1E3B971FAB57797750725E6B0CEF1AC59FE11F5B724A1168CB9
|
||||||
|
|
||||||
|
j = 70
|
||||||
|
MD = 6ADECD2DBBC4111846AA2163E15BDFB463E4835D25793DC19ABF98FBC8A382749629C8ECDAF67134C7F78A0E188B451B5F12EBFE81D4DF45DE8C91BC795E94E7
|
||||||
|
|
||||||
|
j = 71
|
||||||
|
MD = 974AB588462738E621FA7026A9E21AB043F1CFF952ADADEB2AC642D56B83170F9EE6B374413E7CBFF5F118FF1E0A35B44EA13D8124451C245EFEA41F3123EC7E
|
||||||
|
|
||||||
|
j = 72
|
||||||
|
MD = E58B42C541854723196B76DF8C127EEB8D58985949316545A0D7FD33647C2D14308B18E69A680B73296A1D5B3C3E3BDFD8B3A7CB4762543336484D411D78A5CB
|
||||||
|
|
||||||
|
j = 73
|
||||||
|
MD = 37E5AA6A33ACDE3A7F2276C7B5CD544AC75A6D7E18EB0D2DFDBFE653622E2C14549FA5183F6D3D62FF8DC82620B9B9B5B69E8A5D9B24FF9E940CBD5AF919E053
|
||||||
|
|
||||||
|
j = 74
|
||||||
|
MD = 86E432183CFDB3980F971AB8AA760940190990379AA8C526062CF1565D01741411D62AAAF3A46BF9CE1E899FC9511392C25E24CBBB1D20387D121DC5C75F6870
|
||||||
|
|
||||||
|
j = 75
|
||||||
|
MD = D4CB8F65AD3369D7941DD56CC239B0C0601E0D0564C40A92E7F14B927B18F78BA4660DF39C9B5A7CDEF1AA80B92F2A3B14338E3366521BB915E9C8BD54CB9599
|
||||||
|
|
||||||
|
j = 76
|
||||||
|
MD = F66EAF0DEA254C7E0307CB21E0CB87560E158D6C02A2AC786E88ECCC7F2FD8F2DEC9DA1ED208A011A8AD6A8A321722D7D31F65EA430B20A3A8FC35AA38AE8E4B
|
||||||
|
|
||||||
|
j = 77
|
||||||
|
MD = AF50B7459E1A109865160EAB3A56095D15877ACFD091478A1A5BFC09D76EAA706464B3D426E999877F834A2DE9EFC756DD0311578F297C92DAD555E0DC163A03
|
||||||
|
|
||||||
|
j = 78
|
||||||
|
MD = 00283243636E30FC9F06BF14F9F691BADC965164EEC93AF185F27172109CF180626866A041154C97E236B2FB4C65D3B21741BBD8E417ACC7EBF84E8197A634DE
|
||||||
|
|
||||||
|
j = 79
|
||||||
|
MD = 2537B4E85A9DB8F53721647D6C63AF5E2BBF152ABAFEBC9E019E964999A041DAC2CC24797C37F72A0C874FDEB019F30A771013025D7D466D6F64059392F8478B
|
||||||
|
|
||||||
|
j = 80
|
||||||
|
MD = 96F364FCE5905D4E03370BD8A0FA97164312EBC39BB3DE3DF5D05E1051AA08113FFD58F8448E0DD36A329DF7C4DAA0332972AEDFEEC9232CF2F3B5DE515A6C5A
|
||||||
|
|
||||||
|
j = 81
|
||||||
|
MD = 3DB50003299392CD44A40168A8EB1128EB3A35E341DE2FECDEEF9EF334636D638871C4BD73E87364B06F1E55441D055A6901ABEA4E70A4FADAA411C6EFA93DD7
|
||||||
|
|
||||||
|
j = 82
|
||||||
|
MD = 848F6CB4D50A4F76A502A82142AE41818F955258AB2BF32824554EFFF7AC651EAE53FA73F1F97E0C56FF65E51CA9739B8A7F3FFDEB075EC583559F53940E462C
|
||||||
|
|
||||||
|
j = 83
|
||||||
|
MD = 22E4CE94599AE85E53B6A15310548B20B8170890EE9EF03B683707D4AA625199D9D6890495C3AB5B52242838F6B4AC1B567301E211D068AF476700564EC5B847
|
||||||
|
|
||||||
|
j = 84
|
||||||
|
MD = 1BABCE80DFCA4EEC12B45E3FE4C2F59768A35FB51820A2AB36B48B36D32A67ABDD5A5E74DB51C8FC9AFF12E1389AB694F7B94D78409EAD186CAA1C79B83129CB
|
||||||
|
|
||||||
|
j = 85
|
||||||
|
MD = A69702465BEBF5C70646EB51BA1F40D9E4302153BDAD944CF72FF4AAE9AF718C81E4DB3FE8D0BA04AAC7F5ABBF335759688EFDA60880EA6DE7713F9CE8499972
|
||||||
|
|
||||||
|
j = 86
|
||||||
|
MD = EEB39A698F968C2A4E89724FB5CC6DCF3D4DD3A5EBE6E0E3BB046DEA0658AC2D6D99DBF822E023F3BF727B1B81DCEA5006829A14EB47E0A0C4990B372AB4BE46
|
||||||
|
|
||||||
|
j = 87
|
||||||
|
MD = BFC9E2D32B1960415052A33E4996B9E07B097D63A049C2D08187BCECAA067A0BEE328E0C6D62539089F5FD4015BF9A3D520B51A6918A14B8E751C751316DC877
|
||||||
|
|
||||||
|
j = 88
|
||||||
|
MD = E981BD988C13D450DB40A81E7BE33C192641F9CABD8BA0F49ED48DBBB344AD3E99A72DCBAC74A5E48F0D78F1754BAA7BF70C1D3090263BD37BF45B7A7A4B0169
|
||||||
|
|
||||||
|
j = 89
|
||||||
|
MD = 6DCB76F9406C9C61272DEDA02DBB8EAE5B5EC7F13EDBCB8477591781BA6D0ACFE049515F7F695A5A0AEF4154274E98C2B94A89E2452218594821D7AACD0FAED3
|
||||||
|
|
||||||
|
j = 90
|
||||||
|
MD = 1FC807E0526DE034EE40A71BEE58AFE170E4AAAF3382A07E25C54B7E9F157A92BBBD2F16DAD8CD1ABA27BA9D992D0272D49F892B09067CAF817891FEB8A1672B
|
||||||
|
|
||||||
|
j = 91
|
||||||
|
MD = 187A9EE84849BBE3CDFD9089724FF17B985682DBC9518BC4E8C193C5B79067AE78DA6D24AE51F1716799BF6FB08C29733BA4086F1D25835DD627F4B2D2A49409
|
||||||
|
|
||||||
|
j = 92
|
||||||
|
MD = A3752B729BD752989310B639A401015247A777720DC77897B281C90326D8B63A1A20F1A8D7DC20CC54297307CC740E4903195A6A3EC714E111B2AF449D8E7E82
|
||||||
|
|
||||||
|
j = 93
|
||||||
|
MD = FCB3FF7A677BE5F8278B6A309330E79DB5E706FBA2B755618553BC00A6DE6381004F52FCF62285F1E07CD57A7D89745AF43CF5A3A42B9FB66440F031D3CCB5BE
|
||||||
|
|
||||||
|
j = 94
|
||||||
|
MD = 5853E91CC849310F2EE6ED32BE819991ABECFEE28CA9D2A969D616D06E54D3726DEA87CCF5A77C0BA9FF19871396E7ADBD860923ED838416D340849D8AB198E5
|
||||||
|
|
||||||
|
j = 95
|
||||||
|
MD = A14B02C37AA7EF3F7D6A60688C40E8521C6078F30D32F8CCED0E4E2E883AC122F861C7475540D497A17DC182787CC695600D1159E3E30639B7237360115BE500
|
||||||
|
|
||||||
|
j = 96
|
||||||
|
MD = 6F0AFAEA9691CD5464B3BC57BDC9DBBDBC583C88F7B15AF6B441048DFBFE88D8057EDE76183D716D428A332B43DC88F1399A5FF5102C0AE0830FA19B2A2C298C
|
||||||
|
|
||||||
|
j = 97
|
||||||
|
MD = A56FAACDAC3E611C9F9573ECA06CBBBE186752603A7DE432B20A814FAE95A1A2436BAFA816281519AD0CBB9FD092304D4398311D9F172E6131004791802411EF
|
||||||
|
|
||||||
|
j = 98
|
||||||
|
MD = 9AA6293CE8BCA6E84CBADF657D68521790967A41A21AD05E67302F49C5CA8A837C39081760194382929B8EEAA556E878FE67E26768B39708B1816EED55C438DE
|
||||||
|
|
||||||
|
j = 99
|
||||||
|
MD = 9BA0E133D9D4E158C11D4022CFD06AA1CD932139206EEBF83D19851E81B839590146C55DBB20FE5265186341224562CCC321C2B1401C1A391CA1FBC764619C9F
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue