release 0.2.14
authorWerner Koch <wk@gnupg.org>
Thu, 2 Apr 1998 10:29:52 +0000 (10:29 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 2 Apr 1998 10:29:52 +0000 (10:29 +0000)
THANKS
cipher/ChangeLog
cipher/Makefile.am
cipher/Makefile.in
cipher/elgamal.c
configure.in
doc/Makefile.am

diff --git a/THANKS b/THANKS
index 4b564dd..6a78452 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -7,6 +7,7 @@ exempt of errors.
 Anand Kumria           wildfire@progsoc.uts.edu.au
 Daniel Eisenbud        eisenbud@cs.swarthmore.edu
 Detlef Lannert         lannert@lannert.rz.uni-duesseldorf.de
+Ed Boraas              ecxjo@esperanto.org
 Ernst Molitor          ernst.molitor@uni-bonn.de
 Hendrik Buschkamp      buschkamp@rheumanet.org
 James Troup            J.J.Troup@scm.brad.ac.uk
@@ -23,6 +24,7 @@ Walter Koch           walterk@ddorf.rhein-ruhr.de
 Werner Koch            werner.koch@guug.de
 Wim Vandeputte         bunbun@reptile.rug.ac.be
 
+
 Thanks to the German Unix User Group for providing FTP space and
 Martin Hamilton for hosting the mailing list.
 
index fbd7bed..3d2bf7c 100644 (file)
@@ -1,3 +1,7 @@
+Wed Apr  1 16:38:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
+
+       * elgamla.c (elg_generate): Faster generation of x in some cases.
+
 Thu Mar 19 13:54:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
        * blowfish.c (blowfish_decode_cfb): changed XOR operation
index c0b3c8a..926d084 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-INCLUDES =  -I$(top_srcdir)/include
+INCLUDES =  -I$(top_srcdir)/include -I$(top_srcdir)/intl -I../intl
 EXTRA_DIST = @CIPHER_EXTRA_DIST@
 
 noinst_LIBRARIES = libcipher.a
index 579d4a3..981fd99 100644 (file)
@@ -92,7 +92,7 @@ VERSION = @VERSION@
 ZLIBS = @ZLIBS@
 l = @l@
 
-INCLUDES =  -I$(top_srcdir)/include
+INCLUDES =  -I$(top_srcdir)/include -I$(top_srcdir)/intl -I../intl
 EXTRA_DIST = @CIPHER_EXTRA_DIST@
 
 noinst_LIBRARIES = libcipher.a
index b211d7f..c13181d 100644 (file)
@@ -126,6 +126,7 @@ elg_generate( ELG_public_key *pk, ELG_secret_key *sk,
     MPI y;
     MPI temp;
     unsigned qbits;
+    byte *rndbuf;
 
     p_min1 = mpi_alloc( (nbits+BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB );
     temp   = mpi_alloc( (nbits+BITS_PER_MPI_LIMB-1)/BITS_PER_MPI_LIMB );
@@ -145,22 +146,33 @@ elg_generate( ELG_public_key *pk, ELG_secret_key *sk,
     /* select a random number which has these properties:
      *  0 < x < p-1
      * This must be a very good random number because this is the
-     * secret part.  The prime is public and may be shared anyware,
-     * so a random generator level of 1 has been used for the prime
+     * secret part.  The prime is public and may be shared anyway,
+     * so a random generator level of 1 is used for the prime.
      */
     x = mpi_alloc_secure( nbits/BITS_PER_MPI_LIMB );
     if( DBG_CIPHER )
        log_debug("choosing a random x ");
+    rndbuf = NULL;
     do {
-       byte *rndbuf;
        if( DBG_CIPHER )
            fputc('.', stderr);
-       rndbuf = get_random_bits( nbits, 2, 1 );
+       if( rndbuf ) { /* change only some of the higher bits */
+           if( nbits < 16 ) {/* should never happen ... */
+               m_free(rndbuf);
+               rndbuf = get_random_bits( nbits, 2, 1 );
+           }
+           else {
+               char *r = get_random_bits( 16, 2, 1 );
+               memcpy(rndbuf, r, 16 );
+               m_free(r);
+           }
+       }
+       else
+           rndbuf = get_random_bits( nbits, 2, 1 );
        mpi_set_buffer( x, rndbuf, (nbits+7)/8, 0 );
-       m_free(rndbuf);
        mpi_clear_highbit( x, nbits+1 );
-       log_mpidump("  x: ", x );
     } while( !( mpi_cmp_ui( x, 0 )>0 && mpi_cmp( x, p_min1 )<0 ) );
+    m_free(rndbuf);
 
     y = mpi_alloc(nbits/BITS_PER_MPI_LIMB);
     mpi_powm( y, g, x, p );
index ba738cf..e9bcc98 100644 (file)
@@ -99,9 +99,6 @@ dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS(unistd.h)
 
-G10_LOCALEDIR="$g10_prefix/$DATADIRNAME/locale"
-AC_SUBST(G10_LOCALEDIR)
-AC_DEFINE_UNQUOTED(G10_LOCALEDIR, "$G10_LOCALEDIR")
 
 
 dnl Checks for typedefs, structures, and compiler characteristics.
@@ -210,6 +207,9 @@ AC_SUBST(CIPHER_EXTRA_OBJS)
 AC_SUBST(CIPHER_EXTRA_DIST)
 
 AM_GNU_GETTEXT
+G10_LOCALEDIR="$g10_prefix/$DATADIRNAME/locale"
+AC_SUBST(G10_LOCALEDIR)
+AC_DEFINE_UNQUOTED(G10_LOCALEDIR, "$G10_LOCALEDIR")
 WK_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl )
 
 WK_DO_LINK_FILES
index 0c8690c..020338b 100644 (file)
@@ -11,3 +11,23 @@ man_MANS = gpg.1
                     >$@,$$$$ && mv -f $@,$$$$ $@\
                    || rm -f $@,$$$$
 
+
+
+%.txt : %.sgml
+        sgml2txt -c latin $*
+
+%.html : %.sgml
+        sgml2html -l deutsch -c latin $*
+
+%.dvi : %.sgml
+       -rm $*.sgml.tmp
+       mv $*.sgml $*.sgml.tmp
+       sed -e '/<!entity/  s/"IGNORE">/"INCLUDE">/' $*.sgml.tmp >$*.sgml
+       sgml2latex -b -l deutsch -c latin $* ; mv $*.sgml.tmp $*.sgml
+
+%.ps : %.sgml
+       -rm $*.sgml.tmp
+       mv $*.sgml $*.sgml.tmp
+       sed -e '/<!entity/  s/"IGNORE">/"INCLUDE">/' $*.sgml.tmp >$*.sgml
+       sgml2latex -b -l deutsch -c latin -o ps $* ; mv $*.sgml.tmp $*.sgml
+