]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - serpent.h
+Serpent
[avr-crypto-lib.git] / serpent.h
diff --git a/serpent.h b/serpent.h
new file mode 100644 (file)
index 0000000..e72178d
--- /dev/null
+++ b/serpent.h
@@ -0,0 +1,24 @@
+/* serpent.h
+ * a bitsliced implementation of the serpent cipher for avr microcontrollers
+ * author: Daniel Otte
+ * license: GPLv3
+ */
+
+#ifndef SERPENT_H_
+#define SERPENT_H_
+
+#include <stdint.h>
+
+typedef uint8_t serpent_subkey_t[16];
+
+typedef struct serpent_ctx_st {
+       serpent_subkey_t k[33];
+}  serpent_ctx_t;
+
+/* key must be 256bit (32 byte) large! */
+void serpent_genctx(void * key, serpent_ctx_t * ctx);
+void serpent_enc(void * buffer, serpent_ctx_t * ctx);
+void serpent_dec(void * buffer, serpent_ctx_t * ctx);
+
+
+#endif /*SERPENT_H_*/