• Nick Mathewson's avatar
    Add a wrapper around, and test and build support for, curve25519. · 89ec5848
    Nick Mathewson authored
    We want to use donna-c64 when we have a GCC with support for
    64x64->uint128_t multiplying.  If not, we want to use libnacl if we
    can, unless it's giving us the unsafe "ref" implementation.  And if
    that isn't going to work, we'd like to use the
    portable-and-safe-but-slow 32-bit "donna" implementation.
    We might need more library searching for the correct libnacl,
    especially once the next libnacl release is out -- it's likely to have
    bunches of better curve25519 implementations.
    I also define a set of curve25519 wrapper functions, though it really
    shouldn't be necessary.
    We should eventually make the -donna*.c files get build with
    -fomit-frame-pointer, since that can make a difference.