Merged blowfish branch into trunk.
[become] / src / icrypt.h
index 2117814..41bbcf8 100644 (file)
@@ -1,8 +1,8 @@
 /* -*-c-*-
  *
- * $Id: icrypt.h,v 1.2 1997/08/04 10:24:22 mdw Exp $
+ * $Id: icrypt.h,v 1.3 1997/09/26 09:14:58 mdw Exp $
  *
- * Higher level IDEA encryption
+ * Higher level encryption functions
  *
  * (c) 1997 Mark Wooding
  */
 /*----- Revision history --------------------------------------------------*
  *
  * $Log: icrypt.h,v $
+ * Revision 1.3  1997/09/26 09:14:58  mdw
+ * Merged blowfish branch into trunk.
+ *
+ * Revision 1.2.2.1  1997/09/26 09:08:08  mdw
+ * Use the Blowfish encryption algorithm instead of IDEA.  This is partly
+ * because I prefer Blowfish (without any particularly strong evidence) but
+ * mainly because IDEA is patented and Blowfish isn't.
+ *
  * Revision 1.2  1997/08/04 10:24:22  mdw
  * Sources placed under CVS control.
  *
 
 #include <stddef.h>
 
-#ifndef CONFIG_H
-#  include "config.h"
+#ifndef BLOWFISH_H
+#  include "blowfish.h"
 #endif
 
-#ifndef IDEA_H
-#  include "idea.h"
+#ifndef CONFIG_H
+#  include "config.h"
 #endif
 
 /*----- Type definitions --------------------------------------------------*/
 /* --- @icrypt_job@ --- */
 
 typedef struct icrypt_job {
-  idea_key k;                          /* IDEA key for en/decrypting */
+  blowfish_key k;                      /* Key for en/decrypting */
   int i;                               /* Index into the IV buffer */
-  char iv[IDEA_BLKSIZE];               /* IV bytes for encrypting */
+  unsigned char iv[BLOWFISH_BLKSIZE];  /* IV bytes for encrypting */
 } icrypt_job;
 
 /*----- Functions provided ------------------------------------------------*/
 
-/* --- @icrypt_init@ --- *
- *
- * Arguments:  @icrypt_job *j@ = pointer to job context block
- *             @unsigned char *k@ = pointer to key data
- *             @const unsigned char *iv@ = pointer to IV
- *
- * Returns:    ---
- *
- * Use:                Primes the context block ready for encryption.
- */
-
 extern void icrypt_init(icrypt_job */*j*/,
                        unsigned char */*k*/,
+                       size_t /*sz*/,
                        const unsigned char */*iv*/);
 
 /* --- @icrypt_encrypt@ --- *
@@ -120,6 +118,7 @@ extern void icrypt_decrypt(icrypt_job */*j*/, const void */*src*/,
  * Arguments:  @icrypt_job *j@ = pointer to job context block
  *             @unsigned char *k@ = pointer to key data, or zero for
  *                     no change
+ *             @size_t sz@ = size of the key in bytes
  *             @const unsigned char *iv@ = pointer to IV, or zero
  *
  * Returns:    ---
@@ -130,6 +129,7 @@ extern void icrypt_decrypt(icrypt_job */*j*/, const void */*src*/,
 
 extern void icrypt_reset(icrypt_job */*j*/,
                         unsigned char */*k*/,
+                        size_t /*sz*/,
                         const unsigned char */*iv*/);
 
 /* --- @icrypt_saveIV@ --- *