X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=skein%2Fubi.h;h=b8c53e102e9ee5b3119788fcc2d6942ad0efb2c2;hb=deca11a7e7be5605c387aa2cd577e22925854ff8;hp=14718810c9515405087d45ac0c0e89f5cf773697;hpb=4f50c75ee5a6cc88bf7ea71957ed509e298e6c25;p=avr-crypto-lib.git diff --git a/skein/ubi.h b/skein/ubi.h index 1471881..b8c53e1 100644 --- a/skein/ubi.h +++ b/skein/ubi.h @@ -1,6 +1,6 @@ /* ubi.h */ /* - This file is part of the AVR-Crypto-Lib. + This file is part of the ARM-Crypto-Lib. Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de) This program is free software: you can redistribute it and/or modify @@ -49,34 +49,49 @@ typedef struct{ - uint8_t tweak[16]; + union { + uint8_t v8[16]; + uint16_t v16[8]; + uint32_t v32[4]; + uint64_t v64[2]; + } tweak; uint8_t g[32]; }ubi256_ctx_t; typedef struct{ - uint8_t tweak[16]; + union { + uint8_t v8[16]; + uint16_t v16[8]; + uint32_t v32[4]; + uint64_t v64[2]; + } tweak; uint8_t g[64]; }ubi512_ctx_t; typedef struct{ - uint8_t tweak[16]; + union { + uint8_t v8[16]; + uint16_t v16[8]; + uint32_t v32[4]; + uint64_t v64[2]; + } tweak; uint8_t g[128]; }ubi1024_ctx_t; -void ubi256_init(ubi256_ctx_t* ctx, const void* g, uint8_t type); -void ubi256_nextBlock(ubi256_ctx_t* ctx, const void* block); -void ubi256_lastBlock(ubi256_ctx_t* ctx, const void* block, uint16_t length_b); -void ubi256_ctx2hash(void* dest, const ubi256_ctx_t* ctx); +void ubi256_init(ubi256_ctx_t *ctx, const void *g, uint8_t type); +void ubi256_nextBlock(ubi256_ctx_t *ctx, const void *block); +void ubi256_lastBlock(ubi256_ctx_t *ctx, const void *block, uint16_t length_b); +void ubi256_ctx2hash(void *dest, const ubi256_ctx_t *ctx); -void ubi512_init(ubi512_ctx_t* ctx, const void* g, uint8_t type); -void ubi512_nextBlock(ubi512_ctx_t* ctx, const void* block); -void ubi512_lastBlock(ubi512_ctx_t* ctx, const void* block, uint16_t length_b); -void ubi512_ctx2hash(void* dest, const ubi512_ctx_t* ctx); +void ubi512_init(ubi512_ctx_t *ctx, const void *g, uint8_t type); +void ubi512_nextBlock(ubi512_ctx_t *ctx, const void *block); +void ubi512_lastBlock(ubi512_ctx_t *ctx, const void *block, uint16_t length_b); +void ubi512_ctx2hash(void *dest, const ubi512_ctx_t *ctx); -void ubi1024_init(ubi1024_ctx_t* ctx, const void* g, uint8_t type); -void ubi1024_nextBlock(ubi1024_ctx_t* ctx, const void* block); -void ubi1024_lastBlock(ubi1024_ctx_t* ctx, const void* block, uint16_t length_b); -void ubi1024_ctx2hash(void* dest, const ubi1024_ctx_t* ctx); +void ubi1024_init(ubi1024_ctx_t *ctx, const void *g, uint8_t type); +void ubi1024_nextBlock(ubi1024_ctx_t *ctx, const void *block); +void ubi1024_lastBlock(ubi1024_ctx_t *ctx, const void *block, uint16_t length_b); +void ubi1024_ctx2hash(void *dest, const ubi1024_ctx_t *ctx); typedef struct{ char schema[4];