See ChangeLog: Thu Dec 10 20:15:36 CET 1998 Werner Koch
[gnupg.git] / cipher / blowfish.h
index 998bc0c..d3848aa 100644 (file)
 
 #include "types.h"
 
-#define BLOWFISH_BLOCKSIZE 8
-#define BLOWFISH_ROUNDS 16
-
-typedef struct {
-    u32 s0[256];
-    u32 s1[256];
-    u32 s2[256];
-    u32 s3[256];
-    u32 p[BLOWFISH_ROUNDS+2];
-    byte iv[BLOWFISH_BLOCKSIZE];
-    byte eniv[BLOWFISH_BLOCKSIZE];
-    int  count;
-} BLOWFISH_context;
-
-void blowfish_setkey( BLOWFISH_context *c, byte *key, unsigned keylen );
-void blowfish_setiv( BLOWFISH_context *c, byte *iv );
-void blowfish_encode( BLOWFISH_context *c, byte *outbuf, byte *inbuf,
-                                                   unsigned nblocks );
-void blowfish_decode( BLOWFISH_context *c, byte *outbuf, byte *inbuf,
-                                                   unsigned nblocks );
-void blowfish_encode_cfb( BLOWFISH_context *c, byte *outbuf,
-                                        byte *inbuf, unsigned nbytes);
-void blowfish_decode_cfb( BLOWFISH_context *c, byte *outbuf,
-                                        byte *inbuf, unsigned nbytes);
 
+const char *
+blowfish_get_info( int algo, size_t *keylen,
+                  size_t *blocksize, size_t *contextsize,
+                  int  (**setkey)( void *c, byte *key, unsigned keylen ),
+                  void (**encrypt)( void *c, byte *outbuf, byte *inbuf ),
+                  void (**decrypt)( void *c, byte *outbuf, byte *inbuf )
+                );
 
 #endif /*G10_BLOWFISH_H*/