Pollard's rho algorithm for computing discrete logs.
[u/mdw/catacomb] / bbs-jump.c
index fe2787a..428915d 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bbs-jump.c,v 1.3 2000/06/17 10:44:17 mdw Exp $
+ * $Id: bbs-jump.c,v 1.4 2000/07/01 11:20:36 mdw Exp $
  *
  * Jumping around a BBS sequence
  *
@@ -30,6 +30,9 @@
 /*----- 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.
  *
@@ -54,7 +57,7 @@
 /* --- @jump@ --- *
  *
  * Arguments:  @bbs *b@ = pointer to BBS generator context
- *             @bbs_param *bp@ = pointer to BBS modulus factors
+ *             @bbs_priv *bp@ = pointer to BBS modulus factors
  *             @unsigned long n@ = number of steps to move
  *             @mp *px@ = exponent mod @p@ for a one-step jump
  *             @mp *qx@ = exponent mod @q@ for a one-step jump
@@ -92,7 +95,7 @@
  *             %$p \equiv 3 \pmod 4$%.)
  */
 
-static void jump(bbs *b, bbs_param *bp, unsigned long n,
+static void jump(bbs *b, bbs_priv *bp, unsigned long n,
                 mp *px, mp *qx)
 {
   mp *ep, *eq;
@@ -172,7 +175,7 @@ static void jump(bbs *b, bbs_param *bp, unsigned long n,
 /* --- @bbs_ff@ --- *
  *
  * Arguments:  @bbs *b@ = pointer to a BBS generator state
- *             @bbs_param *bp@ = pointer to BBS modulus factors
+ *             @bbs_priv *bp@ = pointer to BBS modulus factors
  *             @unsigned long n@ = number of steps to make
  *
  * Returns:    ---
@@ -182,7 +185,7 @@ static void jump(bbs *b, bbs_param *bp, unsigned long n,
  *             efficiently.
  */
 
-void bbs_ff(bbs *b, bbs_param *bp, unsigned long n)
+void bbs_ff(bbs *b, bbs_priv *bp, unsigned long n)
 {
   jump(b, bp, n, MP_TWO, MP_TWO);
 }
@@ -190,7 +193,7 @@ void bbs_ff(bbs *b, bbs_param *bp, unsigned long n)
 /* --- @bbs_rew@ --- *
  *
  * Arguments:  @bbs *b@ = pointer to a BBS generator state
- *             @bbs_param *bp@ = pointer to BBS modulus factors
+ *             @bbs_priv *bp@ = pointer to BBS modulus factors
  *             @unsigned long n@ = number of steps to make
  *
  * Returns:    ---
@@ -200,7 +203,7 @@ void bbs_ff(bbs *b, bbs_param *bp, unsigned long n)
  *             at all.
  */
 
-void bbs_rew(bbs *b, bbs_param *bp, unsigned long n)
+void bbs_rew(bbs *b, bbs_priv *bp, unsigned long n)
 {
   mp *px = mp_lsr(MP_NEW, bp->p, 2);
   mp *qx = mp_lsr(MP_NEW, bp->q, 2);
@@ -217,7 +220,7 @@ void bbs_rew(bbs *b, bbs_param *bp, unsigned long n)
 
 static int verify(dstr *v)
 {
-  bbs_param bp;
+  bbs_priv bp;
   bbs b;
   mp *x;
   unsigned long n;