Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
* Big_int a^x mod m
@ 2000-07-23 21:29 Julian Assange
  2000-07-24 11:03 ` Remi VANICAT
  2000-07-25  9:33 ` Julian Assange
  0 siblings, 2 replies; 4+ messages in thread
From: Julian Assange @ 2000-07-23 21:29 UTC (permalink / raw)
  To: caml-list; +Cc: proff


 val (**/) : num -> num -> num 
 val power_num : num -> num -> num
   Exponentiation

The num library documentation doesn't seem to support modular
exponentiation. This is seems to be an unusual oversight, and means
the library isn't useful for real-world cryptographic applications.

Is anyone working on adding mod exp's? Or are there other bigint
ocaml libraries?

Cheers,
Julian.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Big_int a^x mod m
  2000-07-23 21:29 Big_int a^x mod m Julian Assange
@ 2000-07-24 11:03 ` Remi VANICAT
  2000-07-25  0:44   ` Michel Quercia
  2000-07-25  9:33 ` Julian Assange
  1 sibling, 1 reply; 4+ messages in thread
From: Remi VANICAT @ 2000-07-24 11:03 UTC (permalink / raw)
  To: caml-list

Julian Assange <proff@iq.org> writes:

>  val (**/) : num -> num -> num 
>  val power_num : num -> num -> num
>    Exponentiation
> 
> The num library documentation doesn't seem to support modular
> exponentiation. This is seems to be an unusual oversight, and means
> the library isn't useful for real-world cryptographic applications.
> 
> Is anyone working on adding mod exp's? Or are there other bigint
> ocaml libraries?

there is at least two other bigint libraries :
one is MLGMP a binding for GNU MP :
  http://www.di.ens.fr/~monniaux/programmes.html.en 
the other is numerix : http://pauillac.inria.fr/~quercia/

-- 
Rémi Vanicat
vanicat@labri.u-bordeaux.fr
http://dept-info.labri.u-bordeaux.fr/~vanicat



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Big_int a^x mod m
  2000-07-24 11:03 ` Remi VANICAT
@ 2000-07-25  0:44   ` Michel Quercia
  0 siblings, 0 replies; 4+ messages in thread
From: Michel Quercia @ 2000-07-25  0:44 UTC (permalink / raw)
  To: caml-list

Le Mon, 24 Jul 2000, Remi VANICAT a écrit :
> Julian Assange <proff@iq.org> writes:

> > Is anyone working on adding mod exp's? Or are there other bigint
> > ocaml libraries?
>
> there is at least two other bigint libraries :
> one is MLGMP a binding for GNU MP :
>   http://www.di.ens.fr/~monniaux/programmes.html.en 
> the other is numerix : http://pauillac.inria.fr/~quercia/

As GMP has such a function, MLGMP should have a binding for it (I can't swear as
I haven't the docs here). My own library, numerix, has no builtin modular
exponentiation, but you'll find one in the examples (file
exemples/nextpp/ocaml/nextpp.ml, lines 54-64). It may go into the core
library in a future release.

-- 
Michel Quercia
23 rue de Montchapet, 21000 Dijon
http://pauillac.inria.fr/~quercia
mailto:quercia@cal.enst.fr



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Big_int a^x mod m
  2000-07-23 21:29 Big_int a^x mod m Julian Assange
  2000-07-24 11:03 ` Remi VANICAT
@ 2000-07-25  9:33 ` Julian Assange
  1 sibling, 0 replies; 4+ messages in thread
From: Julian Assange @ 2000-07-25  9:33 UTC (permalink / raw)
  To: caml-list; +Cc: proff, quercia

Julian Assange <proff@iq.org> writes:

>  val (**/) : num -> num -> num 
>  val power_num : num -> num -> num
>    Exponentiation
> 
> The num library documentation doesn't seem to support modular
> exponentiation. This is seems to be an unusual oversight, and means
> the library isn't useful for real-world cryptographic applications.
> 
> Is anyone working on adding mod exp's? Or are there other bigint
> ocaml libraries?

Following this up, there is the fast Numerix library, an extended
replacement for Big_int, which also contains a subset of bindings to
libgmp (Numerix native code is usally faster than gmp2.x -- but it's
worth noting that gmp3.0 has recently been released).

It would be nice to see this library replace Big_int entirely,
with wrappers for for backwards compatability.

Unfortunately Numerix doesn't support modular exponents either,
although it does support a lot of other nice operations that Big_int
does not, and is well structured.

Numerix, btw is not listed either in the Hump or in Gerd's O'Caml
link database.

But you can find it here:

    http://pauillac.inria.fr/~quercia/

There is also a naive libgmp ocaml wrapper:

   http://www.di.ens.fr/~monniaux/download/mlgmp_0.13.tar.gz  

Which *does* contain bindings to the gmp modular exponentiation
functions mpz_powm and mpz_powm_ui.

Cheers,
Julian.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2000-07-25 22:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-23 21:29 Big_int a^x mod m Julian Assange
2000-07-24 11:03 ` Remi VANICAT
2000-07-25  0:44   ` Michel Quercia
2000-07-25  9:33 ` Julian Assange

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox