Skip to content

Commit

Permalink
Impl zeroize::DefaultIsZeroes for all key types
Browse files Browse the repository at this point in the history
  • Loading branch information
moCello committed Feb 8, 2024
1 parent 02ebd03 commit 9a4cb9c
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed

- Change the implementation for hashing a slice of bytes into a BlsScalar to `BlsScalar::hash_to_scalar` [#3]
- Derive `zeroize::DefaultIsZeroes` for all key types [#5]

### Added

- Add `zeroize` depencency at version "1" [#5]

## [0.1.0] - 2024-01-08

Expand All @@ -18,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add initial commit, this package continues the development of [dusk-bls12_381-sign](https://github.com/dusk-network/bls12_381-sign/) at version `0.6.0` under the new name: `bls12_381-bls` and without the go related code.

<!-- ISSUES -->
[#5]: https://github.com/dusk-network/bls12_381-bls/issues/5
[#3]: https://github.com/dusk-network/bls12_381-bls/issues/3

<!-- VERSIONS -->
Expand Down
4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ exclude = [
license = "MPL-2.0"

[dependencies]
dusk-bls12_381 = { version = "0.13", default-features = false, features = ["alloc", "pairings"] }
dusk-bls12_381 = { version = "0.13", default-features = false, features = ["alloc", "pairings", "zeroize"] }
dusk-bytes = "0.1"
rand_core = { version = "0.6", default-features = false }
rkyv = { version = "0.7", optional = true, default-features = false }
bytecheck = { version = "0.6", optional = true, default-features = false }
ff = { version = "0.13", default-features = false }
rayon = { version = "1.8", optional = true }
zeroize = "1"
# zeroize = { version = "1", fetures = ["derive"] }

[dev-dependencies]
rand = { version = "0.8", default-features = false, features = ["std_rng"] }
Expand Down
3 changes: 3 additions & 0 deletions src/keys/apk.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ use crate::{Error, PublicKey, SecretKey};

use dusk_bls12_381::G2Projective;
use dusk_bytes::{Error as DuskBytesError, Serializable};
use zeroize::DefaultIsZeroes;

#[cfg(feature = "rkyv-impl")]
use rkyv::{Archive, Deserialize, Serialize};
Expand All @@ -28,6 +29,8 @@ use rayon::prelude::*;
)]
pub struct APK(PublicKey);

impl DefaultIsZeroes for APK {}

impl Serializable<96> for APK {
type Error = DuskBytesError;

Expand Down
3 changes: 3 additions & 0 deletions src/keys/public.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ use crate::{Error, SecretKey, Signature};

use dusk_bls12_381::G2Affine;
use dusk_bytes::{Error as DuskBytesError, Serializable};
use zeroize::DefaultIsZeroes;

#[cfg(feature = "rkyv-impl")]
use rkyv::{Archive, Deserialize, Serialize};
Expand All @@ -25,6 +26,8 @@ use rkyv::{Archive, Deserialize, Serialize};
)]
pub struct PublicKey(pub(crate) G2Affine);

impl DefaultIsZeroes for PublicKey {}

impl Serializable<96> for PublicKey {
type Error = DuskBytesError;

Expand Down
3 changes: 3 additions & 0 deletions src/keys/secret.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ use dusk_bls12_381::BlsScalar;
use dusk_bytes::{Error as DuskBytesError, Serializable};
use ff::Field;
use rand_core::{CryptoRng, RngCore};
use zeroize::DefaultIsZeroes;

#[cfg(feature = "rkyv-impl")]
use rkyv::{Archive, Deserialize, Serialize};
Expand All @@ -25,6 +26,8 @@ use rkyv::{Archive, Deserialize, Serialize};
)]
pub struct SecretKey(pub(crate) BlsScalar);

impl DefaultIsZeroes for SecretKey {}

impl From<BlsScalar> for SecretKey {
fn from(s: BlsScalar) -> SecretKey {
SecretKey(s)
Expand Down
3 changes: 3 additions & 0 deletions src/signature.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ use crate::Error;

use dusk_bls12_381::{G1Affine, G1Projective};
use dusk_bytes::Serializable;
use zeroize::DefaultIsZeroes;

#[cfg(feature = "rkyv-impl")]
use rkyv::{Archive, Deserialize, Serialize};
Expand All @@ -21,6 +22,8 @@ use rkyv::{Archive, Deserialize, Serialize};
)]
pub struct Signature(pub(crate) G1Affine);

impl DefaultIsZeroes for Signature {}

impl Signature {
/// Aggregate a set of signatures by simply adding up the points.
pub fn aggregate(&self, sigs: &[Signature]) -> Self {
Expand Down

0 comments on commit 9a4cb9c

Please sign in to comment.