mirror of
https://github.com/saymrwulf/risc0-curve25519-dalek-source.git
synced 2026-09-05 20:10:35 +00:00
This reverts commit 1491f0db36.
This is due to code which was erroneously deleted during the commit,
due to being based off the wrong version, see
https://github.com/dalek-cryptography/curve25519-dalek/pull/361.
26 lines
868 B
Rust
26 lines
868 B
Rust
// -*- 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>
|
|
|
|
//! The `u64` backend uses `u64`s and a `(u64, u64) -> u128` multiplier.
|
|
//!
|
|
//! On x86_64, the idiom `(x as u128) * (y as u128)` lowers to `MUL`
|
|
//! instructions taking 64-bit inputs and producing 128-bit outputs. On
|
|
//! other platforms, this implementation is not recommended.
|
|
//!
|
|
//! On Haswell and newer, the BMI2 extension provides `MULX`, and on
|
|
//! Broadwell and newer, the ADX extension provides `ADCX` and `ADOX`
|
|
//! (allowing the CPU to compute two carry chains in parallel). These
|
|
//! will be used if available.
|
|
|
|
pub mod field;
|
|
|
|
pub mod scalar;
|
|
|
|
pub mod constants;
|