curve25519_dalek/backend/serial/scalar_mul/mod.rs
1// -*- mode: rust; -*-
2//
3// This file is part of curve25519-dalek.
4// Copyright (c) 2016-2021 isis lovecruft
5// Copyright (c) 2016-2019 Henry de Valence
6// See LICENSE for licensing information.
7//
8// Authors:
9// - isis agora lovecruft <isis@patternsinthevoid.net>
10// - Henry de Valence <hdevalence@hdevalence.ca>
11
12//! Implementations of various scalar multiplication algorithms.
13//!
14//! Note that all of these implementations use serial code for field
15//! arithmetic with the multi-model strategy described in the
16//! `curve_models` module. The vectorized AVX2 backend has its own
17//! scalar multiplication implementations, since it only uses one
18//! curve model.
19
20#[allow(missing_docs)]
21pub mod variable_base;
22
23#[allow(missing_docs)]
24pub mod vartime_double_base;
25
26#[cfg(feature = "alloc")]
27pub mod straus;
28
29#[cfg(feature = "alloc")]
30pub mod precomputed_straus;
31
32#[cfg(feature = "alloc")]
33pub mod pippenger;