mirror of
https://github.com/saymrwulf/curve25519-dalek-source.git
synced 2026-09-07 20:50:39 +00:00
Rename util module to subtle.
* CHANGE subtle module documentation slightly to clarify the module's purpose. * FIXES issue #25.
This commit is contained in:
parent
aad1d1751a
commit
6f67a7d716
5 changed files with 23 additions and 23 deletions
12
src/curve.rs
12
src/curve.rs
|
|
@ -85,11 +85,11 @@ use core::cmp::{PartialEq, Eq};
|
||||||
use constants;
|
use constants;
|
||||||
use field::FieldElement;
|
use field::FieldElement;
|
||||||
use scalar::Scalar;
|
use scalar::Scalar;
|
||||||
use util::arrays_equal_ct;
|
use subtle::arrays_equal_ct;
|
||||||
use util::bytes_equal_ct;
|
use subtle::bytes_equal_ct;
|
||||||
use util::CTAssignable;
|
use subtle::CTAssignable;
|
||||||
use util::CTEq;
|
use subtle::CTEq;
|
||||||
use util::CTNegatable;
|
use subtle::CTNegatable;
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
// Compressed points
|
// Compressed points
|
||||||
|
|
@ -865,7 +865,7 @@ mod test {
|
||||||
use test::Bencher;
|
use test::Bencher;
|
||||||
use field::FieldElement;
|
use field::FieldElement;
|
||||||
use scalar::Scalar;
|
use scalar::Scalar;
|
||||||
use util::CTAssignable;
|
use subtle::CTAssignable;
|
||||||
use constants;
|
use constants;
|
||||||
use constants::BASE_CMPRSSD;
|
use constants::BASE_CMPRSSD;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
|
||||||
14
src/field.rs
14
src/field.rs
|
|
@ -24,10 +24,10 @@ use core::ops::{Index, IndexMut};
|
||||||
use core::cmp::{Eq, PartialEq};
|
use core::cmp::{Eq, PartialEq};
|
||||||
use core::ops::Neg;
|
use core::ops::Neg;
|
||||||
|
|
||||||
use util::arrays_equal_ct;
|
use subtle::arrays_equal_ct;
|
||||||
use util::byte_is_nonzero;
|
use subtle::byte_is_nonzero;
|
||||||
use util::CTAssignable;
|
use subtle::CTAssignable;
|
||||||
use util::CTEq;
|
use subtle::CTEq;
|
||||||
|
|
||||||
/// FieldElements are represented as an array of ten "Limbs", which are radix
|
/// FieldElements are represented as an array of ten "Limbs", which are radix
|
||||||
/// 25.5, that is, each Limb of a FieldElement alternates between being
|
/// 25.5, that is, each Limb of a FieldElement alternates between being
|
||||||
|
|
@ -162,7 +162,7 @@ impl CTAssignable for FieldElement {
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// # use curve25519_dalek::field::FieldElement;
|
/// # use curve25519_dalek::field::FieldElement;
|
||||||
/// # use curve25519_dalek::util::CTAssignable;
|
/// # use curve25519_dalek::subtle::CTAssignable;
|
||||||
/// let f = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
/// let f = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
||||||
/// let g = FieldElement([2,2,2,2,2,2,2,2,2,2]);
|
/// let g = FieldElement([2,2,2,2,2,2,2,2,2,2]);
|
||||||
/// let mut h = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
/// let mut h = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
||||||
|
|
@ -174,7 +174,7 @@ impl CTAssignable for FieldElement {
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// # use curve25519_dalek::field::FieldElement;
|
/// # use curve25519_dalek::field::FieldElement;
|
||||||
/// # use curve25519_dalek::util::CTAssignable;
|
/// # use curve25519_dalek::subtle::CTAssignable;
|
||||||
/// # let f = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
/// # let f = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
||||||
/// # let g = FieldElement([2,2,2,2,2,2,2,2,2,2]);
|
/// # let g = FieldElement([2,2,2,2,2,2,2,2,2,2]);
|
||||||
/// # let mut h = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
/// # let mut h = FieldElement([1,1,1,1,1,1,1,1,1,1]);
|
||||||
|
|
@ -815,7 +815,7 @@ impl FieldElement {
|
||||||
mod test {
|
mod test {
|
||||||
use field::*;
|
use field::*;
|
||||||
use test::Bencher;
|
use test::Bencher;
|
||||||
use util::CTNegatable;
|
use subtle::CTNegatable;
|
||||||
|
|
||||||
#[bench]
|
#[bench]
|
||||||
fn bench_fieldelement_a_mul_a(b: &mut Bencher) {
|
fn bench_fieldelement_a_mul_a(b: &mut Bencher) {
|
||||||
|
|
|
||||||
|
|
@ -47,9 +47,9 @@ pub mod field;
|
||||||
pub mod curve;
|
pub mod curve;
|
||||||
pub mod scalar;
|
pub mod scalar;
|
||||||
|
|
||||||
// Utilities module.
|
// Constant-time functions and other miscelaneous utilities.
|
||||||
|
|
||||||
pub mod util;
|
pub mod subtle;
|
||||||
|
|
||||||
// Low-level curve and point constants, as well as pre-computed curve group elements.
|
// Low-level curve and point constants, as well as pre-computed curve group elements.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,9 @@ use rand::Rng;
|
||||||
// XXX should these be in a utility module ?
|
// XXX should these be in a utility module ?
|
||||||
use constants;
|
use constants;
|
||||||
use field::{load3, load4};
|
use field::{load3, load4};
|
||||||
use util::CTAssignable;
|
use subtle::CTAssignable;
|
||||||
use util::CTEq;
|
use subtle::CTEq;
|
||||||
use util::arrays_equal_ct;
|
use subtle::arrays_equal_ct;
|
||||||
|
|
||||||
/// The `Scalar` struct represents an element in ℤ/lℤ, where
|
/// The `Scalar` struct represents an element in ℤ/lℤ, where
|
||||||
///
|
///
|
||||||
|
|
@ -115,7 +115,7 @@ impl CTAssignable for Scalar {
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// # use curve25519_dalek::scalar::Scalar;
|
/// # use curve25519_dalek::scalar::Scalar;
|
||||||
/// # use curve25519_dalek::util::CTAssignable;
|
/// # use curve25519_dalek::subtle::CTAssignable;
|
||||||
/// let a = Scalar([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
/// let a = Scalar([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
/// 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);
|
/// 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);
|
||||||
/// let b = Scalar([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
/// let b = Scalar([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
// - Isis Agora Lovecruft <isis@patternsinthevoid.net>
|
// - Isis Agora Lovecruft <isis@patternsinthevoid.net>
|
||||||
// - Henry de Valence <hdevalence@hdevalence.ca>
|
// - Henry de Valence <hdevalence@hdevalence.ca>
|
||||||
|
|
||||||
//! Utility functions and tools for constant-time comparisons.
|
//! Constant-time traits and utility functions.
|
||||||
|
|
||||||
use core::ops::Neg;
|
use core::ops::Neg;
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ pub trait CTEq {
|
||||||
fn ct_eq(&self, other: &Self) -> u8;
|
fn ct_eq(&self, other: &Self) -> u8;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trait for items which can be conditionally negated in constant time.
|
/// Trait for items which can be conditionally negated in constant time.
|
||||||
///
|
///
|
||||||
/// Note: it is not necessary to implement this trait, as a generic
|
/// Note: it is not necessary to implement this trait, as a generic
|
||||||
/// implementation is provided.
|
/// implementation is provided.
|
||||||
|
|
@ -55,7 +55,7 @@ impl<T> CTNegatable for T
|
||||||
///
|
///
|
||||||
/// # Return
|
/// # Return
|
||||||
///
|
///
|
||||||
/// Returns 1 if `a == b` and 0 otherwise.
|
/// Returns `1u8` if `a == b` and `0u8` otherwise.
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn bytes_equal_ct(a: u8, b: u8) -> u8 {
|
pub fn bytes_equal_ct(a: u8, b: u8) -> u8 {
|
||||||
let mut x: u8;
|
let mut x: u8;
|
||||||
|
|
@ -94,7 +94,7 @@ pub fn byte_is_nonzero(b: u8) -> u8 {
|
||||||
///
|
///
|
||||||
/// # Return
|
/// # Return
|
||||||
///
|
///
|
||||||
/// Returns 1 if `a == b` and 0 otherwise.
|
/// Returns `1u8` if `a == b` and `0u8` otherwise.
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
// We don't use this in curve25519-dalek, but it's useful for e.g. an ed25519 implementation.
|
// We don't use this in curve25519-dalek, but it's useful for e.g. an ed25519 implementation.
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
Loading…
Reference in a new issue