X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=skein%2Fubi.h;h=d62838be7c9f7b0db9d5650604b1f07d06c6a157;hb=4b5da1dc27a791b5c448274a3db09cd035b33493;hp=14718810c9515405087d45ac0c0e89f5cf773697;hpb=4f50c75ee5a6cc88bf7ea71957ed509e298e6c25;p=avr-crypto-lib.git diff --git a/skein/ubi.h b/skein/ubi.h index 1471881..d62838b 100644 --- a/skein/ubi.h +++ b/skein/ubi.h @@ -1,7 +1,7 @@ /* ubi.h */ /* - This file is part of the AVR-Crypto-Lib. - Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de) + This file is part of the ARM-Crypto-Lib. + Copyright (C) 2006-2015 Daniel Otte (bg@nerilex.org) 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 @@ -18,7 +18,7 @@ */ /* * \author Daniel Otte - * \email daniel.otte@rub.de + * \email bg@nerilex.org * \date 2009-03-12 * \license GPLv3 or later * @@ -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];