Skip to content

Commit

Permalink
Revert "Merge pull request #296 from isislovecruft/feature/compressed…
Browse files Browse the repository at this point in the history
…-try-from"

This reverts commit 46f56f9, reversing
changes made to a9b1d50.

These changes are not semver-compatible with the 2.0.0 release.
  • Loading branch information
hdevalence committed Dec 10, 2019
1 parent 46f56f9 commit 6a44f31
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 60 deletions.
13 changes: 4 additions & 9 deletions src/edwards.rs
Original file line number Diff line number Diff line change
Expand Up @@ -338,20 +338,15 @@ impl Default for CompressedEdwardsY {
impl CompressedEdwardsY {
/// Construct a `CompressedEdwardsY` from a slice of bytes.
///
/// # Returns
/// # Panics
///
/// An `Option<CompressedEdwardsY>` which is `None` if the input `bytes`
/// slice does not have a length of 32.
pub fn from_slice(bytes: &[u8]) -> Option<CompressedEdwardsY> {
if bytes.len() != 32 {
return None;
}

/// If the input `bytes` slice does not have a length of 32.
pub fn from_slice(bytes: &[u8]) -> CompressedEdwardsY {
let mut tmp = [0u8; 32];

tmp.copy_from_slice(bytes);

Some(CompressedEdwardsY(tmp))
CompressedEdwardsY(tmp)
}
}

Expand Down
42 changes: 0 additions & 42 deletions src/montgomery.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ use field::FieldElement;
use scalar::Scalar;

use traits::Identity;
use traits::ValidityCheck;

use subtle::Choice;
use subtle::ConditionallySelectable;
Expand Down Expand Up @@ -94,24 +93,6 @@ impl PartialEq for MontgomeryPoint {

impl Eq for MontgomeryPoint {}

impl ValidityCheck for MontgomeryPoint {
/// Decode the \\(u\\)-coordinate field element and re-encode it
/// to its canonical form to check whether the original was valid.
///
/// There are no other required checks for the Mongomery form of the curve,
/// as every element in \\( \mathbb{F}\_{q} \\) lies either on the curve or
/// its quadratic twist. (cf. §5.2 of "Montgomery Curves and Their
/// Arithmetic" by [Costello and Smith][costello-smith].)
///
/// [costello-smith]: https://eprint.iacr.org/2017/212.pdf
fn is_valid(&self) -> bool {
let maybe_u: FieldElement = FieldElement::from_bytes(&self.0);
let u: [u8; 32] = maybe_u.to_bytes();

u.ct_eq(&self.0).into()
}
}

impl Zeroize for MontgomeryPoint {
fn zeroize(&mut self) {
self.0.zeroize();
Expand All @@ -129,29 +110,6 @@ impl MontgomeryPoint {
self.0
}

/// Attempt to create a `MontgomeryPoint` from a slice of bytes.
///
/// # Returns
///
/// An `Option<MontgomeryPoint>` which is `None` if the length of the slice
/// of bytes is not 32, or if the bytes did not represent a canonical
/// `FieldElement`.
pub fn from_slice(bytes: &[u8]) -> Option<MontgomeryPoint> {
if bytes.len() != 32 {
return None;
}

let mut array = [0u8; 32];
array.copy_from_slice(&bytes[..32]);

let P = MontgomeryPoint(array);

if P.is_valid() {
return Some(P);
}
None
}

/// Attempt to convert to an `EdwardsPoint`, using the supplied
/// choice of sign for the `EdwardsPoint`.
///
Expand Down
13 changes: 4 additions & 9 deletions src/ristretto.rs
Original file line number Diff line number Diff line change
Expand Up @@ -230,20 +230,15 @@ impl CompressedRistretto {

/// Construct a `CompressedRistretto` from a slice of bytes.
///
/// # Returns
/// # Panics
///
/// An `Option<CompressedRistretto>` which is `None` if the input `bytes`
/// slice does not have a length of 32.
pub fn from_slice(bytes: &[u8]) -> Option<CompressedRistretto> {
if bytes.len() != 32 {
return None;
}

/// If the input `bytes` slice does not have a length of 32.
pub fn from_slice(bytes: &[u8]) -> CompressedRistretto {
let mut tmp = [0u8; 32];

tmp.copy_from_slice(bytes);

Some(CompressedRistretto(tmp))
CompressedRistretto(tmp)
}

/// Attempt to decompress to an `RistrettoPoint`.
Expand Down

0 comments on commit 6a44f31

Please sign in to comment.