From 5f15891a869358e947b76c7eabd06b72682e1803 Mon Sep 17 00:00:00 2001
From: Piotr Roslaniec
Date: Tue, 20 Feb 2024 09:50:16 +0100
Subject: [PATCH] refactor: rename public key share to public key
---
ferveo-tdec/benches/tpke.rs | 2 +-
ferveo-tdec/src/ciphertext.rs | 4 ++--
ferveo-tdec/src/context.rs | 6 +++---
ferveo-tdec/src/key_share.rs | 10 ++++------
ferveo-tdec/src/lib.rs | 14 +++++++-------
ferveo/src/api.rs | 12 ++++++------
ferveo/src/pvss.rs | 8 ++++----
ferveo/src/refresh.rs | 1 -
8 files changed, 27 insertions(+), 30 deletions(-)
diff --git a/ferveo-tdec/benches/tpke.rs b/ferveo-tdec/benches/tpke.rs
index db8a7424..b7a5b8f7 100644
--- a/ferveo-tdec/benches/tpke.rs
+++ b/ferveo-tdec/benches/tpke.rs
@@ -25,7 +25,7 @@ struct SetupShared {
shares_num: usize,
msg: Vec,
aad: Vec,
- pubkey: PublicKeyShare,
+ pubkey: PublicKey,
privkey: PrivateKeyShare,
ciphertext: Ciphertext,
shared_secret: SharedSecret,
diff --git a/ferveo-tdec/src/ciphertext.rs b/ferveo-tdec/src/ciphertext.rs
index d5563132..57b6ca13 100644
--- a/ferveo-tdec/src/ciphertext.rs
+++ b/ferveo-tdec/src/ciphertext.rs
@@ -14,7 +14,7 @@ use sha2::{digest::Digest, Sha256};
use zeroize::ZeroizeOnDrop;
use crate::{
- htp_bls12381_g2, Error, PrivateKeyShare, PublicKeyShare, Result, SecretBox,
+ htp_bls12381_g2, Error, PrivateKeyShare, PublicKey, Result, SecretBox,
SharedSecret,
};
@@ -98,7 +98,7 @@ impl CiphertextHeader {
pub fn encrypt(
message: SecretBox>,
aad: &[u8],
- pubkey: &PublicKeyShare,
+ pubkey: &PublicKey,
rng: &mut impl rand::Rng,
) -> Result> {
// r
diff --git a/ferveo-tdec/src/context.rs b/ferveo-tdec/src/context.rs
index 238db71c..6e565188 100644
--- a/ferveo-tdec/src/context.rs
+++ b/ferveo-tdec/src/context.rs
@@ -5,13 +5,13 @@ use ark_ec::{pairing::Pairing, CurveGroup};
use crate::{
prepare_combine_simple, BlindedKeyShare, Ciphertext, CiphertextHeader,
DecryptionShareFast, DecryptionSharePrecomputed, DecryptionShareSimple,
- PrivateKeyShare, PublicKeyShare, Result,
+ PrivateKeyShare, PublicKey, Result,
};
#[derive(Clone, Debug)]
pub struct PublicDecryptionContextFast {
pub domain: E::ScalarField,
- pub public_key_share: PublicKeyShare,
+ pub public_key: PublicKey,
pub blinded_key_share: BlindedKeyShare,
// This decrypter's contribution to N(0), namely (-1)^|domain| * \prod_i omega_i
pub lagrange_n_0: E::ScalarField,
@@ -21,7 +21,7 @@ pub struct PublicDecryptionContextFast {
#[derive(Clone, Debug)]
pub struct PublicDecryptionContextSimple {
pub domain: E::ScalarField,
- pub public_key_share: PublicKeyShare,
+ pub public_key: PublicKey,
pub blinded_key_share: BlindedKeyShare,
pub h: E::G2Affine,
pub validator_public_key: E::G2,
diff --git a/ferveo-tdec/src/key_share.rs b/ferveo-tdec/src/key_share.rs
index 236386ae..cd04c356 100644
--- a/ferveo-tdec/src/key_share.rs
+++ b/ferveo-tdec/src/key_share.rs
@@ -11,8 +11,7 @@ use zeroize::{Zeroize, ZeroizeOnDrop};
#[serde_as]
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)]
-// TODO: Should we rename it to PublicKey or SharedPublicKey?
-pub struct PublicKeyShare(
+pub struct PublicKey(
#[serde_as(as = "serialization::SerdeAs")] pub E::G1Affine, // A_{i, \omega_i}
);
@@ -25,15 +24,14 @@ pub struct BlindedKeyShare {
impl BlindedKeyShare {
pub fn verify_blinding(
&self,
- public_key_share: &PublicKeyShare,
+ public_key: &PublicKey,
rng: &mut R,
) -> bool {
let g = E::G1Affine::generator();
let alpha = E::ScalarField::rand(rng);
- let alpha_a = E::G1Prepared::from(
- g + public_key_share.0.mul(alpha).into_affine(),
- );
+ let alpha_a =
+ E::G1Prepared::from(g + public_key.0.mul(alpha).into_affine());
// \sum_i(Y_i)
let alpha_z = E::G2Prepared::from(
diff --git a/ferveo-tdec/src/lib.rs b/ferveo-tdec/src/lib.rs
index 465b3717..e491bba7 100644
--- a/ferveo-tdec/src/lib.rs
+++ b/ferveo-tdec/src/lib.rs
@@ -77,7 +77,7 @@ pub mod test_common {
shares_num: usize,
rng: &mut impl RngCore,
) -> (
- PublicKeyShare,
+ PublicKey,
PrivateKeyShare,
Vec>,
) {
@@ -157,7 +157,7 @@ pub mod test_common {
});
public_contexts.push(PublicDecryptionContextFast:: {
domain: *domain,
- public_key_share: PublicKeyShare::(*public),
+ public_key: PublicKey::(*public),
blinded_key_share: blinded_key_shares,
lagrange_n_0: *domain,
h_inv: E::G2Prepared::from(-h.into_group()),
@@ -168,7 +168,7 @@ pub mod test_common {
}
(
- PublicKeyShare(pubkey.into()),
+ PublicKey(pubkey.into()),
PrivateKeyShare(privkey.into()),
private_contexts,
)
@@ -179,7 +179,7 @@ pub mod test_common {
shares_num: usize,
rng: &mut impl rand::Rng,
) -> (
- PublicKeyShare,
+ PublicKey,
PrivateKeyShare,
Vec>,
) {
@@ -245,7 +245,7 @@ pub mod test_common {
});
public_contexts.push(PublicDecryptionContextSimple:: {
domain: *domain,
- public_key_share: PublicKeyShare::(*public),
+ public_key: PublicKey::(*public),
blinded_key_share,
h,
validator_public_key: h.mul(b),
@@ -256,7 +256,7 @@ pub mod test_common {
}
(
- PublicKeyShare(pubkey.into()),
+ PublicKey(pubkey.into()),
PrivateKeyShare(privkey.into()),
private_contexts,
)
@@ -266,7 +266,7 @@ pub mod test_common {
shares_num: usize,
rng: &mut impl rand::Rng,
) -> (
- PublicKeyShare,
+ PublicKey,
PrivateKeyShare,
Vec>,
) {
diff --git a/ferveo/src/api.rs b/ferveo/src/api.rs
index 32449257..4555b436 100644
--- a/ferveo/src/api.rs
+++ b/ferveo/src/api.rs
@@ -143,13 +143,13 @@ impl From for FerveoVariant {
#[derive(Copy, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct DkgPublicKey(
#[serde(bound(
- serialize = "ferveo_tdec::PublicKeyShare: Serialize",
- deserialize = "ferveo_tdec::PublicKeyShare: DeserializeOwned"
+ serialize = "ferveo_tdec::PublicKey: Serialize",
+ deserialize = "ferveo_tdec::PublicKey: DeserializeOwned"
))]
- pub(crate) ferveo_tdec::PublicKeyShare,
+ pub(crate) ferveo_tdec::PublicKey,
);
-// TODO: Consider moving these implementation details to ferveo_tdec::PublicKeyShare
+// TODO: Consider moving these implementation details to ferveo_tdec::PublicKey
impl DkgPublicKey {
pub fn to_bytes(&self) -> Result> {
let as_bytes = to_bytes(&self.0 .0)?;
@@ -166,7 +166,7 @@ impl DkgPublicKey {
)
})?;
let pk: G1Affine = from_bytes(&bytes)?;
- Ok(DkgPublicKey(ferveo_tdec::PublicKeyShare(pk)))
+ Ok(DkgPublicKey(ferveo_tdec::PublicKey(pk)))
}
pub fn serialized_size() -> usize {
@@ -178,7 +178,7 @@ impl DkgPublicKey {
pub fn random() -> Self {
let mut rng = thread_rng();
let g1 = G1Affine::rand(&mut rng);
- Self(ferveo_tdec::PublicKeyShare(g1))
+ Self(ferveo_tdec::PublicKey(g1))
}
}
diff --git a/ferveo/src/pvss.rs b/ferveo/src/pvss.rs
index cba7f92c..0b966871 100644
--- a/ferveo/src/pvss.rs
+++ b/ferveo/src/pvss.rs
@@ -393,10 +393,10 @@ pub struct AggregatedTranscript {
))]
pub aggregate: PubliclyVerifiableSS,
#[serde(bound(
- serialize = "ferveo_tdec::PublicKeyShare: Serialize",
- deserialize = "ferveo_tdec::PublicKeyShare: DeserializeOwned"
+ serialize = "ferveo_tdec::PublicKey: Serialize",
+ deserialize = "ferveo_tdec::PublicKey: DeserializeOwned"
))]
- pub public_key: ferveo_tdec::PublicKeyShare,
+ pub public_key: ferveo_tdec::PublicKey,
}
impl AggregatedTranscript {
@@ -409,7 +409,7 @@ impl AggregatedTranscript {
.map(|pvss| pvss.coeffs[0].into_group())
.sum::()
.into_affine();
- let public_key = ferveo_tdec::PublicKeyShare::(public_key);
+ let public_key = ferveo_tdec::PublicKey::(public_key);
Ok(AggregatedTranscript {
aggregate,
public_key,
diff --git a/ferveo/src/refresh.rs b/ferveo/src/refresh.rs
index ddaa8215..e1c86c31 100644
--- a/ferveo/src/refresh.rs
+++ b/ferveo/src/refresh.rs
@@ -122,7 +122,6 @@ impl UpdatedPrivateKeyShare {
}
}
-// TODO: Replace with an into trait?
/// Trait for types that can be used to update a private key share.
pub trait PrivateKeyShareUpdate {
fn inner(&self) -> &InnerPrivateKeyShare;