From: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
Subject: Bignum modular types in Ada95
Date: 1998/01/27
Date: 1998-01-27T00:00:00+00:00 [thread overview]
Message-ID: <34CE568C.55D7E23D@cl.cam.ac.uk> (raw)
One of the especially nice things about Ada seem to be the modular
types. Many of the calculations in asymmetric cryptography are done
over the integers modulo N, where N is a huge number (typically
1024 bits long or more).
I wonder how many Ada compilers support bignum arithmetic directly
without any special library calls, as in
type Unsigned1024 is range 0..2**1024-1;
Modulus, Public_Key: Unsigned1024;
type Message is mod Modulus;
Clear_Text, Cipher_Text: Message;
Cipher_Text := Clear_Text ** Public_Key;
Considering that the next generation of server processors
will feature 1024-bit registers and hardware for fast modular
exponentiation, it is nice to know that Ada95 has already the
language constructs available today to use these forthcoming
capabilities comfortably. Neither C nor Java has. I wonder
however, whether existing Ada95 compilers for existing processors
do already support bignum modular arithmetic in a (certainly
slower) software emulation. If not, bignum arithmetic would not be
a portable feature and would therefore be of limited use once
the crypto-coprocessor with suitable hardware registers and
ALUs become available.
Which Ada95 compilers do support 1024-bit integers today and can
do an efficient modular exponentiation over them?
Markus
--
Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK
email: mkuhn at acm.org, home page: <http://www.cl.cam.ac.uk/~mgk25/>
next reply other threads:[~1998-01-27 0:00 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-01-27 0:00 Markus Kuhn [this message]
1998-01-28 0:00 ` Bignum modular types in Ada95 Markus Kuhn
1998-01-28 0:00 ` Brian Rogoff
1998-01-29 0:00 ` Markus Kuhn
1998-01-30 0:00 ` Brian Rogoff
1998-02-01 0:00 ` Robert Dewar
1998-02-02 0:00 ` Tarjei T. Jensen
1998-02-02 0:00 ` Robert Dewar
1998-02-03 0:00 ` Tarjei T. Jensen
1998-02-04 0:00 ` Keith Thompson
[not found] ` <EnIIvn.3zr@world.std.com>
1998-01-29 0:00 ` Markus Kuhn
1998-01-31 0:00 ` Nick Roberts
1998-01-29 0:00 ` Mats Weber
[not found] ` <EnKEtu.KGp@world.std.com>
1998-01-30 0:00 ` Mats Weber
1998-02-01 0:00 ` Robert Dewar
1998-02-01 0:00 ` Robert Dewar
1998-01-30 0:00 ` Markus Kuhn
1998-01-30 0:00 ` Mats Weber
1998-01-30 0:00 ` Markus Kuhn
1998-01-31 0:00 ` Nick Roberts
1998-02-01 0:00 ` Robert Dewar
1998-01-31 0:00 ` Nick Roberts
1998-02-01 0:00 ` Robert Dewar
1998-02-01 0:00 ` Robert Dewar
1998-01-28 0:00 ` Nick Roberts
1998-01-28 0:00 ` Nick Roberts
1998-02-01 0:00 ` Robert Dewar
1998-02-07 0:00 ` Nick Roberts
1998-02-09 0:00 ` Robert Dewar
1998-01-28 0:00 ` Larry Kilgallen
1998-01-28 0:00 ` Dmitriy Anisimkov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox