Low-level logical functions?

Barukh Ziv barukh.ziv at gmail.com
Sat Nov 7 18:58:39 CET 2009

Sincere all,

Thank you very much for the prompt reply.

If I understand correctly, internal functions cannot be called from outside
Is there any planned date for v4.4 release?

If you permit, I would like to ask another question: it looks like it may be
beneficial to have carry-less arithmetic over integers in GMP. An important
application of this is arithmetic over GF(2^m) (so called binary fields),
which are important in Elliptic Curve Cryptography (ECC).

It is true that cary-less addition/subtraction may be efficiently
implemented by means of logical XOR. It's not the case for the
multiplicaition, though. Using hardware support, this may be greatly
optimized. Here's the message I received from Alfred Menezes, one of leading
specialists in ECC:
"Intel announced in 2008 that their future processors would be equipped with
a "PCLMULQDQ" instruction for fast "carryless" multiplication of 64-bit
binary polynomials. This instruction is very much anticipated because it
will greatly speed up computations on elliptic curves over binary fields
(including the so-called "Koblitz curves"). At present, elliptic curves over
prime fields have the advantage because of the fast integer multiplication
instructions available on Intel machines."

As far as I know, a processor supporting the above instruction, is already
in the market.


On Sat, Nov 7, 2009 at 2:15 PM, Barukh Ziv <barukh.ziv at gmail.com> wrote:

>  Sincere all,
> I have being using GMP library for over half a year now, and I am really
> satisfied with it, to say the least. I have found almost everything needed
> there, and the speed is really impressive.
> Recently, I have encountered something that I would like to use in the
> library, but didn't find it: the low-level functions (mpn_) do not seem to
> include the logical operations and, or, and xor. As a use case for such
> operations, I have the following example: efficient arithmetic over binary
> fields GF(2^m).
> Could you please enlighten if I am missing something in this respect, and
> if not, how difficult it would be to implement such an interface?
> Sorry if this question was discussed previously.
> Sincerely,
> Barukh Ziv.

More information about the gmp-discuss mailing list