]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - sha256-asm.h
new, derived from old avr/crypto + cast5
[avr-crypto-lib.git] / sha256-asm.h
diff --git a/sha256-asm.h b/sha256-asm.h
new file mode 100644 (file)
index 0000000..65e4c22
--- /dev/null
@@ -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_*/