2018-03-20 19:10:39 +00:00
|
|
|
// -*- mode: rust; -*-
|
|
|
|
|
//
|
|
|
|
|
// This file is part of curve25519-dalek.
|
|
|
|
|
// Copyright (c) 2016-2018 Isis Lovecruft, Henry de Valence
|
|
|
|
|
// See LICENSE for licensing information.
|
|
|
|
|
//
|
|
|
|
|
// Authors:
|
|
|
|
|
// - Isis Agora Lovecruft <isis@patternsinthevoid.net>
|
|
|
|
|
// - Henry de Valence <hdevalence@hdevalence.ca>
|
|
|
|
|
|
2018-05-15 18:22:21 +00:00
|
|
|
//! Implementations of various scalar multiplication algorithms.
|
|
|
|
|
//!
|
|
|
|
|
//! Note that all of these implementations use serial code for field
|
|
|
|
|
//! arithmetic with the multi-model strategy described in the
|
|
|
|
|
//! `curve_models` module. The vectorized AVX2 backend has its own
|
|
|
|
|
//! scalar multiplication implementations, since it only uses one
|
|
|
|
|
//! curve model.
|
|
|
|
|
|
2018-03-20 19:10:39 +00:00
|
|
|
pub mod window;
|
2018-03-26 22:01:48 +00:00
|
|
|
|
|
|
|
|
pub mod variable_base;
|
2018-03-26 22:32:20 +00:00
|
|
|
|
2018-05-14 22:41:45 +00:00
|
|
|
#[cfg(feature = "stage2_build")]
|
2018-03-27 00:02:59 +00:00
|
|
|
pub mod vartime_double_base;
|
|
|
|
|
|
2018-03-26 22:32:20 +00:00
|
|
|
pub mod straus;
|