]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - crypt.h
Make rc4 encryption/decryption more explicit.
[paraslash.git] / crypt.h
diff --git a/crypt.h b/crypt.h
index 88af9e89c10e6cfe468e7c6787bfdde32bbb536c..c430406f3c269b7d23e0d05fd95a8fe01bfe2f8a 100644 (file)
--- a/crypt.h
+++ b/crypt.h
@@ -18,6 +18,19 @@ int para_decrypt_buffer(char *key_file, unsigned char *outbuf, unsigned char *in
 int get_rsa_key(char *key_file, RSA **rsa, int private);
 
 void rsa_free(RSA *rsa);
+void get_random_bytes_or_die(unsigned char *buf, int num);
+void init_random_seed_or_die(void);
+
+struct rc4_context {
+       int fd;
+       RC4_KEY recv_key;
+       RC4_KEY send_key;
+};
+int rc4_send_bin_buffer(struct rc4_context *rc4c, const char *buf, size_t len);
+int rc4_send_buffer(struct rc4_context *rc4c, const char *buf);
+__printf_2_3 int rc4_send_va_buffer(struct rc4_context *rc4c, const char *fmt, ...);
+int rc4_recv_bin_buffer(struct rc4_context *rcc, char *buf, size_t size);
+int rc4_recv_buffer(struct rc4_context *rcc, char *buf, size_t size);
 
 /** \cond used to distinguish between loading of private/public key */
 #define LOAD_PUBLIC_KEY 0