Low-level logical functions?
Torbjorn Granlund
tg at gmplib.org
Sat Nov 7 19:23:45 CET 2009
Barukh Ziv <barukh.ziv at gmail.com> writes:
If I understand correctly, internal functions cannot be called from outside
code?
In this case, they will not always be visible from outside code, since
they become macros unless written in assembly.
But most internal functions can be called, but user code that does that
works with just certain GMP releases.
Is there any planned date for v4.4 release?
We haven't planned a date, but a planned set of features.
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 ...
As far as I know, a processor supporting the above instruction, is already
in the market.
I thought that instruction was still about a year into the future.
In the meantime, one should be able to get decent speed by spreading out
the GF(2) coeffients with 3 zero guard bits between each coeffient.
Each multiplication would need a MUL and two AND. Actually, the AND
can be executed lazily.
You might want to take a look at Pierrick Gaudry's and Emmanuel Thomé's
MPFQ library, http://mpfq.gforge.inria.fr/. I haven't looked it myself,
but these are clever guys.
--
Torbjörn
More information about the gmp-discuss
mailing list