summaryrefslogtreecommitdiff
path: root/include/fitz/stm_crypt.h
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2005-06-07 15:09:48 +0200
committerTor Andersson <tor@ghostscript.com>2005-06-07 15:09:48 +0200
commitcefd16bc7a557ccaf0bb66d504d7a8cbc9ec43d3 (patch)
treefbfc8e852b3fea2f355cee6016f9976f8304666e /include/fitz/stm_crypt.h
parent5998b49add853664ad08f57071770b5433e667be (diff)
downloadmupdf-cefd16bc7a557ccaf0bb66d504d7a8cbc9ec43d3.tar.xz
more shuffling
Diffstat (limited to 'include/fitz/stm_crypt.h')
-rw-r--r--include/fitz/stm_crypt.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/fitz/stm_crypt.h b/include/fitz/stm_crypt.h
new file mode 100644
index 00000000..15191caa
--- /dev/null
+++ b/include/fitz/stm_crypt.h
@@ -0,0 +1,39 @@
+/*
+ * Basic crypto functions.
+ * Independent of the rest of fitz.
+ * For further encapsulation in filters, or not.
+ */
+
+/* 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);
+
+/* TODO: sha1 */
+/* TODO: aes */
+