Expunge revision histories in files.
authormdw <mdw>
Thu, 8 Apr 2004 01:36:29 +0000 (01:36 +0000)
committermdw <mdw>
Thu, 8 Apr 2004 01:36:29 +0000 (01:36 +0000)
349 files changed:
Makefile.m4
acconfig.h
arena.c
arena.h
bbs-fetch.c
bbs-gen.c
bbs-jump.c
bbs-rand.c
bbs.h
bitops.h
bittest.c
blkc.h
blowfish-mktab.c
blowfish.c
blowfish.h
buf.c
buf.h
calc/ec2.cal
calc/ecp.cal
calc/gfx-test.cal
calc/gfx.cal
cast-base.h
cast-s.c
cast-sk.c
cast-tab.h
cast128.c
cast128.h
cast256.c
cast256.h
catacomb-config.in
cbc-def.h
cbc.h
cfb-def.h
cfb.h
configure.in
counter-def.h
counter.h
crc32.c
crc32.h
daftstory.h
des-base.c
des-base.h
des-mktab.c
des.c
des.h
des3.c
des3.h
desx-tab.h
desx.c
desx.h
dh-check.c
dh-fetch.c
dh-gen.c
dh-limlee.c
dh-param.c
dh.h
dsa-check.c
dsa-gen.c
dsa-sign.c
dsa-verify.c
dsa.h
dsarand.c
dsarand.h
dsig.c
ec-bin.c
ec-exp.c
ec-exp.h
ec-fetch.c
ec-info.c
ec-keys.h
ec-prime.c
ec-raw.c
ec-raw.h
ec-test.c
ec-test.h
ec.c
ec.h
ecb-def.h
ecb.h
ectab.h
exp.c
exp.h
f-binpoly.c
f-niceprime.c
f-prime.c
factorial.c
fibrand.c
fibrand.h
field-parse.c
field.c
field.h
fipstest.c
fipstest.h
g-ec.c
g-prime.c
gcipher.h
gdsa.c
gdsa.h
gengctab
genprimes.c
gf-arith.c
gf-gcd.c
gf.h
gfn.c
gfn.h
gfreduce-exp.h
gfreduce.c
gfreduce.h
gfshare-mktab.c
gfshare.c
gfshare.h
gfx-kmul.c
gfx-sqr-mktab.c
gfx-sqr.c
gfx.c
gfx.h
ghash-def.h
ghash.h
gkcdsa.c
gkcdsa.h
gmac.h
grand.c
grand.h
group-dstr.c
group-exp.c
group-exp.h
group-file.c
group-parse.c
group-stdops.c
group-string.c
group-test.c
group.h
has160.c
has160.h
hash.h
hashsum.c
hmac-def.h
hmac.h
idea.c
idea.h
karatsuba.h
key-attr.c
key-binary.c
key-data.c
key-data.h
key-error.c
key-fetch.c
key-file.c
key-flags.c
key-io.c
key-misc.c
key-moan.c
key-pack.c
key-pass.c
key-text.c
key.1
key.h
keycheck-mp.c
keycheck-report.c
keycheck.c
keycheck.h
keyring.5
keysz.c
keyutil.c
lcrand.c
lcrand.h
limlee.c
limlee.h
lmem.c
lmem.h
manual/catacomb.tex
mars-mktab.c
mars.c
mars.h
maurer.c
maurer.h
md2-tab.h
md2.c
md2.h
md4.c
md4.h
md5.c
md5.h
mgf-def.h
mgf.h
mkphrase.c
mp-arith.c
mp-const.c
mp-gcd.c
mp-io.c
mp-jacobi.c
mp-mem.c
mp-misc.c
mp-modsqrt.c
mp-sqrt.c
mp-test.c
mp.h
mparena.c
mparena.h
mpbarrett-exp.c
mpbarrett-exp.h
mpbarrett-mexp.c
mpbarrett.c
mpbarrett.h
mpcrt.c
mpcrt.h
mpdump.c
mpint.c
mpint.h
mpmont-exp.c
mpmont-exp.h
mpmont-mexp.c
mpmont.c
mpmont.h
mpmul.c
mpmul.h
mprand.c
mprand.h
mpreduce-exp.h
mpreduce.c
mpreduce.h
mpscan.c
mpscan.h
mptext-dstr.c
mptext-file.c
mptext-len.c
mptext-string.c
mptext.c
mptext.h
mptypes.c
mpw.h
mpx-kmul.c
mpx-ksqr.c
mpx.c
mpx.h
noekeon.c
noekeon.h
noise.c
noise.h
oaep.c
oaep.h [deleted file]
ofb-def.h
ofb.h
papers/rand.tex
paranoia.h
passphrase.c
passphrase.h
pfilt.c
pfilt.h
pgen-gcd.c
pgen-safe.c
pgen-stdev.c
pgen.c
pgen.h
pixie-client.c
pixie-common.c
pixie.c
pixie.h
pkcs1.c
pkcs1.h [deleted file]
prim.c
prim.h
pss.c
pss.h [deleted file]
ptab.h
qdparse.c
qdparse.h
rabin.c
rabin.h
rand.c
rand.h
rc2-tab.h
rc2.c
rc2.h
rc4.c
rc4.h
rc5.c
rc5.h
rho.c
rho.h
rijndael-base.c
rijndael-base.h
rijndael-mktab.c
rijndael.c
rijndael.h
rijndael192.c
rijndael192.h
rijndael256.c
rijndael256.h
rmd128.c
rmd128.h
rmd160.c
rmd160.h
rmd256.c
rmd256.h
rmd320.c
rmd320.h
rsa-fetch.c
rsa-gen.c
rsa-priv.c
rsa-pub.c
rsa-recover.c
rsa-test.c [new file with mode: 0644]
rsa.h
rspit.c
safer-mktab.c
safer.c
safer.h
seal.c
seal.h
serpent-check.c
serpent-sbox.h
serpent.c
serpent.h
sha.c
sha.h
sha256.c
sha256.h
sha512.c
sha512.h
share.c
share.h
skipjack-tab.h
skipjack.c
skipjack.h
square-mktab.c
square.c
square.h
sslprf.c
sslprf.h
strongprime.c
strongprime.h
tea.c
tea.h
tests/Makefile.m4
tests/gdsa
tests/oaep [deleted file]
tests/rsa [new file with mode: 0644]
tiger-base.h
tiger-mktab.c
tiger.c
tiger.h
tlsprf.c
tlsprf.h
twofish-mktab.c
twofish.c
twofish.h
xtea.c
xtea.h

index 3f2672d..890dc8f 100644 (file)
@@ -1,6 +1,6 @@
 ## -*-m4-*-
 ##
-## $Id: Makefile.m4,v 1.79 2004/04/04 19:42:59 mdw Exp $
+## $Id: Makefile.m4,v 1.80 2004/04/08 01:36:15 mdw Exp $
 ##
 ## Makefile for Catacomb
 ##
 ## Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 ## MA 02111-1307, USA.
 
-##----- Revision history ----------------------------------------------------
-##
-## $Log: Makefile.m4,v $
-## Revision 1.79  2004/04/04 19:42:59  mdw
-## Add set -e.
-##
-## Revision 1.78  2004/04/04 19:04:11  mdw
-## Raw I/O of elliptic curve points and group elements.
-##
-## Revision 1.77  2004/04/01 21:28:41  mdw
-## Normal basis support (translates to poly basis internally).  Rewrite
-## EC and prime group table generators in awk, so that they can reuse data
-## for repeated constants.
-##
-## Revision 1.76  2004/04/01 12:59:40  mdw
-## Ooops!  qdparse needs mp headers.
-##
-## Revision 1.75  2004/04/01 12:50:09  mdw
-## Add cyclic group abstraction, with test code.  Separate off exponentation
-## functions for better static linking.  Fix a buttload of bugs on the way.
-## Generally ensure that negative exponents do inversion correctly.  Add
-## table of standard prime-field subgroups.  (Binary field subgroups are
-## currently unimplemented but easy to add if anyone ever finds a good one.)
-##
-## Revision 1.74  2004/03/28 01:58:47  mdw
-## Generate, store and retreive elliptic curve keys.
-##
-## Revision 1.73  2004/03/27 18:38:00  mdw
-## Fix distribution.
-##
-## Revision 1.72  2004/03/27 17:55:11  mdw
-## Run ec-info test.
-##
-## Revision 1.71  2004/03/27 17:54:11  mdw
-## Standard curves and curve checking.
-##
-## Revision 1.70  2004/03/27 00:04:46  mdw
-## Implement efficient reduction for pleasant-looking primes.
-##
-## Revision 1.69  2004/03/23 15:19:32  mdw
-## Test elliptic curves more thoroughly.
-##
-## Revision 1.68  2004/03/21 23:03:30  mdw
-## Distribute headers properly.
-##
-## Revision 1.67  2004/03/21 22:52:06  mdw
-## Merge and close elliptic curve branch.
-##
-##   Revision 1.60.2.2  2004/03/21 22:39:46  mdw
-##   Elliptic curves on binary fields work.
-##
-##   Revision 1.60.2.1  2003/06/10 13:43:53  mdw
-##   Simple (non-projective) curves over prime fields now seem to work.
-##
-## Revision 1.66  2004/03/21 22:43:50  mdw
-## New hash variant SHA224.
-##
-## Revision 1.65  2003/11/29 23:39:36  mdw
-## Debianization.
-##
-## Revision 1.64  2003/11/10 22:18:30  mdw
-## Build fixes.
-##
-## Revision 1.63  2003/10/17 16:30:46  mdw
-## Report errors if key files don't exist!
-##
-## Revision 1.62  2003/10/12 15:02:09  mdw
-## Reliability fixes.
-##
-## Revision 1.61  2003/10/11 21:02:33  mdw
-## Import buf stuff from tripe.
-##
-## Revision 1.60  2003/05/16 01:12:37  mdw
-## Ship `rc2-tab.h' and `skipjack-tab.h'.
-##
-## Revision 1.59  2003/05/16 00:54:50  mdw
-## Install pixie to fake root if wanted.  Ship `desx-tab.h'
-##
-## Revision 1.58  2002/10/19 17:56:50  mdw
-## Fix bit operations.  Test them (a bit) better.
-##
-## Revision 1.57  2002/10/15 22:58:29  mdw
-## Fast estimation of number representation lengths.
-##
-## Revision 1.56  2001/06/16 13:01:10  mdw
-## New source files and tests.
-##
-## Revision 1.55  2001/05/08 22:17:41  mdw
-## New cipher Noekeon added.
-##
-## Revision 1.54  2001/05/07 17:32:52  mdw
-## New Rijndael block sizes.
-##
-## Revision 1.53  2001/04/29 18:11:19  mdw
-## New block cipher MARS.
-##
-## Revision 1.52  2001/04/29 17:37:35  mdw
-## Added SAFER block cipher.
-##
-## Revision 1.51  2001/04/19 18:26:32  mdw
-## Add CRC as another hash function.
-##
-## Revision 1.50  2001/04/06 22:05:10  mdw
-## Add support for SSL pseudo-random function.
-##
-## Revision 1.49  2001/04/04 20:10:52  mdw
-## Add support for the TLS pseudo-random function.
-##
-## Revision 1.48  2001/04/03 19:36:50  mdw
-## New block cipher DESX added.
-##
-## Revision 1.47  2001/03/03 13:14:13  mdw
-## Distribute md2-tab.h
-##
-## Revision 1.46  2001/02/21 20:03:22  mdw
-## Added support for MD2 hash function.
-##
-## Revision 1.45  2001/02/03 16:09:41  mdw
-## New files added.
-##
-## Revision 1.44  2000/10/15 17:49:00  mdw
-## New SHA variants with longer outputs.
-##
-## Revision 1.43  2000/10/08 16:01:26  mdw
-## Add binary poly arithmetic.  Tidy table generation stuff.  Distribute
-## calc prototypes.
-##
-## Revision 1.42  2000/10/08 12:16:06  mdw
-## Remove vestiges of @primorial@.
-##
-## Revision 1.41  2000/08/15 21:46:20  mdw
-## Set up the dependencies on primetab.[ch] and mptypes.h properly.
-## There's some m4 hacking, but it's worth it not to have to recompile all
-## the cipher modes.
-##
-## Revision 1.40  2000/08/06 10:50:55  mdw
-## (mkphrase): New program for generating random passphrases with measured
-## strength.
-##
-## Revision 1.39  2000/07/29 21:55:32  mdw
-## Make sure the pixie is installed setuid-root (workaround for an Automake
-## bug).  Install new manpages.
-##
-## Revision 1.38  2000/07/29 10:54:55  mdw
-## Further fixing to support building using normal `make' again. ;-)  I
-## think we're there now.
-##
-## Revision 1.37  2000/07/29 10:02:36  mdw
-## Lots of fixing to support `make -j' building.
-##
-## Revision 1.36  2000/07/20 20:13:38  mdw
-## Added Bellare and Rogaway's PSS encoding for RSA signatures.
-##
-## Revision 1.35  2000/07/16 20:00:46  mdw
-## Bug fixes to distribution.
-##
-## Revision 1.34  2000/07/15 20:55:32  mdw
-## More hashes and ciphers.  An extra tool.
-##
-## Revision 1.33  2000/07/09 21:34:15  mdw
-## New hash functions and other stuff.
-##
-## Revision 1.32  2000/07/01 11:27:32  mdw
-## Name changes and new files.
-##
-## Revision 1.31  2000/06/25 13:02:07  mdw
-## Fix cleaning of generated files.
-##
-## Revision 1.30  2000/06/22 19:10:33  mdw
-## Fix Makefile to test mp-sqrt.c.
-##
-## Revision 1.29  2000/06/22 19:04:19  mdw
-## More new functions to be added.
-##
-## Revision 1.28  2000/06/18 23:31:18  mdw
-## Rearrange build order to ensure that `mptypes.h' exists by the time it's
-## needed.
-##
-## Revision 1.27  2000/06/17 13:28:50  mdw
-## Minor tidying and fixing.
-##
-## Revision 1.26  2000/06/17 10:33:43  mdw
-## Lots of new ciphers and other files.
-##
-## Revision 1.25  2000/02/12 18:55:40  mdw
-## Make it all compile properly.
-##
-## Revision 1.24  2000/02/12 18:22:26  mdw
-## Missed a file.  Whoops.
-##
-## Revision 1.23  2000/02/12 18:21:01  mdw
-## Overhaul of key management (again).
-##
-## Revision 1.22  1999/12/22 16:04:06  mdw
-## Lots of new files.
-##
-## Revision 1.21  1999/12/13 15:47:58  mdw
-## Fix a couple of minor bugs in the distribution set.
-##
-## Revision 1.19  1999/12/11 10:58:24  mdw
-## Fix bug in test rig link flags.  Add Karatsuba squaring.
-##
-## Revision 1.18  1999/12/10 23:30:01  mdw
-## Lots of new files.
-##
-## Revision 1.17  1999/11/25 11:38:31  mdw
-## Support for conversions between MPs and C integers.
-##
-## Revision 1.16  1999/11/22 20:51:33  mdw
-## Add yet more source files.
-##
-## Revision 1.15  1999/11/22 14:08:30  mdw
-## Improve dependencies for test programs.
-##
-## Revision 1.14  1999/11/22 00:17:09  mdw
-## Create object files for test programs so that rebuilding doesn't take so
-## long.
-##
-## Revision 1.12  1999/11/20 22:36:26  mdw
-## Improve dependencies.  Move mpx testing into mpx.c.
-##
-## Revision 1.11  1999/11/20 22:24:53  mdw
-## Add Diffie-Hellman support.
-##
-## Revision 1.10  1999/11/19 19:28:24  mdw
-## Add DSA files and tests.
-##
-## Revision 1.9  1999/11/17 18:05:35  mdw
-## Many new files and test cases for multiprecision arithmetic.
-##
-## Revision 1.8  1999/11/13 01:56:07  mdw
-## Include multiprecision maths stuff.
-##
-## Revision 1.7  1999/11/11 19:01:02  mdw
-## Use `libtool' to generate a shared library.
-##
-## Revision 1.6  1999/11/11 17:47:34  mdw
-## Updates for new configuration system, and `mptypes' generator.
-##
-## Revision 1.5  1999/11/11 00:59:17  mdw
-## Minor reformatting.
-##
-## Revision 1.4  1999/10/24 10:20:36  mdw
-## Modify for standalone distribution.  The library's getting far too large
-## to be sensibly embedded in other programs.
-##
-## Revision 1.3  1999/10/24 10:04:26  mdw
-## Install headers in the right directory.
-##
-## Revision 1.2  1999/10/23 12:55:35  mdw
-## The `CVS' directory can't be hardlinked.  Don't worry about this
-## overmuch.
-##
-## Revision 1.1  1999/09/03 08:41:11  mdw
-## Initial import.
-##
-
 AUTOMAKE_OPTIONS = foreign
 
 SUBDIRS = tests
@@ -373,6 +116,7 @@ ptab.c: ptab.in p-gentab.awk mpdump
 gciphertab.c: gengctab
        $(srcdir)/gengctab gccipher gcipher >gciphertab.c.new \
                "lit(join(`ciphers', `-', `cipher_modes')) \
+               lit(join(`hashes', `-', `_(mgf)')) \
                rc4 seal" 
        mv gciphertab.c.new gciphertab.c
 
@@ -383,7 +127,8 @@ gmactab.c: gengctab
 
 ghashtab.c: gengctab
        $(srcdir)/gengctab gchash ghash >ghashtab.c.new \
-               "lit(`hashes')"
+               "lit(`hashes') \
+               crc32=gcrc32"
        mv ghashtab.c.new ghashtab.c
 
 BUILT_SOURCES = \
@@ -413,7 +158,7 @@ pkginclude_HEADERS = \
        primetab.h pfilt.h rabin.h \
        pgen.h prim.h strongprime.h limlee.h keycheck.h \
        bbs.h rsa.h dh.h dsarand.h dsa.h gdsa.h gkcdsa.h \
-       oaep.h pkcs1.h pss.h tlsprf.h sslprf.h \
+       tlsprf.h sslprf.h \
        gfshare.h share.h \
        rho.h \
        field.h ec.h ec-exp.h ec-test.h ectab.h ec-keys.h ec-raw.h \
@@ -564,7 +309,8 @@ man_MANS = key.1 hashsum.1 keyring.5 pixie.1
 ## --- Other handy definitions ---
 
 EXTRA_DIST = \
-       Makefile.m4 genmodes gengctab $(man_MANS) xpixie group-test.c \
+       Makefile.m4 genmodes gengctab $(man_MANS) xpixie \
+       group-test.c rsa-test.c \
        ectab.in ec-gentab.awk ptab.in p-gentab.awk \
        README.cipher README.hash README.random README.mp \
        debian/rules debian/copyright debian/control debian/changelog \
@@ -606,7 +352,6 @@ adorn(`nl`'CTESTRIG(', `hashes', `)')
 adorn(`nl`'CTESTRIG(', join(`ciphers', `-', `cipher_modes'), `)')
 adorn(`nl`'CTESTRIG(', join(`hashes', `-', `hash_modes'), `)')
 CTESTRIG(lcrand)
-CTESTRIG(oaep)
 CTESTRIG(tlsprf)
 CTESTRIG(sslprf)
 CTESTRIG(mpx)
@@ -628,6 +373,7 @@ CTESTRIG(mpmont-mexp)
 CTESTRIG(mpreduce)
 CTESTRIG(mpcrt)
 CTESTRIG(mpmul)
+CTESTRIG(rsa-test)
 CTESTRIG(gfx)
 CTESTRIG(gfx-sqr)
 CTESTRIG(gfx-kmul)
index a9f3737..5ad9adc 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: acconfig.h,v 1.3 2000/06/17 12:57:46 mdw Exp $
+ * $Id: acconfig.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Configuration header for Catacomb
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: acconfig.h,v $
- * Revision 1.3  2000/06/17 12:57:46  mdw
- * New free counter noise generator, for use if /dev/random is
- * unavailable.
- *
- * Revision 1.2  1999/12/10 23:30:08  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_ACCONFIG_H
 #define CATACOMB_ACCONFIG_H
 
diff --git a/arena.c b/arena.c
index 947a8a2..f4c94d8 100644 (file)
--- a/arena.c
+++ b/arena.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: arena.c,v 1.1 2000/06/17 10:40:10 mdw Exp $
+ * $Id: arena.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Abstraction for memory allocation arenas
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: arena.c,v $
- * Revision 1.1  2000/06/17 10:40:10  mdw
- * Support for secure memory arenas.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/arena.h>
diff --git a/arena.h b/arena.h
index ae1bf2a..08d004e 100644 (file)
--- a/arena.h
+++ b/arena.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: arena.h,v 1.1 2000/06/17 10:40:10 mdw Exp $
+ * $Id: arena.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Abstraction for memory allocation arenas
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: arena.h,v $
- * Revision 1.1  2000/06/17 10:40:10  mdw
- * Support for secure memory arenas.
- *
- */
-
 #ifndef CATACOMB_ARENA_H
 #define CATACOMB_ARENA_H
 
index e0597a0..20eee08 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bbs-fetch.c,v 1.2 2000/07/01 11:19:22 mdw Exp $
+ * $Id: bbs-fetch.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Key fetching for BBS public and private keys
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bbs-fetch.c,v $
- * Revision 1.2  2000/07/01 11:19:22  mdw
- * New functions for freeing public and private keys.
- *
- * Revision 1.1  2000/06/17 10:41:45  mdw
- * Table for driving key data extraction.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "bbs.h"
index c90ee40..9afa245 100644 (file)
--- a/bbs-gen.c
+++ b/bbs-gen.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bbs-gen.c,v 1.5 2000/07/01 11:20:36 mdw Exp $
+ * $Id: bbs-gen.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate Blum integers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bbs-gen.c,v $
- * Revision 1.5  2000/07/01 11:20:36  mdw
- * Remove bad type name `bbs_param'.
- *
- * Revision 1.4  2000/06/17 10:43:57  mdw
- * Move GCD filter to separate file.  Handle failures from pgen_jump.
- *
- * Revision 1.3  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.2  1999/12/22 15:52:28  mdw
- * Reworking for new prime-search system.
- *
- * Revision 1.1  1999/12/10 23:14:59  mdw
- * Blum-Blum-Shub generator, and Blum-Goldwasser encryption.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index 428915d..135d048 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bbs-jump.c,v 1.4 2000/07/01 11:20:36 mdw Exp $
+ * $Id: bbs-jump.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Jumping around a BBS sequence
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bbs-jump.c,v $
- * Revision 1.4  2000/07/01 11:20:36  mdw
- * Remove bad type name `bbs_param'.
- *
- * Revision 1.3  2000/06/17 10:44:17  mdw
- * Typesetting fix.
- *
- * Revision 1.2  1999/12/22 15:52:08  mdw
- * Rename `bbs_params' to `bbs_param' for consistency.
- *
- * Revision 1.1  1999/12/10 23:14:59  mdw
- * Blum-Blum-Shub generator, and Blum-Goldwasser encryption.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "bbs.h"
index abe1e72..3d2563a 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bbs-rand.c,v 1.4 2001/02/03 12:00:29 mdw Exp $
+ * $Id: bbs-rand.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Blum-Blum-Shub secure random number generator
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bbs-rand.c,v $
- * Revision 1.4  2001/02/03 12:00:29  mdw
- * Now @mp_drop@ checks its argument is non-NULL before attempting to free
- * it.  Note that the macro version @MP_DROP@ doesn't do this.
- *
- * Revision 1.3  2000/06/17 10:45:21  mdw
- * Typesetting fixes.  Advertise random number generator strength.  Use
- * secure arena for memory allocation.
- *
- * Revision 1.2  1999/12/13 15:34:01  mdw
- * Add support for seeding from a generic pseudorandom source.
- *
- * Revision 1.1  1999/12/10 23:14:59  mdw
- * Blum-Blum-Shub generator, and Blum-Goldwasser encryption.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
diff --git a/bbs.h b/bbs.h
index b83b87f..7c9cbda 100644 (file)
--- a/bbs.h
+++ b/bbs.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bbs.h,v 1.6 2001/02/03 16:07:33 mdw Exp $
+ * $Id: bbs.h,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * The Blum-Blum-Shub random bit generator
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bbs.h,v $
- * Revision 1.6  2001/02/03 16:07:33  mdw
- * Give generic random objects separate namespaces for their supported misc
- * ops.
- *
- * Revision 1.5  2000/07/01 11:20:24  mdw
- * New functions for freeing public and private keys.  Remove bad type name
- * `bbs_param'.
- *
- * Revision 1.4  2000/06/17 10:45:48  mdw
- * Minor changes for key fetching.  Typesetting fixes.
- *
- * Revision 1.3  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.2  1999/12/22 15:52:08  mdw
- * Rename `bbs_params' to `bbs_param' for consistency.
- *
- * Revision 1.1  1999/12/10 23:14:59  mdw
- * Blum-Blum-Shub generator, and Blum-Goldwasser encryption.
- *
- */
-
 /*----- Notes on the BBS generator ----------------------------------------*
  *
  * The Blum-Blum-Shub generator takes the least significant bits from the
index 5b91ce3..f6668bc 100644 (file)
--- a/bitops.h
+++ b/bitops.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bitops.h,v 1.1 2002/10/19 17:56:50 mdw Exp $
+ * $Id: bitops.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Bit operations by truth table
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bitops.h,v $
- * Revision 1.1  2002/10/19 17:56:50  mdw
- * Fix bit operations.  Test them (a bit) better.
- *
- */
-
 #ifndef CATACOMB_BITOPS_H
 #define CATACOMB_BITOPS_H
 
index 54bc6d5..b246d7a 100644 (file)
--- a/bittest.c
+++ b/bittest.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bittest.c,v 1.1 2002/10/19 17:56:50 mdw Exp $
+ * $Id: bittest.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Check the bit operations work
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bittest.c,v $
- * Revision 1.1  2002/10/19 17:56:50  mdw
- * Fix bit operations.  Test them (a bit) better.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
diff --git a/blkc.h b/blkc.h
index 5a7d3ec..dfbd4f7 100644 (file)
--- a/blkc.h
+++ b/blkc.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: blkc.h,v 1.6 2004/04/02 01:03:49 mdw Exp $
+ * $Id: blkc.h,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Common definitions for block ciphers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: blkc.h,v $
- * Revision 1.6  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.5  2001/05/07 17:28:42  mdw
- * Support block ciphers with larger blocks.
- *
- * Revision 1.4  2001/04/29 17:39:15  mdw
- * Removed `-sched' tests.  Reorganized so that we can theoretically have
- * multiple tests in the same file.  (This isn't so useful in production,
- * but it's handy when doing test builds.)
- *
- * Revision 1.3  2000/06/17 10:47:06  mdw
- * Slight support for 96-bit ciphers.  Support for counter-mode ciphers.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_BLKC_H
 #define CATACOMB_BLKC_H
 
index 763703a..37a9b53 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: blowfish-mktab.c,v 1.2 2000/07/16 12:33:11 mdw Exp $
+ * $Id: blowfish-mktab.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Build Blowfish key table
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: blowfish-mktab.c,v $
- * Revision 1.2  2000/07/16 12:33:11  mdw
- * Shut stupid compiler up.
- *
- * Revision 1.1  2000/06/17 10:47:28  mdw
- * Emits Blowfish initial key data, derived from the digits of pi.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index c57ebb2..56f25c7 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: blowfish.c,v 1.3 2004/04/02 01:03:49 mdw Exp $
+ * $Id: blowfish.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * The Blowfish block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: blowfish.c,v $
- * Revision 1.3  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.2  2000/06/17 10:47:56  mdw
- * Tidy round function a little.  Support new key size interface.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/bits.h>
index c8c0444..3f44404 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: blowfish.h,v 1.3 2000/06/17 10:48:13 mdw Exp $
+ * $Id: blowfish.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * The Blowfish block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: blowfish.h,v $
- * Revision 1.3  2000/06/17 10:48:13  mdw
- * Support new key size interface.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Notes on the Blowfish block cipher --------------------------------*
  *
  * Blowfish was invented by Bruce Schneier.  The algorithm is unpatented and
diff --git a/buf.c b/buf.c
index b4cbb71..3a09365 100644 (file)
--- a/buf.c
+++ b/buf.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: buf.c,v 1.3 2004/04/01 12:50:09 mdw Exp $
+ * $Id: buf.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Buffer handling
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: buf.c,v $
- * Revision 1.3  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.2  2003/11/10 22:18:30  mdw
- * Build fixes.
- *
- * Revision 1.1  2003/10/11 21:02:33  mdw
- * Import buf stuff from tripe.
- *
- * Revision 1.4  2001/06/19 22:09:54  mdw
- * Expose interface, for use in the proxy.
- *
- * Revision 1.3  2001/03/03 12:06:48  mdw
- * Use 16-bit lengths on MPs, since there's a packet limit of 64K anyway.
- *
- * Revision 1.2  2001/02/16 21:23:20  mdw
- * Various minor changes.  Check that MPs are in canonical form when
- * loading.
- *
- * Revision 1.1  2001/02/03 20:26:37  mdw
- * Initial checkin.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <string.h>
diff --git a/buf.h b/buf.h
index 6307c26..a83985c 100644 (file)
--- a/buf.h
+++ b/buf.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: buf.h,v 1.3 2004/04/01 12:50:09 mdw Exp $
+ * $Id: buf.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Reading and writing packet buffers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: buf.h,v $
- * Revision 1.3  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.2  2003/11/10 22:18:30  mdw
- * Build fixes.
- *
- * Revision 1.1  2003/10/11 21:02:33  mdw
- * Import buf stuff from tripe.
- *
- * Revision 1.1  2001/06/19 22:09:54  mdw
- * Expose interface, for use in the proxy.
- *
- */
-
 #ifndef CATACOMB_BUF_H
 #define CATACOMB_BUF_H
 
index 9159f54..325914b 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-apcalc-*-
  *
- * $Id: ec2.cal,v 1.3 2004/04/01 12:50:27 mdw Exp $
+ * $Id: ec2.cal,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Testbed for elliptic curve arithmetic over binary fields
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec2.cal,v $
- * Revision 1.3  2004/04/01 12:50:27  mdw
- * Remove debugging code.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.1.4.2  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.1.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.1  2000/10/08 16:01:37  mdw
- * Prototypes of various bits of code.
- *
- */
-
 /*----- Object types ------------------------------------------------------*/
 
 obj ec2_curve { a, b, p };
index 10ed9e4..0163d5e 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-apcalc-*-
  *
- * $Id: ecp.cal,v 1.4 2004/04/01 13:37:07 mdw Exp $
+ * $Id: ecp.cal,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Testbed for elliptic curve arithmetic over prime fields
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ecp.cal,v $
- * Revision 1.4  2004/04/01 13:37:07  mdw
- * Keep numbers positive.
- *
- * Revision 1.3  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.4.2  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.1.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.1  2000/10/08 16:01:37  mdw
- * Prototypes of various bits of code.
- *
- */
-
 /*----- Object types ------------------------------------------------------*/
 
 obj ecp_curve { a, b, p };
index 4bdee42..25846ef 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-apcalc-*-
  *
- * $Id: gfx-test.cal,v 1.1 2000/10/08 16:01:37 mdw Exp $
+ * $Id: gfx-test.cal,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate test cases for %$\gf{2}[x]$% arithmetic
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx-test.cal,v $
- * Revision 1.1  2000/10/08 16:01:37  mdw
- * Prototypes of various bits of code.
- *
- */
-
 /*----- External units ----------------------------------------------------*/
 
 read gfx;
index 446061e..45f534b 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-apcalc-*-
  *
- * $Id: gfx.cal,v 1.2 2004/03/21 22:52:06 mdw Exp $
+ * $Id: gfx.cal,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Testbed for %$\gf{2}$% poltnomial arithmetic
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx.cal,v $
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.4.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.1  2000/10/08 16:01:37  mdw
- * Prototypes of various bits of code.
- *
- */
-
 /*----- Object types ------------------------------------------------------*/
 
 obj gf { x };
index 387b95a..02f93b6 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast-base.h,v 1.2 2004/04/02 01:03:49 mdw Exp $
+ * $Id: cast-base.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Basic macros and definitions for CAST-128 and CAST-256
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast-base.h,v $
- * Revision 1.2  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.1  2000/06/17 10:48:29  mdw
- * CAST round function macros.
- *
- */
-
 #ifndef CATACOMB_CAST_BASE_H
 #define CATACOMB_CAST_BASE_H
 
index 2bd3e28..541bfeb 100644 (file)
--- a/cast-s.c
+++ b/cast-s.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast-s.c,v 1.2 2004/04/02 01:03:49 mdw Exp $
+ * $Id: cast-s.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Basic S-boxes for CAST-128 and CAST-256
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast-s.c,v $
- * Revision 1.2  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.1  2000/06/17 10:48:52  mdw
- * CAST S-boxes.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/bits.h>
index 98174a3..bdc74fe 100644 (file)
--- a/cast-sk.c
+++ b/cast-sk.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast-sk.c,v 1.2 2004/04/02 01:03:49 mdw Exp $
+ * $Id: cast-sk.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Key-schedule S-boxes for CAST-128
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast-sk.c,v $
- * Revision 1.2  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.1  2000/06/17 10:48:52  mdw
- * CAST S-boxes.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/bits.h>
index e9f721b..b6797bf 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast-tab.h,v 1.1 2000/06/17 10:49:05 mdw Exp $
+ * $Id: cast-tab.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * S-boxes for CAST-128 and CAST-256
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast-tab.h,v $
- * Revision 1.1  2000/06/17 10:49:05  mdw
- * CAST S-box contents.
- *
- */
-
 #ifndef CATACOMB_CAST_TAB_H
 #define CATACOMB_CAST_TAB_H
 
index b985da2..1032b27 100644 (file)
--- a/cast128.c
+++ b/cast128.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast128.c,v 1.1 2000/06/17 10:49:14 mdw Exp $
+ * $Id: cast128.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The CAST-128 block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast128.c,v $
- * Revision 1.1  2000/06/17 10:49:14  mdw
- * New cipher.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index 8d8aa33..cf027b2 100644 (file)
--- a/cast128.h
+++ b/cast128.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast128.h,v 1.1 2000/06/17 10:49:14 mdw Exp $
+ * $Id: cast128.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The CAST-128 block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast128.h,v $
- * Revision 1.1  2000/06/17 10:49:14  mdw
- * New cipher.
- *
- */
-
 /*----- Notes on the CAST-128 block cipher --------------------------------*
  *
  * CAST, designed by Carlisle Adams and Stafford Tavares, is a method for
index df8ac38..be06c9e 100644 (file)
--- a/cast256.c
+++ b/cast256.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast256.c,v 1.1 2000/06/17 10:49:14 mdw Exp $
+ * $Id: cast256.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The CAST-256 block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast256.c,v $
- * Revision 1.1  2000/06/17 10:49:14  mdw
- * New cipher.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index d22e1ea..018550c 100644 (file)
--- a/cast256.h
+++ b/cast256.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cast256.h,v 1.1 2000/06/17 10:49:14 mdw Exp $
+ * $Id: cast256.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The CAST-128 block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cast256.h,v $
- * Revision 1.1  2000/06/17 10:49:14  mdw
- * New cipher.
- *
- */
-
 /*----- Notes on the CAST-256 block cipher --------------------------------*
  *
  * CAST, designed by Carlisle Adams and Stafford Tavares, is a method for
index dbcd691..8b460e0 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# $Id: catacomb-config.in,v 1.1 1999/11/11 17:38:31 mdw Exp $
+# $Id: catacomb-config.in,v 1.2 2004/04/08 01:36:15 mdw Exp $
 #
 # Provide configuration information for Catacomb clients
 #
 # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 # MA 02111-1307, USA.
 
-#----- Revision history -----------------------------------------------------
-#
-# $Log: catacomb-config.in,v $
-# Revision 1.1  1999/11/11 17:38:31  mdw
-# New library configuration system.
-#
-
 #----- Configuration --------------------------------------------------------
 
 prefix=@prefix@
index 5b89ab1..c0fc600 100644 (file)
--- a/cbc-def.h
+++ b/cbc-def.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cbc-def.h,v 1.4 2004/04/02 01:03:49 mdw Exp $
+ * $Id: cbc-def.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Definitions for cipher block chaining mode
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cbc-def.h,v $
- * Revision 1.4  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.3  2001/06/17 00:10:51  mdw
- * Typesetting fixes
- *
- * Revision 1.2  2000/06/17 10:49:52  mdw
- * Use secure arena for memory allocation.
- *
- * Revision 1.1  1999/12/10 23:16:39  mdw
- * Split mode macros into interface and implementation.
- *
- */
-
 #ifndef CATACOMB_CBC_DEF_H
 #define CATACOMB_CBC_DEF_H
 
diff --git a/cbc.h b/cbc.h
index 2f0e923..1b51009 100644 (file)
--- a/cbc.h
+++ b/cbc.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cbc.h,v 1.3 2001/06/17 00:10:51 mdw Exp $
+ * $Id: cbc.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Ciphertext block chaining for block ciphers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cbc.h,v $
- * Revision 1.3  2001/06/17 00:10:51  mdw
- * Typesetting fixes
- *
- * Revision 1.2  1999/12/10 23:16:39  mdw
- * Split mode macros into interface and implementation.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_CBC_H
 #define CATACOMB_CBC_H
 
index 1d983f3..647aa26 100644 (file)
--- a/cfb-def.h
+++ b/cfb-def.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cfb-def.h,v 1.4 2004/04/02 01:03:49 mdw Exp $
+ * $Id: cfb-def.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Definitions for ciphertext feedback mode
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cfb-def.h,v $
- * Revision 1.4  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.3  2001/06/17 00:10:51  mdw
- * Typesetting fixes
- *
- * Revision 1.2  2000/06/17 10:50:39  mdw
- * Use secure arena for memory allocation.  Rearrange setiv slightly.
- *
- * Revision 1.1  1999/12/10 23:16:39  mdw
- * Split mode macros into interface and implementation.
- *
- */
-
 #ifndef CATACOMB_CFB_DEF_H
 #define CATACOMB_CFB_DEF_H
 
diff --git a/cfb.h b/cfb.h
index d6ce6a8..16885b7 100644 (file)
--- a/cfb.h
+++ b/cfb.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: cfb.h,v 1.4 2001/06/17 00:10:51 mdw Exp $
+ * $Id: cfb.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Ciphertext feedback for block ciphers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: cfb.h,v $
- * Revision 1.4  2001/06/17 00:10:51  mdw
- * Typesetting fixes
- *
- * Revision 1.3  2000/06/17 10:50:55  mdw
- * Change buffer offset to be unsigned.
- *
- * Revision 1.2  1999/12/10 23:16:39  mdw
- * Split mode macros into interface and implementation.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_CFB_H
 #define CATACOMB_CFB_H
 
index 7e2245d..f7761b7 100644 (file)
@@ -1,6 +1,6 @@
 dnl -*-m4-*-
 dnl
-dnl $Id: configure.in,v 1.27 2004/03/21 22:52:06 mdw Exp $
+dnl $Id: configure.in,v 1.28 2004/04/08 01:36:15 mdw Exp $
 dnl
 dnl Autoconfiguration for Catacomb
 dnl
@@ -26,67 +26,6 @@ dnl License along with Catacomb; if not, write to the Free
 dnl Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 dnl MA 02111-1307, USA.
 
-dnl ----- Revision history --------------------------------------------------
-dnl
-dnl $Log: configure.in,v $
-dnl Revision 1.27  2004/03/21 22:52:06  mdw
-dnl Merge and close elliptic curve branch.
-dnl
-dnl   Revision 1.24.2.1  2003/06/10 13:43:53  mdw
-dnl   Simple (non-projective) curves over prime fields now seem to work.
-dnl
-dnl Revision 1.26  2003/11/29 23:39:36  mdw
-dnl Debianization.
-dnl
-dnl Revision 1.25  2003/10/11 21:02:33  mdw
-dnl Import buf stuff from tripe.
-dnl
-dnl Revision 1.24  2003/05/16 00:30:28  mdw
-dnl Version bump.
-dnl
-dnl Revision 1.23  2001/03/04 13:09:40  mdw
-dnl Mark dependency on mLib 2.0.0pre4 now.
-dnl
-dnl Revision 1.21  2000/10/08 12:01:28  mdw
-dnl Reinstate the `-pedantic' option.
-dnl
-dnl Revision 1.20  2000/08/15 21:45:25  mdw
-dnl New library configuration stuff from `common'.
-dnl
-dnl Revision 1.13  2000/06/17 13:51:03  mdw
-dnl Whoops.  Too eager with the mLib version.
-dnl
-dnl Revision 1.12  2000/06/17 12:57:47  mdw
-dnl New free counter noise generator, for use if /dev/random is
-dnl unavailable.
-dnl
-dnl Revision 1.11  2000/06/17 10:51:23  mdw
-dnl Version number changes.  Find maths library for Maurer's test.
-dnl
-dnl Revision 1.10  1999/12/22 16:03:31  mdw
-dnl New mLib version.  Find socket functions for pixie.
-dnl
-dnl Revision 1.7  1999/11/13 01:55:48  mdw
-dnl Don't be pedantic, because using `long long' as a multiprecision type
-dnl gets complained about.
-dnl
-dnl Revision 1.6  1999/11/11 18:56:14  mdw
-dnl Use `libtool' to generate a shared library.
-dnl
-dnl Revision 1.5  1999/11/11 17:47:34  mdw
-dnl Updates for new configuration system, and `mptypes' generator.
-dnl
-dnl Revision 1.4  1999/11/11 00:58:19  mdw
-dnl Use canned check for `ssize_t'.
-dnl
-dnl Revision 1.3  1999/10/24 10:20:36  mdw
-dnl Modify for standalone distribution.  The library's getting far too large
-dnl to be sensibly embedded in other programs.
-dnl
-dnl Revision 1.1  1999/09/03 08:41:11  mdw
-dnl Initial import.
-dnl
-
 dnl --- Boring boilerplate ---
 
 AC_INIT(blkc.h)
index e9ee952..315e1c1 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: counter-def.h,v 1.3 2004/04/02 01:03:49 mdw Exp $
+ * $Id: counter-def.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Block cipher counter mode (or long cycle mode)
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: counter-def.h,v $
- * Revision 1.3  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.2  2001/06/17 00:10:51  mdw
- * Typesetting fixes
- *
- * Revision 1.1  2000/06/17 10:51:42  mdw
- * Counter mode ciphers and pseudo-random generator.
- *
- */
-
 #ifndef CATACOMB_COUNTER_DEF_H
 #define CATACOMB_COUNTER_DEF_H
 
index d720c99..ac49796 100644 (file)
--- a/counter.h
+++ b/counter.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: counter.h,v 1.3 2002/01/13 13:43:35 mdw Exp $
+ * $Id: counter.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Block cipher counter mode (or long cycle mode)
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: counter.h,v $
- * Revision 1.3  2002/01/13 13:43:35  mdw
- * Indentation fix.
- *
- * Revision 1.2  2001/06/17 00:10:51  mdw
- * Typesetting fixes
- *
- * Revision 1.1  2000/06/17 10:51:42  mdw
- * Counter mode ciphers and pseudo-random generator.
- *
- */
-
 #ifndef CATACOMB_COUNTER_H
 #define CATACOMB_COUNTER_H
 
diff --git a/crc32.c b/crc32.c
index 7077fa6..f6590aa 100644 (file)
--- a/crc32.c
+++ b/crc32.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: crc32.c,v 1.2 2004/03/21 23:52:58 mdw Exp $
+ * $Id: crc32.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic hash wrapper for CRC32
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: crc32.c,v $
- * Revision 1.2  2004/03/21 23:52:58  mdw
- * Ooops, how did that slip by?  Fix return type of @ghcopy@.
- *
- * Revision 1.1  2001/04/19 18:26:32  mdw
- * Add CRC as another hash function.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/crc32.h>
diff --git a/crc32.h b/crc32.h
index cb07943..86eef42 100644 (file)
--- a/crc32.h
+++ b/crc32.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: crc32.h,v 1.1 2001/04/19 18:26:32 mdw Exp $
+ * $Id: crc32.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic hash wrapper for CRC32
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: crc32.h,v $
- * Revision 1.1  2001/04/19 18:26:32  mdw
- * Add CRC as another hash function.
- *
- */
-
 #ifndef CATACOMB_CRC32_H
 #define CATACOMB_CRC32_H
 
index c4b1bad..055eba2 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: daftstory.h,v 1.3 1999/12/10 23:29:48 mdw Exp $
+ * $Id: daftstory.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Daft story for use in test encryptions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: daftstory.h,v $
- * Revision 1.3  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.2  1999/11/11 00:58:38  mdw
- * Use fewer copies of the silly story to improve performance.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_DAFTSTORY_H
 #define CATACOMB_DAFTSTORY_H
 
index c42d03c..7619a34 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des-base.c,v 1.3 2004/04/02 01:03:49 mdw Exp $
+ * $Id: des-base.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Common features for DES implementation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des-base.c,v $
- * Revision 1.3  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.2  2000/06/17 10:52:01  mdw
- * Change name for S-box header file.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/bits.h>
index 2f06754..086c68e 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des-base.h,v 1.3 2004/04/02 01:03:49 mdw Exp $
+ * $Id: des-base.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Common features for DES implementation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des-base.h,v $
- * Revision 1.3  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_DES_BASE_H
 #define CATACOMB_DES_BASE_H
 
index a4914b2..e41e372 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des-mktab.c,v 1.4 2000/10/08 12:12:23 mdw Exp $
+ * $Id: des-mktab.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Build combined S-P tables for DES
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des-mktab.c,v $
- * Revision 1.4  2000/10/08 12:12:23  mdw
- * Improve @const@-correctness.
- *
- * Revision 1.3  2000/06/17 10:52:14  mdw
- * Change name for S-box header file.
- *
- * Revision 1.2  1999/12/22 16:02:30  mdw
- * Output the table with the correct new header guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
diff --git a/des.c b/des.c
index d48637b..822a12f 100644 (file)
--- a/des.c
+++ b/des.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des.c,v 1.2 2000/06/17 10:52:32 mdw Exp $
+ * $Id: des.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * The Data Encryption Standard
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des.c,v $
- * Revision 1.2  2000/06/17 10:52:32  mdw
- * Support new key size interface.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/des.h b/des.h
index d62d72c..b24037b 100644 (file)
--- a/des.h
+++ b/des.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des.h,v 1.3 2000/06/17 10:52:32 mdw Exp $
+ * $Id: des.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * The Data Encryption Standard
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des.h,v $
- * Revision 1.3  2000/06/17 10:52:32  mdw
- * Support new key size interface.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Notes on the Data Encryption Standard -----------------------------*
  *
  * Almost twenty years after it was first accepted, DES is still the standard
diff --git a/des3.c b/des3.c
index 61d96c3..1b08d2e 100644 (file)
--- a/des3.c
+++ b/des3.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des3.c,v 1.2 2000/06/17 10:52:32 mdw Exp $
+ * $Id: des3.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Implementation of double- and triple-DES
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des3.c,v $
- * Revision 1.2  2000/06/17 10:52:32  mdw
- * Support new key size interface.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/des3.h b/des3.h
index 0a276f3..0e08f26 100644 (file)
--- a/des3.h
+++ b/des3.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des3.h,v 1.3 2000/06/17 10:52:32 mdw Exp $
+ * $Id: des3.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Implementation of double- and triple-DES
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: des3.h,v $
- * Revision 1.3  2000/06/17 10:52:32  mdw
- * Support new key size interface.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:11  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_DES3_H
 #define CATACOMB_DES3_H
 
index 119928d..2050443 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: desx-tab.h,v 1.1 2001/04/03 19:36:50 mdw Exp $
+ * $Id: desx-tab.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Tables for DESX
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: desx-tab.h,v $
- * Revision 1.1  2001/04/03 19:36:50  mdw
- * New block cipher DESX added.
- *
- */
-
 #ifndef CATACOMB_DESX_TAB_H
 #define CATACOMB_DESX_TAB_H
 
diff --git a/desx.c b/desx.c
index 060815d..6c513f3 100644 (file)
--- a/desx.c
+++ b/desx.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: desx.c,v 1.2 2004/04/02 01:03:49 mdw Exp $
+ * $Id: desx.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Implementation of DESX
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: desx.c,v $
- * Revision 1.2  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.1  2001/04/03 19:36:50  mdw
- * New block cipher DESX added.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/desx.h b/desx.h
index f6129d8..5b9ab96 100644 (file)
--- a/desx.h
+++ b/desx.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: desx.h,v 1.1 2001/04/03 19:36:50 mdw Exp $
+ * $Id: desx.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The DESX algorithm
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: desx.h,v $
- * Revision 1.1  2001/04/03 19:36:50  mdw
- * New block cipher DESX added.
- *
- */
-
 /*----- Notes on DESX -----------------------------------------------------*
  *
  * DESX was designed by Ron Rivest in 1986 as a simple and cheap way to
index f9317f5..13320a6 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dh-check.c,v 1.2 2001/06/16 12:56:38 mdw Exp $
+ * $Id: dh-check.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Checks Diffie-Hellman group parameters
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dh-check.c,v $
- * Revision 1.2  2001/06/16 12:56:38  mdw
- * Fixes for interface change to @mpmont_expr@ and @mpmont_mexpr@.
- *
- * Revision 1.1  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/dstr.h>
index 2f25122..5f5c74d 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dh-fetch.c,v 1.2 2000/07/01 11:19:22 mdw Exp $
+ * $Id: dh-fetch.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Key fetching for Diffie-Hellman public and private keys
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dh-fetch.c,v $
- * Revision 1.2  2000/07/01 11:19:22  mdw
- * New functions for freeing public and private keys.
- *
- * Revision 1.1  2000/06/17 10:41:45  mdw
- * Table for driving key data extraction.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dh.h"
index 1a7ebc6..6e77ea7 100644 (file)
--- a/dh-gen.c
+++ b/dh-gen.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dh-gen.c,v 1.2 2000/07/29 10:01:58 mdw Exp $
+ * $Id: dh-gen.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate Diffie-Hellman parameters
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dh-gen.c,v $
- * Revision 1.2  2000/07/29 10:01:58  mdw
- * Track change in primitive-element generation.
- *
- * Revision 1.1  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dh.h"
index 2027617..dd11d26 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dh-limlee.c,v 1.2 2000/07/29 17:02:00 mdw Exp $
+ * $Id: dh-limlee.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate Diffie-Hellman parameters from Lim-Lee primes
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dh-limlee.c,v $
- * Revision 1.2  2000/07/29 17:02:00  mdw
- * (dh_limlee): Bug fix.  Return @dp->q@ as the subgroup order, which isn't
- * necessarily the first factor.
- *
- * Revision 1.1  2000/07/29 10:01:31  mdw
- * Diffie-Hellman parameter generation based on Lim-Lee primes.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dh.h"
index 66bee09..2e31c83 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dh-param.c,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: dh-param.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Reading Diffie-Hellman parameters
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dh-param.c,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dh.h"
diff --git a/dh.h b/dh.h
index 56dbf0a..5fcb611 100644 (file)
--- a/dh.h
+++ b/dh.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dh.h,v 1.8 2004/04/01 12:50:09 mdw Exp $
+ * $Id: dh.h,v 1.9 2004/04/08 01:36:15 mdw Exp $
  *
  * Diffie-Hellman and related public-key systems
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dh.h,v $
- * Revision 1.8  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.7  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- * Revision 1.6  2000/07/29 10:01:16  mdw
- * Supply commentry for the Diffie-Hellman parameters.  Add Lim-Lee
- * parameter generation.
- *
- * Revision 1.5  2000/07/01 11:20:51  mdw
- * New functions for freeing public and private keys.
- *
- * Revision 1.4  2000/06/17 10:52:47  mdw
- * Minor changes for key fetching.
- *
- * Revision 1.3  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- */
-
 #ifndef CATACOMB_DH_H
 #define CATACOMB_DH_H
 
index 88a5686..5e04b25 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsa-check.c,v 1.1 2001/02/03 16:08:24 mdw Exp $
+ * $Id: dsa-check.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Consistency checking for DSA keys
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsa-check.c,v $
- * Revision 1.1  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dh.h"
index cd475bc..482d240 100644 (file)
--- a/dsa-gen.c
+++ b/dsa-gen.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsa-gen.c,v 1.9 2001/02/03 16:09:29 mdw Exp $
+ * $Id: dsa-gen.c,v 1.10 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate DSA shared parameters
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsa-gen.c,v $
- * Revision 1.9  2001/02/03 16:09:29  mdw
- * Allow the caller to fetch the parameter generation seed and counter.
- *
- * Revision 1.8  2000/10/08 12:12:47  mdw
- * Use @MP_EQ@ instead of @MP_CMP@.  Remove vestages of @primorial@.
- *
- * Revision 1.7  2000/08/15 21:45:05  mdw
- * Use the new trial division equipment in pfilt.  This gives a 10%
- * performance improvement in dsa-gen.t.
- *
- * Revision 1.6  2000/07/29 10:00:14  mdw
- * Rename `dsa_seed' to `dsa_gen' for consistency with other parameter-
- * generation interfaces.
- *
- * Revision 1.5  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.4  1999/12/22 15:52:44  mdw
- * Reworking for new prime-search system.
- *
- * Revision 1.3  1999/12/10 23:18:38  mdw
- * Change interface for suggested destinations.
- *
- * Revision 1.2  1999/11/20 22:23:48  mdw
- * Allow event handler to abort the search process.
- *
- * Revision 1.1  1999/11/19 19:28:00  mdw
- * Implementation of the Digital Signature Algorithm.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index 613a07e..9bb4a5b 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsa-sign.c,v 1.2 1999/12/10 23:18:38 mdw Exp $
+ * $Id: dsa-sign.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * DSA signing operation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsa-sign.c,v $
- * Revision 1.2  1999/12/10 23:18:38  mdw
- * Change interface for suggested destinations.
- *
- * Revision 1.1  1999/11/19 19:28:00  mdw
- * Implementation of the Digital Signature Algorithm.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dsa.h"
@@ -64,7 +53,7 @@ void dsa_mksig(const dsa_param *dp, mp *a, mp *m, mp *k, mp **rr, mp **ss)
 {
   mpmont pm;
   mpbarrett qb;
-  mp *k1 = MP_NEW, *r;
+  mp *k1, *r;
   mp *ar;
 
   /* --- Compute %$r = (g^k \bmod p) \bmod q$% --- */
@@ -76,7 +65,7 @@ void dsa_mksig(const dsa_param *dp, mp *a, mp *m, mp *k, mp **rr, mp **ss)
 
   /* --- Compute %$k^{-1} \bmod q$% --- */
 
-  mp_gcd(0, 0, &k1, dp->q, k);
+  k1 = mp_modinv(MP_NEW, k, dp->q);
 
   /* --- Now for %$k^{-1}(m + ar)$% --- */
 
index a39c11b..dbab2df 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsa-verify.c,v 1.6 2001/06/16 12:56:38 mdw Exp $
+ * $Id: dsa-verify.c,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * DSA signature verification
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsa-verify.c,v $
- * Revision 1.6  2001/06/16 12:56:38  mdw
- * Fixes for interface change to @mpmont_expr@ and @mpmont_mexpr@.
- *
- * Revision 1.5  2000/10/08 12:13:17  mdw
- * Use @MP_EQ@ instead of @MP_CMP@.
- *
- * Revision 1.4  2000/06/17 10:53:35  mdw
- * Typesetting fixes.
- *
- * Revision 1.3  1999/12/10 23:18:38  mdw
- * Change interface for suggested destinations.
- *
- * Revision 1.2  1999/11/23 00:20:04  mdw
- * Remove stray debugging code.
- *
- * Revision 1.1  1999/11/19 19:28:00  mdw
- * Implementation of the Digital Signature Algorithm.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "dsa.h"
@@ -92,8 +69,7 @@ int dsa_vrfy(const dsa_param *dp, mp *y, mp *m, mp *r, mp *s)
   /* --- Compute %$w = s^{-1} \bmod q$% --- */
 
   {
-    mp *z = MP_NEW;
-    mp_gcd(0, 0, &z, dp->q, s);
+    mp *z = mp_modinv(MP_NEW, s, dp->q);
     w = mpmont_mul(&qm, MP_NEW, z, qm.r2);
     mp_drop(z);
   }
diff --git a/dsa.h b/dsa.h
index ce7e762..95bd156 100644 (file)
--- a/dsa.h
+++ b/dsa.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsa.h,v 1.8 2001/02/03 16:08:24 mdw Exp $
+ * $Id: dsa.h,v 1.9 2004/04/08 01:36:15 mdw Exp $
  *
  * Digital Signature Algorithm
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsa.h,v $
- * Revision 1.8  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- * Revision 1.7  2000/07/29 09:59:44  mdw
- * Share data structures with Diffie-Hellman stuff.
- *
- * Revision 1.6  2000/07/01 11:20:51  mdw
- * New functions for freeing public and private keys.
- *
- * Revision 1.5  2000/06/17 10:53:42  mdw
- * Minor changes for key fetching.  Typesetting fixes.
- *
- * Revision 1.4  1999/12/22 15:52:44  mdw
- * Reworking for new prime-search system.
- *
- * Revision 1.3  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.2  1999/11/20 22:23:48  mdw
- * Allow event handler to abort the search process.
- *
- * Revision 1.1  1999/11/19 19:28:00  mdw
- * Implementation of the Digital Signature Algorithm.
- *
- */
-
 #ifndef CATACOMB_DSA_H
 #define CATACOMB_DSA_H
 
index 4f12b98..ccb2c46 100644 (file)
--- a/dsarand.c
+++ b/dsarand.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsarand.c,v 1.3 2001/02/03 16:08:56 mdw Exp $
+ * $Id: dsarand.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Random number generator for DSA
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsarand.c,v $
- * Revision 1.3  2001/02/03 16:08:56  mdw
- * Give generic random objects separate namespaces for their supported misc
- * ops.  Add operations for reading the current seed value.
- *
- * Revision 1.2  2000/06/17 10:54:00  mdw
- * Typesetting fixes.  Arena support.
- *
- * Revision 1.1  1999/12/22 15:53:12  mdw
- * Random number generator for finding DSA parameters.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
index 4d36d6d..2d4ea09 100644 (file)
--- a/dsarand.h
+++ b/dsarand.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsarand.h,v 1.3 2001/02/03 16:08:56 mdw Exp $
+ * $Id: dsarand.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Random number generator for DSA
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsarand.h,v $
- * Revision 1.3  2001/02/03 16:08:56  mdw
- * Give generic random objects separate namespaces for their supported misc
- * ops.  Add operations for reading the current seed value.
- *
- * Revision 1.2  2000/06/17 10:54:14  mdw
- * Typesetting fixes.
- *
- * Revision 1.1  1999/12/22 15:53:12  mdw
- * Random number generator for finding DSA parameters.
- *
- */
-
 #ifndef CATACOMB_DSARAND_H
 #define CATACOMB_DSARAND_H
 
diff --git a/dsig.c b/dsig.c
index 030ad0a..6e624c6 100644 (file)
--- a/dsig.c
+++ b/dsig.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsig.c,v 1.9 2004/04/08 01:02:15 mdw Exp $
+ * $Id: dsig.c,v 1.10 2004/04/08 01:36:15 mdw Exp $
  *
  * Verify signatures on distribuitions of files
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: dsig.c,v $
- * Revision 1.9  2004/04/08 01:02:15  mdw
- * Incompatible change!  Add new signature schemes.  Key now implies
- * algorithms (integrity checked by new fingerprinting rules), so don't put
- * that stuff in the manifest.
- *
- * Revision 1.8  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- * Revision 1.7  2001/02/23 09:04:17  mdw
- * Add new hash functions.  Provide full help for subcommands.  Run the
- * hash function over parts of the header in a canonical order.
- *
- * Revision 1.6  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.5  2000/10/08 12:12:09  mdw
- * Shut up some warnings.
- *
- * Revision 1.4  2000/08/04 23:23:44  mdw
- * Various <ctype.h> fixes.
- *
- * Revision 1.3  2000/07/15 20:53:23  mdw
- * More hash functions.  Bug fix in getstring.
- *
- * Revision 1.2  2000/07/01 11:27:22  mdw
- * Use new PKCS#1 padding functions rather than rolling by hand.
- *
- * Revision 1.1  2000/06/17 10:54:29  mdw
- * Program to generate and verify signatures on multiple files.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "config.h"
index 209e43a..30e19a9 100644 (file)
--- a/ec-bin.c
+++ b/ec-bin.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-bin.c,v 1.8 2004/04/03 03:32:05 mdw Exp $
+ * $Id: ec-bin.c,v 1.9 2004/04/08 01:36:15 mdw Exp $
  *
  * Arithmetic for elliptic curves over binary fields
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-bin.c,v $
- * Revision 1.8  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.7  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.6  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.5  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.4  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.3  2004/03/22 02:19:09  mdw
- * Rationalise the sliding-window threshold.  Drop guarantee that right
- * arguments to EC @add@ are canonical, and fix up projective implementations
- * to cope.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/sub.h>
index 26953e7..edcf620 100644 (file)
--- a/ec-exp.c
+++ b/ec-exp.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-exp.c,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: ec-exp.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Point multiplication for elliptic curves
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-exp.c,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "ec.h"
index 93a576f..fc08fe4 100644 (file)
--- a/ec-exp.h
+++ b/ec-exp.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-exp.h,v 1.5 2004/04/03 03:32:05 mdw Exp $
+ * $Id: ec-exp.h,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Exponentiation operations for elliptic curves
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-exp.h,v $
- * Revision 1.5  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.4  2004/03/22 02:19:10  mdw
- * Rationalise the sliding-window threshold.  Drop guarantee that right
- * arguments to EC @add@ are canonical, and fix up projective implementations
- * to cope.
- *
- * Revision 1.3  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.2.4.1  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.2  2003/05/15 23:25:59  mdw
- * Make elliptic curve stuff build.
- *
- * Revision 1.1  2002/01/13 13:48:44  mdw
- * Further progress.
- *
- */
-
 #ifndef CATACOMB_EC_EXP_H
 #define CATACOMB_EC_EXP_H
 
index ed7faa7..cce9d00 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-fetch.c,v 1.1 2004/03/28 01:58:47 mdw Exp $
+ * $Id: ec-fetch.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Key fetching for elliptic curve public and private keys
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-fetch.c,v $
- * Revision 1.1  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "ec-keys.h"
index 0805c26..1a95cd2 100644 (file)
--- a/ec-info.c
+++ b/ec-info.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-info.c,v 1.4 2004/04/03 03:32:05 mdw Exp $
+ * $Id: ec-info.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Elliptic curve information management
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-info.c,v $
- * Revision 1.4  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.3  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.2  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.1  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "ec.h"
index c7561e7..7e25319 100644 (file)
--- a/ec-keys.h
+++ b/ec-keys.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-keys.h,v 1.2 2004/04/01 12:50:09 mdw Exp $
+ * $Id: ec-keys.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Elliptic curve key-fetching
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-keys.h,v $
- * Revision 1.2  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.1  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- */
-
 #ifndef CATACOMB_EC_KEYS_H
 #define CATACOMB_EC_KEYS_H
 
index 41ba9c4..8f3c731 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-prime.c,v 1.10 2004/04/03 03:32:05 mdw Exp $
+ * $Id: ec-prime.c,v 1.11 2004/04/08 01:36:15 mdw Exp $
  *
  * Elliptic curves over prime fields
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-prime.c,v $
- * Revision 1.10  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.9  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.8  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.7  2004/03/27 00:04:46  mdw
- * Implement efficient reduction for pleasant-looking primes.
- *
- * Revision 1.6  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.5  2004/03/22 02:19:10  mdw
- * Rationalise the sliding-window threshold.  Drop guarantee that right
- * arguments to EC @add@ are canonical, and fix up projective implementations
- * to cope.
- *
- * Revision 1.4  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.3.4.3  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.3.4.2  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.3.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.3  2003/05/15 23:25:59  mdw
- * Make elliptic curve stuff build.
- *
- * Revision 1.2  2002/01/13 13:48:44  mdw
- * Further progress.
- *
- * Revision 1.1  2001/04/29 18:12:33  mdw
- * Prototype version.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/sub.h>
index ad9b583..4ec9f28 100644 (file)
--- a/ec-raw.c
+++ b/ec-raw.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-raw.c,v 1.1 2004/04/04 19:04:11 mdw Exp $
+ * $Id: ec-raw.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Raw formatting of elliptic curve points
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-raw.c,v $
- * Revision 1.1  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "ec.h"
index e0fde75..822ab53 100644 (file)
--- a/ec-raw.h
+++ b/ec-raw.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-raw.h,v 1.1 2004/04/04 19:04:11 mdw Exp $
+ * $Id: ec-raw.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Raw formatting of elliptic curve points
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-raw.h,v $
- * Revision 1.1  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- */
-
 #ifndef CATACOMB_EC_RAW_H
 #define CATACOMB_EC_RAW_H
 
index de01ad8..e83e3ee 100644 (file)
--- a/ec-test.c
+++ b/ec-test.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-test.c,v 1.5 2004/04/02 01:03:49 mdw Exp $
+ * $Id: ec-test.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Code for testing elliptic-curve stuff
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-test.c,v $
- * Revision 1.5  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.4  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.3  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.2  2004/03/27 00:04:46  mdw
- * Implement efficient reduction for pleasant-looking primes.
- *
- * Revision 1.1  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index a4ca0d7..875ffc6 100644 (file)
--- a/ec-test.h
+++ b/ec-test.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec-test.h,v 1.1 2004/03/23 15:19:32 mdw Exp $
+ * $Id: ec-test.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Elliptic curve test functions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec-test.h,v $
- * Revision 1.1  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- */
-
 #ifndef CATACOMB_EC_TEST_H
 #define CATACOMB_EC_TEST_H
 
diff --git a/ec.c b/ec.c
index 9a929ca..a84dd7a 100644 (file)
--- a/ec.c
+++ b/ec.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec.c,v 1.9 2004/04/01 21:28:41 mdw Exp $
+ * $Id: ec.c,v 1.10 2004/04/08 01:36:15 mdw Exp $
  *
  * Elliptic curve definitions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec.c,v $
- * Revision 1.9  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.8  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.7  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.6  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.5  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.4.4.2  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.4.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.4  2003/05/15 23:25:59  mdw
- * Make elliptic curve stuff build.
- *
- * Revision 1.3  2002/01/13 13:48:44  mdw
- * Further progress.
- *
- * Revision 1.2  2001/05/07 17:29:44  mdw
- * Treat projective coordinates as an internal representation.  Various
- * minor interface changes.
- *
- * Revision 1.1  2001/04/29 18:12:33  mdw
- * Prototype version.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "ec.h"
diff --git a/ec.h b/ec.h
index 24bd6b2..bd71810 100644 (file)
--- a/ec.h
+++ b/ec.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ec.h,v 1.10 2004/04/03 03:32:05 mdw Exp $
+ * $Id: ec.h,v 1.11 2004/04/08 01:36:15 mdw Exp $
  *
  * Elliptic curve definitions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ec.h,v $
- * Revision 1.10  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.9  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.8  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.7  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.6  2004/03/22 02:19:10  mdw
- * Rationalise the sliding-window threshold.  Drop guarantee that right
- * arguments to EC @add@ are canonical, and fix up projective implementations
- * to cope.
- *
- * Revision 1.5  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.4.4.3  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.4.4.2  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.4.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.4  2003/05/15 23:25:59  mdw
- * Make elliptic curve stuff build.
- *
- * Revision 1.3  2002/01/13 13:48:44  mdw
- * Further progress.
- *
- * Revision 1.2  2001/05/07 17:29:44  mdw
- * Treat projective coordinates as an internal representation.  Various
- * minor interface changes.
- *
- * Revision 1.1  2001/04/29 18:12:33  mdw
- * Prototype version.
- *
- */
-
 #ifndef CATACOMB_EC_H
 #define CATACOMB_EC_H
 
index 473d35a..49a232b 100644 (file)
--- a/ecb-def.h
+++ b/ecb-def.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ecb-def.h,v 1.2 2000/06/17 10:54:43 mdw Exp $
+ * $Id: ecb-def.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Definitions electronic code book mode
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ecb-def.h,v $
- * Revision 1.2  2000/06/17 10:54:43  mdw
- * Use secure arena for memory allocation.
- *
- * Revision 1.1  1999/12/10 23:16:39  mdw
- * Split mode macros into interface and implementation.
- *
- */
-
 #ifndef CATACOMB_ECB_DEF_H
 #define CATACOMB_ECB_DEF_H
 
diff --git a/ecb.h b/ecb.h
index f5ce880..a434f7d 100644 (file)
--- a/ecb.h
+++ b/ecb.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ecb.h,v 1.2 1999/12/10 23:16:40 mdw Exp $
+ * $Id: ecb.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Electronic code book for block ciphers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ecb.h,v $
- * Revision 1.2  1999/12/10 23:16:40  mdw
- * Split mode macros into interface and implementation.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_ECB_H
 #define CATACOMB_ECB_H
 
diff --git a/ectab.h b/ectab.h
index d75e79c..734bc07 100644 (file)
--- a/ectab.h
+++ b/ectab.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ectab.h,v 1.3 2004/04/01 21:28:41 mdw Exp $
+ * $Id: ectab.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Table of standard elliptic curves
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ectab.h,v $
- * Revision 1.3  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.2  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.1  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- */
-
 #ifndef CATACOMB_ECTAB_H
 #define CATACOMB_ECTAB_H
 
diff --git a/exp.c b/exp.c
index ed11485..64f0e9e 100644 (file)
--- a/exp.c
+++ b/exp.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: exp.c,v 1.1 2001/06/16 13:00:59 mdw Exp $
+ * $Id: exp.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generalized exponentiation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: exp.c,v $
- * Revision 1.1  2001/06/16 13:00:59  mdw
- * New generic exponentation code.  Includes sliding-window simultaneous
- * exponentiation.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #define EXP_TYPE /* Hack */
diff --git a/exp.h b/exp.h
index 59cb632..a8b3812 100644 (file)
--- a/exp.h
+++ b/exp.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: exp.h,v 1.3 2004/03/22 02:19:10 mdw Exp $
+ * $Id: exp.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Generalized exponentiation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: exp.h,v $
- * Revision 1.3  2004/03/22 02:19:10  mdw
- * Rationalise the sliding-window threshold.  Drop guarantee that right
- * arguments to EC @add@ are canonical, and fix up projective implementations
- * to cope.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.4.1  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.1  2001/06/16 13:00:59  mdw
- * New generic exponentation code.  Includes sliding-window simultaneous
- * exponentiation.
- *
- */
-
 #ifdef CATACOMB_EXP_H
 #  error "Multiple inclusion of <catacomb/exp.h>"
 #endif
index 9c09356..4282ad4 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: f-binpoly.c,v 1.8 2004/04/02 01:03:49 mdw Exp $
+ * $Id: f-binpoly.c,v 1.9 2004/04/08 01:36:15 mdw Exp $
  *
  * Binary fields with polynomial basis representation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: f-binpoly.c,v $
- * Revision 1.8  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.7  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.6  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.5  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.4  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.3  2004/03/23 12:08:26  mdw
- * Random field-element selection.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/sub.h>
@@ -102,7 +67,7 @@ static mp *fsqr(field *ff, mp *d, mp *x) {
 }
 
 static mp *finv(field *ff, mp *d, mp *x)
-  { fctx *f = (fctx *)ff; gf_gcd(0, 0, &d, f->r.p, x); return (d); }
+  { fctx *f = (fctx *)ff; d = gf_modinv(d, x, f->r.p); return (d); }
 
 static mp *freduce(field *ff, mp *d, mp *x)
   { fctx *f = (fctx *)ff; return (gfreduce_do(&f->r, d, x)); }
index 8f0b43d..8645cb6 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: f-niceprime.c,v 1.5 2004/04/02 01:03:49 mdw Exp $
+ * $Id: f-niceprime.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Prime fields with efficient reduction for special-form primes
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: f-niceprime.c,v $
- * Revision 1.5  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.4  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.3  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.2  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.1  2004/03/27 00:04:46  mdw
- * Implement efficient reduction for pleasant-looking primes.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/sub.h>
@@ -106,7 +80,7 @@ static mp *fsqr(field *ff, mp *d, mp *x) {
 }
 
 static mp *finv(field *ff, mp *d, mp *x)
-  { fctx *f = (fctx *)ff; mp_gcd(0, 0, &d, f->r.p, x); return (d); }
+  { fctx *f = (fctx *)ff; d = mp_modinv(d, x, f->r.p); return (d); }
 
 static mp *freduce(field *ff, mp *d, mp *x)
   { fctx *f = (fctx *)ff; return (mpreduce_do(&f->r, d, x)); }
index 43d6da3..f58bf63 100644 (file)
--- a/f-prime.c
+++ b/f-prime.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: f-prime.c,v 1.11 2004/04/03 03:32:05 mdw Exp $
+ * $Id: f-prime.c,v 1.12 2004/04/08 01:36:15 mdw Exp $
  *
  * Prime fields with Montgomery arithmetic
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: f-prime.c,v $
- * Revision 1.11  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.10  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.9  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.8  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.7  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.6  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.5  2004/03/23 12:08:26  mdw
- * Random field-element selection.
- *
- * Revision 1.4  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.3.4.3  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.3.4.2  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.3.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.3  2003/05/15 23:25:59  mdw
- * Make elliptic curve stuff build.
- *
- * Revision 1.2  2002/01/13 13:48:44  mdw
- * Further progress.
- *
- * Revision 1.1  2001/04/29 18:12:33  mdw
- * Prototype version.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/sub.h>
@@ -141,7 +88,7 @@ static mp *fsqr(field *ff, mp *d, mp *x) {
 
 static mp *finv(field *ff, mp *d, mp *x) {
   fctx *f = (fctx *)ff; d = mpmont_reduce(&f->mm, d, x);
-  mp_gcd(0, 0, &d, f->mm.m, d); return (mpmont_mul(&f->mm, d, d, f->mm.r2));
+  d = mp_modinv(d, d, f->mm.m); return (mpmont_mul(&f->mm, d, d, f->mm.r2));
 }
 
 static mp *freduce(field *ff, mp *d, mp *x)
index 789de90..54b9845 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: factorial.c,v 1.3 2002/01/13 19:51:59 mdw Exp $
+ * $Id: factorial.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Example factorial computation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: factorial.c,v $
- * Revision 1.3  2002/01/13 19:51:59  mdw
- * Provide proper help and options parsing.  Allow more bases.  Use
- * @mptext@ to read integers for the better base support.
- *
- * Revision 1.2  2001/06/16 13:22:59  mdw
- * Added command-line option to select output radix.
- *
- * Revision 1.1  2000/07/09 21:30:49  mdw
- * Demo program to compute factorials.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "config.h"
index eb2e86d..4196e98 100644 (file)
--- a/fibrand.c
+++ b/fibrand.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: fibrand.c,v 1.4 2002/10/09 00:35:18 mdw Exp $
+ * $Id: fibrand.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Fibonacci generator
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: fibrand.c,v $
- * Revision 1.4  2002/10/09 00:35:18  mdw
- * Fix bogus type name.
- *
- * Revision 1.3  2000/12/06 20:31:06  mdw
- * Simplify uniform range transformation.
- *
- * Revision 1.2  2000/06/17 10:55:24  mdw
- * Typesetting fixes.  Add flags word to generatic random generator.
- *
- * Revision 1.1  1999/12/10 23:15:27  mdw
- * Noncryptographic random number generator.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
index 10b683f..5a75542 100644 (file)
--- a/fibrand.h
+++ b/fibrand.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: fibrand.h,v 1.2 2000/06/17 10:54:59 mdw Exp $
+ * $Id: fibrand.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Fibonacci generator
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: fibrand.h,v $
- * Revision 1.2  2000/06/17 10:54:59  mdw
- * Typesetting fixes.
- *
- * Revision 1.1  1999/12/10 23:15:27  mdw
- * Noncryptographic random number generator.
- *
- */
-
 /*----- Notes on the Fibonacci generator ----------------------------------*
  *
  * The generator was originally suggested by G. J. Mitchell and D. P. Moore
index 7e83fc0..5f9092a 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: field-parse.c,v 1.3 2004/04/03 03:32:05 mdw Exp $
+ * $Id: field-parse.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Parse field descriptions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: field-parse.c,v $
- * Revision 1.3  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.2  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.1  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "field.h"
diff --git a/field.c b/field.c
index f0968dd..c8e31d2 100644 (file)
--- a/field.c
+++ b/field.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: field.c,v 1.3 2004/04/01 12:50:09 mdw Exp $
+ * $Id: field.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Abstract field operations
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: field.c,v $
- * Revision 1.3  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.4.1  2003/06/10 13:43:53  mdw
- * Simple (non-projective) curves over prime fields now seem to work.
- *
- * Revision 1.1  2001/05/07 17:30:13  mdw
- * Add an internal-representation no-op function.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "field.h"
diff --git a/field.h b/field.h
index 3a46ac9..5790284 100644 (file)
--- a/field.h
+++ b/field.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: field.h,v 1.10 2004/04/01 21:28:41 mdw Exp $
+ * $Id: field.h,v 1.11 2004/04/08 01:36:15 mdw Exp $
  *
  * Definitions for field arithmetic
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: field.h,v $
- * Revision 1.10  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- * Revision 1.9  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.8  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.7  2004/03/27 00:04:46  mdw
- * Implement efficient reduction for pleasant-looking primes.
- *
- * Revision 1.6  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.5  2004/03/23 12:08:26  mdw
- * Random field-element selection.
- *
- * Revision 1.4  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.3.4.2  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.3.4.1  2004/03/20 00:13:31  mdw
- * Projective coordinates for prime curves
- *
- * Revision 1.3  2002/01/13 13:48:44  mdw
- * Further progress.
- *
- * Revision 1.2  2001/05/07 17:30:13  mdw
- * Add an internal-representation no-op function.
- *
- * Revision 1.1  2001/04/29 18:12:33  mdw
- * Prototype version.
- *
- */
-
 #ifndef CATACOMB_FIELD_H
 #define CATACOMB_FIELD_H
 
index 30f270b..c780a33 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: fipstest.c,v 1.3 2000/08/11 21:34:34 mdw Exp $
+ * $Id: fipstest.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * FIPS140 randomness tests
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: fipstest.c,v $
- * Revision 1.3  2000/08/11 21:34:34  mdw
- * Change to use the new thresholds given in the draft FIPS140-2.
- *
- * Revision 1.2  2000/06/17 12:21:39  mdw
- * Add braces to shut compiler up.  Reformat code slightly.
- *
- * Revision 1.1  2000/06/17 10:55:38  mdw
- * FIPS 140-1 random generator test.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/bits.h>
index 9596d8a..5bdd8dc 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: fipstest.h,v 1.3 2000/12/06 20:33:27 mdw Exp $
+ * $Id: fipstest.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * FIPS140 randomness tests
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: fipstest.h,v $
- * Revision 1.3  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.2  2000/08/11 21:34:34  mdw
- * Change to use the new thresholds given in the draft FIPS140-2.
- *
- * Revision 1.1  2000/06/17 10:55:38  mdw
- * FIPS 140-1 random generator test.
- *
- */
-
 #ifndef CATACOMB_FIPSTEST_H
 #define CATACOMB_FIPSTEST_H
 
diff --git a/g-ec.c b/g-ec.c
index dcf8a10..1809e6c 100644 (file)
--- a/g-ec.c
+++ b/g-ec.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: g-ec.c,v 1.3 2004/04/04 19:04:11 mdw Exp $
+ * $Id: g-ec.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Abstraction for elliptic curve groups
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: g-ec.c,v $
- * Revision 1.3  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- * Revision 1.2  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <ctype.h>
index 97f455f..aa17685 100644 (file)
--- a/g-prime.c
+++ b/g-prime.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: g-prime.c,v 1.3 2004/04/04 19:04:11 mdw Exp $
+ * $Id: g-prime.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Abstraction for prime groups
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: g-prime.c,v $
- * Revision 1.3  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- * Revision 1.2  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/sub.h>
@@ -109,7 +91,7 @@ static void gsqr(group *gg, mp **d, mp **x) {
 
 static void ginv(group *gg, mp **d, mp **x) {
   gctx *g = (gctx *)gg; mp *r = mpmont_reduce(&g->mm, *d, *x);
-  mp_gcd(0, 0, &r, g->mm.m, r); *d = mpmont_mul(&g->mm, r, r, g->mm.r2);
+  r = mp_modinv(r, r, g->mm.m); *d = mpmont_mul(&g->mm, r, r, g->mm.r2);
 }
 
 static void gexp(group *gg, mp **d, mp **x, mp *n)
@@ -137,8 +119,8 @@ static mp *gtoint(group *gg, mp *d, mp **x)
   { gctx *g = (gctx *)gg; return (mpmont_reduce(&g->mm, d, *x)); }
 
 static int gfromint(group *gg, mp **d, mp *x) {
-  gctx *g = (gctx *)gg; mp_div(0, &x, x, g->mm.m); mp_drop(*d);
-  *d = mpmont_mul(&g->mm, x, x, g->mm.r2); return (0);
+  gctx *g = (gctx *)gg; mp_div(0, d, x, g->mm.m);
+  *d = mpmont_mul(&g->mm, *d, *d, g->mm.r2); return (0);
 }
 
 static int gtobuf(group *gg, buf *b, mp **x) {
index f25fb93..97c3047 100644 (file)
--- a/gcipher.h
+++ b/gcipher.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gcipher.h,v 1.3 2004/04/04 19:42:30 mdw Exp $
+ * $Id: gcipher.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic symmetric cipher interface
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gcipher.h,v $
- * Revision 1.3  2004/04/04 19:42:30  mdw
- * Make tables of standard encryption schemes etc.
- *
- * Revision 1.2  2000/06/17 10:56:00  mdw
- * New key size interface.
- *
- * Revision 1.1  1999/12/10 23:16:01  mdw
- * Generic interface.
- *
- */
-
 #ifndef CATACOMB_GCIPHER_H
 #define CATACOMB_GCIPHER_H
 
diff --git a/gdsa.c b/gdsa.c
index 8723847..9b23f4f 100644 (file)
--- a/gdsa.c
+++ b/gdsa.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gdsa.c,v 1.1 2004/04/04 19:42:59 mdw Exp $
+ * $Id: gdsa.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generalized version of DSA
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gdsa.c,v $
- * Revision 1.1  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "gdsa.h"
@@ -105,7 +97,7 @@ have_k:
   mpbarrett_create(&b, g->r);
   ss = mp_mul(ss, sr, c->u); ss = mpbarrett_reduce(&b, ss, ss);
   ss = mp_add(ss, ss, mr); mp_div(0, &ss, ss, g->r);
-  mp_gcd(0, 0, &k, g->r, k);
+  k = mp_modinv(k, k, g->r);
   ss = mp_mul(ss, ss, k); ss = mpbarrett_reduce(&b, ss, ss);
   s->r = sr; s->s = ss;
   mp_drop(k); mp_drop(mr); mpbarrett_destroy(&b); G_DESTROY(g, z);
@@ -127,14 +119,14 @@ int gdsa_verify(const gdsa *c, const gdsa_sig *s, const void *m)
   group *g = c->g;
   group_expfactor e[2];
   mpbarrett b;
-  mp *h = MP_NEW, *t;
+  mp *h, *t;
   ge *w;
   int rc = -1;
 
   if (MP_CMP(s->r, <, MP_ONE) || MP_CMP(s->r, >=, g->r) ||
       MP_CMP(s->s, <, MP_ONE) || MP_CMP(s->s, >=, g->r))
     return (-1);
-  mpbarrett_create(&b, g->r); mp_gcd(0, 0, &h, g->r, s->s);
+  mpbarrett_create(&b, g->r); h = mp_modinv(MP_NEW, s->s, g->r);
   e[0].base = g->g; e[1].base = c->p;
   t = mp_loadb(MP_NEW, m, c->h->hashsz); mp_div(0, &t, t, g->r);
   t = mp_mul(t, t, h); e[0].exp = t = mpbarrett_reduce(&b, t, t);
diff --git a/gdsa.h b/gdsa.h
index 6d88a4d..479ef3c 100644 (file)
--- a/gdsa.h
+++ b/gdsa.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gdsa.h,v 1.1 2004/04/04 19:42:59 mdw Exp $
+ * $Id: gdsa.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generalized version of DSA
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gdsa.h,v $
- * Revision 1.1  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- */
-
 #ifndef CATACOMB_GDSA_H
 #define CATACOMB_GDSA_H
 
index 3211b42..9c8c17b 100755 (executable)
--- a/gengctab
+++ b/gengctab
@@ -17,7 +17,8 @@ cat <<EOF
 
 EOF
 for i in $list; do
-  echo "#include \"$i.h\""
+  name=`echo $i | sed 's/=.*$//'`
+  echo "#include \"$name.h\""
 done
 
 cat <<EOF
@@ -25,7 +26,7 @@ cat <<EOF
 const $type *const ${include}tab[] = {
 EOF
 for i in $list; do
-  c=`echo $i | sed 's/[^A-Za-z0-9_][^A-Za-z0-9_]*/_/g'`
+  c=`echo $i | sed 's/^.*=//; s/[^A-Za-z0-9_][^A-Za-z0-9_]*/_/g'`
   echo "  &$c,"
 done
 cat <<EOF
index 2ee4115..93e041b 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: genprimes.c,v 1.6 2004/04/02 01:03:49 mdw Exp $
+ * $Id: genprimes.c,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate prime number table
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: genprimes.c,v $
- * Revision 1.6  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.5  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.4  2001/03/04 13:08:10  mdw
- * Use @DA_LAST@ to determine @MAXPRIME@, now that it exists.
- *
- * Revision 1.3  2000/08/15 21:41:58  mdw
- * Create a new type for the small primes table elements.
- *
- * Revision 1.2  1999/12/22 15:48:39  mdw
- * Rename output file.  Make output constants unsigned.
- *
- * Revision 1.1  1999/11/19 13:19:37  mdw
- * Generate small primes table.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <ctype.h>
index 209c3fc..c23aa19 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gf-arith.c,v 1.3 2004/03/27 17:54:11 mdw Exp $
+ * $Id: gf-arith.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Basic arithmetic on binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gf-arith.c,v $
- * Revision 1.3  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "gf.h"
index 7c09d3a..8eb9bbf 100644 (file)
--- a/gf-gcd.c
+++ b/gf-gcd.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gf-gcd.c,v 1.2 2004/03/21 22:52:06 mdw Exp $
+ * $Id: gf-gcd.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Euclidian algorithm on binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gf-gcd.c,v $
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "gf.h"
@@ -186,6 +175,28 @@ void gf_gcd(mp **gcd, mp **xx, mp **yy, mp *a, mp *b)
   MP_DROP(a); MP_DROP(b);
 }
 
+/* -- @gf_modinv@ --- *
+ *
+ * Arguments:  @mp *d@ = destination
+ *             @mp *x@ = argument
+ *             @mp *p@ = modulus
+ *
+ * Returns:    The inverse %$x^{-1} \bmod p$%.
+ *
+ * Use:                Computes a modular inverse, the catch being that the
+ *             arguments and results are binary polynomials.  An assertion
+ *             fails if %$p$% has no inverse.
+ */
+
+mp *gf_modinv(mp *d, mp *x, mp *p)
+{
+  mp *g = MP_NEW;
+  gf_gcd(&g, 0, &d, p, x);
+  assert(MP_EQ(g, MP_ONE));
+  mp_drop(g);
+  return (d);
+}
+
 /*----- Test rig ----------------------------------------------------------*/
 
 #ifdef TEST_RIG
@@ -202,7 +213,7 @@ static int gcd(dstr *v)
   mp *gg = MP_NEW, *xx = MP_NEW, *yy = MP_NEW;
   gf_gcd(&gg, &xx, &yy, a, b);
   if (!MP_EQ(x, xx)) {
-    fputs("\n*** mp_gcd(x) failed", stderr);
+    fputs("\n*** gf_gcd(x) failed", stderr);
     fputs("\na      = ", stderr); mp_writefile(a, stderr, 16);
     fputs("\nb      = ", stderr); mp_writefile(b, stderr, 16);
     fputs("\nexpect = ", stderr); mp_writefile(x, stderr, 16);
@@ -211,7 +222,7 @@ static int gcd(dstr *v)
     ok = 0;
   }
   if (!MP_EQ(y, yy)) {
-    fputs("\n*** mp_gcd(y) failed", stderr);
+    fputs("\n*** gf_gcd(y) failed", stderr);
     fputs("\na      = ", stderr); mp_writefile(a, stderr, 16);
     fputs("\nb      = ", stderr); mp_writefile(b, stderr, 16);
     fputs("\nexpect = ", stderr); mp_writefile(y, stderr, 16);
@@ -231,7 +242,7 @@ static int gcd(dstr *v)
   }
 
   if (!MP_EQ(g, gg)) {
-    fputs("\n*** mp_gcd(gcd) failed", stderr);
+    fputs("\n*** gf_gcd(gcd) failed", stderr);
     fputs("\na      = ", stderr); mp_writefile(a, stderr, 16);
     fputs("\nb      = ", stderr); mp_writefile(b, stderr, 16);
     fputs("\nexpect = ", stderr); mp_writefile(g, stderr, 16);
diff --git a/gf.h b/gf.h
index fba801c..2429e95 100644 (file)
--- a/gf.h
+++ b/gf.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gf.h,v 1.3 2004/03/27 17:54:11 mdw Exp $
+ * $Id: gf.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Arithmetic on binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gf.h,v $
- * Revision 1.3  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 #ifndef CATACOMB_GF_H
 #define CATACOMB_GF_H
 
@@ -130,6 +116,21 @@ extern int gf_irreduciblep(mp */*f*/);
 extern void gf_gcd(mp **/*gcd*/, mp **/*xx*/, mp **/*yy*/,
                   mp */*a*/, mp */*b*/);
 
+/* -- @gf_modinv@ --- *
+ *
+ * Arguments:  @mp *d@ = destination
+ *             @mp *x@ = argument
+ *             @mp *p@ = modulus
+ *
+ * Returns:    The inverse %$x^{-1} \bmod p$%.
+ *
+ * Use:                Computes a modular inverse, the catch being that the
+ *             arguments and results are binary polynomials.  An assertion
+ *             fails if %$p$% has no inverse.
+ */
+
+extern mp *gf_modinv(mp */*d*/, mp */*x*/, mp */*p*/);
+
 /*----- That's all, folks -------------------------------------------------*/
 
 #ifdef __cplusplus
diff --git a/gfn.c b/gfn.c
index 1b5a98c..b03df25 100644 (file)
--- a/gfn.c
+++ b/gfn.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfn.c,v 1.1 2004/04/01 21:28:41 mdw Exp $
+ * $Id: gfn.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Normal-basis translation for binary fields
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfn.c,v $
- * Revision 1.1  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "gfreduce.h"
diff --git a/gfn.h b/gfn.h
index 48531b9..94a74c5 100644 (file)
--- a/gfn.h
+++ b/gfn.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfn.h,v 1.1 2004/04/01 21:28:41 mdw Exp $
+ * $Id: gfn.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Normal-basis translation for binary fields
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfn.h,v $
- * Revision 1.1  2004/04/01 21:28:41  mdw
- * Normal basis support (translates to poly basis internally).  Rewrite
- * EC and prime group table generators in awk, so that they can reuse data
- * for repeated constants.
- *
- */
-
 #ifndef CATACOMB_GFN_H
 #define CATACOMB_GFN_H
 
index f826fc7..ae13dcf 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfreduce-exp.h,v 1.2 2004/03/21 22:52:06 mdw Exp $
+ * $Id: gfreduce-exp.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Exponentiation operations for binary field reduction
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfreduce-exp.h,v $
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 #ifndef CATACOMB_GFREDUCE_EXP_H
 #define CATACOMB_GFREDUCE_EXP_H
 
index 4f07ccf..ae31d5c 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfreduce.c,v 1.4 2004/03/27 00:04:46 mdw Exp $
+ * $Id: gfreduce.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Efficient reduction modulo sparse binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfreduce.c,v $
- * Revision 1.4  2004/03/27 00:04:46  mdw
- * Implement efficient reduction for pleasant-looking primes.
- *
- * Revision 1.3  2004/03/23 15:19:32  mdw
- * Test elliptic curves more thoroughly.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/alloc.h>
index 9840b5e..ec343b4 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfreduce.h,v 1.2 2004/03/21 22:52:06 mdw Exp $
+ * $Id: gfreduce.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Reduction modulo sparse binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfreduce.h,v $
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.2.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- */
-
 #ifndef CATACOMB_GFREDUCE_H
 #define CATACOMB_GFREDUCE_H
 
index 6e37420..7ce7244 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfshare-mktab.c,v 1.3 2000/06/18 23:26:09 mdw Exp $
+ * $Id: gfshare-mktab.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate tables for %$\gf{2^8}$% multiplication
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfshare-mktab.c,v $
- * Revision 1.3  2000/06/18 23:26:09  mdw
- * Whoops.  Fix a typo.
- *
- * Revision 1.2  2000/06/18 23:12:15  mdw
- * Change typesetting of Galois Field names.
- *
- * Revision 1.1  2000/06/17 10:56:30  mdw
- * Fast but nonstandard secret sharing system.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index 841e556..a46f948 100644 (file)
--- a/gfshare.c
+++ b/gfshare.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfshare.c,v 1.8 2004/04/02 01:03:49 mdw Exp $
+ * $Id: gfshare.c,v 1.9 2004/04/08 01:36:15 mdw Exp $
  *
  * Secret sharing over %$\gf{2^8}$%
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfshare.c,v $
- * Revision 1.8  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.7  2001/06/16 23:42:17  mdw
- * Typesetting fixes.
- *
- * Revision 1.6  2000/12/06 20:30:10  mdw
- * Change secret sharing interface: present the secret at share
- * construction time.
- *
- * Revision 1.5  2000/06/24 19:11:47  mdw
- * Fix daft error in the comment for @gfshare_get@.
- *
- * Revision 1.4  2000/06/24 18:29:05  mdw
- * Interface change: allow shares to be extracted from a context on demand,
- * rather than building them all up-front.
- *
- * Revision 1.3  2000/06/22 18:04:13  mdw
- * Improve secret reconstruction -- compute coefficients as needed rather
- * than making a big array of them.
- *
- * Revision 1.2  2000/06/18 23:12:15  mdw
- * Change typesetting of Galois Field names.
- *
- * Revision 1.1  2000/06/17 10:56:30  mdw
- * Fast but nonstandard secret sharing system.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index fe09d8a..a53d137 100644 (file)
--- a/gfshare.h
+++ b/gfshare.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfshare.h,v 1.6 2000/12/06 20:30:10 mdw Exp $
+ * $Id: gfshare.h,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Secret sharing over %$\gf{2^8}$%
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfshare.h,v $
- * Revision 1.6  2000/12/06 20:30:10  mdw
- * Change secret sharing interface: present the secret at share
- * construction time.
- *
- * Revision 1.5  2000/06/24 19:11:47  mdw
- * Fix daft error in the comment for @gfshare_get@.
- *
- * Revision 1.4  2000/06/24 18:29:05  mdw
- * Interface change: allow shares to be extracted from a context on demand,
- * rather than building them all up-front.
- *
- * Revision 1.3  2000/06/18 23:12:15  mdw
- * Change typesetting of Galois Field names.
- *
- * Revision 1.2  2000/06/17 11:05:27  mdw
- * Add a commentary on the system.
- *
- * Revision 1.1  2000/06/17 10:56:30  mdw
- * Fast but nonstandard secret sharing system.
- *
- */
-
 /*----- Notes on the system -----------------------------------------------*
  *
  * This uses a variant of Shamir's secret sharing system.  Shamir's original
index c692f9c..aaf1109 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfx-kmul.c,v 1.3 2004/03/27 17:54:11 mdw Exp $
+ * $Id: gfx-kmul.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Karatsuba's multiplication algorithm on binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx-kmul.c,v $
- * Revision 1.3  2004/03/27 17:54:11  mdw
- * Standard curves and curve checking.
- *
- * Revision 1.2  2002/10/09 00:36:03  mdw
- * Fix bounds on workspace for Karatsuba operations.
- *
- * Revision 1.1  2000/10/08 15:49:37  mdw
- * First glimmerings of binary polynomial arithmetic.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index 70801c1..64f7a87 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfx-sqr-mktab.c,v 1.1 2000/10/08 15:49:37 mdw Exp $
+ * $Id: gfx-sqr-mktab.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Build table for squaring of binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx-sqr-mktab.c,v $
- * Revision 1.1  2000/10/08 15:49:37  mdw
- * First glimmerings of binary polynomial arithmetic.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index 60e1b3c..6acc4a3 100644 (file)
--- a/gfx-sqr.c
+++ b/gfx-sqr.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfx-sqr.c,v 1.3 2004/04/02 01:03:49 mdw Exp $
+ * $Id: gfx-sqr.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Sqaring binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx-sqr.c,v $
- * Revision 1.3  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.4.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.1  2000/10/08 15:49:37  mdw
- * First glimmerings of binary polynomial arithmetic.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "mpx.h"
diff --git a/gfx.c b/gfx.c
index 97320f9..0fabd5c 100644 (file)
--- a/gfx.c
+++ b/gfx.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfx.c,v 1.1 2000/10/08 15:49:37 mdw Exp $
+ * $Id: gfx.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Low-level arithmetic on binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx.c,v $
- * Revision 1.1  2000/10/08 15:49:37  mdw
- * First glimmerings of binary polynomial arithmetic.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/gfx.h b/gfx.h
index 18ac9a5..2a325c1 100644 (file)
--- a/gfx.h
+++ b/gfx.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gfx.h,v 1.2 2004/03/21 22:52:06 mdw Exp $
+ * $Id: gfx.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Low-level arithmetic on binary polynomials
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gfx.h,v $
- * Revision 1.2  2004/03/21 22:52:06  mdw
- * Merge and close elliptic curve branch.
- *
- * Revision 1.1.4.1  2004/03/21 22:39:46  mdw
- * Elliptic curves on binary fields work.
- *
- * Revision 1.1  2000/10/08 15:49:37  mdw
- * First glimmerings of binary polynomial arithmetic.
- *
- */
-
 #ifndef CATACOMB_GFX_H
 #define CATACOMB_GFX_H
 
index da4063d..3f0266c 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ghash-def.h,v 1.6 2004/04/04 19:42:59 mdw Exp $
+ * $Id: ghash-def.h,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Definitions for generic hash interface
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ghash-def.h,v $
- * Revision 1.6  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- * Revision 1.5  2001/01/25 21:39:58  mdw
- * Burn the hash context when it's done with, for paranoia's sake.
- *
- * Revision 1.4  2000/07/15 10:00:58  mdw
- * New generic hash operation for copying hash contexts.
- *
- * Revision 1.3  2000/07/02 18:27:42  mdw
- * (ghash->ops->done): Interface change.  Passing in a null buffer pointer
- * uses a buffer internal to the ghash object.  The operation returns the
- * address of the buffer it used.  Clients of generic hashes no longer need
- * to use dynamically allocated memory for hash results.
- *
- * Revision 1.2  2000/06/17 11:22:03  mdw
- * Use secure arena for memory allocation.  Minor changes in the generic
- * hash interface.
- *
- * Revision 1.1  1999/12/10 23:21:37  mdw
- * Generic interface.
- *
- */
-
 #ifndef CATACOMB_GHASH_DEF_H
 #define CATACOMB_GHASH_DEF_H
 
diff --git a/ghash.h b/ghash.h
index 9d63419..3b83a19 100644 (file)
--- a/ghash.h
+++ b/ghash.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: ghash.h,v 1.6 2004/04/04 19:42:30 mdw Exp $
+ * $Id: ghash.h,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic hash function interface
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: ghash.h,v $
- * Revision 1.6  2004/04/04 19:42:30  mdw
- * Make tables of standard encryption schemes etc.
- *
- * Revision 1.5  2000/07/15 10:00:58  mdw
- * New generic hash operation for copying hash contexts.
- *
- * Revision 1.4  2000/07/03 18:08:24  mdw
- * Include `bits.h'.
- *
- * Revision 1.3  2000/07/02 18:27:42  mdw
- * (ghash->ops->done): Interface change.  Passing in a null buffer pointer
- * uses a buffer internal to the ghash object.  The operation returns the
- * address of the buffer it used.  Clients of generic hashes no longer need
- * to use dynamically allocated memory for hash results.
- *
- * Revision 1.2  2000/06/17 11:22:17  mdw
- * Minor changes in the generic hash interface.
- *
- * Revision 1.1  1999/12/10 23:16:01  mdw
- * Generic interface.
- *
- */
-
 #ifndef CATACOMB_GHASH_H
 #define CATACOMB_GHASH_H
 
@@ -81,7 +55,7 @@ typedef struct ghash_ops {
 } ghash_ops;
 
 #define GH_INIT(ch)            (ch)->init()
-#define GH_CLASS(H)            (h)->ops->c
+#define GH_CLASS(h)            (h)->ops->c
 #define GH_HASH(h, p, sz)      (h)->ops->hash((h), (p), (sz))
 #define GH_DONE(h, buf)                (h)->ops->done((h), (buf))
 #define GH_DESTROY(h)          (h)->ops->destroy((h))
index f7119f5..6d812ff 100644 (file)
--- a/gkcdsa.c
+++ b/gkcdsa.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gkcdsa.c,v 1.1 2004/04/04 19:42:59 mdw Exp $
+ * $Id: gkcdsa.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generalized version of KCDSA
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gkcdsa.c,v $
- * Revision 1.1  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "gkcdsa.h"
@@ -61,7 +53,6 @@ ghash *gkcdsa_beginhash(const gkcdsa *c)
   mp *v = G_TOINT(c->g, MP_NEW, c->p);
   size_t sz = c->h->bufsz;
   void *p = xmalloc(sz);
-
   if (/*ouch*/ !v) memset(p, 0, sz);
   else mp_storeb(v, p, sz);
   GH_HASH(h, p, sz);
@@ -238,7 +229,7 @@ static int tsign(dstr *v)
   DENSURE(&d, c.h->hashsz); d.len = c.h->hashsz; memset(d.buf, 0, d.len);
   ss.r = (octet *)d.buf;
 
-  x = MP_NEW; mp_gcd(0, 0, &x, c.g->r, c.u);
+  x = mp_modinv(MP_NEW, c.u, c.g->r);
   c.p = G_CREATE(c.g); G_EXP(c.g, c.p, c.g->g, x);
   h = gkcdsa_beginhash(&c);
   GH_HASH(h, v[3].buf, v[3].len);
index 8901b87..ec27eab 100644 (file)
--- a/gkcdsa.h
+++ b/gkcdsa.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gkcdsa.h,v 1.1 2004/04/04 19:42:59 mdw Exp $
+ * $Id: gkcdsa.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generalized version of KCDSA
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gkcdsa.h,v $
- * Revision 1.1  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- */
-
 #ifndef CATACOMB_GKCDSA_H
 #define CATACOMB_GKCDSA_H
 
diff --git a/gmac.h b/gmac.h
index cf134ac..9419bbf 100644 (file)
--- a/gmac.h
+++ b/gmac.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: gmac.h,v 1.3 2004/04/04 19:42:30 mdw Exp $
+ * $Id: gmac.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic MAC function interface
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: gmac.h,v $
- * Revision 1.3  2004/04/04 19:42:30  mdw
- * Make tables of standard encryption schemes etc.
- *
- * Revision 1.2  2000/06/17 11:22:46  mdw
- * Minor changes in the generic hash and MAC interfaces.
- *
- * Revision 1.1  1999/12/10 23:16:01  mdw
- * Generic interface.
- *
- */
-
 #ifndef CATACOMB_GMAC_H
 #define CATACOMB_GMAC_H
 
diff --git a/grand.c b/grand.c
index b7118ab..ca0492b 100644 (file)
--- a/grand.c
+++ b/grand.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: grand.c,v 1.2 2000/12/06 20:31:06 mdw Exp $
+ * $Id: grand.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic interface to random number generators
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: grand.c,v $
- * Revision 1.2  2000/12/06 20:31:06  mdw
- * Simplify uniform range transformation.
- *
- * Revision 1.1  1999/12/10 23:16:01  mdw
- * Generic interface.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stddef.h>
diff --git a/grand.h b/grand.h
index 160663e..0446b2b 100644 (file)
--- a/grand.h
+++ b/grand.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: grand.h,v 1.4 2001/04/19 18:23:53 mdw Exp $
+ * $Id: grand.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic interface to random number generators
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: grand.h,v $
- * Revision 1.4  2001/04/19 18:23:53  mdw
- * Use unsigned integer rather than enum for flags.
- *
- * Revision 1.3  2001/02/03 16:07:33  mdw
- * Give generic random objects separate namespaces for their supported misc
- * ops.
- *
- * Revision 1.2  2000/06/17 11:23:11  mdw
- * Typesetting fix.  Add a flags word to the generic generator.
- *
- * Revision 1.1  1999/12/10 23:16:01  mdw
- * Generic interface.
- *
- */
-
 #ifndef CATACOMB_GRAND_H
 #define CATACOMB_GRAND_H
 
@@ -92,6 +74,12 @@ typedef struct grand_ops {
   void (*fill)(grand */*r*/, void */*p*/, size_t /*sz*/); /* Fill buffer */
 } grand_ops;
 
+#define GR_DESTROY(r)          (r)->ops->destroy((r))
+#define GR_RAW(r)              (r)->ops->raw((r))
+#define GR_WORD(r)             (r)->ops->word((r))
+#define GR_RANGE(r, l)         (r)->ops->range((r), (l))
+#define GR_FILL(r, p, sz)      (r)->ops->fill((r), (p), (sz))
+
 /* --- Flag types --- */
 
 #define GRAND_CRYPTO 1u                        /* Cryptographically strong */
index 7fe67a0..9b46b32 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-dstr.c,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: group-dstr.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Dynamic string I/O for group elements
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-dstr.c,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "group.h"
index 72bd5a0..2ca684c 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-exp.c,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: group-exp.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Exponentiation for abstract groups
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-exp.c,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "group.h"
index a736d29..244bebf 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-exp.h,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: group-exp.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Exponentiation operations for abstract groups
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-exp.h,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 #ifndef CATACOMB_GROUP_EXP_H
 #define CATACOMB_GROUP_EXP_H
 
index a819f92..e0ae8bb 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-file.c,v 1.2 2004/04/04 19:04:11 mdw Exp $
+ * $Id: group-file.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * File I/O for group elements
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-file.c,v $
- * Revision 1.2  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "group.h"
index 276e2d2..1c0d614 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-parse.c,v 1.2 2004/04/03 03:32:05 mdw Exp $
+ * $Id: group-parse.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Parse group description strings
  *
  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-parse.c,v $
- * Revision 1.2  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "group.h"
index 2e3e6d4..faa34f2 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-stdops.c,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: group-stdops.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Standard group operations
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-stdops.c,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "group.h"
index 598e973..f1e5859 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-string.c,v 1.1 2004/04/01 12:50:09 mdw Exp $
+ * $Id: group-string.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * String I/O for group elements
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-string.c,v $
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "group.h"
index 7c1936b..851f912 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group-test.c,v 1.2 2004/04/04 19:04:11 mdw Exp $
+ * $Id: group-test.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Testing group operations
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group-test.c,v $
- * Revision 1.2  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
diff --git a/group.h b/group.h
index 0e32de6..9211a58 100644 (file)
--- a/group.h
+++ b/group.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: group.h,v 1.3 2004/04/04 19:04:11 mdw Exp $
+ * $Id: group.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * General cyclic group abstraction
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: group.h,v $
- * Revision 1.3  2004/04/04 19:04:11  mdw
- * Raw I/O of elliptic curve points and group elements.
- *
- * Revision 1.2  2004/04/03 03:32:05  mdw
- * General robustification.
- *
- * Revision 1.1  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- */
-
 #ifndef CATACOMB_GROUP_H
 #define CATACOMB_GROUP_H
 
index 7c7b7b9..727c01e 100644 (file)
--- a/has160.c
+++ b/has160.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: has160.c,v 1.1 2004/04/04 19:42:59 mdw Exp $
+ * $Id: has160.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The HAS160 message digest function
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: has160.c,v $
- * Revision 1.1  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/bits.h>
index f60fdc9..4b263f9 100644 (file)
--- a/has160.h
+++ b/has160.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: has160.h,v 1.1 2004/04/04 19:42:59 mdw Exp $
+ * $Id: has160.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The HAS160 message digest function
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: has160.h,v $
- * Revision 1.1  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- */
-
 /*----- Notes on the HAS160 hash function ---------------------------------*
  *
  * HAS160 was designed by Chae Hoon Lim and the Korean Information Security
diff --git a/hash.h b/hash.h
index f5d21de..9c81a44 100644 (file)
--- a/hash.h
+++ b/hash.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: hash.h,v 1.4 2004/03/21 22:42:27 mdw Exp $
+ * $Id: hash.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic handling for message digest functions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: hash.h,v $
- * Revision 1.4  2004/03/21 22:42:27  mdw
- * Test hashing on long strings.
- *
- * Revision 1.3  2000/06/17 11:23:27  mdw
- * Portability fix for broken compilers.
- *
- * Revision 1.2  1999/12/10 23:16:40  mdw
- * Split mode macros into interface and implementation.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_HASH_H
 #define CATACOMB_HASH_H
 
index 11a5d37..a175397 100644 (file)
--- a/hashsum.c
+++ b/hashsum.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: hashsum.c,v 1.9 2004/04/04 19:42:59 mdw Exp $
+ * $Id: hashsum.c,v 1.10 2004/04/08 01:36:15 mdw Exp $
  *
  * Hash files using some secure hash function
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: hashsum.c,v $
- * Revision 1.9  2004/04/04 19:42:59  mdw
- * Add set -e.
- *
- * Revision 1.8  2001/04/19 18:26:33  mdw
- * Add CRC as another hash function.
- *
- * Revision 1.7  2001/02/21 20:03:22  mdw
- * Added support for MD2 hash function.
- *
- * Revision 1.6  2001/01/25 21:40:14  mdw
- * Support for new SHA variants added.
- *
- * Revision 1.5  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.4  2000/08/04 23:23:44  mdw
- * Various <ctype.h> fixes.
- *
- * Revision 1.3  2000/07/29 17:02:43  mdw
- * (checkhash): Be pettier about spaces between the hash and filename, for
- * compatiblity with `md5sum'.
- *
- * Revision 1.2  2000/07/15 21:14:05  mdw
- * Missed `-e' out of the usage string.
- *
- * Revision 1.1  2000/07/15 20:52:34  mdw
- * Useful replacement for `md5sum' with support for many different hash
- * functions and for reading filename lists from `find'.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "config.h"
@@ -120,11 +85,11 @@ static int fhash(const char *file, unsigned f, const gchash *gch, void *buf)
   else if ((fp = fopen(file, f & f_binary ? "rb" : "r")) == 0)
     return (-1);
 
-  h = gch->init();
+  h = GH_INIT(gch);
   while ((sz = fread(fbuf, 1, sizeof(fbuf), fp)) > 0)
-    h->ops->hash(h, fbuf, sz);
-  h->ops->done(h, buf);
-  h->ops->destroy(h);
+    GH_HASH(h, fbuf, sz);
+  GH_DONE(h, buf);
+  GH_DESTROY(h);
   e = ferror(fp);
   if (file)
     fclose(fp);
index ffd796c..d9075a1 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: hmac-def.h,v 1.7 2001/04/19 18:24:45 mdw Exp $
+ * $Id: hmac-def.h,v 1.8 2004/04/08 01:36:15 mdw Exp $
  *
  * Definitions for HMAC and NMAC
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: hmac-def.h,v $
- * Revision 1.7  2001/04/19 18:24:45  mdw
- * Provide correct key sizes for NMAC, HMAC and SSLMAC.
- *
- * Revision 1.6  2001/04/03 19:35:45  mdw
- * Support the SSL HMAC variant (untested).
- *
- * Revision 1.5  2000/10/15 19:09:20  mdw
- * Support HMAC mode for hash functions which need to store more state than
- * the hash output size.
- *
- * Revision 1.4  2000/07/15 10:00:58  mdw
- * New generic hash operation for copying hash contexts.
- *
- * Revision 1.3  2000/07/02 18:27:42  mdw
- * (ghash->ops->done): Interface change.  Passing in a null buffer pointer
- * uses a buffer internal to the ghash object.  The operation returns the
- * address of the buffer it used.  Clients of generic hashes no longer need
- * to use dynamically allocated memory for hash results.
- *
- * Revision 1.2  2000/06/17 11:23:44  mdw
- * Use secure arena for memory allocation.  Minor changes in the generic
- * hash interface.
- *
- * Revision 1.1  1999/12/10 23:16:40  mdw
- * Split mode macros into interface and implementation.
- *
- */
-
 #ifndef CATACOMB_HMAC_DEF_H
 #define CATACOMB_HMAC_DEF_H
 
diff --git a/hmac.h b/hmac.h
index e9c8d78..e874200 100644 (file)
--- a/hmac.h
+++ b/hmac.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: hmac.h,v 1.6 2001/04/19 18:24:45 mdw Exp $
+ * $Id: hmac.h,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Generic code for HMAC and NMAC
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: hmac.h,v $
- * Revision 1.6  2001/04/19 18:24:45  mdw
- * Provide correct key sizes for NMAC, HMAC and SSLMAC.
- *
- * Revision 1.5  2001/04/03 19:35:45  mdw
- * Support the SSL HMAC variant (untested).
- *
- * Revision 1.4  2000/10/15 19:09:20  mdw
- * Support HMAC mode for hash functions which need to store more state than
- * the hash output size.
- *
- * Revision 1.3  2000/06/17 11:23:57  mdw
- * New key size interface.
- *
- * Revision 1.2  1999/12/10 23:17:39  mdw
- * Split mode macros into interface and implementation.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 /*----- Notes on the HMAC and NMAC constructions --------------------------*
  *
  * Designed by Mihir Bellare, Ran Canetti and Hugo Krawczyk, NMAC is a method
diff --git a/idea.c b/idea.c
index c0a1d07..ae4aa2d 100644 (file)
--- a/idea.c
+++ b/idea.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: idea.c,v 1.4 2000/07/15 17:47:58 mdw Exp $
+ * $Id: idea.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Implementation of the IDEA cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: idea.c,v $
- * Revision 1.4  2000/07/15 17:47:58  mdw
- * Fix bug in decryption key scheduling.
- *
- * Revision 1.3  2000/07/02 18:24:39  mdw
- * Use a new multiplication function from an Ascom white paper to resist
- * timing attacks.
- *
- * Revision 1.2  2000/06/17 11:24:08  mdw
- * New key size interface.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/idea.h b/idea.h
index 326925f..771adda 100644 (file)
--- a/idea.h
+++ b/idea.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: idea.h,v 1.3 2000/06/17 11:24:08 mdw Exp $
+ * $Id: idea.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Implementation of the IDEA cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: idea.h,v $
- * Revision 1.3  2000/06/17 11:24:08  mdw
- * New key size interface.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 /*----- Notes on the IDEA block cipher ------------------------------------*
  *
  * IDEA was invented by James Massey and Xuejia Lai.  The fundamental idea
index 4add2c1..f1d1870 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: karatsuba.h,v 1.2 2000/10/08 15:47:47 mdw Exp $
+ * $Id: karatsuba.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Macros for Karatsuba functions
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: karatsuba.h,v $
- * Revision 1.2  2000/10/08 15:47:47  mdw
- * Rename from `mpx-kmac.h', and add macros for @gfx_kmul@.
- *
- * Revision 1.1  2000/06/17 11:42:11  mdw
- * Moved the Karatsuba macros into a separate file for better sharing.
- * Fixed some comments.
- *
- */
-
 #ifndef CATACOMB_KARATSUBA_H
 #define CATACOMB_KARATSUBA_H
 
index 75b2f1e..7057570 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-attr.c,v 1.4 2004/04/08 01:02:49 mdw Exp $
+ * $Id: key-attr.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Key attribute manipulation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-attr.c,v $
- * Revision 1.4  2004/04/08 01:02:49  mdw
- * key-binary.c
- *
- * Revision 1.3  2001/06/22 19:39:43  mdw
- * Allow tagging if the tag is owned by a deleted key.
- *
- * Revision 1.2  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <ctype.h>
index 6726152..75cfbe7 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-binary.c,v 1.6 2004/04/08 01:03:22 mdw Exp $
+ * $Id: key-binary.c,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Key binary encoding
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-binary.c,v $
- * Revision 1.6  2004/04/08 01:03:22  mdw
- * Force subkeys to be sorted in structured keys.
- *
- * Revision 1.5  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.4  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.3  2001/02/03 11:57:00  mdw
- * Track mLib change: symbols no longer need to include a terminating
- * null.
- *
- * Revision 1.2  2000/06/17 11:25:20  mdw
- * Use secure memory interface from MP library.
- *
- * Revision 1.1  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdlib.h>
index 494e9c8..7cbc6fd 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-data.c,v 1.5 2004/03/28 01:58:47 mdw Exp $
+ * $Id: key-data.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Encoding and decoding of key data
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-data.c,v $
- * Revision 1.5  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.4  2000/07/16 19:51:58  mdw
- * Shut stupid compiler up.
- *
- * Revision 1.3  2000/06/17 11:26:03  mdw
- * key_structfind: track minor data structure change, and cope if the
- * subkey isn't available.
- *
- * Revision 1.2  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index 4eb8845..40b8b4b 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-data.h,v 1.3 2004/03/28 01:58:47 mdw Exp $
+ * $Id: key-data.h,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Manipulating key data
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-data.h,v $
- * Revision 1.3  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.2  2000/06/17 11:26:18  mdw
- * Add the key packing interface.
- *
- * Revision 1.1  2000/02/12 18:21:23  mdw
- * Overhaul of key management (again).
- *
- */
-
 #ifndef CATACOMB_KEY_DATA_H
 #define CATACOMB_KEY_DATA_H
 
index 400e6bf..75e4246 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-error.c,v 1.3 2004/04/08 01:02:49 mdw Exp $
+ * $Id: key-error.c,v 1.4 2004/04/08 01:36:15 mdw Exp $
  *
  * Translating key error codes into strings
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-error.c,v $
- * Revision 1.3  2004/04/08 01:02:49  mdw
- * key-binary.c
- *
- * Revision 1.2  2000/02/12 18:55:40  mdw
- * Make it all compile properly.
- *
- * Revision 1.1  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/macros.h>
index 9f4863a..8972603 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-fetch.c,v 1.1 2000/06/17 10:42:54 mdw Exp $
+ * $Id: key-fetch.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Higher-level key unpacking
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-fetch.c,v $
- * Revision 1.1  2000/06/17 10:42:54  mdw
- * Convenient table-driven extraction of structured keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/dstr.h>
index 2e556e9..15b0304 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-file.c,v 1.2 2001/02/03 11:57:38 mdw Exp $
+ * $Id: key-file.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * System-dependent key filing operations
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-file.c,v $
- * Revision 1.2  2001/02/03 11:57:38  mdw
- * Allow creating keyfiles with no file attached.
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <errno.h>
index d80da4f..605eb06 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-flags.c,v 1.4 2004/04/02 01:03:49 mdw Exp $
+ * $Id: key-flags.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Reading and writing key flag strings
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-flags.c,v $
- * Revision 1.4  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.3  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.2  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdlib.h>
@@ -123,6 +106,8 @@ int key_readflags(const char *p, char **pp, unsigned *ff, unsigned *mm)
 
     /* --- Look up the string in the flags table --- */
 
+    if (sz == 4 && strncmp(p, "none", 4) == 0)
+      goto next;
     for (e = flagtab; e->name; e++) {
       if (strncmp(e->name, p, sz) == 0) {
        if (e->name[sz] == 0) {
@@ -146,6 +131,7 @@ int key_readflags(const char *p, char **pp, unsigned *ff, unsigned *mm)
       return (KERR_BADFLAGS);
     m |= ee->m;
     f |= ee->f;
+  next:
     p += sz;
     if (*p == 0 || *p == ':')
       break;
index a2d1c91..c78b967 100644 (file)
--- a/key-io.c
+++ b/key-io.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-io.c,v 1.5 2003/10/17 16:30:46 mdw Exp $
+ * $Id: key-io.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Adding new keys to a key file
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-io.c,v $
- * Revision 1.5  2003/10/17 16:30:46  mdw
- * Report errors if key files don't exist!
- *
- * Revision 1.4  2001/02/03 11:57:38  mdw
- * Allow creating keyfiles with no file attached.
- *
- * Revision 1.3  2001/01/20 11:56:48  mdw
- * Use mLib exported tuning parameters for hashtable.
- *
- * Revision 1.2  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <ctype.h>
index a502293..37027c0 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-misc.c,v 1.4 2004/04/08 01:02:49 mdw Exp $
+ * $Id: key-misc.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Simple key management
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-misc.c,v $
- * Revision 1.4  2004/04/08 01:02:49  mdw
- * key-binary.c
- *
- * Revision 1.3  2001/06/22 19:39:12  mdw
- * New interface to find out whether a key has expired.  Also, a bug fix
- * to @key_bytag@ so that it finds expired keys correctly.
- *
- * Revision 1.2  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index 8111cce..b2c88b7 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-moan.c,v 1.1 1999/12/22 15:47:48 mdw Exp $
+ * $Id: key-moan.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Standard error handling function for key loading
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-moan.c,v $
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/report.h>
index 575fd93..cc0f20a 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-pack.c,v 1.2 2004/03/28 01:58:47 mdw Exp $
+ * $Id: key-pack.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Packing and unpacking key data
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-pack.c,v $
- * Revision 1.2  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.1  2000/06/17 10:42:41  mdw
- * Packing and unpacking structured keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/dstr.h>
index d31b31f..7e02daf 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-pass.c,v 1.4 2004/03/28 01:58:26 mdw Exp $
+ * $Id: key-pass.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Encrypting keys with passphrases
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-pass.c,v $
- * Revision 1.4  2004/03/28 01:58:26  mdw
- * Ooops, fix all the bugs.
- *
- * Revision 1.3  2004/03/27 00:04:19  mdw
- * INCOMPATIBLE CHANGE.  Use proper authentication on encrypted keys.
- *
- * Revision 1.2  2000/06/17 11:26:35  mdw
- * `rand_getgood' is deprecated.
- *
- * Revision 1.1  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/dstr.h>
index a072368..dcfe354 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key-text.c,v 1.5 2004/04/01 13:42:48 mdw Exp $
+ * $Id: key-text.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Key textual encoding
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key-text.c,v $
- * Revision 1.5  2004/04/01 13:42:48  mdw
- * Missed off <ctype.h>\!
- *
- * Revision 1.4  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.3  2001/02/03 11:57:00  mdw
- * Track mLib change: symbols no longer need to include a terminating
- * null.
- *
- * Revision 1.2  2000/06/17 11:27:20  mdw
- * Use secure memory interface from MP library.
- *
- * Revision 1.1  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <ctype.h>
diff --git a/key.1 b/key.1
index cab0d41..1b6c7e5 100644 (file)
--- a/key.1
+++ b/key.1
@@ -87,6 +87,8 @@ is one of:
 .B fingerprint
 .RB [ \-f
 .IR filter ]
+.RB [ \-a
+.IR hash ]
 .RI [ tag ...]
 .br
 .B tidy
@@ -744,10 +746,18 @@ The following option is supported:
 Specifies a filter.  Only keys and key components which match the filter
 are fingerprinted.  The default is to only fingerprint nonsecret
 components.
+.TP
+.BI "\-a, \-\-algorithm " hash
+Names the hashing algorithm.  Run
+.B hashsum -a list
+for a list of hashing algorithms.  The default is
+.BR rmd160 .
 .PP
 The keys to be fingerprinted are named by their tags or keyids given as
 command line arguments.  If no key tags are given, all keys which match
-the filter are fingerprinted.
+the filter are fingerprinted.  See
+.BR keyring (5)
+for a description of how key fingerprints are computed.
 .SS "tidy"
 Simply reads the keyring from file and writes it back again.  This has
 the effect of removing any deleted keys from the file.
diff --git a/key.h b/key.h
index 05ba9a3..ada6260 100644 (file)
--- a/key.h
+++ b/key.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: key.h,v 1.10 2004/04/08 01:02:49 mdw Exp $
+ * $Id: key.h,v 1.11 2004/04/08 01:36:15 mdw Exp $
  *
  * Simple key management
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: key.h,v $
- * Revision 1.10  2004/04/08 01:02:49  mdw
- * key-binary.c
- *
- * Revision 1.9  2001/06/22 19:37:59  mdw
- * New interface to enquire whether a key has expired.
- *
- * Revision 1.8  2001/02/03 11:57:38  mdw
- * Allow creating keyfiles with no file attached.
- *
- * Revision 1.7  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.6  2000/06/17 11:27:43  mdw
- * Add key fetching interface.
- *
- * Revision 1.5  2000/02/12 18:55:40  mdw
- * Make it all compile properly.
- *
- * Revision 1.4  2000/02/12 18:21:02  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.3  1999/12/22 15:47:48  mdw
- * Major key-management revision.
- *
- * Revision 1.2  1999/12/10 23:29:48  mdw
- * Change header file guard names.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 #ifndef CATACOMB_KEY_H
 #define CATACOMB_KEY_H
 
index 8b71bf3..9f93c0e 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keycheck-mp.c,v 1.1 2001/02/03 16:08:24 mdw Exp $
+ * $Id: keycheck-mp.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Key consistency checking tools for large integers
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: keycheck-mp.c,v $
- * Revision 1.1  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/dstr.h>
index 8a7accd..88dae63 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keycheck-report.c,v 1.1 2001/02/03 16:08:24 mdw Exp $
+ * $Id: keycheck-report.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * A standard reporter function
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: keycheck-report.c,v $
- * Revision 1.1  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdio.h>
index 164303f..11f1171 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keycheck.c,v 1.2 2002/01/13 13:49:01 mdw Exp $
+ * $Id: keycheck.c,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Framework for checking consistency of keys
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: keycheck.c,v $
- * Revision 1.2  2002/01/13 13:49:01  mdw
- * Track @dstr_vputf@ change.
- *
- * Revision 1.1  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
index 7fe159f..8c60ffb 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keycheck.h,v 1.1 2001/02/03 16:08:24 mdw Exp $
+ * $Id: keycheck.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Framework for checking consistency of keys
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: keycheck.h,v $
- * Revision 1.1  2001/02/03 16:08:24  mdw
- * Add consistency checking for public keys.
- *
- */
-
 #ifndef CATACOMB_KEYCHECK_H
 #define CATACOMB_KEYCHECK_H
 
index 10b2f5b..b155112 100644 (file)
--- a/keyring.5
+++ b/keyring.5
@@ -183,11 +183,13 @@ The integer is stored, base-256, one digit per octet, in big-endian
 order, using as few octets as possible.  The value 0 has length zero.
 .TP
 .B "struct"
-A sequence of subkeys is stored.  Each subkey consists of a single
-octet giving the length of the subkey's label; the label itself in
-ASCII, zero-octet padding to make the subkey start at a multiple of four
-octets, and then the encoding of the subkey.  There is no terminator:
-the outer length field indicates when to stop reading subkeys.
+A sequence of subkeys is stored; the sequence is sorted by
+lexicographical order of the subkeys' labels.  Each subkey consists of a
+single octet giving the length of the subkey's label; the label itself
+in ASCII, zero-octet padding to make the subkey start at a multiple of
+four octets, and then the encoding of the subkey.  There is no
+terminator: the outer length field indicates when to stop reading
+subkeys.
 .TP
 .B "string"
 The string is stored as-is, with no terminator.
@@ -206,5 +208,13 @@ the two coordinates.
 .B "encrypt"
 The key data is encoded as binary and encrypted as described above.  The
 resulting ciphertext is stored as is.
+.SS "Fingerprints"
+The fingerprint is computed by hashing the binary representation of (the
+selected parts of) a key's data followed by the key type preceded by a
+single length octet, and the key's attributes, in lexicographic order of
+the attribute name.  Each attribute consists of the attribute's name
+preceded by a single length octet, followed by the value preceded by a
+two-octet length.  The lengths do not include themselves; neither string
+has a terminator character; there is no padding.
 .SH AUTHOR
 Mark Wooding, <mdw@nsict.org>
diff --git a/keysz.c b/keysz.c
index 7a2a794..e8da691 100644 (file)
--- a/keysz.c
+++ b/keysz.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keysz.c,v 1.1 2000/06/17 11:27:52 mdw Exp $
+ * $Id: keysz.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * General block cipher utilities
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: keysz.c,v $
- * Revision 1.1  2000/06/17 11:27:52  mdw
- * Key size table interpretation.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
index 2df4368..0251b43 100644 (file)
--- a/keyutil.c
+++ b/keyutil.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keyutil.c,v 1.23 2004/04/08 01:02:49 mdw Exp $
+ * $Id: keyutil.c,v 1.24 2004/04/08 01:36:15 mdw Exp $
  *
  * Simple key manager program
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: keyutil.c,v $
- * Revision 1.23  2004/04/08 01:02:49  mdw
- * key-binary.c
- *
- * Revision 1.22  2004/04/03 15:45:06  mdw
- * Oops.  Fix formatting. :-S
- *
- * Revision 1.21  2004/04/03 15:15:19  mdw
- * Fix stupid error in previous rashly-committed version.
- *
- * Revision 1.20  2004/04/03 15:14:28  mdw
- * Handle points at infinity properly in listings.
- *
- * Revision 1.19  2004/04/03 03:31:01  mdw
- * Allow explicit group parameters for DH groups.
- *
- * Revision 1.18  2004/04/01 12:50:09  mdw
- * Add cyclic group abstraction, with test code.  Separate off exponentation
- * functions for better static linking.  Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly.  Add
- * table of standard prime-field subgroups.  (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.17  2004/03/28 01:58:47  mdw
- * Generate, store and retreive elliptic curve keys.
- *
- * Revision 1.16  2003/10/15 09:31:45  mdw
- * Fix help message.
- *
- * Revision 1.15  2003/05/15 23:23:24  mdw
- * Fix behaviour with bogus trailing attributes.
- *
- * Revision 1.14  2001/02/23 09:03:27  mdw
- * Simplify usage message by removing nonexistant options.
- *
- * Revision 1.13  2001/02/21 20:04:27  mdw
- * Provide help on individual commands (some need it desparately).  Allow
- * atomic retagging of keys.
- *
- * Revision 1.12  2001/02/03 11:58:22  mdw
- * Store the correct seed information and count for DSA keys now that it's
- * available.
- *
- * Revision 1.11  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.10  2000/10/08 12:02:21  mdw
- * Use @MP_EQ@ instead of @MP_CMP@.
- *
- * Revision 1.9  2000/08/15 21:40:49  mdw
- * Minor formatting change in listing attributes.
- *
- * Revision 1.8  2000/07/29 09:59:13  mdw
- * Support Lim-Lee primes in Diffie-Hellman parameter generation.
- *
- * Revision 1.7  2000/07/01 11:18:51  mdw
- * Use new interfaces for key manipulation.
- *
- * Revision 1.6  2000/06/17 11:28:22  mdw
- * Use secure memory interface from MP library.  `rand_getgood' is
- * deprecated.
- *
- * Revision 1.5  2000/02/12 18:21:03  mdw
- * Overhaul of key management (again).
- *
- * Revision 1.4  1999/12/22 15:48:10  mdw
- * Track new key-management changes.  Support new key generation
- * algorithms.
- *
- * Revision 1.3  1999/11/02 15:23:24  mdw
- * Fix newlines in keyring list.
- *
- * Revision 1.2  1999/10/15 21:05:28  mdw
- * In `key list', show timezone for local times, and support `-u' option
- * for UTC output.
- *
- * Revision 1.1  1999/09/03 08:41:12  mdw
- * Initial import.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "config.h"
index f53a3f2..15e94a8 100644 (file)
--- a/lcrand.c
+++ b/lcrand.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: lcrand.c,v 1.4 2000/12/06 20:31:06 mdw Exp $
+ * $Id: lcrand.c,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Simple linear congruential generator
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: lcrand.c,v $
- * Revision 1.4  2000/12/06 20:31:06  mdw
- * Simplify uniform range transformation.
- *
- * Revision 1.3  2000/06/17 11:29:03  mdw
- * Add the flags word to the generic generator.
- *
- * Revision 1.2  1999/12/13 15:34:01  mdw
- * Add support for seeding from a generic pseudorandom source.
- *
- * Revision 1.1  1999/12/10 23:15:27  mdw
- * Noncryptographic random number generator.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <stdarg.h>
index a8128dd..20e254f 100644 (file)
--- a/lcrand.h
+++ b/lcrand.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: lcrand.h,v 1.2 2000/06/17 11:28:51 mdw Exp $
+ * $Id: lcrand.h,v 1.3 2004/04/08 01:36:15 mdw Exp $
  *
  * Simple linear congruential generator
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: lcrand.h,v $
- * Revision 1.2  2000/06/17 11:28:51  mdw
- * Amend the notes slightly.
- *
- * Revision 1.1  1999/12/10 23:15:27  mdw
- * Noncryptographic random number generator.
- *
- */
-
 /*----- Notes on the linear congruential generator ------------------------*
  *
  * This pseudorandom number generator is simple, but has absolutely no
index 3f8435b..5708156 100644 (file)
--- a/limlee.c
+++ b/limlee.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: limlee.c,v 1.8 2001/02/03 11:59:07 mdw Exp $
+ * $Id: limlee.c,v 1.9 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate Lim-Lee primes
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: limlee.c,v $
- * Revision 1.8  2001/02/03 11:59:07  mdw
- * Don't use the @pgen@ random number generator for generating primes: it's
- * only for testing them.  Use a caller-supplied one instead.
- *
- * Revision 1.7  2001/01/25 21:40:44  mdw
- * Remove dead code now that the new stepper structure is trustworthy.
- *
- * Revision 1.6  2001/01/25 21:16:20  mdw
- * Boring cosmetic stuff.
- *
- * Revision 1.5  2000/08/18 19:16:51  mdw
- * New stepper interface for constructing Lim-Lee primes.
- *
- * Revision 1.4  2000/08/15 21:45:05  mdw
- * Use the new trial division equipment in pfilt.  This gives a 10%
- * performance improvement in dsa-gen.t.
- *
- * Revision 1.3  2000/07/29 09:58:32  mdw
- * (limlee): Bug fix.  Old versions didn't set the filter step if @ql@ was
- * an exact divisor of @pl@.
- *
- * Revision 1.2  2000/07/26 18:00:00  mdw
- * No footer line!
- *
- * Revision 1.1  2000/07/09 21:30:58  mdw
- * Lim-Lee prime generation.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <mLib/alloc.h>
@@ -413,7 +381,7 @@ mp *limlee(const char *name, mp *d, mp *newp,
   d = pgen(name, d, 0, oev, oec, on, limlee_step, &l,
           rabin_iters(pl), pgen_test, &rr);
 
-  if (f) {
+  if (d && f) {
     mp **v;
     size_t i;
     v = xmalloc(l.nf * sizeof(mp *));
index 0131cb0..9c7b357 100644 (file)
--- a/limlee.h
+++ b/limlee.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: limlee.h,v 1.4 2001/02/03 11:59:07 mdw Exp $
+ * $Id: limlee.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate Lim-Lee primes
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: limlee.h,v $
- * Revision 1.4  2001/02/03 11:59:07  mdw
- * Don't use the @pgen@ random number generator for generating primes: it's
- * only for testing them.  Use a caller-supplied one instead.
- *
- * Revision 1.3  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.2  2000/08/18 19:16:51  mdw
- * New stepper interface for constructing Lim-Lee primes.
- *
- * Revision 1.1  2000/07/09 21:30:58  mdw
- * Lim-Lee prime generation.
- *
- */
-
 #ifndef CATACOMB_LIMLEE_H
 #define CATACOMB_LIMLEE_H
 
diff --git a/lmem.c b/lmem.c
index e534d4a..1d4ae87 100644 (file)
--- a/lmem.c
+++ b/lmem.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: lmem.c,v 1.5 2004/04/02 01:03:49 mdw Exp $
+ * $Id: lmem.c,v 1.6 2004/04/08 01:36:15 mdw Exp $
  *
  * Locked memory allocation (Unix-specific)
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: lmem.c,v $
- * Revision 1.5  2004/04/02 01:03:49  mdw
- * Miscellaneous constification.
- *
- * Revision 1.4  2002/01/24 22:26:11  mdw
- * Fix build failure when @mlock@ not available.
- *
- * Revision 1.3  2000/07/29 21:58:15  mdw
- * (l_destroy): New function for destroying locked memory blocks.
- *
- * Revision 1.2  2000/06/17 11:29:20  mdw
- * Add arena support.
- *
- * Revision 1.1  1999/12/22 16:02:52  mdw
- * Interface to allocating `locked' memory (which isn't paged out).
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "config.h"
diff --git a/lmem.h b/lmem.h
index 3f84c6e..f7cb6ed 100644 (file)
--- a/lmem.h
+++ b/lmem.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: lmem.h,v 1.4 2000/12/06 20:33:27 mdw Exp $
+ * $Id: lmem.h,v 1.5 2004/04/08 01:36:15 mdw Exp $
  *
  * Locked memory allocation
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: lmem.h,v $
- * Revision 1.4  2000/12/06 20:33:27  mdw
- * Make flags be macros rather than enumerations, to ensure that they're
- * unsigned.
- *
- * Revision 1.3  2000/07/29 21:58:15  mdw
- * (l_destroy): New function for destroying locked memory blocks.
- *
- * Revision 1.2  2000/06/17 11:29:38  mdw
- * Add arena support.
- *
- * Revision 1.1  1999/12/22 16:02:52  mdw
- * Interface to allocating `locked' memory (which isn't paged out).
- *
- */
-
 #ifndef CATACOMB_LMEM_H
 #define CATACOMB_LMEM_H
 
index 7cd8423..5aaa73f 100644 (file)
@@ -1,6 +1,6 @@
 %%% -*-latex-*-
 %%%
-%%% $Id: catacomb.tex,v 1.2 1999/12/13 15:35:27 mdw Exp $
+%%% $Id: catacomb.tex,v 1.3 2004/04/08 01:36:15 mdw Exp $
 %%%
 %%% Catacomb manual
 %%%
 %%% Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 %%% MA 02111-1307, USA.
 
-%%%----- Revision history ---------------------------------------------------
-%%%
-%%% $Log: catacomb.tex,v $
-%%% Revision 1.2  1999/12/13 15:35:27  mdw
-%%% More changes.  Still embryonic.
-%%%
-%%% Revision 1.1  1999/12/10 23:27:11  mdw
-%%% Embryonic library reference manual.
-%%%
-
 \documentclass[numbering]{strayman}
 \usepackage[T1]{fontenc}
 \usepackage[palatino, helvetica, courier, maths=cmr]{mdwfonts}
index 12bbfc5..ad1a3ef 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: mars-mktab.c,v 1.1 2001/04/29 18:11:19 mdw Exp $
+ * $Id: mars-mktab.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * Generate the MARS S-box table
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: mars-mktab.c,v $
- * Revision 1.1  2001/04/29 18:11:19  mdw
- * New block cipher MARS.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/mars.c b/mars.c
index b427dcd..2c0fcd0 100644 (file)
--- a/mars.c
+++ b/mars.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: mars.c,v 1.1 2001/04/29 18:11:19 mdw Exp $
+ * $Id: mars.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The MARS block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: mars.c,v $
- * Revision 1.1  2001/04/29 18:11:19  mdw
- * New block cipher MARS.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include <assert.h>
diff --git a/mars.h b/mars.h
index 91d79e1..e124472 100644 (file)
--- a/mars.h
+++ b/mars.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: mars.h,v 1.1 2001/04/29 18:11:19 mdw Exp $
+ * $Id: mars.h,v 1.2 2004/04/08 01:36:15 mdw Exp $
  *
  * The MARS block cipher
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: mars.h,v $
- * Revision 1.1  2001/04/29 18:11:19  mdw
- * New block cipher MARS.
- *
- */
-
 /*----- Notes on the MARS block cipher ------------------------------------*
  *
  * MARS was IBM's submission to the AES contest.  It was designed by a number
index e474175..