Import changes from latest beecrypt-3.0.0.
authorjbj <devnull@localhost>
Fri, 2 May 2003 16:18:50 +0000 (16:18 +0000)
committerjbj <devnull@localhost>
Fri, 2 May 2003 16:18:50 +0000 (16:18 +0000)
CVS patchset: 6803
CVS date: 2003/05/02 16:18:50

15 files changed:
beecrypt/Makefile.am
beecrypt/acinclude.m4
beecrypt/beecrypt.h
beecrypt/blowfish.c
beecrypt/dsa.c
beecrypt/dsa.h
beecrypt/elgamal.c
beecrypt/gas/ppc.m4
beecrypt/gas/x86.m4
beecrypt/hmac.c
beecrypt/mpbarrett.h
beecrypt/mtprng.h
beecrypt/rsakp.c
beecrypt/sha1opt.h
beecrypt/sha256.c

index ac6378f..fe9d3ce 100644 (file)
@@ -39,6 +39,7 @@ LINT = splint
 SUBDIRS = docs gas masm mwerks tests
 
 SUFFIXES = .s
+
 .s.lo:
        $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
 
index 1925151..78da271 100644 (file)
@@ -391,6 +391,7 @@ AC_DEFUN(BEECRYPT_INTEL_CC,[
     ])
   if test "$bc_cv_prog_INTEL_CC" = yes; then
     if test "$ac_enable_debug" != yes; then
+      BEECRYPT_CFLAGS_REM([-g])
       CFLAGS="$CFLAGS -O3"
       case $bc_target_cpu in
       i586 | pentium | pentium-mmx)
@@ -511,7 +512,7 @@ AC_DEFUN(BEECRYPT_ASM_GSYM_PREFIX,[
       *)                 bc_cv_asm_gsym_prefix="" ;;
       esac
     ])
-  AC_SUBST(ASM_GSYM_PREFIX,$bc_cv_asm_sym_prefix)
+  AC_SUBST(ASM_GSYM_PREFIX,$bc_cv_asm_gsym_prefix)
   ])
 
 
index 86f8813..d1c46b2 100644 (file)
@@ -1,8 +1,4 @@
 /*
- * beecrypt.h
- *
- * BeeCrypt library hooks & stubs, header
- *
  * Copyright (c) 1999, 2000, 2001, 2002 Virtual Unlimited B.V.
  *
  * This library is free software; you can redistribute it and/or
  *
  */
 
+/*!\file beecrypt.h
+ * \brief BeeCrypt API, headers.
+ *
+ * These API functions provide an abstract way for using most of
+ * the various algorithms implemented by the library.
+ *
+ * \author Bob Deblier <bob.deblier@pandora.be>
+ * \ingroup ES_m PRNG_m HASH_m HMAC_m BC_m
+ */
+
+
 #ifndef _BEECRYPT_H
 #define _BEECRYPT_H
 
index 119a75a..04f7e0f 100644 (file)
@@ -19,7 +19,7 @@
 
 /*!\file blowfish.c
  * \brief Blowfish block cipher.
- * 
+ *
  * For more information on this blockcipher, see:
  * "Applied Cryptography", second edition
  *  Bruce Schneier
index f591211..ecea2a1 100644 (file)
@@ -15,9 +15,8 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
- *
  */
+
 /*!\file dsa.c
  * \brief Digital Signature Algorithm, as specified by NIST FIPS 186.
  *
index e03ffba..4a682dc 100644 (file)
@@ -22,6 +22,7 @@
  * \author Bob Deblier <bob.deblier@pandora.be>
  * \ingroup DL_m DL_dsa_m
  */
+
 #ifndef _DSA_H
 #define _DSA_H
 
index f9ebc38..f525d41 100644 (file)
@@ -22,7 +22,7 @@
  *
  * For more information on this algorithm, see:
  *  "Handbook of Applied Cryptography"
- *  11.5.2 "The ElGamal signature scheme", p. 454-459
+ *  11.5.2: "The ElGamal signature scheme", p. 454-459
  *
  * Two of the signature variants in Note 11.70 are described.
  *
index f8e9865..e22be6f 100644 (file)
@@ -18,7 +18,12 @@ dnl  You should have received a copy of the GNU Lesser General Public
 dnl  License along with this library; if not, write to the Free Software
 dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+ifelse(substr(ASM_OS,0,5),linux,`
+define(USE_NUMERIC_REGISTERS)
+')
+
 ifelse(substr(ASM_OS,0,3),aix,`
+define(USE_NUMERIC_REGISTERS)
 undefine(`C_FUNCTION_BEGIN')
 define(C_FUNCTION_BEGIN,`
        .toc
@@ -41,41 +46,7 @@ define(EXTERNAL_VARIABLE,`
 L$1:
        .tc $1[TC],$1[RW]
 ')
-
        .machine        "ppc"
-
-       .set r0,0
-       .set r1,1
-       .set r2,2
-       .set r3,3
-       .set r4,4
-       .set r5,5
-       .set r6,6
-       .set r7,7
-       .set r8,8
-       .set r9,9
-       .set r10,10
-       .set r11,11
-       .set r12,12
-       .set r13,13
-       .set r14,14
-       .set r15,15
-       .set r16,16
-       .set r17,17
-       .set r18,18
-       .set r19,19
-       .set r20,20
-       .set r21,21
-       .set r22,22
-       .set r23,23
-       .set r24,24
-       .set r25,25
-       .set r26,26
-       .set r27,27
-       .set r28,28
-       .set r29,29
-       .set r30,30
-       .set r31,31
 ',`
 define(LOAD_ADDRESS,`
        lis $2,$1@ha
@@ -83,3 +54,38 @@ define(LOAD_ADDRESS,`
 ')
 define(EXTERNAL_VARIABLE)
 ')
+
+ifdef(`USE_NUMERIC_REGISTERS',`
+define(r0,0)
+define(r1,1)
+define(r2,2)
+define(r3,3)
+define(r4,4)
+define(r5,5)
+define(r6,6)
+define(r7,7)
+define(r8,8)
+define(r9,9)
+define(r10,10)
+define(r11,11)
+define(r12,12)
+define(r13,13)
+define(r14,14)
+define(r15,15)
+define(r16,16)
+define(r17,17)
+define(r18,18)
+define(r19,19)
+define(r20,20)
+define(r21,21)
+define(r22,22)
+define(r23,23)
+define(r24,24)
+define(r25,25)
+define(r26,26)
+define(r27,27)
+define(r28,28)
+define(r29,29)
+define(r30,30)
+define(r31,31)
+')
index 131c94d..8881dc7 100644 (file)
@@ -18,6 +18,19 @@ dnl  You should have received a copy of the GNU Lesser General Public
 dnl  License along with this library; if not, write to the Free Software
 dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+ifelse(substr(ASM_ARCH,0,6),athlon,`
+define(USE_BSWAP)
+')
+ifelse(substr(ASM_ARCHi,0,7),pentium,`
+define(USE_BSWAP)
+')
+ifelse(ASM_ARCH,i586,`
+define(USE_BSWAP)
+')
+ifelse(ASM_ARCH,i686,`
+define(USE_BSWAP)
+')
 ifelse(ASM_ARCH,pentium4,`
-  define(`USE_SSE2')
+define(USE_BSWAP)
+define(USE_SSE2)
 ')
index b374643..f1711bd 100644 (file)
@@ -96,6 +96,7 @@ int hmacReset(const byte* kxi, const hashFunction* hash, hashFunctionParam* para
                return -1;
        if (hash->update(param, kxi, hash->blocksize))
                return -1;
+
        return 0;
 }
 
index e1321a4..ada85aa 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 /*!\file mpbarrett.h
- * \brief Multi-precision integer routines using Barrett modular reduction, headers.   
+ * \brief Multi-precision integer routines using Barrett modular reduction, headers.
  * \author Bob Deblier <bob.deblier@pandora.be>
  * \ingroup MP_m
  */
index 673cf5d..c778954 100644 (file)
@@ -62,10 +62,10 @@ typedef struct
        #  endif
        # endif
        #endif
-       uint32_t        state[N+1];
-       uint32_t        left;
+       uint32_t  state[N+1];
+       uint32_t  left;
 /*@kept@*/
-       uint32_t*       nextw;
+       uint32_t* nextw;
 } mtprngParam;
 
 #ifdef __cplusplus
index e846b1e..eeaaa91 100644 (file)
@@ -61,11 +61,9 @@ int rsakpMake(rsakp* kp, randomGeneratorContext* rgc, size_t nsize)
                /* if p <= q, perform a swap to make p larger than q */
                if (mple(pqsize, kp->p.modl, kp->q.modl))
                {
-                       /*@-sizeoftype@*/
                        memcpy(&r, &kp->q, sizeof(r));
                        memcpy(&kp->q, &kp->p, sizeof(kp->q));
                        memcpy(&kp->p, &r, sizeof(kp->p));
-                       /*@=sizeoftype@*/
                }
 
                mpbzero(&r);
@@ -90,19 +88,15 @@ int rsakpMake(rsakp* kp, randomGeneratorContext* rgc, size_t nsize)
                        if (mple(pqsize, kp->p.modl, r.modl))
                        {
                                mpbfree(&kp->q);
-                               /*@-sizeoftype@*/
                                memcpy(&kp->q, &kp->p, sizeof(kp->q));
                                memcpy(&kp->p, &r, sizeof(kp->p));
-                               /*@=sizeoftype@*/
                                mpbzero(&r);
                                newn = 1;
                        }
                        else if (mple(pqsize, kp->q.modl, r.modl))
                        {
                                mpbfree(&kp->q);
-                               /*@-sizeoftype@*/
                                memcpy(&kp->q, &r, sizeof(kp->q));
-                               /*@=sizeoftype@*/
                                mpbzero(&r);
                                newn = 1;
                        }
index de68f44..304dfb3 100644 (file)
@@ -38,7 +38,13 @@ extern "C" {
 # endif
 #endif
 
-#ifdef __GNUC__
+#if defined(__GNUC__)
+# if defined(OPTIMIZE_I586) || defined(OPTIMIZE_I686)
+#  define ASM_SHA1PROCESS
+# endif
+#endif
+
+#if defined(__INTEL_COMPILER)
 # if defined(OPTIMIZE_I586) || defined(OPTIMIZE_I686)
 #  define ASM_SHA1PROCESS
 # endif
index 62b2f78..bfdef23 100644 (file)
@@ -94,14 +94,16 @@ void sha256Process(register sha256Param* p)
        #else
        w = p->data;
        t = 16;
-       while (t--) {
+       while (t--)
+       {
                temp = swapu32(*w);
                *(w++) = temp;
        }
        #endif
 
        t = 48;
-       while (t--) {
+       while (t--)
+       {
                temp = sig1(w[-2]) + w[-7] + sig0(w[-15]) + w[-16];
                *(w++) = temp;
        }