X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=sha256-asm.h;fp=sha256-asm.h;h=65e4c22421bd509aa99249207e9a565f3473fb03;hb=3c995d0a8faeb9d37927d48e20fc45d839e066ea;hp=0000000000000000000000000000000000000000;hpb=a7f70b30f9c841e9d2287f8428b6263642eb0493;p=avr-crypto-lib.git diff --git a/sha256-asm.h b/sha256-asm.h new file mode 100644 index 0000000..65e4c22 --- /dev/null +++ b/sha256-asm.h @@ -0,0 +1,31 @@ +/** + * File: sha256-asm.h + * Author: Daniel Otte + * Date: 16.05.2006 + * License: GPL + * + */ + +#ifndef SHA256ASM_H_ +#define SHA256ASM_H_ + + +#define SHA256_HASH_BITS 256 +#define SHA256_BLOCK_BITS 512 + +typedef struct { + uint32_t h[8]; + uint64_t length; +} sha256_ctx_t; + +typedef uint8_t sha256_hash_t[SHA256_HASH_BITS/8]; + +void sha256_ctx2hash(sha256_hash_t *dest, sha256_ctx_t *state); +void sha256(sha256_hash_t *dest, void* msg, uint32_t length); +void sha256_init(sha256_ctx_t *state); +void sha256_nextBlock(sha256_ctx_t *state, void* block); +void sha256_lastBlock(sha256_ctx_t *state, void* block, uint16_t length); +uint32_t rotr32(uint32_t, uint8_t); +uint32_t change_endian32(uint32_t x); + +#endif /*SHA256ASM_H_*/