X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=keccak%2Fkeccak.c;h=59c845af98eb1439d4db8225c889046bf355bc55;hb=7c993b1b86afa12a6e3d27c934e6edfb9cd69485;hp=6327595ea761467fb74c9d77e77ae2b0c3cab96b;hpb=cd50f65c371296cc88b46f45a609713f96644662;p=avr-crypto-lib.git diff --git a/keccak/keccak.c b/keccak/keccak.c index 6327595..59c845a 100644 --- a/keccak/keccak.c +++ b/keccak/keccak.c @@ -47,7 +47,7 @@ void keccak_dump_state(uint64_t a[5][5]){ } } -void keccak_dump_ctx(keccak_ctx_t* ctx){ +void keccak_dump_ctx(keccak_ctx_t *ctx){ keccak_dump_state(ctx->a); cli_putstr_P(PSTR("\r\nDBG: r: ")); cli_hexdump_rev(&(ctx->r), 2); @@ -160,7 +160,7 @@ void keccak_round(uint64_t *a, uint8_t rci){ #endif } -void keccak_f1600(void* a){ +void keccak_f1600(void *a){ uint8_t i = 0; do { #if DEBUG @@ -172,13 +172,14 @@ void keccak_f1600(void* a){ } while (++i < 24); } -void keccak_nextBlock(keccak_ctx_t* ctx, const void* block){ +void keccak_nextBlock(keccak_ctx_t *ctx, const void *block){ memxor(ctx->a, block, ctx->bs); keccak_f1600(ctx->a); } -void keccak_lastBlock(keccak_ctx_t* ctx, const void* block, uint16_t length_b){ +void keccak_lastBlock(keccak_ctx_t *ctx, const void *block, uint16_t length_b){ uint8_t length_B; + uint8_t t; while(length_b >= ctx->r){ keccak_nextBlock(ctx, block); block = (uint8_t*)block + ctx->bs; @@ -189,13 +190,12 @@ void keccak_lastBlock(keccak_ctx_t* ctx, const void* block, uint16_t length_b){ /* append 1 */ if(length_b & 7){ /* we have some single bits */ - uint8_t t; t = ((uint8_t*)block)[length_B] >> (8 - (length_b & 7)); - t |= 0x01 << (length_b & 7); - ctx->a[length_B] ^= t; + t |= 0x01 << (length_b & 7);; }else{ - ctx->a[length_B] ^= 0x01; + t = 0x01; } + ctx->a[length_B] ^= t; if(length_b == ctx->r - 1){ keccak_f1600(ctx->a); } @@ -203,7 +203,7 @@ void keccak_lastBlock(keccak_ctx_t* ctx, const void* block, uint16_t length_b){ keccak_f1600(ctx->a); } -void keccak_ctx2hash(void* dest, uint16_t length_b, keccak_ctx_t* ctx){ +void keccak_ctx2hash(void *dest, uint16_t length_b, keccak_ctx_t *ctx){ while(length_b >= ctx->r){ memcpy(dest, ctx->a, ctx->bs); dest = (uint8_t*)dest + ctx->bs; @@ -213,19 +213,19 @@ void keccak_ctx2hash(void* dest, uint16_t length_b, keccak_ctx_t* ctx){ memcpy(dest, ctx->a, (length_b+7)/8); } -void keccak224_ctx2hash(void* dest, keccak_ctx_t* ctx){ +void keccak224_ctx2hash(void *dest, keccak_ctx_t *ctx){ keccak_ctx2hash(dest, 224, ctx); } -void keccak256_ctx2hash(void* dest, keccak_ctx_t* ctx){ +void keccak256_ctx2hash(void *dest, keccak_ctx_t *ctx){ keccak_ctx2hash(dest, 256, ctx); } -void keccak384_ctx2hash(void* dest, keccak_ctx_t* ctx){ +void keccak384_ctx2hash(void *dest, keccak_ctx_t *ctx){ keccak_ctx2hash(dest, 384, ctx); } -void keccak512_ctx2hash(void* dest, keccak_ctx_t* ctx){ +void keccak512_ctx2hash(void *dest, keccak_ctx_t *ctx){ keccak_ctx2hash(dest, 512, ctx); } @@ -235,24 +235,24 @@ void keccak512_ctx2hash(void* dest, keccak_ctx_t* ctx){ 3. SHA3-384: ⌊Keccak[r = 832, c = 768, d = 48]⌋384 4. SHA3-512: ⌊Keccak[r = 576, c = 1024, d = 64]⌋512 */ -void keccak_init(uint16_t r, keccak_ctx_t* ctx){ +void keccak_init(uint16_t r, keccak_ctx_t *ctx){ memset(ctx->a, 0x00, 5 * 5 * 8); ctx->r = r; ctx->bs = (uint8_t)(r / 8); } -void keccak224_init(keccak_ctx_t* ctx){ +void keccak224_init(keccak_ctx_t *ctx){ keccak_init(1152, ctx); } -void keccak256_init(keccak_ctx_t* ctx){ +void keccak256_init(keccak_ctx_t *ctx){ keccak_init(1088, ctx); } -void keccak384_init(keccak_ctx_t* ctx){ +void keccak384_init(keccak_ctx_t *ctx){ keccak_init( 832, ctx); } -void keccak512_init(keccak_ctx_t* ctx){ +void keccak512_init(keccak_ctx_t *ctx){ keccak_init( 576, ctx); }