+Shabal
This commit is contained in:
parent
ff9f1b74e7
commit
5c68d38237
|
@ -55,7 +55,7 @@ email: daniel.otte@rub.de
|
|||
The *_init function generally takes a pointer to the context as parameter.
|
||||
This function initializes the context with algorithm specific values.
|
||||
|
||||
3.3. *_nexBlock function
|
||||
3.3. *_nextBlock function
|
||||
The *_nextBlock function is the core of each hash function. It updates the hash
|
||||
state with a given message block. So this function uses a context pointer and
|
||||
a message pointer as parameters. The size of a message block is fixed for each
|
||||
|
|
|
@ -38,4 +38,4 @@ extern const hfdesc_t skein256_256_desc;
|
|||
extern const hfdesc_t skein256_384_desc;
|
||||
extern const hfdesc_t skein256_512_desc;
|
||||
|
||||
#endif /* HFAL_SHA256_H_ */
|
||||
#endif /* HFAL_SKEIN256_H_ */
|
||||
|
|
|
@ -25,16 +25,19 @@ require 'serialport'
|
|||
def init_system
|
||||
sleep 1
|
||||
$sp.print("echo off \r")
|
||||
print("DBG i: " + "echo off \r"+"\n") if $debug
|
||||
# line = $sp.readlines()
|
||||
# print("DBG 0.0: ")
|
||||
# print(line)
|
||||
# sleep 1
|
||||
$sp.print("shavs_set #{$algo_select} \r")
|
||||
print("DBG i: " + "shavs_set #{$algo_select} \r"+"\n") if $debug
|
||||
# line = $sp.readlines()
|
||||
# print("DBG 0.1: ")
|
||||
# print(line)
|
||||
# sleep 1
|
||||
$sp.print("shavs_test1 \r")
|
||||
print("DBG i: " + "shavs_test1 \r"+"\n") if $debug
|
||||
# line = $sp.readlines()
|
||||
# print("DBG 0.2: ")
|
||||
# print(line)
|
||||
|
@ -52,7 +55,7 @@ end
|
|||
def send_md(md_string)
|
||||
for i in 0..md_string.length-1
|
||||
$sp.print(md_string[i].chr)
|
||||
# print(md_string[i].chr)
|
||||
# print("DBG s: "+ md_string[i].chr) if $debug
|
||||
if(i%20==19)
|
||||
sleep(0.1)
|
||||
end
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
# Makefile for Skein
|
||||
ALGO_NAME := SHABAL_C
|
||||
|
||||
# comment out the following line for removement of Skein from the build process
|
||||
HASHES += $(ALGO_NAME)
|
||||
|
||||
|
||||
$(ALGO_NAME)_OBJ := shabal.o
|
||||
$(ALGO_NAME)_TEST_BIN := main-shabal-test.o debug.o uart.o hexdigit_tab.o \
|
||||
dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o \
|
||||
nessie_hash_test.o hfal-basic.o hfal_shabal.o shavs.o
|
||||
$(ALGO_NAME)_NESSIE_TEST := test nessie
|
||||
$(ALGO_NAME)_PERFORMANCE_TEST := performance
|
||||
|
|
@ -0,0 +1,380 @@
|
|||
/* shabal.c */
|
||||
/*
|
||||
This file is part of the AVR-Crypto-Lib.
|
||||
Copyright (C) 2009 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 shabal.c
|
||||
* \author Daniel Otte
|
||||
* \email daniel.otte@rub.de
|
||||
* \date 2009-04-17
|
||||
* \license GPLv3 or later
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "shabal.h"
|
||||
#include <avr/pgmspace.h>
|
||||
#include <string.h>
|
||||
|
||||
#define SHABAL_O1 13
|
||||
#define SHABAL_O2 9
|
||||
#define SHABAL_O3 6
|
||||
|
||||
|
||||
static inline
|
||||
uint32_t shabal_u(uint32_t a){
|
||||
return (a<<1)+a; /* a*3 */
|
||||
}
|
||||
|
||||
static inline
|
||||
uint32_t shabal_v(uint32_t a){
|
||||
return (a<<2)+a; /* a*5 */
|
||||
}
|
||||
|
||||
#define ROTL32(a,n) (((a)<<(n))|((a)>>(32-(n))))
|
||||
|
||||
static
|
||||
void shabal_p(shabal_ctx_t* ctx, const void* m){
|
||||
uint8_t i,j;
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] = ROTL32(ctx->b[i],17);
|
||||
}
|
||||
for(j=0;j<SHABAL_P;++j){
|
||||
for(i=0;i<16;++i){
|
||||
ctx->a[(i+16*j)%SHABAL_R] =
|
||||
shabal_u(ctx->a[(i+16*j)%SHABAL_R]
|
||||
^ shabal_v(ROTL32(ctx->a[(i+16*j+SHABAL_R-1)%SHABAL_R],15))
|
||||
^ ctx->c[(8-i+16)%16])
|
||||
^ ctx->b[(i+SHABAL_O1)%16]
|
||||
^ ((ctx->b[(i+SHABAL_O2)%16]) & ~(ctx->b[(i+SHABAL_O3)%16]))
|
||||
^ ((uint32_t*)m)[i];
|
||||
ctx->b[i] = ROTL32(ctx->b[i], 1) ^ ~(ctx->a[(i+16*j)%SHABAL_R]);
|
||||
}
|
||||
}
|
||||
|
||||
for(j=0;j<36;++j){
|
||||
ctx->a[j%SHABAL_R] += ctx->c[(j+3)%16];
|
||||
}
|
||||
/*
|
||||
for (j=0; j<36; j++){
|
||||
ctx->a[(36 - 1 - j)%12] =
|
||||
ctx->a[(36 - 1 - j) % 12]
|
||||
+ ctx->c[(36 * 16 + 6 - j) % 16];
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
uint32_t shabal192_iv[] PROGMEM = {
|
||||
/* A */
|
||||
0xFD749ED4, 0xB798E530, 0x33904B6F, 0x46BDA85E,
|
||||
0x076934B4, 0x454B4058, 0x77F74527, 0xFB4CF465,
|
||||
0x62931DA9, 0xE778C8DB, 0x22B3998E, 0xAC15CFB9,
|
||||
/* B */
|
||||
0x58BCBAC4, 0xEC47A08E, 0xAEE933B2, 0xDFCBC824,
|
||||
0xA7944804, 0xBF65BDB0, 0x5A9D4502, 0x59979AF7,
|
||||
0xC5CEA54E, 0x4B6B8150, 0x16E71909, 0x7D632319,
|
||||
0x930573A0, 0xF34C63D1, 0xCAF914B4, 0xFDD6612C,
|
||||
/* C */
|
||||
0x61550878, 0x89EF2B75, 0xA1660C46, 0x7EF3855B,
|
||||
0x7297B58C, 0x1BC67793, 0x7FB1C723, 0xB66FC640,
|
||||
0x1A48B71C, 0xF0976D17, 0x088CE80A, 0xA454EDF3,
|
||||
0x1C096BF4, 0xAC76224B, 0x5215781C, 0xCD5D2669
|
||||
};
|
||||
|
||||
|
||||
uint32_t shabal224_iv[] PROGMEM = {
|
||||
/* A */
|
||||
0xA5201467, 0xA9B8D94A, 0xD4CED997, 0x68379D7B,
|
||||
0xA7FC73BA, 0xF1A2546B, 0x606782BF, 0xE0BCFD0F,
|
||||
0x2F25374E, 0x069A149F, 0x5E2DFF25, 0xFAECF061,
|
||||
/* B */
|
||||
0xEC9905D8, 0xF21850CF, 0xC0A746C8, 0x21DAD498,
|
||||
0x35156EEB, 0x088C97F2, 0x26303E40, 0x8A2D4FB5,
|
||||
0xFEEE44B6, 0x8A1E9573, 0x7B81111A, 0xCBC139F0,
|
||||
0xA3513861, 0x1D2C362E, 0x918C580E, 0xB58E1B9C,
|
||||
/* C */
|
||||
0xE4B573A1, 0x4C1A0880, 0x1E907C51, 0x04807EFD,
|
||||
0x3AD8CDE5, 0x16B21302, 0x02512C53, 0x2204CB18,
|
||||
0x99405F2D, 0xE5B648A1, 0x70AB1D43, 0xA10C25C2,
|
||||
0x16F1AC05, 0x38BBEB56, 0x9B01DC60, 0xB1096D83
|
||||
};
|
||||
|
||||
uint32_t shabal256_iv[] PROGMEM = {
|
||||
/* A */
|
||||
0x52F84552, 0xE54B7999, 0x2D8EE3EC, 0xB9645191,
|
||||
0xE0078B86, 0xBB7C44C9, 0xD2B5C1CA, 0xB0D2EB8C,
|
||||
0x14CE5A45, 0x22AF50DC, 0xEFFDBC6B, 0xEB21B74A,
|
||||
/* B */
|
||||
0xB555C6EE, 0x3E710596, 0xA72A652F, 0x9301515F,
|
||||
0xDA28C1FA, 0x696FD868, 0x9CB6BF72, 0x0AFE4002,
|
||||
0xA6E03615, 0x5138C1D4, 0xBE216306, 0xB38B8890,
|
||||
0x3EA8B96B, 0x3299ACE4, 0x30924DD4, 0x55CB34A5,
|
||||
/* C */
|
||||
0xB405F031, 0xC4233EBA, 0xB3733979, 0xC0DD9D55,
|
||||
0xC51C28AE, 0xA327B8E1, 0x56C56167, 0xED614433,
|
||||
0x88B59D60, 0x60E2CEBA, 0x758B4B8B, 0x83E82A7F,
|
||||
0xBC968828, 0xE6E00BF7, 0xBA839E55, 0x9B491C60
|
||||
};
|
||||
|
||||
uint32_t shabal384_iv[] PROGMEM = {
|
||||
/* A */
|
||||
0xC8FCA331, 0xE55C504E, 0x003EBF26, 0xBB6B8D83,
|
||||
0x7B0448C1, 0x41B82789, 0x0A7C9601, 0x8D659CFF,
|
||||
0xB6E2673E, 0xCA54C77B, 0x1460FD7E, 0x3FCB8F2D,
|
||||
/* B */
|
||||
0x527291FC, 0x2A16455F, 0x78E627E5, 0x944F169F,
|
||||
0x1CA6F016, 0xA854EA25, 0x8DB98ABE, 0xF2C62641,
|
||||
0x30117DCB, 0xCF5C4309, 0x93711A25, 0xF9F671B8,
|
||||
0xB01D2116, 0x333F4B89, 0xB285D165, 0x86829B36,
|
||||
/* C */
|
||||
0xF764B11A, 0x76172146, 0xCEF6934D, 0xC6D28399,
|
||||
0xFE095F61, 0x5E6018B4, 0x5048ECF5, 0x51353261,
|
||||
0x6E6E36DC, 0x63130DAD, 0xA9C69BD6, 0x1E90EA0C,
|
||||
0x7C35073B, 0x28D95E6D, 0xAA340E0D, 0xCB3DEE70
|
||||
};
|
||||
|
||||
uint32_t shabal512_iv[] PROGMEM = {
|
||||
/* A */
|
||||
0x20728DFD, 0x46C0BD53, 0xE782B699, 0x55304632,
|
||||
0x71B4EF90, 0x0EA9E82C, 0xDBB930F1, 0xFAD06B8B,
|
||||
0xBE0CAE40, 0x8BD14410, 0x76D2ADAC, 0x28ACAB7F,
|
||||
/* B */
|
||||
0xC1099CB7, 0x07B385F3, 0xE7442C26, 0xCC8AD640,
|
||||
0xEB6F56C7, 0x1EA81AA9, 0x73B9D314, 0x1DE85D08,
|
||||
0x48910A5A, 0x893B22DB, 0xC5A0DF44, 0xBBC4324E,
|
||||
0x72D2F240, 0x75941D99, 0x6D8BDE82, 0xA1A7502B,
|
||||
/* C */
|
||||
0xD9BF68D1, 0x58BAD750, 0x56028CB2, 0x8134F359,
|
||||
0xB5D469D8, 0x941A8CC2, 0x418B2A6E, 0x04052780,
|
||||
0x7F07D787, 0x5194358F, 0x3C60D665, 0xBE97D79A,
|
||||
0x950C3434, 0xAED9A06D, 0x2537DC8D, 0x7CDB5969,
|
||||
};
|
||||
|
||||
void shabal192_init(shabal_ctx_t* ctx){
|
||||
uint8_t i;
|
||||
ctx->b = ctx->b_buffer;
|
||||
ctx->c = ctx->c_buffer;
|
||||
ctx->w.w64 = 1LL;
|
||||
for(i=0;i<SHABAL_R;++i){
|
||||
ctx->a[i] = pgm_read_dword(&(shabal192_iv[i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] = pgm_read_dword(&(shabal192_iv[SHABAL_R+i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->c[i] = pgm_read_dword(&(shabal192_iv[SHABAL_R+16+i]));
|
||||
}
|
||||
}
|
||||
|
||||
void shabal224_init(shabal_ctx_t* ctx){
|
||||
uint8_t i;
|
||||
ctx->b = ctx->b_buffer;
|
||||
ctx->c = ctx->c_buffer;
|
||||
ctx->w.w64 = 1LL;
|
||||
for(i=0;i<SHABAL_R;++i){
|
||||
ctx->a[i] = pgm_read_dword(&(shabal224_iv[i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] = pgm_read_dword(&(shabal224_iv[SHABAL_R+i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->c[i] = pgm_read_dword(&(shabal224_iv[SHABAL_R+16+i]));
|
||||
}
|
||||
}
|
||||
void shabal256_init(shabal_ctx_t* ctx){
|
||||
uint8_t i;
|
||||
ctx->b = ctx->b_buffer;
|
||||
ctx->c = ctx->c_buffer;
|
||||
ctx->w.w64 = 1LL;
|
||||
for(i=0;i<SHABAL_R;++i){
|
||||
ctx->a[i] = pgm_read_dword(&(shabal256_iv[i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] = pgm_read_dword(&(shabal256_iv[SHABAL_R+i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->c[i] = pgm_read_dword(&(shabal256_iv[SHABAL_R+16+i]));
|
||||
}
|
||||
}
|
||||
void shabal384_init(shabal_ctx_t* ctx){
|
||||
uint8_t i;
|
||||
ctx->b = ctx->b_buffer;
|
||||
ctx->c = ctx->c_buffer;
|
||||
ctx->w.w64 = 1LL;
|
||||
for(i=0;i<SHABAL_R;++i){
|
||||
ctx->a[i] = pgm_read_dword(&(shabal384_iv[i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] = pgm_read_dword(&(shabal384_iv[SHABAL_R+i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->c[i] = pgm_read_dword(&(shabal384_iv[SHABAL_R+16+i]));
|
||||
}
|
||||
}
|
||||
void shabal512_init(shabal_ctx_t* ctx){
|
||||
uint8_t i;
|
||||
ctx->b = ctx->b_buffer;
|
||||
ctx->c = ctx->c_buffer;
|
||||
ctx->w.w64 = 1LL;
|
||||
for(i=0;i<SHABAL_R;++i){
|
||||
ctx->a[i] = pgm_read_dword(&(shabal512_iv[i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] = pgm_read_dword(&(shabal512_iv[SHABAL_R+i]));
|
||||
}
|
||||
for(i=0;i<16;++i){
|
||||
ctx->c[i] = pgm_read_dword(&(shabal512_iv[SHABAL_R+16+i]));
|
||||
}
|
||||
}
|
||||
|
||||
void shabal_nextBlock(shabal_ctx_t* ctx, const void* block){
|
||||
uint8_t i;
|
||||
uint32_t* t;
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] += ((uint32_t*)block)[i];
|
||||
}
|
||||
ctx->a[0] ^= ctx->w.w32[0];
|
||||
ctx->a[1] ^= ctx->w.w32[1];
|
||||
shabal_p(ctx, block);
|
||||
for(i=0;i<16;++i){
|
||||
ctx->c[i] -= ((uint32_t*)block)[i];
|
||||
}
|
||||
ctx->w.w64++;
|
||||
t = ctx->c;
|
||||
ctx->c = ctx->b;
|
||||
ctx->b = t;
|
||||
}
|
||||
|
||||
void shabal_lastBlock(shabal_ctx_t* ctx, const void* block, uint16_t length_b){
|
||||
uint8_t i,j;
|
||||
uint32_t* t;
|
||||
uint8_t buffer[64];
|
||||
while(length_b>=SHABAL_BLOCKSIZE){
|
||||
shabal_nextBlock(ctx, block);
|
||||
block = (uint8_t*)block + SHABAL_BLOCKSIZE_B;
|
||||
length_b -= SHABAL_BLOCKSIZE;
|
||||
}
|
||||
memset(buffer, 0, 64);
|
||||
memcpy(buffer, block, (length_b+7)/8);
|
||||
buffer[length_b/8] |= 0x80>>(length_b%8);
|
||||
|
||||
for(i=0;i<16;++i){
|
||||
ctx->b[i] += ((uint32_t*)buffer)[i];
|
||||
}
|
||||
ctx->a[0] ^= ctx->w.w32[0];
|
||||
ctx->a[1] ^= ctx->w.w32[1];
|
||||
shabal_p(ctx, buffer);
|
||||
t = ctx->c;
|
||||
ctx->c = ctx->b;
|
||||
ctx->b = t;
|
||||
|
||||
for(j=0; j<3;++j){
|
||||
ctx->a[0] ^= ctx->w.w32[0];
|
||||
ctx->a[1] ^= ctx->w.w32[1];
|
||||
shabal_p(ctx, buffer);
|
||||
t = ctx->c;
|
||||
ctx->c = ctx->b;
|
||||
ctx->b = t;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static inline
|
||||
void shabal_ctx2hash(void* dest, const shabal_ctx_t* ctx, uint16_t outlength_b){
|
||||
memcpy(dest, &(ctx->c[16-outlength_b/32]), outlength_b/8);
|
||||
}
|
||||
|
||||
void shabal192_ctx2hash(void* dest, const shabal_ctx_t* ctx){
|
||||
shabal_ctx2hash(dest, ctx, 192);
|
||||
}
|
||||
|
||||
void shabal224_ctx2hash(void* dest, const shabal_ctx_t* ctx){
|
||||
shabal_ctx2hash(dest, ctx, 224);
|
||||
}
|
||||
|
||||
void shabal256_ctx2hash(void* dest, const shabal_ctx_t* ctx){
|
||||
shabal_ctx2hash(dest, ctx, 256);
|
||||
}
|
||||
|
||||
void shabal384_ctx2hash(void* dest, const shabal_ctx_t* ctx){
|
||||
shabal_ctx2hash(dest, ctx, 384);
|
||||
}
|
||||
|
||||
void shabal512_ctx2hash(void* dest, const shabal_ctx_t* ctx){
|
||||
shabal_ctx2hash(dest, ctx, 512);
|
||||
}
|
||||
|
||||
void shabal192(void* dest, void* msg, uint32_t length_b){
|
||||
shabal_ctx_t ctx;
|
||||
shabal192_init(&ctx);
|
||||
while(length_b>=SHABAL_BLOCKSIZE){
|
||||
shabal_nextBlock(&ctx, msg);
|
||||
msg = (uint8_t*)msg+SHABAL_BLOCKSIZE_B;
|
||||
length_b -= SHABAL_BLOCKSIZE;
|
||||
}
|
||||
shabal_lastBlock(&ctx, msg, length_b);
|
||||
shabal192_ctx2hash(dest, &ctx);
|
||||
}
|
||||
|
||||
void shabal224(void* dest, void* msg, uint32_t length_b){
|
||||
shabal_ctx_t ctx;
|
||||
shabal224_init(&ctx);
|
||||
while(length_b>=SHABAL_BLOCKSIZE){
|
||||
shabal_nextBlock(&ctx, msg);
|
||||
msg = (uint8_t*)msg+SHABAL_BLOCKSIZE_B;
|
||||
length_b -= SHABAL_BLOCKSIZE;
|
||||
}
|
||||
shabal_lastBlock(&ctx, msg, length_b);
|
||||
shabal224_ctx2hash(dest, &ctx);
|
||||
}
|
||||
|
||||
void shabal256(void* dest, void* msg, uint32_t length_b){
|
||||
shabal_ctx_t ctx;
|
||||
shabal256_init(&ctx);
|
||||
while(length_b>=SHABAL_BLOCKSIZE){
|
||||
shabal_nextBlock(&ctx, msg);
|
||||
msg = (uint8_t*)msg+SHABAL_BLOCKSIZE_B;
|
||||
length_b -= SHABAL_BLOCKSIZE;
|
||||
}
|
||||
shabal_lastBlock(&ctx, msg, length_b);
|
||||
shabal256_ctx2hash(dest, &ctx);
|
||||
}
|
||||
|
||||
void shabal384(void* dest, void* msg, uint32_t length_b){
|
||||
shabal_ctx_t ctx;
|
||||
shabal384_init(&ctx);
|
||||
while(length_b>=SHABAL_BLOCKSIZE){
|
||||
shabal_nextBlock(&ctx, msg);
|
||||
msg = (uint8_t*)msg+SHABAL_BLOCKSIZE_B;
|
||||
length_b -= SHABAL_BLOCKSIZE;
|
||||
}
|
||||
shabal_lastBlock(&ctx, msg, length_b);
|
||||
shabal384_ctx2hash(dest, &ctx);
|
||||
}
|
||||
|
||||
void shabal512(void* dest, void* msg, uint32_t length_b){
|
||||
shabal_ctx_t ctx;
|
||||
shabal512_init(&ctx);
|
||||
while(length_b>=SHABAL_BLOCKSIZE){
|
||||
shabal_nextBlock(&ctx, msg);
|
||||
msg = (uint8_t*)msg+SHABAL_BLOCKSIZE_B;
|
||||
length_b -= SHABAL_BLOCKSIZE;
|
||||
}
|
||||
shabal_lastBlock(&ctx, msg, length_b);
|
||||
shabal512_ctx2hash(dest, &ctx);
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
/* shabal.h */
|
||||
/*
|
||||
This file is part of the AVR-Crypto-Lib.
|
||||
Copyright (C) 2009 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 shabal.h
|
||||
* \author Daniel Otte
|
||||
* \email daniel.otte@rub.de
|
||||
* \date 2009-04-17
|
||||
* \license GPLv3 or later
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SHABAL_H_
|
||||
#define SHABAL_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define SHABAL_BLOCKSIZE 512
|
||||
#define SHABAL_BLOCKSIZE_B ((SHABAL_BLOCKSIZE+7)/8)
|
||||
|
||||
#define SHABAL_R 12
|
||||
#define SHABAL_P 3
|
||||
|
||||
typedef struct{
|
||||
union{
|
||||
uint64_t w64;
|
||||
uint32_t w32[2];
|
||||
} w; /* the counter */
|
||||
uint32_t a[SHABAL_R];
|
||||
uint32_t *b;
|
||||
uint32_t b_buffer[16];
|
||||
uint32_t *c;
|
||||
uint32_t c_buffer[16];
|
||||
}shabal_ctx_t;
|
||||
|
||||
|
||||
void shabal192_init(shabal_ctx_t* ctx);
|
||||
void shabal224_init(shabal_ctx_t* ctx);
|
||||
void shabal256_init(shabal_ctx_t* ctx);
|
||||
void shabal384_init(shabal_ctx_t* ctx);
|
||||
void shabal512_init(shabal_ctx_t* ctx);
|
||||
|
||||
void shabal_nextBlock(shabal_ctx_t* ctx, const void* block);
|
||||
void shabal_lastBlock(shabal_ctx_t* ctx, const void* block, uint16_t length_b);
|
||||
|
||||
void shabal192_ctx2hash(void* dest, const shabal_ctx_t* ctx);
|
||||
void shabal224_ctx2hash(void* dest, const shabal_ctx_t* ctx);
|
||||
void shabal256_ctx2hash(void* dest, const shabal_ctx_t* ctx);
|
||||
void shabal384_ctx2hash(void* dest, const shabal_ctx_t* ctx);
|
||||
void shabal512_ctx2hash(void* dest, const shabal_ctx_t* ctx);
|
||||
|
||||
void shabal192(void* dest, void* msg, uint32_t length_b);
|
||||
void shabal224(void* dest, void* msg, uint32_t length_b);
|
||||
void shabal256(void* dest, void* msg, uint32_t length_b);
|
||||
void shabal384(void* dest, void* msg, uint32_t length_b);
|
||||
void shabal512(void* dest, void* msg, uint32_t length_b);
|
||||
|
||||
#endif /* SHABAL_H_ */
|
2
skein.h
2
skein.h
|
@ -17,6 +17,7 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
* \file skein.c
|
||||
* \author Daniel Otte
|
||||
* \email daniel.otte@rub.de
|
||||
* \date 2009-03-12
|
||||
|
@ -27,6 +28,7 @@
|
|||
#ifndef SKEIN_H_
|
||||
#define SKEIN_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include "ubi.h"
|
||||
|
||||
#define SKEIN256_BLOCKSIZE UBI256_BLOCKSIZE
|
||||
|
|
|
@ -40,13 +40,6 @@ char* algo_name = "MD5";
|
|||
/*****************************************************************************
|
||||
* additional validation-functions *
|
||||
*****************************************************************************/
|
||||
void md5_next_dummy(void* buffer, void* ctx){
|
||||
md5_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void md5_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
md5_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void md5_ctx2hash_dummy(void* buffer, void* ctx){
|
||||
memcpy(buffer, ctx, 16);
|
||||
|
@ -59,8 +52,8 @@ void testrun_nessie_md5(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(md5_ctx_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)md5_init;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)md5_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)md5_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)md5_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)md5_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)md5_ctx2hash_dummy;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -43,13 +43,6 @@ char* algo_name = "SHA-1";
|
|||
/*****************************************************************************
|
||||
* additional validation-functions *
|
||||
*****************************************************************************/
|
||||
void sha1_next_dummy(void* buffer, void* ctx){
|
||||
sha1_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void sha1_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
sha1_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void testrun_nessie_sha1(void){
|
||||
nessie_hash_ctx.hashsize_b = 160;
|
||||
|
@ -57,8 +50,8 @@ void testrun_nessie_sha1(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(sha1_ctx_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)sha1_init;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)sha1_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)sha1_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)sha1_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)sha1_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)sha1_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -43,13 +43,6 @@ char* algo_name = "SHA-256";
|
|||
/*****************************************************************************
|
||||
* additional validation-functions *
|
||||
*****************************************************************************/
|
||||
void sha256_next_dummy(void* buffer, void* ctx){
|
||||
sha256_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void sha256_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
sha256_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void testrun_nessie_sha256(void){
|
||||
nessie_hash_ctx.hashsize_b = 256;
|
||||
|
@ -57,8 +50,8 @@ void testrun_nessie_sha256(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(sha256_ctx_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)sha256_init;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)sha256_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)sha256_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)sha256_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)sha256_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)sha256_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -0,0 +1,320 @@
|
|||
/* main-shabal-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/>.
|
||||
*/
|
||||
/*
|
||||
* shabal test-suit
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "serial-tools.h"
|
||||
#include "uart.h"
|
||||
#include "debug.h"
|
||||
|
||||
#include "shabal.h"
|
||||
#include "cli.h"
|
||||
#include "hfal_shabal.h"
|
||||
#include "shavs.h"
|
||||
#include "nessie_hash_test.h"
|
||||
#include "performance_test.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
char* algo_name = "Shabal";
|
||||
|
||||
/*****************************************************************************
|
||||
* additional validation-functions *
|
||||
*****************************************************************************/
|
||||
void testrun_stdtest_shabal192(void* msg, uint16_t size_b){
|
||||
uint8_t hash[192/8];
|
||||
|
||||
cli_putstr_P(PSTR("\r\n\r\nTest vectors for Shabal (192 bits):"));
|
||||
|
||||
cli_putstr_P(PSTR("\r\nmessage:"));
|
||||
cli_hexdump_block(msg, (size_b+7)/8, 4, 16);
|
||||
shabal192(hash, msg, size_b);
|
||||
cli_putstr_P(PSTR("\r\nhash:"));
|
||||
cli_hexdump_block(hash, 192/8, 4, 16);
|
||||
}
|
||||
|
||||
void testrun_stdtest_shabal224(void* msg, uint16_t size_b){
|
||||
uint8_t hash[224/8];
|
||||
|
||||
cli_putstr_P(PSTR("\r\n\r\nTest vectors for Shabal (224 bits):"));
|
||||
|
||||
cli_putstr_P(PSTR("\r\nmessage:"));
|
||||
cli_hexdump_block(msg, (size_b+7)/8, 4, 16);
|
||||
shabal224(hash, msg, size_b);
|
||||
cli_putstr_P(PSTR("\r\nhash:"));
|
||||
cli_hexdump_block(hash, 224/8, 4, 16);
|
||||
}
|
||||
|
||||
void testrun_stdtest_shabal256(void* msg, uint16_t size_b){
|
||||
uint8_t hash[256/8];
|
||||
|
||||
cli_putstr_P(PSTR("\r\n\r\nTest vectors for Shabal (256 bits):"));
|
||||
|
||||
cli_putstr_P(PSTR("\r\nmessage:"));
|
||||
cli_hexdump_block(msg, (size_b+7)/8, 4, 16);
|
||||
shabal256(hash, msg, size_b);
|
||||
cli_putstr_P(PSTR("\r\nhash:"));
|
||||
cli_hexdump_block(hash, 256/8, 4, 16);
|
||||
}
|
||||
|
||||
void testrun_stdtest_shabal384(void* msg, uint16_t size_b){
|
||||
uint8_t hash[384/8];
|
||||
|
||||
cli_putstr_P(PSTR("\r\n\r\nTest vectors for Shabal (384 bits):"));
|
||||
|
||||
cli_putstr_P(PSTR("\r\nmessage:"));
|
||||
cli_hexdump_block(msg, (size_b+7)/8, 4, 16);
|
||||
shabal384(hash, msg, size_b);
|
||||
cli_putstr_P(PSTR("\r\nhash:"));
|
||||
cli_hexdump_block(hash, 384/8, 4, 16);
|
||||
}
|
||||
|
||||
void testrun_stdtest_shabal512(void* msg, uint16_t size_b){
|
||||
uint8_t hash[512/8];
|
||||
|
||||
cli_putstr_P(PSTR("\r\n\r\nTest vectors for Shabal (512 bits):"));
|
||||
|
||||
cli_putstr_P(PSTR("\r\nmessage:"));
|
||||
cli_hexdump_block(msg, (size_b+7)/8, 4, 16);
|
||||
shabal512(hash, msg, size_b);
|
||||
cli_putstr_P(PSTR("\r\nhash:"));
|
||||
cli_hexdump_block(hash, 512/8, 4, 16);
|
||||
}
|
||||
|
||||
void testrun_stdtest_shabal(void){
|
||||
uint8_t ma[64];
|
||||
char* mb= "abcdefghijklmnopqrstuvwxyz-"
|
||||
"0123456789-"
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ-"
|
||||
"0123456789-"
|
||||
"abcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
memset(ma, 0, 64);
|
||||
testrun_stdtest_shabal192(ma, 64*8);
|
||||
testrun_stdtest_shabal192(mb, strlen(mb)*8);
|
||||
testrun_stdtest_shabal224(ma, 64*8);
|
||||
testrun_stdtest_shabal224(mb, strlen(mb)*8);
|
||||
testrun_stdtest_shabal256(ma, 64*8);
|
||||
testrun_stdtest_shabal256(mb, strlen(mb)*8);
|
||||
testrun_stdtest_shabal384(ma, 64*8);
|
||||
testrun_stdtest_shabal384(mb, strlen(mb)*8);
|
||||
testrun_stdtest_shabal512(ma, 64*8);
|
||||
testrun_stdtest_shabal512(mb, strlen(mb)*8);
|
||||
}
|
||||
|
||||
void performance_shabal(void){
|
||||
uint64_t t;
|
||||
char str[16];
|
||||
uint8_t data[64];
|
||||
uint8_t hash[512/8];
|
||||
shabal_ctx_t ctx;
|
||||
|
||||
calibrateTimer();
|
||||
print_overhead();
|
||||
|
||||
memset(data, 0, 64);
|
||||
|
||||
startTimer(1);
|
||||
shabal192_init(&ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx-gen time (192): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal192_init(&ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx-gen time (224): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal192_init(&ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx-gen time (256): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal192_init(&ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx-gen time (384): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal192_init(&ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx-gen time (512): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal_nextBlock(&ctx, data);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tone-block time: "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
|
||||
startTimer(1);
|
||||
shabal_lastBlock(&ctx, data, 0);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tlast block time: "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal192_ctx2hash(hash, &ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx2hash time (192): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal224_ctx2hash(hash, &ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx2hash time (224): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal256_ctx2hash(hash, &ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx2hash time (256): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal384_ctx2hash(hash, &ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx2hash time (384): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
startTimer(1);
|
||||
shabal512_ctx2hash(hash, &ctx);
|
||||
t = stopTimer();
|
||||
cli_putstr_P(PSTR("\r\n\tctx2hash time (512): "));
|
||||
ultoa((unsigned long)t, str, 10);
|
||||
cli_putstr(str);
|
||||
|
||||
cli_putstr_P(PSTR("\r\n"));
|
||||
|
||||
}
|
||||
|
||||
void testrun_nessie_shabal(void){
|
||||
nessie_hash_ctx.hashsize_b = 192;
|
||||
nessie_hash_ctx.blocksize_B = 512/8;
|
||||
nessie_hash_ctx.ctx_size_B = sizeof(shabal_ctx_t);
|
||||
nessie_hash_ctx.name = "Shabal-192";
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)shabal192_init;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)shabal_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)shabal_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)shabal192_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
||||
nessie_hash_ctx.hashsize_b = 224;
|
||||
nessie_hash_ctx.name = "Shabal-224";
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)shabal224_init;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)shabal224_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
||||
nessie_hash_ctx.hashsize_b = 256;
|
||||
nessie_hash_ctx.name = "Shabal-256";
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)shabal256_init;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)shabal256_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
||||
nessie_hash_ctx.hashsize_b = 384;
|
||||
nessie_hash_ctx.name = "Shabal-384";
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)shabal384_init;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)shabal384_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
||||
nessie_hash_ctx.hashsize_b = 512;
|
||||
nessie_hash_ctx.name = "Shabal-512";
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)shabal512_init;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)shabal512_ctx2hash;
|
||||
|
||||
nessie_hash_run();
|
||||
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* main *
|
||||
*****************************************************************************/
|
||||
|
||||
const hfdesc_t* algolist[] PROGMEM = {
|
||||
(hfdesc_t*)&shabal192_desc,
|
||||
(hfdesc_t*)&shabal224_desc,
|
||||
(hfdesc_t*)&shabal256_desc,
|
||||
(hfdesc_t*)&shabal384_desc,
|
||||
(hfdesc_t*)&shabal512_desc,
|
||||
NULL
|
||||
};
|
||||
|
||||
const char nessie_str[] PROGMEM = "nessie";
|
||||
const char test_str[] PROGMEM = "test";
|
||||
const char ztest_str[] PROGMEM = "zerotest";
|
||||
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";
|
||||
|
||||
cmdlist_entry_t cmdlist[] PROGMEM = {
|
||||
{ nessie_str, NULL, testrun_nessie_shabal},
|
||||
{ test_str, NULL, testrun_stdtest_shabal},
|
||||
{ performance_str, NULL, performance_shabal},
|
||||
{ shavs_list_str, NULL, shavs_listalgos},
|
||||
{ shavs_set_str, (void*)1, (void_fpt)shavs_setalgo},
|
||||
{ shavs_test1_str, NULL, shavs_test1},
|
||||
{ echo_str, (void*)1, (void_fpt)echo_ctrl},
|
||||
{ NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
int main (void){
|
||||
DEBUG_INIT();
|
||||
|
||||
cli_rx = uart_getc;
|
||||
cli_tx = uart_putc;
|
||||
shavs_algolist=(hfdesc_t**)algolist;
|
||||
shavs_algo=(hfdesc_t*)&shabal256_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);
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
* threefish test-suit
|
||||
* skein test-suit
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -214,7 +214,7 @@ const char shavs_set_str[] PROGMEM = "shavs_set";
|
|||
const char shavs_test1_str[] PROGMEM = "shavs_test1";
|
||||
|
||||
cmdlist_entry_t cmdlist[] PROGMEM = {
|
||||
// { nessie_str, NULL, testrun_nessie_noekeon},
|
||||
// { nessie_str, NULL, testrun_nessie_skein},
|
||||
{ test_str, NULL, testrun_stdtest_skein},
|
||||
{ ztest_str, (void*)1, (void_fpt)zeromsg_test_common},
|
||||
{ shavs_list_str, NULL, shavs_listalgos},
|
||||
|
|
|
@ -46,14 +46,6 @@ void twister224_init_dummy(void* ctx){
|
|||
twister_small_init(ctx, 224);
|
||||
}
|
||||
|
||||
void twister224_next_dummy(void* buffer, void* ctx){
|
||||
twister_small_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void twister224_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
twister_small_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void twister224_ctx2hash_dummy(void* buffer, void* ctx){
|
||||
twister_small_ctx2hash(buffer, ctx, 224);
|
||||
}
|
||||
|
@ -65,8 +57,8 @@ void testrun_nessie_twister224(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(twister_state_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)twister224_init_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister224_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister224_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister_small_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister_small_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)twister224_ctx2hash_dummy;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -44,14 +44,6 @@ void twister256_init_dummy(void* ctx){
|
|||
twister_small_init(ctx, 256);
|
||||
}
|
||||
|
||||
void twister256_next_dummy(void* buffer, void* ctx){
|
||||
twister_small_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void twister256_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
twister_small_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void twister256_ctx2hash_dummy(void* buffer, void* ctx){
|
||||
twister_small_ctx2hash(buffer, ctx, 256);
|
||||
}
|
||||
|
@ -63,8 +55,8 @@ void testrun_nessie_twister256(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(twister_state_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)twister256_init_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister256_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister256_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister_small_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister_small_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)twister256_ctx2hash_dummy;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -44,14 +44,6 @@ void twister384_init_dummy(void* ctx){
|
|||
twister_big_init(ctx, 384);
|
||||
}
|
||||
|
||||
void twister384_next_dummy(void* buffer, void* ctx){
|
||||
twister_big_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void twister384_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
twister_big_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void twister384_ctx2hash_dummy(void* buffer, void* ctx){
|
||||
twister_big_ctx2hash(buffer, ctx, 384);
|
||||
}
|
||||
|
@ -63,8 +55,8 @@ void testrun_nessie_twister384(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(twister_big_ctx_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)twister384_init_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister384_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister384_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister_big_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister_big_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)twister384_ctx2hash_dummy;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -44,14 +44,6 @@ void twister512_init_dummy(void* ctx){
|
|||
twister_big_init(ctx, 512);
|
||||
}
|
||||
|
||||
void twister512_next_dummy(void* buffer, void* ctx){
|
||||
twister_big_nextBlock(ctx, buffer);
|
||||
}
|
||||
|
||||
void twister512_last_dummy(void* buffer, uint16_t size_b, void* ctx){
|
||||
twister_big_lastBlock(ctx, buffer, size_b);
|
||||
}
|
||||
|
||||
void twister512_ctx2hash_dummy(void* buffer, void* ctx){
|
||||
twister_big_ctx2hash(buffer, ctx, 512);
|
||||
}
|
||||
|
@ -63,8 +55,8 @@ void testrun_nessie_twister512(void){
|
|||
nessie_hash_ctx.ctx_size_B = sizeof(twister_big_ctx_t);
|
||||
nessie_hash_ctx.name = algo_name;
|
||||
nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)twister512_init_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister512_next_dummy;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister512_last_dummy;
|
||||
nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister_big_nextBlock;
|
||||
nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister_big_lastBlock;
|
||||
nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)twister512_ctx2hash_dummy;
|
||||
|
||||
nessie_hash_run();
|
||||
|
|
|
@ -49,12 +49,12 @@ void ascii_hash_P(PGM_P data, PGM_P desc){
|
|||
sl = strlen_P(data);
|
||||
while(sl>=BLOCKSIZE_B){
|
||||
memcpy_P(buffer, data, BLOCKSIZE_B);
|
||||
nessie_hash_ctx.hash_next(buffer, ctx);
|
||||
nessie_hash_ctx.hash_next(ctx, buffer);
|
||||
data += BLOCKSIZE_B;
|
||||
sl -= BLOCKSIZE_B;
|
||||
}
|
||||
memcpy_P(buffer, data, sl);
|
||||
nessie_hash_ctx.hash_last(buffer, sl*8, ctx);
|
||||
nessie_hash_ctx.hash_last(ctx, buffer, sl*8);
|
||||
nessie_hash_ctx.hash_conv(hash, ctx);
|
||||
nessie_print_item("hash", hash, (nessie_hash_ctx.hashsize_b+7)/8);
|
||||
}
|
||||
|
@ -74,11 +74,11 @@ void amillion_hash(void){
|
|||
memset(block, 'a', nessie_hash_ctx.blocksize_B);
|
||||
nessie_hash_ctx.hash_init(ctx);
|
||||
while(n>=nessie_hash_ctx.blocksize_B){
|
||||
nessie_hash_ctx.hash_next(block, ctx);
|
||||
nessie_hash_ctx.hash_next(ctx, block);
|
||||
n -= nessie_hash_ctx.blocksize_B;
|
||||
NESSIE_SEND_ALIVE_A(i++);
|
||||
}
|
||||
nessie_hash_ctx.hash_last(block, n*8, ctx);
|
||||
nessie_hash_ctx.hash_last(ctx, block, n*8);
|
||||
nessie_hash_ctx.hash_conv(hash, ctx);
|
||||
nessie_print_item("hash", hash, (nessie_hash_ctx.hashsize_b+7)/8);
|
||||
}
|
||||
|
@ -105,10 +105,10 @@ void zero_hash(uint16_t n){
|
|||
memset(block, 0, nessie_hash_ctx.blocksize_B);
|
||||
nessie_hash_ctx.hash_init(ctx);
|
||||
while(n>=nessie_hash_ctx.blocksize_B*8){
|
||||
nessie_hash_ctx.hash_next(block, ctx);
|
||||
nessie_hash_ctx.hash_next(ctx, block);
|
||||
n -= nessie_hash_ctx.blocksize_B*8;
|
||||
}
|
||||
nessie_hash_ctx.hash_last(block, n, ctx);
|
||||
nessie_hash_ctx.hash_last(ctx, block, n);
|
||||
nessie_hash_ctx.hash_conv(hash, ctx);
|
||||
nessie_print_item("hash", hash, (nessie_hash_ctx.hashsize_b+7)/8);
|
||||
}
|
||||
|
@ -147,10 +147,10 @@ void one_in512_hash(uint16_t pos){
|
|||
block[pos>>3] = 0x80>>(pos&0x7);
|
||||
nessie_hash_ctx.hash_init(ctx);
|
||||
while(n>=nessie_hash_ctx.blocksize_B*8){
|
||||
nessie_hash_ctx.hash_next(block, ctx);
|
||||
nessie_hash_ctx.hash_next(ctx, block);
|
||||
n -= nessie_hash_ctx.blocksize_B*8;
|
||||
}
|
||||
nessie_hash_ctx.hash_last(block, n, ctx);
|
||||
nessie_hash_ctx.hash_last(ctx, block, n);
|
||||
nessie_hash_ctx.hash_conv(hash, ctx);
|
||||
nessie_print_item("hash", hash, (nessie_hash_ctx.hashsize_b+7)/8);
|
||||
}
|
||||
|
@ -179,15 +179,15 @@ void tv4_hash(void){
|
|||
|
||||
nessie_hash_ctx.hash_init(ctx);
|
||||
while(n>=nessie_hash_ctx.blocksize_B*8){
|
||||
nessie_hash_ctx.hash_next(block, ctx);
|
||||
nessie_hash_ctx.hash_next(ctx, block);
|
||||
n -= nessie_hash_ctx.blocksize_B*8;
|
||||
}
|
||||
nessie_hash_ctx.hash_last(block, n, ctx);
|
||||
nessie_hash_ctx.hash_last(ctx, block, n);
|
||||
nessie_hash_ctx.hash_conv(hash, ctx);
|
||||
nessie_print_item("hash", hash, (nessie_hash_ctx.hashsize_b+7)/8);
|
||||
for(i=1; i<100000L; ++i){ /* this assumes BLOCKSIZE >= HASHSIZE */
|
||||
nessie_hash_ctx.hash_init(ctx);
|
||||
nessie_hash_ctx.hash_last(hash, nessie_hash_ctx.hashsize_b, ctx);
|
||||
nessie_hash_ctx.hash_last(ctx, hash, nessie_hash_ctx.hashsize_b);
|
||||
nessie_hash_ctx.hash_conv(hash, ctx);
|
||||
NESSIE_SEND_ALIVE_A(i);
|
||||
}
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include <stdint.h>
|
||||
|
||||
typedef void (*nessie_hash_init_fpt)(void* ctx);
|
||||
typedef void (*nessie_hash_next_fpt)(void* buffer, void* ctx);
|
||||
typedef void (*nessie_hash_last_fpt)(void* buffer, uint16_t size_b, void* ctx);
|
||||
typedef void (*nessie_hash_next_fpt)(void* ctx, const void* buffer);
|
||||
typedef void (*nessie_hash_last_fpt)(void* ctx, const void* buffer, uint16_t size_b);
|
||||
typedef void (*nessie_hash_conv_fpt)(void* buffer, void* ctx);
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
# ExtremelyLongMsgKAT_224.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Repeat = 16777216
|
||||
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||
MD = 5F929B80783CC222C1DE369265F393B514F276C3843BCE82E3CBBDC6
|
|
@ -0,0 +1,7 @@
|
|||
# ExtremelyLongMsgKAT_256.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Repeat = 16777216
|
||||
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||
MD = D27AC13B0828E3FD0045BEF5C2CC704746B004844CC93772E36C15A1C4A42151
|
|
@ -0,0 +1,7 @@
|
|||
# ExtremelyLongMsgKAT_384.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Repeat = 16777216
|
||||
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||
MD = 9639132B17F94A9EDFEE105F6DDE3A5B19EB7335DA7FB1FC4BEB11DCFE8DDA980FADDBB9E3959535A9FF5EADC660F96B
|
|
@ -0,0 +1,7 @@
|
|||
# ExtremelyLongMsgKAT_512.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Repeat = 16777216
|
||||
Text = abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno
|
||||
MD = B837F262430ED4B21D044D3159135D34622E40669CF7AD6CFD76E5F9902F22F2BE4E81DA8BEB19156C9F734097606120F76A046B0260DA3DA518B88418788019
|
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: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||
|
||||
j = 0
|
||||
MD = BA59284D41A49EEA2AECBB662B908F7C0AFFAA365A37EEC414CFF316
|
||||
|
||||
j = 1
|
||||
MD = CF45B1EB2B02D7BC8FE5AA0AD11AF94B799AA2F63C9D5A1F6594C8D3
|
||||
|
||||
j = 2
|
||||
MD = 8BC173BB37D77B1B3B76B02F68E865802E87BB60E6DCC42D76D0CE5A
|
||||
|
||||
j = 3
|
||||
MD = 5C4E9B27D20F1D733763B9B47EF51A1BC34D0070DED595217EA44665
|
||||
|
||||
j = 4
|
||||
MD = 1BBA2606B2E3E44F608B09BD7AB89D6417154E17121C7BA6664F0E84
|
||||
|
||||
j = 5
|
||||
MD = BD8D608C8572C30B580C1F4A0ED025656E8532F6323C473A40550E52
|
||||
|
||||
j = 6
|
||||
MD = B8B8F6B77D09CA131F202C51A47AADB2F2D5B29C729255935C759CA5
|
||||
|
||||
j = 7
|
||||
MD = 8296D7248523A731DB659E9246598F4C7E5B9C7B9CB1D6C83144D0F2
|
||||
|
||||
j = 8
|
||||
MD = 422F7777DD8EB72838F01BD153C0029785BFCFD5DB62B7B673E3CA2F
|
||||
|
||||
j = 9
|
||||
MD = 4A0DE053BB601F0022FA200D6E1F6A0EA32E246C3465F8BA46137D57
|
||||
|
||||
j = 10
|
||||
MD = B1B06F0C73348C8CFFF740AADD541301126F5A9D7F16E617AD922DE1
|
||||
|
||||
j = 11
|
||||
MD = 96F98B0D59FD9BF4AF9CA2BDE79C674FA778A64A221F88B90C2653A0
|
||||
|
||||
j = 12
|
||||
MD = 1E4A0BB0E72D7B4AFB43F97D2B8CDB9A9D6342A60BB162E31A3A302B
|
||||
|
||||
j = 13
|
||||
MD = A61F4458F1C257D31DBCB8D180773792417BE8B1480816725C62E508
|
||||
|
||||
j = 14
|
||||
MD = 42F2D8628219D598DC06F257289B1CCC76B07DE8148201F9601BAB3F
|
||||
|
||||
j = 15
|
||||
MD = 40637DF1715495DD8316A0B4F714355188C0FBAA5FE17361E4E6D4B4
|
||||
|
||||
j = 16
|
||||
MD = A2486708C8CA07FD99C8DC37831833C0209945092B12D8286CC4EA1A
|
||||
|
||||
j = 17
|
||||
MD = B5BACC13D375BB78A835073C95AE159309C9DD322CCE2D3F71DA554D
|
||||
|
||||
j = 18
|
||||
MD = 9C78EA272C5B359EE23DE606F01169125C076923602367AEE3C1622D
|
||||
|
||||
j = 19
|
||||
MD = 0F295BAB2C62C824BEF6592411ABE634D7489167A4EDCBB4F2C100F9
|
||||
|
||||
j = 20
|
||||
MD = 386D8AC8B64ED872579314698382F134BB040270C6E51CB1029D4B25
|
||||
|
||||
j = 21
|
||||
MD = B397F3CC994C08AECE968B062DD96ED67048DA5DE76D154467E92D07
|
||||
|
||||
j = 22
|
||||
MD = 876D1536F5A431CCBAAAE9A9A4EBC2741D9F968A13878A08D8DF7570
|
||||
|
||||
j = 23
|
||||
MD = 1409F845A3DA8B386EAE341B4694F587D1B2D5F4CE18D846A1303C0C
|
||||
|
||||
j = 24
|
||||
MD = 58F3E58891EE5695EE40724C5145BD3524D629AF4596C4444B333D18
|
||||
|
||||
j = 25
|
||||
MD = 513A765D3FF72579CB8C2E79ECEC88CD4508650D39E20B037D9C44AE
|
||||
|
||||
j = 26
|
||||
MD = B545067937900F50BB213CBD5EF56DECD04D9B76443CE7578C9FAC10
|
||||
|
||||
j = 27
|
||||
MD = 657B2861979B54DD95BCBBBDEB40BC4836A6847D0AC8638F9A70CB0F
|
||||
|
||||
j = 28
|
||||
MD = 941C9B8DD76B54D1F682901366301D25ACE28491AAFA4B41DD8528CE
|
||||
|
||||
j = 29
|
||||
MD = 1E8772114AB19144C683012E405365E7B9CA541A720360B388DF4782
|
||||
|
||||
j = 30
|
||||
MD = 3FE3615C3DEA1EE02DD397EAB4C1C544F8CC0266F03E1B62E6778DC6
|
||||
|
||||
j = 31
|
||||
MD = 4B7162AE50E27F25B8C9A65387B4B497BCC08CE6F38040135FDC4B9D
|
||||
|
||||
j = 32
|
||||
MD = 6A31FDA84DE450EED2A5D75D666E03041A228AD698D2D375F69CA44B
|
||||
|
||||
j = 33
|
||||
MD = 1ABF24CBFBD4CD6AC3AAA391D0C2BC433528F337A2C2DF05FC26E801
|
||||
|
||||
j = 34
|
||||
MD = 68B809F60BCF9BE99058F9A3D4917D1FD20FD30F67687060757FFC8A
|
||||
|
||||
j = 35
|
||||
MD = F02114076377EED78C1B685B3DE927285843D34981A15FFB2CC22018
|
||||
|
||||
j = 36
|
||||
MD = EC8C39711F3EBACD3B3D2219CD0C2EBC23797872732C0CBF378ADAA3
|
||||
|
||||
j = 37
|
||||
MD = 55475CB1A15DB6035FB29613CC9857AF138F712999554120A99E90DB
|
||||
|
||||
j = 38
|
||||
MD = 8482D8B24C7ECB1C1B7055421BC2AF2EE61B0FE269BC3C86E32C6F62
|
||||
|
||||
j = 39
|
||||
MD = 6A34E9B7AADD15D15487AD3A97A93809A1A5282E52F340F3594ED8FF
|
||||
|
||||
j = 40
|
||||
MD = 8F9F3A9461FAA71CAF2A6ADE18AC4BE371EF3FCE4CDAA6C69961E170
|
||||
|
||||
j = 41
|
||||
MD = 9701504FA1F8F9A26F059131FBC1CF9FB15692D391E557248919F1FF
|
||||
|
||||
j = 42
|
||||
MD = 6DB443DFAB1452AA2FA11806E0A684B8A91000FF4DEC09BD130BA3CD
|
||||
|
||||
j = 43
|
||||
MD = 8A3D72572C7302F77EC6A2DBAC8778C82657C085C877C8D1A4ABC95C
|
||||
|
||||
j = 44
|
||||
MD = 798351E5F0E72A01F32F1FCC80FE3BE623D3E5E96489ED560D66A5A0
|
||||
|
||||
j = 45
|
||||
MD = DA7B4F8EECD3E9148A9317272B29F20D334E106200022F22BBA18E61
|
||||
|
||||
j = 46
|
||||
MD = 901A38E9E933EE76F183C4386B049C9E408120FA62EDFE77AB5CF238
|
||||
|
||||
j = 47
|
||||
MD = AAF11C4F8A5A8DBCA756732B08C6A30F24B8FAB40C252AE36EB7F6DC
|
||||
|
||||
j = 48
|
||||
MD = 9CFAE43551AD3D43567F5568530D517A74C74C3B3C4289BC33969E22
|
||||
|
||||
j = 49
|
||||
MD = 2ED1E37E8CAF9ABF77E53C42656A5C9D016A1757CA84714AF2ED7A40
|
||||
|
||||
j = 50
|
||||
MD = E60040B5937151EF30B2D1B040081D571FE38BD12A78993054D3C8D7
|
||||
|
||||
j = 51
|
||||
MD = CD91DB9C49B5A40FCAB89DECA88C8168CA463B206402F832B780E6DF
|
||||
|
||||
j = 52
|
||||
MD = D371B3D5A12E5537DDB54F136B946E016A437514B4B5C1083DD67A61
|
||||
|
||||
j = 53
|
||||
MD = DD1F273EA6FC8F7C8203EA8BCF18FDF3F253C4BB7DBDD9FCF1947E6B
|
||||
|
||||
j = 54
|
||||
MD = 6F15F09F9FC519A479282E9EFA2D24A42DD581CA84A63D297AE8BBE3
|
||||
|
||||
j = 55
|
||||
MD = E179FFC6BB630EBC5EB2D8D6FFAA966EA1E8F8D9E14D161645706DA1
|
||||
|
||||
j = 56
|
||||
MD = 21E24E64AE3AF4C28A63C8A9C16CFB2A294A17EB008D24F8FCFA1562
|
||||
|
||||
j = 57
|
||||
MD = E9761DBB326570879409247A8B9B1789C1930EB56E0DF096E7E54B95
|
||||
|
||||
j = 58
|
||||
MD = DD398B2592BECEF1FF36C6D956A8E5499122CE838775B437FD3529E0
|
||||
|
||||
j = 59
|
||||
MD = 469328DBD20120F4D7A0F5C7D6D7761D1100949B3813A5C73617A358
|
||||
|
||||
j = 60
|
||||
MD = ED0CCB216AC70D50AC8AF0874C48EEB68FDEBFAC2A64DB87D3ACAB56
|
||||
|
||||
j = 61
|
||||
MD = 53D2C7CC1D34F02E49DEB932D57BA41A0CD2878079F3FF3464F6CD60
|
||||
|
||||
j = 62
|
||||
MD = CFFDAF2ECED7C418EC7532E1DD3DDE180F352842E26C21A52FEC67C6
|
||||
|
||||
j = 63
|
||||
MD = B11A71CF524DEAB2C7AECB9966DEC2D79855A053AC4D12C1D6AC137F
|
||||
|
||||
j = 64
|
||||
MD = 1E1D5BB9760656606BAF2C9F25F2D9729A4D54B3F20623A0CDBB87FD
|
||||
|
||||
j = 65
|
||||
MD = FE1C3AB046D688E271219878119761B415974B0B238E928BC7779B26
|
||||
|
||||
j = 66
|
||||
MD = CBB604E68CCA625FC06A1421715636EA38DCD31543049EC730740D51
|
||||
|
||||
j = 67
|
||||
MD = 17269F841B586F3145C86D90F7E7BAFC69AC02A93676DEFCEBE00081
|
||||
|
||||
j = 68
|
||||
MD = 63EAAB103227149C1FB73307F90FA04736F30C6B7AC0C786887BD34A
|
||||
|
||||
j = 69
|
||||
MD = 33A7DA9127471611CCC0DF4F3ECC8FBEF729D7269182B5B74BC4763F
|
||||
|
||||
j = 70
|
||||
MD = 8AD18E34B17E8858E1503FABFC450F65A6B94A53FC7284760434F761
|
||||
|
||||
j = 71
|
||||
MD = BFA86742495564443CC3C14DD530116E83E740D7C36188BE9A75A2FA
|
||||
|
||||
j = 72
|
||||
MD = E8BD0117035710B306E13F3D428D3CE0B8DAA6B1A5E99C139BB01D55
|
||||
|
||||
j = 73
|
||||
MD = 270B325BDF2DED6E86E105E7A4FBB36BA3CE8C355E048E8E4663572A
|
||||
|
||||
j = 74
|
||||
MD = 26B02C4F4EF9B971DB1CF25B6DD6101CD7E447A533BFB4487B2526BC
|
||||
|
||||
j = 75
|
||||
MD = 10DCF62DA968553F9931329E9C5EA1B1F278112BAB3DD0C303D0EF3F
|
||||
|
||||
j = 76
|
||||
MD = 138DD0069EACAF4906E060643E7A476F3808544620CF11DED58E9C55
|
||||
|
||||
j = 77
|
||||
MD = 65A31919125B26A788D39E093D90A632F02686CCF886234466B9A2B5
|
||||
|
||||
j = 78
|
||||
MD = 44E3B9BDDDF844E8FF4C5FBB710F5787EA74F58E715C8A12994E4574
|
||||
|
||||
j = 79
|
||||
MD = 1EC9BD9D20CDB38AD0038A1A4368D3A9BCF0A64BE3BFF35898BA2753
|
||||
|
||||
j = 80
|
||||
MD = 494CD2FE3B15DBB69E9F77675E0765184A5302542F201530F3ECE582
|
||||
|
||||
j = 81
|
||||
MD = 8658CA09D4C10F768172C15D841773B6DECAC6E58439C51124201D59
|
||||
|
||||
j = 82
|
||||
MD = B9A05FB377DFC7CBFDBFB195DE7C2223A69C770A661BFAF20D783C44
|
||||
|
||||
j = 83
|
||||
MD = 2D84AA1180DCEF3F1011F13AEDDCEC44BAD0B286A44610CEFD261926
|
||||
|
||||
j = 84
|
||||
MD = BDE87AD90AB3F5ED50C0EDFBE322D6BD509DAEEAFF68A9E0338DD649
|
||||
|
||||
j = 85
|
||||
MD = B9FE9871533E0B2FDD93B7FA80FD8A70D9BF5895BC344E676BCB4EF2
|
||||
|
||||
j = 86
|
||||
MD = E3442A7B016B816F51C8F05796D4D632113D880A80B7473057F72CC1
|
||||
|
||||
j = 87
|
||||
MD = 67208590A4F62457D150FF29284DD1B936DC64AD900ADFBE92F5D5C4
|
||||
|
||||
j = 88
|
||||
MD = 3FB888989082A5825B9D37F94A4744A43511E0FC837C370A247D0268
|
||||
|
||||
j = 89
|
||||
MD = B25654188FA44944EFF80BDBE43E289F152CFA895D15CDF997B6211C
|
||||
|
||||
j = 90
|
||||
MD = 39E8310E01637983313D59E14A4154818070AC90A7583988619E1124
|
||||
|
||||
j = 91
|
||||
MD = 9CB386E71F92BD10479B0C10A18664A5851FA678CC34B83F184FB9A6
|
||||
|
||||
j = 92
|
||||
MD = 03229F729A16B54F23E83DAB206124783566F9E6810A4AC8FB36DEA0
|
||||
|
||||
j = 93
|
||||
MD = A1E905FE4DF7E05FECADFD145F930BA389A57904B4D4DF77E009850E
|
||||
|
||||
j = 94
|
||||
MD = C9D86262724081898A822ED32BB5B016DDADFF52130497E04310D43A
|
||||
|
||||
j = 95
|
||||
MD = D9A89A4846D8B48BF9EF13C125266E989DA41159BAC752CE59E273B9
|
||||
|
||||
j = 96
|
||||
MD = 29523E07A826F98493FA81367104730BB230B31FC72EFB7E7C08F88E
|
||||
|
||||
j = 97
|
||||
MD = F4411DE78D4586E7EF3FFB26EA5D2FB9A471D612D55B85A7AB414E13
|
||||
|
||||
j = 98
|
||||
MD = BEB1480360D382D04918E3BFF843C89A35F424FCBFF4B32A4C88154E
|
||||
|
||||
j = 99
|
||||
MD = 670DE450149BDB08D16FBB007BF798C159F1CB46B5873995A6F7E420
|
|
@ -0,0 +1,305 @@
|
|||
# MonteCarlo_256.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||
|
||||
j = 0
|
||||
MD = 9C4C758485FEC69892B1D4EDA630E072199FFE6B2743D5441A3A4407056183D6
|
||||
|
||||
j = 1
|
||||
MD = 3EC6A8205F0059D79942D02E9E9D79C1DFC9590953AD3B6F97BF6EEA7E212F22
|
||||
|
||||
j = 2
|
||||
MD = C2987D001656014DDD2299BA65D04FC6268863F2BF000D5C6FCCC225DB6EEA05
|
||||
|
||||
j = 3
|
||||
MD = 4C880142B3CA4AB82088C1E146C3A5CE1DB57B977CC284B8BE16C6D57E8B4279
|
||||
|
||||
j = 4
|
||||
MD = ADB2D735FF6266509B08AAA90933CDBA7971EA5824EBDB0BC6EF3AC19F3E7405
|
||||
|
||||
j = 5
|
||||
MD = C43E8913B932E3E8FC6BAF80500C35824B1ED1FA57B46009D347C5C6A4C98A50
|
||||
|
||||
j = 6
|
||||
MD = 1F98D54F744089DA7964129C420A39D5F9BD33660BC34251D8DB8564995BC2FC
|
||||
|
||||
j = 7
|
||||
MD = 97A450ADCD4BC68A914E2164B06B74218030258243FC4990C21AA136261D53D8
|
||||
|
||||
j = 8
|
||||
MD = 2F8EDE72614250B4EA86EEA0C88B80717BE3D34DF6491FE374D2E68E1C3369E7
|
||||
|
||||
j = 9
|
||||
MD = 15B6182EE1A967DCD2B67CDA4F656C4518D570CBDA0812D23DC0E24A0DBE69F9
|
||||
|
||||
j = 10
|
||||
MD = 7B97510DE9D13E7C7B385BCBDB38059BAAF014D87104024D2A3A039343838055
|
||||
|
||||
j = 11
|
||||
MD = AA4FEF6E04387C7C8D07517753EBE2407345F1F81A21C2EE7E27CBE096A4C43B
|
||||
|
||||
j = 12
|
||||
MD = A4F6414891D9DC7BC90C79A1D6F36B68522672E62D77EBD84AE625593715DC97
|
||||
|
||||
j = 13
|
||||
MD = 542BF6F7D8B9775F55DCFC84313F736C5585AAB53295927F10F8D5592484C1F7
|
||||
|
||||
j = 14
|
||||
MD = D853F48AA3793B2D23024C0A2FA3712399D5E94EB20AE086D680E2164A19CB33
|
||||
|
||||
j = 15
|
||||
MD = EF6AC782B658BCAC94587A9F1E9C6BC8F59C214BB3C876CAF99CA5B7088908E1
|
||||
|
||||
j = 16
|
||||
MD = 43F2A1E885275BDE0A9362F85806296AACAE405CE76EE30AF6F94B24B250C1DA
|
||||
|
||||
j = 17
|
||||
MD = CACED03D38EB0830400D865F5A41A5F6F0325232053B5CA42746ADA1A36F6E7D
|
||||
|
||||
j = 18
|
||||
MD = 16528EA74263B9940F1E7355F36AEE370FE35D96502046537F72F92D80A9A0AE
|
||||
|
||||
j = 19
|
||||
MD = 3CFE8F7D104B5C7A477B59ED5AAF07D5535C2D7EBF27321B23E5EAB81BCD1D32
|
||||
|
||||
j = 20
|
||||
MD = EBA294E10F9428B6A73DC0EF2618CB9F718E641FCD11462D80C4D5F3EE2781F7
|
||||
|
||||
j = 21
|
||||
MD = 09E4A16C7A6C0EC24946665CAE44ED70A6B08A6428DEBA9380604925BAE243CF
|
||||
|
||||
j = 22
|
||||
MD = A15593972AECCB8738C7F55F9D5ACB389227E43FCE8068692D6C20F0847108DE
|
||||
|
||||
j = 23
|
||||
MD = D130FBE25747313E56D43A70773A4DA4B4938E697F06E60FA1212B4FC190667A
|
||||
|
||||
j = 24
|
||||
MD = A0105440F583C06C8FCDC02DFF119930A4516869D0E65839DA16AF29496B365E
|
||||
|
||||
j = 25
|
||||
MD = 5A9DCC29A33BCEABE600F51C7BE67953F7893EB567501AF36E29BFC379A60430
|
||||
|
||||
j = 26
|
||||
MD = 0C74527EB03D146385677A554BC38C25B8893A121F0F1452AEFF6016E28B1FA6
|
||||
|
||||
j = 27
|
||||
MD = C818D8E4FF98582F27D21E395021597B37BA16C719CF5F6D7F84A6ACBFFA2956
|
||||
|
||||
j = 28
|
||||
MD = 55F20FFD3A29D166EC787B54F259C24C1D0D5A3B24B2B0B4820F657FFD01D3F8
|
||||
|
||||
j = 29
|
||||
MD = 925A7DC4CF2F7C91E52CADE73A379D57DC8651C13DCCE8C264D55D633A9C46E2
|
||||
|
||||
j = 30
|
||||
MD = 626295CFFD1506BF4B2D667A5D668A2A3A13EB9904EF77DCB39171D43B2926AC
|
||||
|
||||
j = 31
|
||||
MD = 9C0226F5D266EB45F8B02AEC50F2D590A6E724F91019321C0EBE7D18605E5030
|
||||
|
||||
j = 32
|
||||
MD = BB6C07CEECA499D19A85B9DA39D880AFFF3BA4320EDB844BFDF1DCC1A5516B9C
|
||||
|
||||
j = 33
|
||||
MD = 8E12E345A36748F78387C80B29BF3332A4187C8E8EE07CA52FECE21522FE64E1
|
||||
|
||||
j = 34
|
||||
MD = CF70514BE86738FAE6C61705FAFCDA0240119ACE4D6183E4DB87E6AE8CE67B93
|
||||
|
||||
j = 35
|
||||
MD = 7BBCECB07950E3913234E4C422B525D702E88D42E63290CE0C576EA82B3F13B1
|
||||
|
||||
j = 36
|
||||
MD = 111DB9B4D76B31E76738AE6F4C1218355EBCE100F29D70A417B67A02C413B119
|
||||
|
||||
j = 37
|
||||
MD = 658177EF072DCE67133800360A44EEE9BC0471CBF089D3635585BDF43D20FCB9
|
||||
|
||||
j = 38
|
||||
MD = F2C08FC1C790F22F49E904A3620A04C339CA7A23989C8990F173604FF6CE5F03
|
||||
|
||||
j = 39
|
||||
MD = F0ACC2D16FE0815D80907CC1211027C7A837C7ADF321285A9073416C50A9F9E6
|
||||
|
||||
j = 40
|
||||
MD = 4731AC6C6ECB137C172AA31F358D1F83BEBE6D8F38FB94B90D8AE90E8C5CABA6
|
||||
|
||||
j = 41
|
||||
MD = C669082D64B3389A1D07E3F480803E33212B21C9E1104D1D29BB65991639EBEB
|
||||
|
||||
j = 42
|
||||
MD = 6DF3E503D4084C755E6FC77E4DB9D24836CC547F5C3AE3AC00EC16AA78DB46FC
|
||||
|
||||
j = 43
|
||||
MD = 26839DAF6BE1C50F2B372BE09A1ABB3E9840C26683089FCACA546CDF89FB61DB
|
||||
|
||||
j = 44
|
||||
MD = 397A215603653E35FFCD2FBA1659583B2B8E585C9548AD3883AEC1FD28062CCC
|
||||
|
||||
j = 45
|
||||
MD = 211844D3DCCDC056AE55624DF4C30CCBCB9FBAAD07E222BAA3557E275BDF6803
|
||||
|
||||
j = 46
|
||||
MD = 72A44E2C2780AE4CCA85693DBBC2045F8E914C245E72582380B7F727ECBD4907
|
||||
|
||||
j = 47
|
||||
MD = 9625E683A2A4A278A3D43005FD582C6E6D361E3D166C104903ED562E41EFE5C1
|
||||
|
||||
j = 48
|
||||
MD = 7484E7C341CE6EFE290462BF6E243890DBE4C3835FC4B27EE8D0BDA8CD03B8AC
|
||||
|
||||
j = 49
|
||||
MD = 69F28F9CECA7802E9ABE1B0D2349411094B413B75BDE3BCC87C9F029565AFDAC
|
||||
|
||||
j = 50
|
||||
MD = DE3C282AEACEBCF4DB54FEFDE004229F97754D51E1EE23A480F6487A4CB737C8
|
||||
|
||||
j = 51
|
||||
MD = 85D8878CBA0BA0B79E16DA8E8FFF03F2F00BCE16B1253C69F482CC87F5DB1AAF
|
||||
|
||||
j = 52
|
||||
MD = 0822EBF2D660F26DDAB7274F9BBC9D8856D016C931C1C79F38879E0C1F26070F
|
||||
|
||||
j = 53
|
||||
MD = 11401BAF8FA7F0440F6F4AD2A8AD5B2D897ACDAC84CDF968C1D50343ED71B529
|
||||
|
||||
j = 54
|
||||
MD = 944D8F826A86FC1A7873AC10F80ADABF0D8E3891E568BF57FEF75E1E8A431DCC
|
||||
|
||||
j = 55
|
||||
MD = 95ADD9FCD05B1CE169FA5BDA7360304533ED01E350B94CBEA379892AB99D8046
|
||||
|
||||
j = 56
|
||||
MD = 85F3497DEEA5891F80120C7695D450F11741E96114DF65BB8ADF7C55AE875E11
|
||||
|
||||
j = 57
|
||||
MD = 2CCA967EA50E854AD2D0B5A40F2F382A21D0BFF5629F9EB8247EF81F66FC0ADD
|
||||
|
||||
j = 58
|
||||
MD = DFCEE128E7408A0CE90D025F26A5BC70924B15800DA38ECCFB6452A75A8613D8
|
||||
|
||||
j = 59
|
||||
MD = 919A8CE7A43F6CB0D065F75754D0ABD7178363BDE4D3265B5D76EF0FA01541B2
|
||||
|
||||
j = 60
|
||||
MD = FA8E96E4241F97E10636761F392C1D1E4290CF3431C44F79F26AD2C60BF16BA4
|
||||
|
||||
j = 61
|
||||
MD = 5949A7227F2ED36C076FD10C2727EFC458B3840E9A1A2E7EC9FC4249827E841D
|
||||
|
||||
j = 62
|
||||
MD = 3B08A1A672CD9F0E194367C6388706E537501A12704EB623C48C30D1423309AE
|
||||
|
||||
j = 63
|
||||
MD = BFE5D220839B23CEBC753D74A450D2554E51BC5E98C8CB3EC8FBB0F804DAE769
|
||||
|
||||
j = 64
|
||||
MD = C75E2A0492F2E6893E42C6F8FBCA2F7CD1554C47FBF297DFAC23894DC74C75FA
|
||||
|
||||
j = 65
|
||||
MD = EA73D10A3C1DECE862098984DA7AE3C4D8C802C6279C82AF5EFB2CEBA18D47A9
|
||||
|
||||
j = 66
|
||||
MD = C3170F6679BE3DABE15079C8915A664D89DFABAB9DBDE2D279CAB47B6A58127C
|
||||
|
||||
j = 67
|
||||
MD = 46D3ED6B65F145717D1157FEDD6F003C0C21532CF1DE66F920531E5F669D3146
|
||||
|
||||
j = 68
|
||||
MD = 3FF1F9BE6BFB1C8839E7B7349BB301CD1DCFE3C126120F4ADF117D0D0D173B8B
|
||||
|
||||
j = 69
|
||||
MD = 658CF7DB5E9E3BFA113201F9994D01AAD981864858E64736831F1001D10E985E
|
||||
|
||||
j = 70
|
||||
MD = EBD5E48A67FBC2018DD7CA3C7B7DC54CB60640F2F31C2F7B7DD865C78D2B779E
|
||||
|
||||
j = 71
|
||||
MD = 6BEECFB62318273098A17462EE5BCF3E754046BE2F8B388A56E5711403FFF4AA
|
||||
|
||||
j = 72
|
||||
MD = DCDAA7AC5C220F9679FD15DE3323671A70DB0B5F74314FD90C5B0B30DE801A0C
|
||||
|
||||
j = 73
|
||||
MD = 35D000B7A1956E8003BECACA97295CCDC11B058A73518C4E6A9F2CF90F911D91
|
||||
|
||||
j = 74
|
||||
MD = 748FA83941DCDC9D7AEA74949D70DECA036E8D0339B2E36745A6C651064CD94E
|
||||
|
||||
j = 75
|
||||
MD = 2EFD60CBF68E4E296D10170DDB9ABB2063A50FD91E4B95D48A66CC9B03012BAF
|
||||
|
||||
j = 76
|
||||
MD = 34F93DBA8540A84BF090CC79E7B594C29B0DE9A46A5F41D6C1D21F4C800192EA
|
||||
|
||||
j = 77
|
||||
MD = 6CEEE2445AA2725E648F946D0F3305CC511434DCF565C20E7DD3F8B4B75AE194
|
||||
|
||||
j = 78
|
||||
MD = A881739101A1061E65C9D69A07AF3F4EEAA49F5DF7D7C3557720D22A6F37BA25
|
||||
|
||||
j = 79
|
||||
MD = A6C338338178A3586043137F8C50F104372BF00FE1B2C01C2FD461E52D854B2A
|
||||
|
||||
j = 80
|
||||
MD = CF4583804B8A42BA55347F64A9E0127F53643FC3CCD27D6CC465C7CC83577B99
|
||||
|
||||
j = 81
|
||||
MD = B098FD4BD59B79073E0AD5A10046E8EE5C0883BC4805DF58DE5D64934A67679C
|
||||
|
||||
j = 82
|
||||
MD = 5BAE3A0BDD02DA8E84B8B9D43D7AE0D13D877B088D89255BCCA70C3FE7CDFBE9
|
||||
|
||||
j = 83
|
||||
MD = 5AF28FC6FA8B9CC345B14B5F7F16174C542F7BC3082E533D2AF4BF1B8364BA7D
|
||||
|
||||
j = 84
|
||||
MD = 61117DEEF56E522B6D79C8E1E07886077379404BDD625DD085BA874AFCF0EB88
|
||||
|
||||
j = 85
|
||||
MD = F019903009C45E50551A6D9A5960D4CD712519708404BFEA41F886780FE6047E
|
||||
|
||||
j = 86
|
||||
MD = 84AC69A106266C35E4C104465817F54F9C5529A9CC775BE1A2CBDA3D09BFC0AE
|
||||
|
||||
j = 87
|
||||
MD = F4EAC7E58CD4B0DDBDA3347288070F54D01262A5C055DFAE2A035A63C41DCF71
|
||||
|
||||
j = 88
|
||||
MD = 110A058CC02C6945F3E625406EB97E313FFE1B4E49A7D46A1146F18091C1DEB2
|
||||
|
||||
j = 89
|
||||
MD = 5DF66A014680D20FF3DB7723B80290A37627867D9FBF4B4EBFC8DC35489DF512
|
||||
|
||||
j = 90
|
||||
MD = 2B7A1234970C4D13C6491835114D2CD4B46B2B6E65230B1B2563FF58DFDFD73B
|
||||
|
||||
j = 91
|
||||
MD = 89F9D1A9480DF2CFAD40EB5AF7EDF712879ED1D071A9A9AC910862397330AC66
|
||||
|
||||
j = 92
|
||||
MD = A99BA87B38FA456DCE53ACCF9ACAF8A2C22FA246EAE7D5F09482035B35FECF0B
|
||||
|
||||
j = 93
|
||||
MD = 6F7623AF78BDE9CAF58223953A3E33FBABEE5B3381EE7EF4C2E1428BE33A4F5C
|
||||
|
||||
j = 94
|
||||
MD = 3DA71C9A291224CEE7FE95289E4F606FF75778C45ECDA350312A6B7B1F92A4C4
|
||||
|
||||
j = 95
|
||||
MD = A3E099ED77E821B24909164A715EA68B6D8BB9108AE23FD3E43AFF1A0628E984
|
||||
|
||||
j = 96
|
||||
MD = 909ACCDE294C1407B9E0A178E501F6173AC8EC13688A49B82895C2C3A41BCFB2
|
||||
|
||||
j = 97
|
||||
MD = DB94DBF2999E46877947BB1C48E8479D35E1DB8135B020A2B915A0CC54405755
|
||||
|
||||
j = 98
|
||||
MD = DFDD5F9D1B93CDB9EFE4D3411EA0FF645F44A71828645C1E15B77F07774E79DD
|
||||
|
||||
j = 99
|
||||
MD = 4C9E6062EF28E9AECB40DE709CB513C25FD2CE92F89CC112AE215F7E47876918
|
|
@ -0,0 +1,305 @@
|
|||
# MonteCarlo_384.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||
|
||||
j = 0
|
||||
MD = 4996CFF2C057823D0A8E74D74E7CCE7D6A9282126995534DA9F27ACCF56093BD99DDC02701AFE7A60621809B0D484DF3
|
||||
|
||||
j = 1
|
||||
MD = FF741D03E595C08A6C4097FE74C0C71E04996DDDF5377CC341CAF8E7E646BB5D4B277ECAA0D5FB61E7809B518069AD1E
|
||||
|
||||
j = 2
|
||||
MD = E2CF6CAC6D4EBA92A61DB5A1EFBF2F4DE642A3E15E96BE2C262D5DCCDFFE032D60A62F325B68C17A7D914D1908E2FEEB
|
||||
|
||||
j = 3
|
||||
MD = 6EBB0D662B9ACAA653BDCED12414E3C1EEDE9719ABDF2579E1E595F0A5BFD3CCAD89CD49C6CA5106DE989383F512DD74
|
||||
|
||||
j = 4
|
||||
MD = 4789FB4DC23E26BD88FE3D6EF1CEEA9154D941ED8DEC1B081E2145901C4AF5DF2051A0AF6CEE35AEE4901546D29B02E2
|
||||
|
||||
j = 5
|
||||
MD = C98948FBE08D68D7A8072FC8968CB676A045CC02B6401309F05FA4F3E42C97142B7F836DAD2C0BDA316C84DDCD8BBB0D
|
||||
|
||||
j = 6
|
||||
MD = E73697F0C9DF76DBB2416CF095D8A6ED7A1515C936B13F875CCE43DA81F347572D4626592B6B521DF13E2D8B4CAA6488
|
||||
|
||||
j = 7
|
||||
MD = BA863CAD9DF303AC7F8A81C1CB575645A7C4DAC0263332ACDD73B7741346A69AE2A17B72597AD474BBA6EFE2818A5E6D
|
||||
|
||||
j = 8
|
||||
MD = 0545CE9BE1B14D3DEB51B3CB2A545DC8BB1805DC67168CC62EE2DCFD0A8EE20AA3F3BA28A8DB964E6507F8FBE3B38D6D
|
||||
|
||||
j = 9
|
||||
MD = 4AC3C4473A8D26DE31E14BB5E9526126A998D46C2FAF8A1B90E224C43A6EBDFB8DEFF913CCA5FDFDB157EE82510E8628
|
||||
|
||||
j = 10
|
||||
MD = 2C14359774C7EF8557DF955EAF4D5A73B80B60F678D6D73E6372CB5778E50693691A3059527E48C46F29FF1D7ABF35D8
|
||||
|
||||
j = 11
|
||||
MD = CE68776EF319C158ACFDC3FC426177E59A7AA37ECE171E9D778C9645E49F0F6059D8EE100E8E12CB0685F1C5E5703CFC
|
||||
|
||||
j = 12
|
||||
MD = E0DD0B68BFAA763D034653928F20A04443215B1C70C16F9045C20C1B380EF4B3A49CAC9C33F0199D2E7CEB26DF53873D
|
||||
|
||||
j = 13
|
||||
MD = 67AF368F49D951E8060DE28DE4A0EFC84D4FDEA24463572A03CA71248004D46723B568DAE9846F48620F4935359CC0AE
|
||||
|
||||
j = 14
|
||||
MD = 22197A680E1828DEE053F0FCDDABE111C972C8C4A2461B5EC3D16FC848CD806DE0DDCFB4967D22BECA4B3F8B14E23507
|
||||
|
||||
j = 15
|
||||
MD = A2F1C91DB8519371327557D0CE17AE29B901B28C6D77282287AC769E4EED52FCC397643864C839CAA68121EF72B790C3
|
||||
|
||||
j = 16
|
||||
MD = 15B426E876E099751F75D8DC0C83E8075B7BE52550739F88AAB20467D283BCBBE0D8B43CF94EFEFAD6C3B8AA927F579A
|
||||
|
||||
j = 17
|
||||
MD = 4F90676FB0B0927E422D110B92BFF15C46207FEFEEE6663EEC439A13F8A812D9D23D4EC95B20C9E85529CF27CDE4AEBE
|
||||
|
||||
j = 18
|
||||
MD = 71BFE367FFE17E914D3A1BE109B0BA09BCC48D72BB39AF042F4A29C60301C94937F389BB7468D5743A39134CBA46FBBA
|
||||
|
||||
j = 19
|
||||
MD = 11BA05115AC73C482B48C7C720D7991E0CE8BAB414B31049C8D39029BE7261DAD1662B3EFF6BEA493A610BFD0E3BE63D
|
||||
|
||||
j = 20
|
||||
MD = 2860AAAE83C172676109CBEF9182A79FE6D22E36BB870A5A93BBE37716942182CE99E3643077ACDBBFEBE9204955C428
|
||||
|
||||
j = 21
|
||||
MD = F5D2B29085037971BCAFC720BC2F353A7B963B08F833A74D81520E1CAAE28445A4458F34AB794BF1DE76737E11EAFFFB
|
||||
|
||||
j = 22
|
||||
MD = 76B612498F52EBE401723AAC6C2E3ACDC06B24647A6FEEFE6C28F095144FAC4CBB6BBAF2D714948B629D1F0F183C7A4F
|
||||
|
||||
j = 23
|
||||
MD = E923A6D651EFA31E4930BC7B6ABCFAFEB54CDA15E527E9E9C977221CAD512EB5C6796691EBC456EB78CC2F0C9D52002A
|
||||
|
||||
j = 24
|
||||
MD = 63F0F2EC90C3168E47FA2FF41B55A1DFFC93C547E791EF80428F32C2F5DDCA98C4B55B0A998FEB78496B0DBD35010D96
|
||||
|
||||
j = 25
|
||||
MD = 31CBC6116C42E6742C5B88E5BDBDCA16C705F59D79613F13446F379C760EF60132DF3E74A2CEB3C9899707843DB28CCA
|
||||
|
||||
j = 26
|
||||
MD = 5BF8932BE012B523B43164C94A3FE9D02AF07DCD704B06F7321B13A7FB622ED10F64096C5CA0AA2A8AEA6DF0EFAE7438
|
||||
|
||||
j = 27
|
||||
MD = 6A2CF9D38673CFB1FDB3A124155E4901F0C55D75233DB0FF1F80EC55525DF0DB1D99018BDF7AAB3C7FCCDD3EF4FAAF69
|
||||
|
||||
j = 28
|
||||
MD = 46D18A7355BB49CF0C90B310C26125F80D4C87589024AA05F8BFA837E9FF1EC5A7E23989226F00425FF9535D9780125D
|
||||
|
||||
j = 29
|
||||
MD = 674E3A4DEB42435BA330D02B8A20CBB33FC676D962720F75798FAF218476ABE2047633E3CBD5D5AF703FF547A089DDD2
|
||||
|
||||
j = 30
|
||||
MD = 2C8A37CA68E301047F03DF5FB0231922EDCD02681B3747B540C780BBA51C186C910B2B3D8960D4D2D72BD95EB53BFB8C
|
||||
|
||||
j = 31
|
||||
MD = 97CDB078B9E8B18122F834D9BF99D3ACC99CC3830A9B02BB400F8E073BD93C5226340481135BB3F2A21400F9990052D7
|
||||
|
||||
j = 32
|
||||
MD = 012C2BF9FE059E4CDB8CA9715C4DBF2A42A010198AF647CCDBDEC85DF370D601761160B87674B208BE3EDDA540A51E39
|
||||
|
||||
j = 33
|
||||
MD = 64C1A78CBD2EBA8F7DB3CB34BFBB68C1E49CF37605F519E15C0FB5CB98A759B79D6D231758D10FA286070CAA5A05DFDD
|
||||
|
||||
j = 34
|
||||
MD = 064CCF734DB95E3ADBD91AD280651BC454ED2B95163B8ED99B0FEF5CC76F65F4A83A0CDF0F53FDD957A988F0E9E707A4
|
||||
|
||||
j = 35
|
||||
MD = 7BDE409E53D29A8EF5356C9AA0246CCD4163147999A5CA0772B688ABDDD6B94C6C2BCE8C853D640D05EFC3CBE9D0378C
|
||||
|
||||
j = 36
|
||||
MD = E906BC7DE54D43EE36DA2417FD17FD8D48743BB1306E60A69ADDADC3035AAE8E0540A523404EA778E3A60F91DF7A62D3
|
||||
|
||||
j = 37
|
||||
MD = 8A93B60C2F55D15A58AEA65F23600A09BD2CABF791C841F6CC43766E4CBE2C86001C6B1785C355095AE54691EDEFFA48
|
||||
|
||||
j = 38
|
||||
MD = 172BE533FE895944C6A1A605F82A8F93415568AC6ADC18ABFEEBDEB635656B77451803686DDEF7879D64C98ABBB9C5B9
|
||||
|
||||
j = 39
|
||||
MD = 55E5453E9BB3DD14CAD957B4E274092E78190C24B43AB3AB9AF2E8539824EA4EAFB59470C3B1E6D1B026C0910C3824F1
|
||||
|
||||
j = 40
|
||||
MD = 9BD7EC55E4438C5FFB62776CCAE53DD4EF3FD5E6ABD4E78FF4A155E9B85F5DA5C183873CA6A0DB424BC0A7E12E45C529
|
||||
|
||||
j = 41
|
||||
MD = C37DE068DACC3069A0197974645DDDAB6517F1CE6508D90349F44B2C2E67F0DCA2426BFA6B3478086E2FDD0328DEDAF2
|
||||
|
||||
j = 42
|
||||
MD = 87B9E552766798D270A52A02DA36F2FB32F0FD869A1A8B71FD89430C265F8001E1D099C0CE8A791EC1EB158DC6BEB468
|
||||
|
||||
j = 43
|
||||
MD = B6B8F47B6299DC23BEFF837F40CA6730BA00203FF38CE6C44B98FFA64B78291DED7E1B0D90C5F1B85E68B6097A145F17
|
||||
|
||||
j = 44
|
||||
MD = 78D0006762EA641D787EB4C994DA1BEF26A489AEB98B5C999285D17CE55C6807000903574D9E64C1B770DEB32A821478
|
||||
|
||||
j = 45
|
||||
MD = CAEDC2A9075E0F4AC8973BD70AD2A285C073F1C2C2023FB110FED3AE80AA893E62862F06E203E444D58F38BFE34FD901
|
||||
|
||||
j = 46
|
||||
MD = B0D8ED314E7917135BF9DC4576ACCA72A32CBB42D71316CAC6FD7478D4FAA3E5AC57A3982A4380DA15387485B4C66F7B
|
||||
|
||||
j = 47
|
||||
MD = 753D4DFF037BAD0C803796900D7759507F71F9191BC8AFB8E028DB3D2CDA7DE9F08523177A261809F9276653541181DA
|
||||
|
||||
j = 48
|
||||
MD = 30FACEE668829E58E675D6AB942EF169C6C3D2E2BAFD96A41A189053C491774E8B1C7DC6221C1A14DE170042431B4F2D
|
||||
|
||||
j = 49
|
||||
MD = 3DB7E3E820551BA4DA1E6D6C083ED3E20387608CE4267DB2765085A6FC940C9522A76C9F869FD936E29CB56F6A2C3F03
|
||||
|
||||
j = 50
|
||||
MD = DFB36D596F516D398EB459B664F80F66F56DA3D26BFC32191CC06270E0720F0B456C32BEA11CFA9C1E5742A9CFCCBFAE
|
||||
|
||||
j = 51
|
||||
MD = 0CBDE65ABB7FF2DFBC7CA84E3DEF6F65692BC716BA6081E82B87E442059E547553EA4FD5C111B2D09CA2729C469DC84E
|
||||
|
||||
j = 52
|
||||
MD = BBECBBA2034FB6F117E859D74B3C30AC09EB3454FF086813FD84C22A195F01EE866AA8ED8CFA9C9C71821E7A64868314
|
||||
|
||||
j = 53
|
||||
MD = 70D259AC1AD517F1B2F282FBCD08EE1DDB09DA6DAB69EF05705CE7DAB4362A1A9BD7201F29DBF7CA662B161B0FE0C89E
|
||||
|
||||
j = 54
|
||||
MD = C1C1BA93AD7D321C633EA63AB2275209DE9BC02BC6092626873E504E7C6A1B1D2903A95DA77E3D4A04E5E6A7E59B9DC5
|
||||
|
||||
j = 55
|
||||
MD = 5D43D0112693EACD70359EE132D93A358ECE5B7BCDE5B081DD66CFC1CEAC093E30B1543D4E81E910E92F05FD24DCE718
|
||||
|
||||
j = 56
|
||||
MD = EA5B7C2F2180BEB00111F58186CEB5951EA664F971AD26197A58594E9A5943422F6CE983496EE5DE65292B1ECACCB61F
|
||||
|
||||
j = 57
|
||||
MD = 801697A9F30E889075234E5EEA7D2A3CFA7B79E53E44D962B7FCCCA8913797EE99698C9DEBD6C245F455711217AC7FED
|
||||
|
||||
j = 58
|
||||
MD = 9CFC357B4CB553DBB2F0E39542E0DA6066B8E9C95731C1B502947E0ECDAD1E1D06A82EA76FE8780B45C5FA0C3AF7C56B
|
||||
|
||||
j = 59
|
||||
MD = E01551853A58ECA0E5356F129D6022643A8F84B37AF71DAD4490C7B69A302322298F2B1FA263B767CA03D56BC80BA576
|
||||
|
||||
j = 60
|
||||
MD = 19D1E0B1965E8E05A9647A19EA4DD07551F3BBE6DAF60C4E07D06C2E8CF677B74563C13693FC3457350DA587F986FF1C
|
||||
|
||||
j = 61
|
||||
MD = 8B0C3BAA78C9A8FEA45E1828275A3CE2DF0B887D7538B1743120FE156FB8DF8EFD6A28DC0B68EC06785B8713938D2870
|
||||
|
||||
j = 62
|
||||
MD = 084934B0F3A9EA976E194C7BCBEC1354261777EAB1E12EC728A6D3C44C9E9A35EA1EAC1BFC6753669198CC20B4EE7207
|
||||
|
||||
j = 63
|
||||
MD = 08AF7595D2EDCFEC9F9CA7642E08178B8C4638381AED21EB149B0C72D6857340B5E51A36F266633BF4F4614C963E1C9D
|
||||
|
||||
j = 64
|
||||
MD = 2193F9382334298F758B6C6A476E124A2111B885DED61C9FBC0ECF9FC659F3AFC8562CA2AB38D5108C0D312457498550
|
||||
|
||||
j = 65
|
||||
MD = 9573A306536D42653554AECDAAED9E60F6B3CA5B9DC945885E7ABEBD7779C083DABAE2DA81E50589D9C0D0C500AA6C0E
|
||||
|
||||
j = 66
|
||||
MD = 50AA7D65A8919358EBD6BD7C2698AF88336C4BCB2590178D86E37034EE57CF67724E7064F9C9808FE6969A981BE7D133
|
||||
|
||||
j = 67
|
||||
MD = 6DE938B56063ACC245932095C4B5D5AC48EEF5230F4C187A5858606857906676E14052030DC6AAFCE7B272368D1EAF6A
|
||||
|
||||
j = 68
|
||||
MD = 447081FBEEE4123ACF0AAFC5E4F178621A6E6825385A5B56947ABC5A2CDC41A08ED82E1DCCE1DA254B9640A03E16752D
|
||||
|
||||
j = 69
|
||||
MD = 4B0779D5A5864BC18B76CBB6F238A7C6DAC65B79EF2C4D024C4229855EBD66F186990EC97D2BE7E1D77F472738C9C4C0
|
||||
|
||||
j = 70
|
||||
MD = AB0EA3F35A5F063DE5B4D75D67AF229596EB042AB474C9A8AC3CD52423A35180ADA4E182C6A7F04FA4477BD2B22A8C53
|
||||
|
||||
j = 71
|
||||
MD = 4E9717A88435D100F87CD1C6945C86D0027523DEB466AE9AF3F4EDF7ACB235DE132B3462920A3FF4C7E74377DFF40807
|
||||
|
||||
j = 72
|
||||
MD = BBE9AEC31FE81422910D5A87739DC2B2B410E46CD5B2A4046DB3BC663DA19F9D83591F6447268640C228F116933A35F7
|
||||
|
||||
j = 73
|
||||
MD = 94EF52775D8D1DE36AACF7A6C182836555F3DE3233177A411073E023387378B898E268D29E895ABF0BA89AE1AE6DA050
|
||||
|
||||
j = 74
|
||||
MD = DECB71B84D66D71D7161BECB69BEC6C5559D09D9D76903C47B4217265589476A0A85B17B5B4F751E85CBF1998A96315F
|
||||
|
||||
j = 75
|
||||
MD = 99EBE304E8E1C611BF7E22ED11A57C5D41DACDA93288AE4F82D01575B9F1B2D4C9E516B89EDB67F5F06596F371D5E33C
|
||||
|
||||
j = 76
|
||||
MD = C7F47F3D04117F9533DBEB7C0F93CD9ECF16F839AF9D087EDC45B2E13AD55FF4D5BCC42A4B6DBBCBA5228F04B3EDF302
|
||||
|
||||
j = 77
|
||||
MD = 6FBA7DF8BF3D70BACAFEFBAE50315F7E04E703644448992E22E4EF0139588395B8A4961A51B33816DA18FC0EDBD79E32
|
||||
|
||||
j = 78
|
||||
MD = D1BE7CE387178FCD10008427110BC94264879304EB84E18823AEE66BEA092F86A932B4F1D6141DCE9990CB48B72F9359
|
||||
|
||||
j = 79
|
||||
MD = A0908B09FE83E6771E16B768220AAEDBEFAF256BD3276BB7AD754924F5D8D3C71FBD2B59FBF5133044A164C6001F23FC
|
||||
|
||||
j = 80
|
||||
MD = 09FFC19B0E1999ECD1CA4282E513F0AF6CF523C0DB8DEB4B83864439B81D7A3CC2FBCE53D274B980B9F9B4D3E5707590
|
||||
|
||||
j = 81
|
||||
MD = D4540B10E52222325AA244C21D984942EC584F97CCB6639073352F037874287987A7259AFA65D6C62318BD2B85967071
|
||||
|
||||
j = 82
|
||||
MD = FE01B7DC2BA7E60F1E4AC2289630B334966771CEF6B915710597A2514C5BBA6AFDB25CDD2B02AFD8D12E21FA6F56149F
|
||||
|
||||
j = 83
|
||||
MD = 06E9C3055CE32F805342A48EB10779CBF24CC403C2E92F501673EDE31676EADBAE647DE17F4648A1D605C74AFB72CA04
|
||||
|
||||
j = 84
|
||||
MD = AAB8320FA8F9D1761324B0C65B5226529042905E21A2483D9738292C196ED9D3B510301EABC7C6735A8E3B3125DD5D5B
|
||||
|
||||
j = 85
|
||||
MD = 5B33936304C5CBC6F76DE3FDF953B65CBD832532A9E982B2D4B4446B14497BFC25ED775FFBAEA96329012AAA68B3E46B
|
||||
|
||||
j = 86
|
||||
MD = 10AA4407D366D6167890F5DEF29FB580D22CD22C41768191000E7F3C851BCA1971BEC498D398ECB850E0061218895288
|
||||
|
||||
j = 87
|
||||
MD = CD830DBE951C6247B5B6B322FC9F2F2190704146CD260F5C42C49D4CA70FB31964606D1B2D88493927D2AD6E8A476B80
|
||||
|
||||
j = 88
|
||||
MD = 331920E0CCC2BC48931C76F9D9ABA26FC6727F9AF29E312546513E59239FBD64B39D32AE48269C7ED5F33C0FF561C1ED
|
||||
|
||||
j = 89
|
||||
MD = 161F10868A6EED894CC832E8AAFF96291C1655181C385E93A410FB08E8E7C1AC7ED185CF434BB062DA0DB98EB8485E90
|
||||
|
||||
j = 90
|
||||
MD = 571D02A4986EDDDC90DA037E0AB744133B866538715BD619EEFEF8DD6A9DEF802C2244C05A5D3C2E7AA675C0E09A22CE
|
||||
|
||||
j = 91
|
||||
MD = 0114EFDA420ED806D0C5E7C29E3514D0E9816C9D2EE66A5BF893404720AF3B7B60E8B533EF407239DFFD7B9BD8F8B4AB
|
||||
|
||||
j = 92
|
||||
MD = 19BAE959B19F14ED66537ED699EF6036CB359F5D724D1191826D0EE5582A11342B485DF06671B99657DCA8BECBEF2E26
|
||||
|
||||
j = 93
|
||||
MD = DEB303750C07E2A4FAE462813518DE3A3C7154EBF3CE2F6178C51F3DD5B37E5F4033820B4D098ACC607C41674EA41CE4
|
||||
|
||||
j = 94
|
||||
MD = 78A21EE9B3352705F50C6845FD21B4E18921DB0B2FEEA7F0B55066DCF9A283E424F0DD3DA2630BD2F1DEC68EC0834995
|
||||
|
||||
j = 95
|
||||
MD = 399C3AA964DAF94E60FEE2C43400F3E428F79DA009323A55A8AACA5D7F23CCFA8303DAE08E3F84796C7724AC158904C5
|
||||
|
||||
j = 96
|
||||
MD = 3DBE0446B6FABCC89E76D417ACBA473E3DFB9CCFE3C63E60F3779718F2B9AA1AB222B0844046F6AEC1D87CA65946B474
|
||||
|
||||
j = 97
|
||||
MD = B3133532EE0C1A013220D99E1BCF2AF8ECC23DCCF08B0B0B5396AFE32E9E3D441E5706F21D2839EFAA797EF7C5C57F79
|
||||
|
||||
j = 98
|
||||
MD = D3DE2BCD6715CE41362208B54B0D85C4F987572634AE0E5364D624106692F48854D9EFDC404900DDD10A181D8AB05C3E
|
||||
|
||||
j = 99
|
||||
MD = 91DCB7FF3510F94CEE923D0934351EC225A2BB34F839F7CF56A1237E178F34032560C47CCCD75387F16D34C3B05A0C30
|
|
@ -0,0 +1,305 @@
|
|||
# MonteCarlo_512.txt
|
||||
# Algorithm Name: SHABAL
|
||||
# Principal Submitter: Saphir project represented by Jean-Francois Misarsky
|
||||
|
||||
Seed = 6CD4C0C5CB2CA2A0F1D1AECEBAC03B52E64EA03D1A1654372936545B92BBC5484A59DB74BB60F9C40CEB1A5AA35A6FAFE80349E14C253A4E8B1D77612DDD81ACE926AE8B0AF6E53176DBFFCC2A6B88C6BD765F939D3D178A9BDE9EF3AA131C61E31C1E42CDFAF4B4DCDE579A37E150EFBEF5555B4C1CB40439D835A724E2FAE7
|
||||
|
||||
j = 0
|
||||
MD = D62B21EBF2C6A41062D79461857A39EBDC8A7CD659EC218722A809154581A9BAA760F8035407BA229DD1BFC943A051BE00BA4952E81FC028957F947F62496CC1
|
||||
|
||||
j = 1
|
||||
MD = 1F1E2338FDE19C175AF3405202432AC0C3B01EAD833DC00F34AA9E0CC1BA32275513E07D5484879A642709E0082C3B121C36B4DCE8D5386A9782980C70FA6424
|
||||
|
||||
j = 2
|
||||
MD = 8B81A50A5865AD7605B5CD888BCE76E2A04D9CF17A0EFFB0E7BDAAF5C451F459C6E504920D753313E3135889611B6D656060D7D3EF3742F65261AE98482FF206
|
||||
|
||||
j = 3
|
||||
MD = 2A76894222B9F96A1A0C159FEE8DB4E8B4421747A8EC36F8D0B6D82CD5B2C271F3FDD5A44EBC664190638F724A72D89D1B51A795959FC407223534AE45A3FA37
|
||||
|
||||
j = 4
|
||||
MD = DCD65FFA129DACEA0ED4EAABCE2126D1FC17071BC6D944FCB4E8CC503320208AA3A8252544A4D88F8E7D63077C4E37B65BDD66330875FF9F8F8F8C0E8C80FC6F
|
||||
|
||||
j = 5
|
||||
MD = 4D578A7A7DE6C729A717292E4CBCB08B4144D272D246850D4C9401365F5A36D362F7AAA05C4AEC04B7E7F2905A3ED6D4B283661C6B1E614537005EE2134671C5
|
||||
|
||||
j = 6
|
||||
MD = ACC3A863C147627C8CA1DE25CC80CA831D39BBCEE615F13101763E2F52B7837C084B13F74FC3C585A85142E0261FA7E61B6C6FF5789E47022D61137C69B583C8
|
||||
|
||||
j = 7
|
||||
MD = 9E5262CD6803D339E273A96060988FF2E0AC7F5505F331D4C6D718FBC792027B2883361FFC38BC79130E91B926ED1E3F60643D65B3B56BCEE4DD3FED54AAB17F
|
||||
|
||||
j = 8
|
||||
MD = 578C45F1AE0FF10F5324497C2EC7F81563E2F24ED8EF1A4EB19E996EA15D7DC25CE90A9E077E6D9CF239447FBD26DB22782F92B0DD9F8A6DB7C36C76E73E9A89
|
||||
|
||||
j = 9
|
||||
MD = 92F17851F706E95934495905A082039413DDDB4A9C68EB21CF560C00F0F81F63D5966B25930D1D5DFD047E1579BC3CD08CB5AE2F45321AC831381D3D9235386A
|
||||
|
||||
j = 10
|
||||
MD = 80119F475FAFA161F10EF9D8CA8A397D073EB35B8F9B15F579EBE302DAF443AFBBE094182F1CC6FD2AFBD27C7A26524C053D711191E53A4A5DF5B8AF22176626
|
||||
|
||||
j = 11
|
||||
MD = 1997409026A72579155F548C2BB8FA1129067DAF4C04F60FB599A8C2F22035E3730567954AFC70CA64B2C184766C31033F54085CB090B316017D43195D887377
|
||||
|
||||
j = 12
|
||||
MD = 2570D56022F9B7EA44A74A2B1D8661B12EE98AA51C27E2EB20B8824824A20491431F7C8A228F852B1948B2AB7BC77110CB0FC4EBB5F25803B1F788782530E086
|
||||
|
||||
j = 13
|
||||
MD = 3AC36A8E0BC6ACBECFA7861E1683632F3268FB26B16BC9364C3A5EA2F9F7EE07898128229EA778693B795C9EF30BE0F9ABDE2F05218325BE0AE771C26E096038
|
||||
|
||||
j = 14
|
||||
MD = A6B51DCB6D1D930929BC71EF9B022CAEEB16B97FF727444AFF2DABE66292BF38A029EFA81EFFFA6A037F6AE51C06C44268640C26AF081B58A9F02B0EB324D819
|
||||
|
||||
j = 15
|
||||
MD = FBEAD29E032F37A0D82E7F93432963C68358133128596E815243A317FB6835CCA9D4CEC64D32964891F935FAF88F1A84130BC32663995806E75A28AC51977C3B
|
||||
|
||||
j = 16
|
||||
MD = 19294AE85034715CF94191EA3EFECA65B8CE3AB0BFFC47D64657C2B4778D6A251C8B4F455C1D72CD727F2B43D7EFA5A62C4E541CD331D5BDCB5D29184061605F
|
||||
|
||||
j = 17
|
||||
MD = E2E04526033452E4DBB39EF87AB98D65EE025B496159C4831F47F5E8F64F5B2CD8E0509029EB22B27036ABB1BD8BD037C19579A3BA6C935628C84D0E63232D9D
|
||||
|
||||
j = 18
|
||||
MD = C97437FFA09F25146B39DD9FBE4F514165761FC7E39D70DD7AE3B365CF0128008858D71D62EF293A32EA8BB682AE0FFC844EC802F4FC9C9C6F05A3D6A9E01698
|
||||
|
||||
j = 19
|
||||
MD = FC9D639FAE369E8E3E205761F2AA902E9B898840A4F493C9D25329BB83F8CAFE1063AF59F94377A4465706B3CA5B0A6E4C67A67A344D528F09530699B59D7676
|
||||
|
||||
j = 20
|
||||
MD = FEF471F23416851BE4D1DE2DAB06AF986389DDD290EAE7010564E9B24EE4EF08DD8BBE81B8C0F4EC83A5CAE463E34A467AB7B54DD5EF057EA0999F90087CF204
|
||||
|
||||
j = 21
|
||||
MD = B8AF87C48D7EFB512C6EB9A9EB3E5ACB66A5CE737115BB3BAAD3B51DACC817F10C3E6B8664479C6A243CCD847A36251F750728A2F9A10A280E7FFDDEEFE87C4E
|
||||
|
||||
j = 22
|
||||
MD = C03051C4D2ACEE31E3A3C4EDB07A7B53CDCD1AF9BE6CA36306F16C1569AD91188D1262C63549FE974916426BE2D1F39468892FE7B956A86150E2FBCB26010FAA
|
||||
|
||||
j = 23
|
||||
MD = D799640C21FAC503724A7F409B556632B19CD24A50AED1D17D0E87574DC887DBB22BA1A543C50639E52D900C71F73D4361F319D52B6A55AC8DD6BDC3E8D69AB0
|
||||
|
||||
j = 24
|
||||
MD = CB868047C994A9000FB8C86993F7673811E579505622084C28D74C1AA1563B63F751B433E50772F3634B2D7466E462F883D170051C5A54B51F10E5118034DFD2
|
||||
|
||||
j = 25
|
||||
MD = 06BF1F1347812ED4713755B4160176EEE933257527A935636B273BAB029052F83D2BC8967F0FD3EBEC1AD70F89CB8DD2B601990DD921EFD1E50911C29B08ED2B
|
||||
|
||||
j = 26
|
||||
MD = 420BCF6C61320422CEA68A8AAD650DD93B27696F598A14F35479ED558B5A5FF84579BEFB8BE6AA4EE709CF0B18C7314A9CCE21E9C879BE022EA1123706EE693F
|
||||
|
||||
j = 27
|
||||
MD = 14171D8A8EB78D73C87EC20DEC360F15C220C1E3507E132FDCBDF20BFC904F9CA96BE773E35A9816BAC68B189C2ED1A5285EF0695A5D4F60D919D301FFFBE07B
|
||||
|
||||
j = 28
|
||||
MD = 1AF3026CC0E4984C72473900AA4E2555AC8DA0C4768065F6A68DC64CA1E5E0B7F9C93E03C2AAA8AD8DB1AB8D40DAB481D917219FFF1059CE8AD42DA0F5A87A0E
|
||||
|
||||
j = 29
|
||||
MD = 81395EC85A607CE12DA6F32C451724811E6C1EB4CCC4BF9261C5F89E749EB2CC1ED52EB787EF67327ABD593FE73EF299C8F58C948EDE0DAF9EF5F6728491AF8F
|
||||
|
||||
j = 30
|
||||
MD = 3FEB13AB58ACC7B838DF88C2DB07E637495A812321705A4CF8E2B94BB4919B5AAB12EBA311F2AAD3C8AC957A76A15849499E61C9C2001F27CE3351AB2C9520B0
|
||||
|
||||
j = 31
|
||||
MD = 8A6878D32A31E67859A558B9516BCB8790786ED956A025D8D713EC152BA5AE412805AE82B1730CCB9F8E5E9C3AE1E50EB8A1622AC8FE6DCABDD342608F312AB3
|
||||
|
||||
j = 32
|
||||
MD = 4AD5D2E6361808CDF9175B565831DB740E36FCEC8C83CD01453FD9FDE183F8961AB808E267B48E51FFE3B4C42587BF22B352BB4B3BF98B6A1690099F1F3A71A5
|
||||
|
||||
j = 33
|
||||
MD = 188C5A6E681FFE12301AECD9F3C58263A50FE1FEC64CB31C28F1CC6831BDB47A5592B4B16AB3969F9FBF83C3A27050AA006F9C280732D5300D6D6A89B9BD2516
|
||||
|
||||
j = 34
|
||||
MD = 4C14B0EC524DC4C8D049F90FA67693FB03BCE7ED35C6FF323C2494B73DEDD732D008BDE7523AB5181D6764D5DE92A019D4A2E76B64CB3DF6C3AAE602BBAA7A73
|
||||
|
||||
j = 35
|
||||
MD = C26B04024E5C0A5C2CDAAEED67356601FDA52F243F0F163D1DDB0C18DF7E1FE12FFFB9EB9BF5D3FE658DDE9883250B929DFA7E8ED97D2C4F42DCC436DF2BA131
|
||||
|
||||
j = 36
|
||||
MD = A95E349894426D65B7DD1C8A55EACEBC83E168A9C955B5C0E547F92A2906871AFB2138D13EFDCBE1C3CFFD6D7F38AAD45C92DBB47E2FEDF27E9264AF55267C89
|
||||
|
||||
j = 37
|
||||
MD = EC3EFD5C7407D0323BD5AD679DBB1A0DD350C9951BF21AE53C48DF3C7275211CA38EEEAAE152643FF907C6F1BBCBEEC200FEACBF0AE222F9FAE634E3FB31862D
|
||||
|
||||
j = 38
|
||||
MD = 5899887E0E213C041B207CD0D6F86571BA469642E2D415BB3483C494BE325A40DAF3C6F6F0F74AB8755ED21EA96D08EFFBF094A1F5C1F7BAC1E7FD194E195D95
|
||||
|
||||
j = 39
|
||||
MD = 8A8663C842D5764B6C96BDE3AFBA8FE58210BC7263ECE8886EF8D5F0E39975C89F2D06A43D4DD8BD44AC0BFDB72B6CDE8B35FE99800DDBCC783B3EA019D8B41A
|
||||
|
||||
j = 40
|
||||
MD = F95F9C785C11E235B693B5989384BF9F1CA17B66B16DF6A1E8A99D2C0BEE68B92C89B79DDBAD3F081B7E31C7C432941E0ED2A4DE61897438A34D03E0A03F3FF9
|
||||
|
||||
j = 41
|
||||
MD = 59FABC2D42EFC1DFC78ED4AA6C66315405EB005309882F8139498876D1F601F5E53CE925CA16E4018ADFEF789E021594997C24D591C06E4D390FBC20D8EC4A67
|
||||
|
||||
j = 42
|
||||
MD = 290AA6CBC84905FA4218679720057123D709900447D88596699E82E58AA572AAA302817416E0C23D16D961591B691DDC075AB5D00F32D1F68EEB895F681353BD
|
||||
|
||||
j = 43
|
||||
MD = C5127476CB4067C589FE82430184833AF60566333C47E8E992FB6B7D345681CCADE9EA38AD013990AA69F7AE62A85F3F739C23F6BD495C6862BB873DA4C04EEA
|
||||
|
||||
j = 44
|
||||
MD = 770D21A5D9B582CA0AC99A1EDCC98B3F50CF73837DA130313168A50B9534AB96964AB28C921FE4A4C75FB9427A66DC415C61D0CBBE0C5F8CCF92DF3EB6ED5090
|
||||
|
||||
j = 45
|
||||
MD = 2AB46346A442175387DE7FB293E8475E96B816814827EDF39E712B3C23BFDE292CCF1B1AAC55D71E3B70E68983FF6DC508F1970CF4887454F9AB764B2043CD2F
|
||||
|
||||
j = 46
|
||||
MD = B6FE4DDF3124E5667BF44AD840CECA2DD8619121BA25C1079823CD3D3FDE3C8C592B73378A208505F840BC64B698B75C67EEF46E7E93D2ACFDA7FA0E18B07433
|
||||
|
||||
j = 47
|
||||
MD = 1AC2F156E2F3C1B695656126A0629CCD8A16D1697ECE69CF0F28BAD6D415B5788A1AA485B5579571748C077FEF6F24B51DFA5E23922FAEB7C7CCB29E26EC6DDB
|
||||
|
||||
j = 48
|
||||
MD = 768CAC5E50C0A534AD58B723F54A340F5ABB252D74BEBBEB05BE983A03F8F54A10AD298DF61DD6B64D149E9BD3C6B3381DD46DE3F8E56610A90C96625740BACE
|
||||
|
||||
j = 49
|
||||
MD = A9F510291E2AC47F311FD232B920CD66200B21A1F6C844FC1985D3E149812E5F35C1252126C653226E916E5E7F7BC9FCFE7B3AABB46872D7FEEC161B006A7F6B
|
||||
|
||||
j = 50
|
||||
MD = B29325DD2315B88856E5872793087B19B3DBC010551F8B1B877D8C841ADD7653A83A2B230031CF088C1AF956B4B830E5F901CAB1E79772E4FC5506DF9753BE0A
|
||||
|
||||
j = 51
|
||||
MD = A51196E5DCEBB417C12A93490DD15D913F993E5629250C3EA31E43E386FA8EBBC0F44ACFAFF7009B7B005D724BCB0C0F3E485523F6622450A89FD5BD53403442
|
||||
|
||||
j = 52
|
||||
MD = 8D06383556A02BA1F487BDA23DCFD398232A65CABCD89609010AF4E55A4616A4B60B12752C648F6BBD4AAC7B5A9C50A57E5BBE12B2469CE9B699E472E0827D60
|
||||
|
||||
j = 53
|
||||
MD = 2043D227C15CFBB3F881AFA5294378A95B488573365BCC3CD90114C57018762FDE3A2A361385CCE35B5F175715F4AA4C71D98FE092329905052028A7D8CF4A96
|
||||
|
||||
j = 54
|
||||
MD = DA0C6AA64D1BF37013884DC65A9E04A03C2B1014B62CF19E4C25FB99387EA67B39E128B72002780B33C2DA4DFF18C9B9C56C44AF3AB51BE4EB67CF6BF92E833D
|
||||
|
||||
j = 55
|
||||
MD = 52E84A22F4DC8AAD72E21002DE12C392131A16A265CDB1FBF71BBF0CDB6191E2C1160FDDFE0D22FAA1603A2748EDC652563EF2DD96BC4110EC48BD03395B981D
|
||||
|
||||
j = 56
|
||||
MD = 7FF3452C7B1EB31ADD78DEB4573F76330484869DCF6B45A4B8741A6A16383F620EDE9DB23BCDE40C8322034F5EB8AC36D9C8623FDB8E8291DF8C0E019AC66D31
|
||||
|
||||
j = 57
|
||||
MD = 89C6C9659255657A61C901038351C72C6B6BD27CBEFF6A8B915B13E3719245EAEC49CF60C8F5C06E6E8A491CB9B00ECC18FB507841112B93F8ACB42CB7867D43
|
||||
|
||||
j = 58
|
||||
MD = 78BF747535E0F7399B05820A1F2DAB2E2F017A0F58C84EDA0D3CD340A646D43E15B4F7B531127E4B4B235EE3B49B613CAC21F6EA8DE43EDB0DB7FBAF2DAEEFFD
|
||||
|
||||
j = 59
|
||||
MD = 6C3459409AB78D7B4F6BD7795AB1E8C1C701CA1ACB4ADE95D8F8FA9228F4250D3AA3AB47E6D114EE176C38FAD237CF9664D37D6931CCBED1A915CC8A625EB39A
|
||||
|
||||
j = 60
|
||||
MD = 284E831A9198BB8F8A6B761FDE7AEC79DA991D591DEC2F1DC19CE9FB0CC6E6094E91A0F2B228C9606D619AEF837FA1A32C3FD1287E7106DAB9A37BE7BB2FC854
|
||||
|
||||
j = 61
|
||||
MD = 8A95456B2C485BE637BB62DEEC8C5E7DACD31F4AE0FB6113D656D661E72807FBE718990C6E930C23B31AFB05EDB4DEAA3D93B615A57EBA0A5D70EDB9D882CBAB
|
||||
|
||||
j = 62
|
||||
MD = AE7DC435693E2CA5049E78F43F898610ADD3F9EDD5E07531F4652956DD7C286FCC1A820AF4F1696C7B85CA32DF807BE368E39B983F3450062B689B3FCB64795A
|
||||
|
||||
j = 63
|
||||
MD = 3F61AB1016DB69D6EB5A90FA19B3972F0DB5BC389F0E11141966DD50817ABC4F89AB8FE6D4464D86AE2B1B5896C6B483B1A35F673F7BD28DC20E88924FB4439D
|
||||
|
||||
j = 64
|
||||
MD = D678FBE4E5D17EF5EE867807919E141A9F084DA0632FF2D48835DF0BEDE3153BB6B4B143695256EF6B9460F04FDBA21D5D35AEFE06A552CE19716521857C2713
|
||||
|
||||
j = 65
|
||||
MD = CAE27D97B93A6CC5033181ECCF2A8C518876E9F12F080F5A60DCBD48EACDC1C9D1C40EACAA203C3B49132A4AC2DF4ECAD4E5AAA87CDE9938748C61FAAB1578D0
|
||||
|
||||
j = 66
|
||||
MD = 378999008BA91CB2C06DE890BE9F3DE3D0F76E36F9CE6E278FCA9C1B0FF7EA1872ADD90D895A807B79487A642AB7CB6861E5A07FD8105CFF677A65A5046A94C5
|
||||
|
||||
j = 67
|
||||
MD = DB55CEF2756B660FC1919021769A3994A82048064C0836825088A136BDC286464F6E3A9E151DDBA95E6ED2C70CAC43CE728BD1DE6CFA7B47703AC3447BB69762
|
||||
|
||||
j = 68
|
||||
MD = E8C8225AB414776FC5501630973C07B0F8445D3FD7C2810B161C41C95AC7C3B7118FB20FF1F23C30E8EB9A21EC0D64BF3C0848632D2667F37FCC1E91CE9D9D6C
|
||||
|
||||
j = 69
|
||||
MD = D475F58D463D682CF1D9A1F0C41B726F0D7C9FF409F8AB311069ABC3DEF41E374B4A5CC72A651D8C0EE786A73FD55F6701C14CE3BA568F5AC464AC7ACFB3D60F
|
||||
|
||||
j = 70
|
||||
MD = 172FF1EECBFBFD13646407CB269F77F95772372BE9FC2A7BB3668BBE405BB833B45CE36245B98EA975CCD95BB7D628BE6383B8F034223D71418E1FABA1397D3A
|
||||
|
||||
j = 71
|
||||
MD = 62C1BEDDF18FF60304A1E6D3FF2864C402A34CA350E1B45132534F43F14E4B59B60B295E14C9E494281620DA84F1BCBEAC901405AAF5BCCBCF5D394388500C47
|
||||
|
||||
j = 72
|
||||
MD = DF62AA03FE418D1DCE655C77164169B880E05A7F9FD77B48E3B22E80B5D141E0DC003354390AE5A66E72CE85D416282E0A55839526908C621993FCDF005A6177
|
||||
|
||||
j = 73
|
||||
MD = 8B0E9BE2CB7CCA932F26D79AC27953C8CC9A9C595A4FA70C7F0F751076D350228A272A53D9D2EA648C9EACD2C870A3B628D9997FEC3CCB8F18F5EF1F2970FF45
|
||||
|
||||
j = 74
|
||||
MD = 46F9D313C50F58F32EE22560D2C8F7816521DAE6D16C98D81FDCE77CEA7AFF055ED7FFBA1B9AD967B6505E4097FAF9C5C93B065F328DA82740B5E17457C4C97A
|
||||
|
||||
j = 75
|
||||
MD = B2535EB402F2CF1CCAC4D202325A2D0728D776842835FA96C9DA1FDC1F93A9174A9EA79D46D754E6160C916A505AE2DFFB33ED69B7F9401C802E78A2E2E3C787
|
||||
|
||||
j = 76
|
||||
MD = 0AE0D4AB2325338587736A9CA4AB79A2E46FDB108BCCA225B79EAA7EAF14B4A8481BDCC67887F5902C8A698A93188793062BDBCD88A06806A5E2C2B2D7F11D27
|
||||
|
||||
j = 77
|
||||
MD = 5FBB2A3470E912D93502CD8ED3B6CE25E0FEF15FF5CE6673E7007E35F8098CEC46D26DFEC63BEDF4AC78392DC7B6F4ECD5ED202DE83E8B2686E20DD2EDCBC510
|
||||
|
||||
j = 78
|
||||
MD = 50C8D1CF8945001F5D2ED3AF1EB710E002856A3E1E7B9EDFE606E2D79D52676976E95A62A736956A2154DEB9631534ACAED8CBE3CC1D4082280D4031088E7422
|
||||
|
||||
j = 79
|
||||
MD = 4334608A67EAD29E1124BE7DCDBD977ABB0077C358721D81EA79990AEDB99F609D3076952B062DFAC640BF97EB20BB049CA1B4AB21C81123B38D8C70BEE686A5
|
||||
|
||||
j = 80
|
||||
MD = E706B7655B0F013FB97AB86C4E85DFE07EBC6D786E2155BE9B48D60B32ADDD15E60014CDE5381C4C26A77CC3C87BB6F34D69E5B476117CE315361F2F6E300BE0
|
||||
|
||||
j = 81
|
||||
MD = BE916A2DDCE45E452D9511CA816E578D8509F9053576ED507CC2E34E93AB1F721CCEF6926408FE509F6E2F04CBF1F2FC83F248A865BE0D7501F2BED1E65CFA7D
|
||||
|
||||
j = 82
|
||||
MD = 5BFF3FB08DE87563A19D66F343F4072EF9B8802F842839CCF1BB6C275702EB0817CE78F927B969507AB0D0BF52297A2B4BFA2BDF2D72951DD1E9DC4974798D40
|
||||
|
||||
j = 83
|
||||
MD = B4C8F6C6682C4B684B1D823AA37664E101283780DD645DF5E34FE7E05E7F1ECB13B782F5E9BB49DE4AADC258DB96E90477AC1AC2B7C406B12CC215583C382DFC
|
||||
|
||||
j = 84
|
||||
MD = 055C55781481C24A0B711D07DE8E01C160B38F1637392F2F6C91190599783B9B3D81CFB2485C404A5C8C2B5931E7E5CF971AAD9E043AE7D2C4D87772A220843D
|
||||
|
||||
j = 85
|
||||
MD = 8CC9FFD1E02D2414E094E099075CA517399FD00B5BD9989662B585D8C13A9D5ECAFB1473CBAD8DB95531CF652F3B082F750C2DD9243FCB5162B88D88D447B2DA
|
||||
|
||||
j = 86
|
||||
MD = 84A1AEFAA11CDD92FF504CC9C9803695CF5DB33B3F7A0AEE6390C7443D3F4273D4ECF91AC0829B5B2EA1E651A51C529D18CC579CB03421F0EA2B76A1FCA59CEC
|
||||
|
||||
j = 87
|
||||
MD = 06E8308ABA40FCD460A1EB39D54D0BA9CE789B8A661AEF578180F3A93F3A7A182DDD061E80751893D5A82F23B48AAEF5CBC522ADD042CC82DC34462A2E9A6AF1
|
||||
|
||||
j = 88
|
||||
MD = A46A404220AE35639FC9A496E906DA46940692C963B674DC8344278D50716D40A666BD73CD2324AFFBC1F31B5D695B069C029F889868AE409C2FCD5C00592265
|
||||
|
||||
j = 89
|
||||
MD = 13D2876DCEAF0EB95D49D70031EFD378D8874ABCB46B051257716C4F2C8BB0BBF858A08D784B6DE36983EABFE91FF78D0740A2D2EA8C79BD0BADCAD1C91C7B7C
|
||||
|
||||
j = 90
|
||||
MD = 483099C99755C5252EF569A5FAD2CB81A153464339542923009098E68FE1A21FB68D6AD8147211988E8FB9FC3E6707185B3EB549D2692B72E72109B1E2C98B8D
|
||||
|
||||
j = 91
|
||||
MD = 1F55D0B8B9A242F6AB909C75CA310B9DABE96A16422D2C6634BE755A9B0CE0FB5DF4388474FE7EEBBB0B2F4C58387B4DDD7B80787DAB58EACB84C868B8DC449E
|
||||
|
||||
j = 92
|
||||
MD = E6D048B140C7AC6C355BE58E4CB3F2818529966216B1B26C8BC86646481DB6575AA5F5F2EF28948CFD76DC656273B7489B4664058C1B2ECCFA6BFEA35D7B9C16
|
||||
|
||||
j = 93
|
||||
MD = 601413333A8684E55C7D48E2857260B639B71AD89176DC30E1CC510F5CA2822C244D9D47D2C3727CA320018F3DB6159FAA571E91AF5A2C5E08F7E14831B48A6C
|
||||
|
||||
j = 94
|
||||
MD = 5EB307755C6AF4C0A6C6CA6DF61857BAE63E8580252FCD3D518343E3009BE7701E42BC007569126FE5AF7AADF56D8C31029E6BAD9EFF2CCFD7074A73DADDE4E6
|
||||
|
||||
j = 95
|
||||
MD = F6216C41384DA1FD7B728D3A2292EA09B14DF6110D35D0A5FCD15ABD45F3165E46098088AC264AB1CE4A6D2EE9D31B94668FC4D318671C2DC1E8D40A111C4C82
|
||||
|
||||
j = 96
|
||||
MD = 81B4F0EB9359AB13237938B46EB28028FC44A66D8E1E7231E2F337658764B38A8601FEAC9049FE71AA5448AA5B2D04A5F4F171CCD4C24958FC30137D1BB0AED4
|
||||
|
||||
j = 97
|
||||
MD = E43C6E7A6561F5E30DD385B9A15E1776DB7C8FEB9E81EF58B693264F5941EB5060673DB972AF443DCA4E2A9892A8E7A1E3EBDF3C3DDDCB320435572894AF3F63
|
||||
|
||||
j = 98
|
||||
MD = DDA976A11BFCB8F19644F27D78CF5E3AE0E5900224D61E47B101F6601EFC0FC5ABB753D68B5A1D79DCDF16E524C8F73BABE39EBA6C796937A9ED837D01AA7050
|
||||
|
||||
j = 99
|
||||
MD = 08AA6DEAC6ABC170EBC00927DEAC13EE10BADAB096142C743A4B8A2D720E2A582B80F61646D6D7AA87F1DD873BE25E48C79FD2C1BEAF31A514AAF256683DA880
|
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
24
threefish.h
24
threefish.h
|
@ -17,10 +17,13 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
* \file threefish.h
|
||||
* \author Daniel Otte
|
||||
* \email daniel.otte@rub.de
|
||||
* \date 2009-03-12
|
||||
* \license GPLv3 or later
|
||||
* \brief Implementation of the Threefish block cipher
|
||||
* \ingroup Threefish
|
||||
*/
|
||||
|
||||
#ifndef THREEFISH_H_
|
||||
|
@ -35,19 +38,34 @@
|
|||
#define THREEFISH1024_BLOCKSIZE 1024
|
||||
#define THREEFISH1024_BLOCKSIZE_B ((THREEFISH1024_BLOCKSIZE+7)/8)
|
||||
|
||||
|
||||
/** \typedef threefish256_ctx_t
|
||||
* \brief holds key data for Threefish-256
|
||||
*
|
||||
* A variable of this type may hold the key data for Threefish-256 encryption
|
||||
* or decryption..
|
||||
*/
|
||||
typedef struct{
|
||||
uint64_t k[5];
|
||||
uint64_t t[3];
|
||||
} threefish256_ctx_t;
|
||||
|
||||
|
||||
/** \typedef threefish512_ctx_t
|
||||
* \brief holds key data for Threefish-512
|
||||
*
|
||||
* A variable of this type may hold the key data for Threefish-512 encryption
|
||||
* or decryption..
|
||||
*/
|
||||
typedef struct{
|
||||
uint64_t k[9];
|
||||
uint64_t t[3];
|
||||
} threefish512_ctx_t;
|
||||
|
||||
|
||||
/** \typedef threefish1024_ctx_t
|
||||
* \brief holds key data for Threefish-1024
|
||||
*
|
||||
* A variable of this type may hold the key data for Threefish-1024 encryption
|
||||
* or decryption..
|
||||
*/
|
||||
typedef struct{
|
||||
uint64_t k[17];
|
||||
uint64_t t[3];
|
||||
|
|
Loading…
Reference in New Issue