From 52986bc3ec5805c2f4e860b7e627a003069c267b Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Tue, 3 Aug 2021 23:10:35 +0000 Subject: [PATCH 1/3] Revert "Update copyright years." This reverts commit 1491f0db364f8d8fc1072caff88967248c555ef5. 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. --- LICENSE | 3 +- src/backend/mod.rs | 5 +- src/backend/serial/curve_models/mod.rs | 5 +- src/backend/serial/mod.rs | 5 +- src/backend/serial/scalar_mul/mod.rs | 5 +- src/backend/serial/scalar_mul/straus.rs | 5 +- .../serial/scalar_mul/vartime_double_base.rs | 5 +- src/backend/serial/u32/constants.rs | 5 +- src/backend/serial/u32/field.rs | 7 +- src/backend/serial/u32/mod.rs | 5 +- src/backend/serial/u64/constants.rs | 5 +- src/backend/serial/u64/field.rs | 7 +- src/backend/serial/u64/mod.rs | 5 +- src/backend/vector/avx2/constants.rs | 5 +- src/backend/vector/avx2/edwards.rs | 5 +- src/backend/vector/avx2/field.rs | 7 +- src/backend/vector/avx2/mod.rs | 5 +- src/backend/vector/ifma/field.rs | 6 +- src/backend/vector/mod.rs | 5 +- src/backend/vector/scalar_mul/mod.rs | 5 +- src/backend/vector/scalar_mul/straus.rs | 5 +- .../vector/scalar_mul/vartime_double_base.rs | 6 +- src/constants.rs | 5 +- src/edwards.rs | 111 ++++++++++++++++++ src/field.rs | 3 +- src/lib.rs | 5 +- src/macros.rs | 5 +- src/prelude.rs | 11 -- src/ristretto.rs | 18 +++ src/scalar.rs | 3 +- src/traits.rs | 5 +- src/window.rs | 5 +- 32 files changed, 187 insertions(+), 100 deletions(-) diff --git a/LICENSE b/LICENSE index ff34757..2501697 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,4 @@ -Copyright (c) 2016-2021 isis agora lovecruft. All rights reserved. -Copyright (c) 2016-2021 Henry de Valence. All rights reserved. +Copyright (c) 2016-2019 Isis Agora Lovecruft, Henry de Valence. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 18f8af7..2eef774 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Pluggable implementations for different architectures. diff --git a/src/backend/serial/curve_models/mod.rs b/src/backend/serial/curve_models/mod.rs index 9d10d92..5d5850f 100644 --- a/src/backend/serial/curve_models/mod.rs +++ b/src/backend/serial/curve_models/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Internal curve representations which are not part of the public API. diff --git a/src/backend/serial/mod.rs b/src/backend/serial/mod.rs index 971afe9..a01d4a3 100644 --- a/src/backend/serial/mod.rs +++ b/src/backend/serial/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Serial implementations of field, scalar, point arithmetic. diff --git a/src/backend/serial/scalar_mul/mod.rs b/src/backend/serial/scalar_mul/mod.rs index 8bdad1f..544725a 100644 --- a/src/backend/serial/scalar_mul/mod.rs +++ b/src/backend/serial/scalar_mul/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Implementations of various scalar multiplication algorithms. diff --git a/src/backend/serial/scalar_mul/straus.rs b/src/backend/serial/scalar_mul/straus.rs index a361df5..b63e162 100644 --- a/src/backend/serial/scalar_mul/straus.rs +++ b/src/backend/serial/scalar_mul/straus.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Implementation of the interleaved window method, also known as Straus' method. diff --git a/src/backend/serial/scalar_mul/vartime_double_base.rs b/src/backend/serial/scalar_mul/vartime_double_base.rs index 03517f9..ef8c0ca 100644 --- a/src/backend/serial/scalar_mul/vartime_double_base.rs +++ b/src/backend/serial/scalar_mul/vartime_double_base.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence #![allow(non_snake_case)] diff --git a/src/backend/serial/u32/constants.rs b/src/backend/serial/u32/constants.rs index af509cf..29abf88 100644 --- a/src/backend/serial/u32/constants.rs +++ b/src/backend/serial/u32/constants.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! This module contains various constants (such as curve parameters diff --git a/src/backend/serial/u32/field.rs b/src/backend/serial/u32/field.rs index c8f3e5e..603ed3f 100644 --- a/src/backend/serial/u32/field.rs +++ b/src/backend/serial/u32/field.rs @@ -1,12 +1,11 @@ -// -*- mode: rust; -*- +// -*- mode: rust; coding: utf-8; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Field arithmetic modulo \\(p = 2\^{255} - 19\\), using \\(32\\)-bit diff --git a/src/backend/serial/u32/mod.rs b/src/backend/serial/u32/mod.rs index 401ce74..e0f344f 100644 --- a/src/backend/serial/u32/mod.rs +++ b/src/backend/serial/u32/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! The `u32` backend uses `u32`s and a `(u32, u32) -> u64` multiplier. diff --git a/src/backend/serial/u64/constants.rs b/src/backend/serial/u64/constants.rs index 6cbc0b5..18d07eb 100644 --- a/src/backend/serial/u64/constants.rs +++ b/src/backend/serial/u64/constants.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! This module contains backend-specific constant values, such as the 64-bit limbs of curve constants. diff --git a/src/backend/serial/u64/field.rs b/src/backend/serial/u64/field.rs index a73d4b5..1cb7778 100644 --- a/src/backend/serial/u64/field.rs +++ b/src/backend/serial/u64/field.rs @@ -1,12 +1,11 @@ -// -*- mode: rust; -*- +// -*- mode: rust; coding: utf-8; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Field arithmetic modulo \\(p = 2\^{255} - 19\\), using \\(64\\)-bit diff --git a/src/backend/serial/u64/mod.rs b/src/backend/serial/u64/mod.rs index aa29eb6..d329a89 100644 --- a/src/backend/serial/u64/mod.rs +++ b/src/backend/serial/u64/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2018 Henry de Valence +// Copyright (c) 2016-2018 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! The `u64` backend uses `u64`s and a `(u64, u64) -> u128` multiplier. diff --git a/src/backend/vector/avx2/constants.rs b/src/backend/vector/avx2/constants.rs index 122068e..73e5ba3 100644 --- a/src/backend/vector/avx2/constants.rs +++ b/src/backend/vector/avx2/constants.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! This module contains constants used by the AVX2 backend. diff --git a/src/backend/vector/avx2/edwards.rs b/src/backend/vector/avx2/edwards.rs index 821d516..77af176 100644 --- a/src/backend/vector/avx2/edwards.rs +++ b/src/backend/vector/avx2/edwards.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Parallel Edwards Arithmetic for Curve25519. diff --git a/src/backend/vector/avx2/field.rs b/src/backend/vector/avx2/field.rs index 94a06ee..edd1fa6 100644 --- a/src/backend/vector/avx2/field.rs +++ b/src/backend/vector/avx2/field.rs @@ -1,12 +1,11 @@ -// -*- mode: rust; -*- +// -*- mode: rust; coding: utf-8; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! An implementation of 4-way vectorized 32bit field arithmetic using diff --git a/src/backend/vector/avx2/mod.rs b/src/backend/vector/avx2/mod.rs index 527fdc1..175b7eb 100644 --- a/src/backend/vector/avx2/mod.rs +++ b/src/backend/vector/avx2/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence #![cfg_attr( diff --git a/src/backend/vector/ifma/field.rs b/src/backend/vector/ifma/field.rs index a393b22..5b7c092 100644 --- a/src/backend/vector/ifma/field.rs +++ b/src/backend/vector/ifma/field.rs @@ -1,12 +1,10 @@ -// -*- mode: rust; -*- +// -*- mode: rust; coding: utf-8; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2018-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft // - Henry de Valence #![allow(non_snake_case)] diff --git a/src/backend/vector/mod.rs b/src/backend/vector/mod.rs index 29a6f65..9726c71 100644 --- a/src/backend/vector/mod.rs +++ b/src/backend/vector/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence // Conditionally include the notes if we're on nightly (so we can include docs at all). diff --git a/src/backend/vector/scalar_mul/mod.rs b/src/backend/vector/scalar_mul/mod.rs index 36a7047..2fc1b18 100644 --- a/src/backend/vector/scalar_mul/mod.rs +++ b/src/backend/vector/scalar_mul/mod.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence pub mod variable_base; diff --git a/src/backend/vector/scalar_mul/straus.rs b/src/backend/vector/scalar_mul/straus.rs index b6c02f9..7206cf3 100644 --- a/src/backend/vector/scalar_mul/straus.rs +++ b/src/backend/vector/scalar_mul/straus.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence #![allow(non_snake_case)] diff --git a/src/backend/vector/scalar_mul/vartime_double_base.rs b/src/backend/vector/scalar_mul/vartime_double_base.rs index 3f7cc3e..d78e46d 100644 --- a/src/backend/vector/scalar_mul/vartime_double_base.rs +++ b/src/backend/vector/scalar_mul/vartime_double_base.rs @@ -1,14 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence - #![allow(non_snake_case)] use backend::vector::BASEPOINT_ODD_LOOKUP_TABLE; diff --git a/src/constants.rs b/src/constants.rs index 19c46e5..8831dda 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Various constants, such as the Ristretto and Ed25519 basepoints. diff --git a/src/edwards.rs b/src/edwards.rs index 7c97ca4..f33df95 100644 --- a/src/edwards.rs +++ b/src/edwards.rs @@ -101,11 +101,14 @@ use core::ops::{Add, Neg, Sub}; use core::ops::{AddAssign, SubAssign}; use core::ops::{Mul, MulAssign}; +use digest::{generic_array::typenum::U64, Digest}; use subtle::Choice; use subtle::ConditionallyNegatable; use subtle::ConditionallySelectable; use subtle::ConstantTimeEq; +use zeroize::Zeroize; + use constants; use field::FieldElement; @@ -374,6 +377,28 @@ impl Default for EdwardsPoint { } } +// ------------------------------------------------------------------------ +// Zeroize implementations for wiping points from memory +// ------------------------------------------------------------------------ + +impl Zeroize for CompressedEdwardsY { + /// Reset this `CompressedEdwardsY` to the compressed form of the identity element. + fn zeroize(&mut self) { + self.0.zeroize(); + self.0[0] = 1; + } +} + +impl Zeroize for EdwardsPoint { + /// Reset this `CompressedEdwardsPoint` to the identity element. + fn zeroize(&mut self) { + self.X.zeroize(); + self.Y = FieldElement::one(); + self.Z = FieldElement::one(); + self.T.zeroize(); + } +} + // ------------------------------------------------------------------------ // Validity checks (for debugging, not CT) // ------------------------------------------------------------------------ @@ -500,6 +525,31 @@ impl EdwardsPoint { s[31] ^= x.is_negative().unwrap_u8() << 7; CompressedEdwardsY(s) } + + /// Perform hashing to the group using the Elligator2 map + /// + /// See https://tools.ietf.org/html/draft-irtf-cfrg-hash-to-curve-10#section-6.7.1 + pub fn hash_from_bytes(bytes: &[u8]) -> EdwardsPoint + where + D: Digest + Default, + { + let mut hash = D::new(); + hash.update(bytes); + let h = hash.finalize(); + let mut res = [0u8; 32]; + res.copy_from_slice(&h[..32]); + + let sign_bit = (res[31] & 0x80) >> 7; + + let fe = FieldElement::from_bytes(&res); + + let M1 = crate::montgomery::elligator_encode(&fe); + let E1_opt = M1.to_edwards(sign_bit); + + E1_opt + .expect("Montgomery conversion to Edwards point in Elligator failed") + .mul_by_cofactor() + } } // ------------------------------------------------------------------------ @@ -1696,4 +1746,65 @@ mod test { let bp: EdwardsPoint = bincode::deserialize(raw_bytes).unwrap(); assert_eq!(bp, constants::ED25519_BASEPOINT_POINT); } + + //////////////////////////////////////////////////////////// + // Signal tests from // + // https://github.com/signalapp/libsignal-protocol-c/ // + //////////////////////////////////////////////////////////// + + fn test_vectors() -> Vec> { + vec![ + vec![ + "214f306e1576f5a7577636fe303ca2c625b533319f52442b22a9fa3b7ede809f", + "c95becf0f93595174633b9d4d6bbbeb88e16fa257176f877ce426e1424626052", + ], + vec![ + "2eb10d432702ea7f79207da95d206f82d5a3b374f5f89f17a199531f78d3bea6", + "d8f8b508edffbb8b6dab0f602f86a9dd759f800fe18f782fdcac47c234883e7f", + ], + vec![ + "84cbe9accdd32b46f4a8ef51c85fd39d028711f77fb00e204a613fc235fd68b9", + "93c73e0289afd1d1fc9e4e78a505d5d1b2642fbdf91a1eff7d281930654b1453", + ], + vec![ + "c85165952490dc1839cb69012a3d9f2cc4b02343613263ab93a26dc89fd58267", + "43cbe8685fd3c90665b91835debb89ff1477f906f5170f38a192f6a199556537", + ], + vec![ + "26e7fc4a78d863b1a4ccb2ce0951fbcd021e106350730ee4157bacb4502e1b76", + "b6fc3d738c2c40719479b2f23818180cdafa72a14254d4016bbed8f0b788a835", + ], + vec![ + "1618c08ef0233f94f0f163f9435ec7457cd7a8cd4bb6b160315d15818c30f7a2", + "da0b703593b29dbcd28ebd6e7baea17b6f61971f3641cae774f6a5137a12294c", + ], + vec![ + "48b73039db6fcdcb6030c4a38e8be80b6390d8ae46890e77e623f87254ef149c", + "ca11b25acbc80566603eabeb9364ebd50e0306424c61049e1ce9385d9f349966", + ], + vec![ + "a744d582b3a34d14d311b7629da06d003045ae77cebceeb4e0e72734d63bd07d", + "fad25a5ea15d4541258af8785acaf697a886c1b872c793790e60a6837b1adbc0", + ], + vec![ + "80a6ff33494c471c5eff7efb9febfbcf30a946fe6535b3451cda79f2154a7095", + "57ac03913309b3f8cd3c3d4c49d878bb21f4d97dc74a1eaccbe5c601f7f06f47", + ], + vec![ + "f06fc939bc10551a0fd415aebf107ef0b9c4ee1ef9a164157bdd089127782617", + "785b2a6a00a5579cc9da1ff997ce8339b6f9fb46c6f10cf7a12ff2986341a6e0", + ], + ] + } + + #[test] + fn elligator_signal_test_vectors() { + for vector in test_vectors().iter() { + let input = hex::decode(vector[0]).unwrap(); + let output = hex::decode(vector[1]).unwrap(); + + let point = EdwardsPoint::hash_from_bytes::(&input); + assert_eq!(point.compress().to_bytes(), output[..]); + } + } } diff --git a/src/field.rs b/src/field.rs index 109cff2..40dcf70 100644 --- a/src/field.rs +++ b/src/field.rs @@ -1,8 +1,7 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis agora lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: diff --git a/src/lib.rs b/src/lib.rs index 00d6126..dfc7194 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence #![no_std] diff --git a/src/macros.rs b/src/macros.rs index 84a2ce1..5985a5f 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis agora lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Internal macros. diff --git a/src/prelude.rs b/src/prelude.rs index 5c0a611..be2f600 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -1,14 +1,3 @@ -// -*- mode: rust; -*- -// -// This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence -// See LICENSE for licensing information. -// -// Authors: -// - isis agora lovecruft -// - Henry de Valence - //! Crate-local prelude (for alloc-dependent features like `Vec`) // TODO: switch to alloc::prelude diff --git a/src/ristretto.rs b/src/ristretto.rs index d284b5b..b9e3734 100644 --- a/src/ristretto.rs +++ b/src/ristretto.rs @@ -178,6 +178,8 @@ use subtle::ConditionallySelectable; use subtle::ConditionallyNegatable; use subtle::ConstantTimeEq; +use zeroize::Zeroize; + use edwards::EdwardsBasepointTable; use edwards::EdwardsPoint; @@ -1079,6 +1081,22 @@ impl Debug for RistrettoPoint { } } +// ------------------------------------------------------------------------ +// Zeroize traits +// ------------------------------------------------------------------------ + +impl Zeroize for CompressedRistretto { + fn zeroize(&mut self) { + self.0.zeroize(); + } +} + +impl Zeroize for RistrettoPoint { + fn zeroize(&mut self) { + self.0.zeroize(); + } +} + // ------------------------------------------------------------------------ // Tests // ------------------------------------------------------------------------ diff --git a/src/scalar.rs b/src/scalar.rs index 00de740..8ae29c5 100644 --- a/src/scalar.rs +++ b/src/scalar.rs @@ -1,8 +1,7 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // Portions Copyright 2017 Brian Smith // See LICENSE for licensing information. // diff --git a/src/traits.rs b/src/traits.rs index d127b3e..7fa269c 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Module for common traits. diff --git a/src/window.rs b/src/window.rs index 2cf1fbe..adedac9 100644 --- a/src/window.rs +++ b/src/window.rs @@ -1,12 +1,11 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2021 isis lovecruft -// Copyright (c) 2016-2019 Henry de Valence +// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence // See LICENSE for licensing information. // // Authors: -// - isis agora lovecruft +// - Isis Agora Lovecruft // - Henry de Valence //! Code for fixed- and sliding-window functionality From 74210d28fceae6491c18c7cb094d9fa64033c9ee Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Tue, 3 Aug 2021 23:13:45 +0000 Subject: [PATCH 2/3] Update copyright years. --- LICENSE | 3 ++- src/backend/mod.rs | 5 +++-- src/backend/serial/curve_models/mod.rs | 5 +++-- src/backend/serial/mod.rs | 5 +++-- src/backend/serial/scalar_mul/mod.rs | 5 +++-- src/backend/serial/scalar_mul/straus.rs | 5 +++-- src/backend/serial/scalar_mul/vartime_double_base.rs | 5 +++-- src/backend/serial/u32/constants.rs | 5 +++-- src/backend/serial/u32/field.rs | 7 ++++--- src/backend/serial/u32/mod.rs | 5 +++-- src/backend/serial/u64/constants.rs | 5 +++-- src/backend/serial/u64/field.rs | 7 ++++--- src/backend/serial/u64/mod.rs | 5 +++-- src/backend/vector/avx2/constants.rs | 5 +++-- src/backend/vector/avx2/edwards.rs | 5 +++-- src/backend/vector/avx2/field.rs | 7 ++++--- src/backend/vector/avx2/mod.rs | 5 +++-- src/backend/vector/ifma/field.rs | 6 ++++-- src/backend/vector/mod.rs | 5 +++-- src/backend/vector/scalar_mul/mod.rs | 5 +++-- src/backend/vector/scalar_mul/straus.rs | 5 +++-- src/backend/vector/scalar_mul/vartime_double_base.rs | 6 ++++-- src/constants.rs | 5 +++-- src/field.rs | 3 ++- src/lib.rs | 5 +++-- src/macros.rs | 5 +++-- src/prelude.rs | 11 +++++++++++ src/scalar.rs | 3 ++- src/traits.rs | 5 +++-- src/window.rs | 5 +++-- 30 files changed, 100 insertions(+), 58 deletions(-) diff --git a/LICENSE b/LICENSE index 2501697..ff34757 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,5 @@ -Copyright (c) 2016-2019 Isis Agora Lovecruft, Henry de Valence. All rights reserved. +Copyright (c) 2016-2021 isis agora lovecruft. All rights reserved. +Copyright (c) 2016-2021 Henry de Valence. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 2eef774..18f8af7 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Pluggable implementations for different architectures. diff --git a/src/backend/serial/curve_models/mod.rs b/src/backend/serial/curve_models/mod.rs index 5d5850f..9d10d92 100644 --- a/src/backend/serial/curve_models/mod.rs +++ b/src/backend/serial/curve_models/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Internal curve representations which are not part of the public API. diff --git a/src/backend/serial/mod.rs b/src/backend/serial/mod.rs index a01d4a3..971afe9 100644 --- a/src/backend/serial/mod.rs +++ b/src/backend/serial/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Serial implementations of field, scalar, point arithmetic. diff --git a/src/backend/serial/scalar_mul/mod.rs b/src/backend/serial/scalar_mul/mod.rs index 544725a..8bdad1f 100644 --- a/src/backend/serial/scalar_mul/mod.rs +++ b/src/backend/serial/scalar_mul/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Implementations of various scalar multiplication algorithms. diff --git a/src/backend/serial/scalar_mul/straus.rs b/src/backend/serial/scalar_mul/straus.rs index b63e162..a361df5 100644 --- a/src/backend/serial/scalar_mul/straus.rs +++ b/src/backend/serial/scalar_mul/straus.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Implementation of the interleaved window method, also known as Straus' method. diff --git a/src/backend/serial/scalar_mul/vartime_double_base.rs b/src/backend/serial/scalar_mul/vartime_double_base.rs index ef8c0ca..03517f9 100644 --- a/src/backend/serial/scalar_mul/vartime_double_base.rs +++ b/src/backend/serial/scalar_mul/vartime_double_base.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence #![allow(non_snake_case)] diff --git a/src/backend/serial/u32/constants.rs b/src/backend/serial/u32/constants.rs index 29abf88..af509cf 100644 --- a/src/backend/serial/u32/constants.rs +++ b/src/backend/serial/u32/constants.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! This module contains various constants (such as curve parameters diff --git a/src/backend/serial/u32/field.rs b/src/backend/serial/u32/field.rs index 603ed3f..c8f3e5e 100644 --- a/src/backend/serial/u32/field.rs +++ b/src/backend/serial/u32/field.rs @@ -1,11 +1,12 @@ -// -*- mode: rust; coding: utf-8; -*- +// -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Field arithmetic modulo \\(p = 2\^{255} - 19\\), using \\(32\\)-bit diff --git a/src/backend/serial/u32/mod.rs b/src/backend/serial/u32/mod.rs index e0f344f..401ce74 100644 --- a/src/backend/serial/u32/mod.rs +++ b/src/backend/serial/u32/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! The `u32` backend uses `u32`s and a `(u32, u32) -> u64` multiplier. diff --git a/src/backend/serial/u64/constants.rs b/src/backend/serial/u64/constants.rs index 18d07eb..6cbc0b5 100644 --- a/src/backend/serial/u64/constants.rs +++ b/src/backend/serial/u64/constants.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! This module contains backend-specific constant values, such as the 64-bit limbs of curve constants. diff --git a/src/backend/serial/u64/field.rs b/src/backend/serial/u64/field.rs index 1cb7778..a73d4b5 100644 --- a/src/backend/serial/u64/field.rs +++ b/src/backend/serial/u64/field.rs @@ -1,11 +1,12 @@ -// -*- mode: rust; coding: utf-8; -*- +// -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Field arithmetic modulo \\(p = 2\^{255} - 19\\), using \\(64\\)-bit diff --git a/src/backend/serial/u64/mod.rs b/src/backend/serial/u64/mod.rs index d329a89..aa29eb6 100644 --- a/src/backend/serial/u64/mod.rs +++ b/src/backend/serial/u64/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2018 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2018 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! The `u64` backend uses `u64`s and a `(u64, u64) -> u128` multiplier. diff --git a/src/backend/vector/avx2/constants.rs b/src/backend/vector/avx2/constants.rs index 73e5ba3..122068e 100644 --- a/src/backend/vector/avx2/constants.rs +++ b/src/backend/vector/avx2/constants.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! This module contains constants used by the AVX2 backend. diff --git a/src/backend/vector/avx2/edwards.rs b/src/backend/vector/avx2/edwards.rs index 77af176..821d516 100644 --- a/src/backend/vector/avx2/edwards.rs +++ b/src/backend/vector/avx2/edwards.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Parallel Edwards Arithmetic for Curve25519. diff --git a/src/backend/vector/avx2/field.rs b/src/backend/vector/avx2/field.rs index edd1fa6..94a06ee 100644 --- a/src/backend/vector/avx2/field.rs +++ b/src/backend/vector/avx2/field.rs @@ -1,11 +1,12 @@ -// -*- mode: rust; coding: utf-8; -*- +// -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! An implementation of 4-way vectorized 32bit field arithmetic using diff --git a/src/backend/vector/avx2/mod.rs b/src/backend/vector/avx2/mod.rs index 175b7eb..527fdc1 100644 --- a/src/backend/vector/avx2/mod.rs +++ b/src/backend/vector/avx2/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence #![cfg_attr( diff --git a/src/backend/vector/ifma/field.rs b/src/backend/vector/ifma/field.rs index 5b7c092..a393b22 100644 --- a/src/backend/vector/ifma/field.rs +++ b/src/backend/vector/ifma/field.rs @@ -1,10 +1,12 @@ -// -*- mode: rust; coding: utf-8; -*- +// -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2018-2019 Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: +// - isis agora lovecruft // - Henry de Valence #![allow(non_snake_case)] diff --git a/src/backend/vector/mod.rs b/src/backend/vector/mod.rs index 9726c71..29a6f65 100644 --- a/src/backend/vector/mod.rs +++ b/src/backend/vector/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence // Conditionally include the notes if we're on nightly (so we can include docs at all). diff --git a/src/backend/vector/scalar_mul/mod.rs b/src/backend/vector/scalar_mul/mod.rs index 2fc1b18..36a7047 100644 --- a/src/backend/vector/scalar_mul/mod.rs +++ b/src/backend/vector/scalar_mul/mod.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence pub mod variable_base; diff --git a/src/backend/vector/scalar_mul/straus.rs b/src/backend/vector/scalar_mul/straus.rs index 7206cf3..b6c02f9 100644 --- a/src/backend/vector/scalar_mul/straus.rs +++ b/src/backend/vector/scalar_mul/straus.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence #![allow(non_snake_case)] diff --git a/src/backend/vector/scalar_mul/vartime_double_base.rs b/src/backend/vector/scalar_mul/vartime_double_base.rs index d78e46d..3f7cc3e 100644 --- a/src/backend/vector/scalar_mul/vartime_double_base.rs +++ b/src/backend/vector/scalar_mul/vartime_double_base.rs @@ -1,12 +1,14 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence + #![allow(non_snake_case)] use backend::vector::BASEPOINT_ODD_LOOKUP_TABLE; diff --git a/src/constants.rs b/src/constants.rs index 8831dda..19c46e5 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Various constants, such as the Ristretto and Ed25519 basepoints. diff --git a/src/field.rs b/src/field.rs index 40dcf70..109cff2 100644 --- a/src/field.rs +++ b/src/field.rs @@ -1,7 +1,8 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis agora lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: diff --git a/src/lib.rs b/src/lib.rs index dfc7194..00d6126 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence #![no_std] diff --git a/src/macros.rs b/src/macros.rs index 5985a5f..84a2ce1 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis agora lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Internal macros. diff --git a/src/prelude.rs b/src/prelude.rs index be2f600..5c0a611 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -1,3 +1,14 @@ +// -*- mode: rust; -*- +// +// This file is part of curve25519-dalek. +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence +// See LICENSE for licensing information. +// +// Authors: +// - isis agora lovecruft +// - Henry de Valence + //! Crate-local prelude (for alloc-dependent features like `Vec`) // TODO: switch to alloc::prelude diff --git a/src/scalar.rs b/src/scalar.rs index 8ae29c5..00de740 100644 --- a/src/scalar.rs +++ b/src/scalar.rs @@ -1,7 +1,8 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // Portions Copyright 2017 Brian Smith // See LICENSE for licensing information. // diff --git a/src/traits.rs b/src/traits.rs index 7fa269c..d127b3e 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Module for common traits. diff --git a/src/window.rs b/src/window.rs index adedac9..2cf1fbe 100644 --- a/src/window.rs +++ b/src/window.rs @@ -1,11 +1,12 @@ // -*- mode: rust; -*- // // This file is part of curve25519-dalek. -// Copyright (c) 2016-2019 Isis Lovecruft, Henry de Valence +// Copyright (c) 2016-2021 isis lovecruft +// Copyright (c) 2016-2019 Henry de Valence // See LICENSE for licensing information. // // Authors: -// - Isis Agora Lovecruft +// - isis agora lovecruft // - Henry de Valence //! Code for fixed- and sliding-window functionality From 90aab8423c0e31536357bf776e7f4a9787372ed6 Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Tue, 3 Aug 2021 23:33:33 +0000 Subject: [PATCH 3/3] Update CHANGELOG and bump version to 3.1.2. --- CHANGELOG.md | 5 +++++ Cargo.toml | 2 +- src/lib.rs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dcd252..a41e567 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ major series. ## 3.x series +### 3.1.2 + +* Revert a commit which mistakenly removed support for `zeroize` traits + for some point types, as well as elligator2 support for Edwards points. + ### 3.1.1 * Fix documentation builds on nightly due to syntax changes to diff --git a/Cargo.toml b/Cargo.toml index 92adefb..9251d78 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ name = "curve25519-dalek" # - update html_root_url # - update README if required by semver # - if README was updated, also update module documentation in src/lib.rs -version = "3.1.1" +version = "3.1.2" authors = ["Isis Lovecruft ", "Henry de Valence "] readme = "README.md" diff --git a/src/lib.rs b/src/lib.rs index 00d6126..e3ba262 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -18,7 +18,7 @@ #![deny(missing_docs)] #![doc(html_logo_url = "https://doc.dalek.rs/assets/dalek-logo-clear.png")] -#![doc(html_root_url = "https://docs.rs/curve25519-dalek/3.1.1")] +#![doc(html_root_url = "https://docs.rs/curve25519-dalek/3.1.2")] //! # curve25519-dalek [![](https://img.shields.io/crates/v/curve25519-dalek.svg)](https://crates.io/crates/curve25519-dalek) [![](https://img.shields.io/badge/dynamic/json.svg?label=docs&uri=https%3A%2F%2Fcrates.io%2Fapi%2Fv1%2Fcrates%2Fcurve25519-dalek%2Fversions&query=%24.versions%5B0%5D.num&colorB=4F74A6)](https://doc.dalek.rs) [![](https://travis-ci.org/dalek-cryptography/curve25519-dalek.svg?branch=master)](https://travis-ci.org/dalek-cryptography/curve25519-dalek) //!