pub enum Curve25519Backend {
Ifma,
MulxAdx,
Portable,
}Expand description
The implementation of GF(2^255 - 19) that X25519 and Ed25519 run on here.
A published vector passes whichever implementation runs, so it cannot tell which one did; this can.
Variants§
Ifma
Four elements at once on AVX-512 IFMA (x86-64), for X25519 and, under
std, Ed25519’s scalar multiplications; the MULX/ADX field for the
rest.
MulxAdx
Four 64-bit limbs on MULX and ADX (x86-64).
Portable
The portable field: five 51-bit limbs, or ten of 26 and 25 bits on
32-bit RISC-V and under --cfg ic_limb32.
Trait Implementations§
Source§impl Clone for Curve25519Backend
impl Clone for Curve25519Backend
impl Copy for Curve25519Backend
Source§impl Debug for Curve25519Backend
impl Debug for Curve25519Backend
impl Eq for Curve25519Backend
Source§impl PartialEq for Curve25519Backend
impl PartialEq for Curve25519Backend
impl StructuralPartialEq for Curve25519Backend
Auto Trait Implementations§
impl Freeze for Curve25519Backend
impl RefUnwindSafe for Curve25519Backend
impl Send for Curve25519Backend
impl Sync for Curve25519Backend
impl Unpin for Curve25519Backend
impl UnsafeUnpin for Curve25519Backend
impl UnwindSafe for Curve25519Backend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more