See ChangeLog: Mon Jan 24 22:24:38 CET 2000 Werner Koch
[gnupg.git] / g10 / cipher.c
index e458a80..48dde31 100644 (file)
@@ -25,9 +25,9 @@
 #include <errno.h>
 #include <assert.h>
 
+#include <gcrypt.h>
 #include "errors.h"
 #include "iobuf.h"
-#include "memory.h"
 #include "util.h"
 #include "filter.h"
 #include "packet.h"
@@ -53,8 +53,10 @@ write_header( cipher_filter_context_t *cfx, IOBUF a )
     ed.len = cfx->datalen;
     ed.new_ctb = !ed.len && !opt.rfc1991;
     if( use_mdc ) {
-       ed.mdc_method = DIGEST_ALGO_SHA1;
-       cfx->mdc_hash = gcry_md_open( DIGEST_ALGO_SHA1, 0 );
+       ed.mdc_method = GCRY_MD_SHA1;
+       cfx->mdc_hash = gcry_md_open( GCRY_MD_SHA1, 0 );
+       /*should we check the function works, or is it better to provide
+         a flag which makes the function die itself ?? FIXME */
        /*md_start_debug( cfx->mdc_hash, "mdccreat" );*/
     }
     init_packet( &pkt );
@@ -66,17 +68,16 @@ write_header( cipher_filter_context_t *cfx, IOBUF a )
     if( blocksize < 8 || blocksize > 16 )
        log_fatal("unsupported blocksize %d\n", blocksize );
     nprefix = blocksize;
-    randomize_buffer( temp, nprefix, 1 );
+    gcry_randomize( temp, nprefix, GCRY_STRONG_RANDOM );
     temp[nprefix] = temp[nprefix-2];
     temp[nprefix+1] = temp[nprefix-1];
     print_cipher_algo_note( cfx->dek->algo );
-    if( gcry_cipher_open( &cfx->cipher_hd,
-                         cfx->dek->algo,
-                         CIPHER_MODE_CFB,
-                         GCRY_CIPHER_SECURE
-                         | (cfy->dek->algo >= 100 ?
-                               0 : GCRY_CIPHER_ENABLE_SYNC) )
-                       ) {
+    if( !(cfx->cipher_hd = gcry_cipher_open( cfx->dek->algo,
+                                      GCRY_CIPHER_MODE_CFB,
+                                      GCRY_CIPHER_SECURE
+                                      | (cfx->dek->algo >= 100 ?
+                                            0 : GCRY_CIPHER_ENABLE_SYNC)))
+                                    ) {
        /* we should never get an error here cause we already checked, that
         * the algorithm is available. */
        BUG();
@@ -91,7 +92,7 @@ write_header( cipher_filter_context_t *cfx, IOBUF a )
 /*  log_hexdump( "prefix", temp, nprefix+2 ); */
     if( cfx->mdc_hash )
        gcry_md_write( cfx->mdc_hash, temp, nprefix+2 );
-    rc = cipher_encrypt( cfx->cipher_hd, temp, nprefix+2, NULL, 0 );
+    rc = gcry_cipher_encrypt( cfx->cipher_hd, temp, nprefix+2, NULL, 0 );
     if( !rc )
        rc = gcry_cipher_sync( cfx->cipher_hd );
     if( rc )