pub enum NistBackend {
Ifma,
MulxAdx,
Portable,
}Expand description
The implementation P-256’s and P-384’s scalar multiplications run on here.
A published vector passes whichever implementation runs, so it cannot tell which one did; this can. P-521 runs the generic field everywhere.
Variants§
Ifma
Four field elements at once on AVX-512 IFMA (x86-64): ECDH’s, a prepared key’s and ECDSA signing’s scalar multiplications; the rest, verification among it, on MULX/ADX.
MulxAdx
The field and the point formulas in MULX/ADCX/ADOX assembly (x86-64 with BMI2 and ADX).
Portable
Without BMI2 and ADX: on x86-64 P-256’s field in baseline MUL/ADC
assembly and P-384’s generic word loop; elsewhere the portable
arithmetic.
Trait Implementations§
Source§impl Clone for NistBackend
impl Clone for NistBackend
impl Copy for NistBackend
Source§impl Debug for NistBackend
impl Debug for NistBackend
impl Eq for NistBackend
Source§impl PartialEq for NistBackend
impl PartialEq for NistBackend
impl StructuralPartialEq for NistBackend
Auto Trait Implementations§
impl Freeze for NistBackend
impl RefUnwindSafe for NistBackend
impl Send for NistBackend
impl Sync for NistBackend
impl Unpin for NistBackend
impl UnsafeUnpin for NistBackend
impl UnwindSafe for NistBackend
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