summaryrefslogtreecommitdiff
path: root/include/stream/crypt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/stream/crypt.h')
-rw-r--r--include/stream/crypt.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/stream/crypt.h b/include/stream/crypt.h
new file mode 100644
index 00000000..647a1eda
--- /dev/null
+++ b/include/stream/crypt.h
@@ -0,0 +1,30 @@
+/* md5 digests */
+
+typedef struct fz_md5_s fz_md5;
+
+struct fz_md5_s
+{
+ unsigned long state[4];
+ unsigned long count[2];
+ unsigned char buffer[64];
+};
+
+void fz_md5init(fz_md5 *state);
+void fz_md5update(fz_md5 *state, unsigned char *input, unsigned inlen);
+void fz_md5final(fz_md5 *state, unsigned char digest[16]);
+
+/* arc4 crypto */
+
+typedef struct fz_arc4_s fz_arc4;
+
+struct fz_arc4_s
+{
+ unsigned x;
+ unsigned y;
+ unsigned char state[256];
+};
+
+void fz_arc4init(fz_arc4 *state, unsigned char *key, unsigned len);
+unsigned char fz_arc4next(fz_arc4 *state);
+void fz_arc4encrypt(fz_arc4 *state, unsigned char *dest, unsigned char *src, unsigned len);
+