X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=twister-small.c;h=5fb05368ce9ff7d9255d1553ad38bd06006dff6b;hb=7701e318e4e2bac7f84dbf6e368f1501814948fc;hp=68e8e827b67b96e11212e1455d5386382c943486;hpb=0076b72ccd398bf7571c5144ba36eda8a24f6c70;p=avr-crypto-lib.git diff --git a/twister-small.c b/twister-small.c index 68e8e82..5fb0536 100644 --- a/twister-small.c +++ b/twister-small.c @@ -17,7 +17,7 @@ void twister_small_init(twister_state_t* ctx, uint16_t hashsize_b){ /*********************************************************************/ -void twister_small_nextBlock(twister_state_t* ctx, void* msg){ +void twister_small_nextBlock(twister_state_t* ctx, const void* msg){ uint8_t tmp[8][8]; /* round 1 */ memcpy(tmp, ctx->s, 64); @@ -51,9 +51,9 @@ void twister_small_nextBlock(twister_state_t* ctx, void* msg){ /*********************************************************************/ -void twister_small_lastBlock(twister_state_t* ctx, void* msg, uint16_t length_b){ +void twister_small_lastBlock(twister_state_t* ctx, const void* msg, uint16_t length_b){ uint8_t tmp[64]; - while(length_b>512){ + while(length_b>=512){ twister_small_nextBlock(ctx, msg); msg = ((uint8_t*)msg)+64; length_b -= 512; @@ -63,6 +63,7 @@ void twister_small_lastBlock(twister_state_t* ctx, void* msg, uint16_t length_b) tmp[length_b/8] |= 0x80 >> (length_b&0x07); twister_small_nextBlock(ctx, tmp); ctx->length_counter_b -= 512 - length_b; + twister_mini_round(ctx, &(ctx->length_counter_b)); twister_blank_round(ctx); } @@ -84,13 +85,13 @@ void twister256_init(twister256_ctx_t* ctx){ /*********************************************************************/ -void twister256_nextBlock(twister256_ctx_t* ctx, void* msg){ +void twister256_nextBlock(twister256_ctx_t* ctx, const void* msg){ twister_small_nextBlock(ctx, msg); } /*********************************************************************/ -void twister256_lastBlock(twister256_ctx_t* ctx, void* msg, uint16_t length_b){ +void twister256_lastBlock(twister256_ctx_t* ctx, const void* msg, uint16_t length_b){ twister_small_lastBlock(ctx, msg, length_b); } @@ -102,7 +103,7 @@ void twister256_ctx2hash(void* dest, twister256_ctx_t* ctx){ /*********************************************************************/ -void twister256(void* dest, void* msg, uint32_t msg_length_b){ +void twister256(void* dest, const void* msg, uint32_t msg_length_b){ twister_state_t ctx; twister_small_init(&ctx, 256); while(msg_length_b >=512){ @@ -129,13 +130,13 @@ void twister224_init(twister224_ctx_t* ctx){ /*********************************************************************/ -void twister224_nextBlock(twister224_ctx_t* ctx, void* msg){ +void twister224_nextBlock(twister224_ctx_t* ctx, const void* msg){ twister_small_nextBlock(ctx, msg); } /*********************************************************************/ -void twister224_lastBlock(twister224_ctx_t* ctx, void* msg, uint16_t length_b){ +void twister224_lastBlock(twister224_ctx_t* ctx, const void* msg, uint16_t length_b){ twister_small_lastBlock(ctx, msg, length_b); } @@ -147,7 +148,7 @@ void twister224_ctx2hash(void* dest, twister224_ctx_t* ctx){ /*********************************************************************/ -void twister224(void* dest, void* msg, uint32_t msg_length_b){ +void twister224(void* dest, const void* msg, uint32_t msg_length_b){ twister_state_t ctx; twister_small_init(&ctx, 224); while(msg_length_b >=512){