Rename ElGamal::new() to ElGamal::default()
This commit is contained in:
parent
6b59beda7b
commit
f272c025bd
|
@ -38,7 +38,7 @@ impl ElGamal {
|
||||||
/// Generates the public and secret keys for ElGamal encryption.
|
/// Generates the public and secret keys for ElGamal encryption.
|
||||||
#[cfg(not(target_arch = "bpf"))]
|
#[cfg(not(target_arch = "bpf"))]
|
||||||
#[allow(clippy::new_ret_no_self)]
|
#[allow(clippy::new_ret_no_self)]
|
||||||
pub fn new() -> Self {
|
pub fn default() -> Self {
|
||||||
Self::with(&mut OsRng) // using OsRng for now
|
Self::with(&mut OsRng) // using OsRng for now
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -458,7 +458,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_encrypt_decrypt_correctness() {
|
fn test_encrypt_decrypt_correctness() {
|
||||||
let ElGamal { pk, sk } = ElGamal::new();
|
let ElGamal { pk, sk } = ElGamal::default();
|
||||||
let msg: u32 = 57;
|
let msg: u32 = 57;
|
||||||
let ct = ElGamal::encrypt(&pk, msg);
|
let ct = ElGamal::encrypt(&pk, msg);
|
||||||
|
|
||||||
|
@ -475,8 +475,8 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_decrypt_handle() {
|
fn test_decrypt_handle() {
|
||||||
let ElGamal { pk: pk_1, sk: sk_1 } = ElGamal::new();
|
let ElGamal { pk: pk_1, sk: sk_1 } = ElGamal::default();
|
||||||
let ElGamal { pk: pk_2, sk: sk_2 } = ElGamal::new();
|
let ElGamal { pk: pk_2, sk: sk_2 } = ElGamal::default();
|
||||||
|
|
||||||
let msg: u32 = 77;
|
let msg: u32 = 77;
|
||||||
let (comm, open) = Pedersen::new(msg);
|
let (comm, open) = Pedersen::new(msg);
|
||||||
|
@ -502,7 +502,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_homomorphic_addition() {
|
fn test_homomorphic_addition() {
|
||||||
let ElGamal { pk, sk: _ } = ElGamal::new();
|
let ElGamal { pk, sk: _ } = ElGamal::default();
|
||||||
let msg_0: u64 = 57;
|
let msg_0: u64 = 57;
|
||||||
let msg_1: u64 = 77;
|
let msg_1: u64 = 77;
|
||||||
|
|
||||||
|
@ -527,7 +527,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_homomorphic_subtraction() {
|
fn test_homomorphic_subtraction() {
|
||||||
let ElGamal { pk, sk: _ } = ElGamal::new();
|
let ElGamal { pk, sk: _ } = ElGamal::default();
|
||||||
let msg_0: u64 = 77;
|
let msg_0: u64 = 77;
|
||||||
let msg_1: u64 = 55;
|
let msg_1: u64 = 55;
|
||||||
|
|
||||||
|
@ -552,7 +552,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_homomorphic_multiplication() {
|
fn test_homomorphic_multiplication() {
|
||||||
let ElGamal { pk, sk: _ } = ElGamal::new();
|
let ElGamal { pk, sk: _ } = ElGamal::default();
|
||||||
let msg_0: u64 = 57;
|
let msg_0: u64 = 57;
|
||||||
let msg_1: u64 = 77;
|
let msg_1: u64 = 77;
|
||||||
|
|
||||||
|
@ -568,7 +568,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_homomorphic_division() {
|
fn test_homomorphic_division() {
|
||||||
let ElGamal { pk, sk: _ } = ElGamal::new();
|
let ElGamal { pk, sk: _ } = ElGamal::default();
|
||||||
let msg_0: u64 = 55;
|
let msg_0: u64 = 55;
|
||||||
let msg_1: u64 = 5;
|
let msg_1: u64 = 5;
|
||||||
|
|
||||||
|
@ -584,7 +584,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_serde_ciphertext() {
|
fn test_serde_ciphertext() {
|
||||||
let ElGamal { pk, sk: _ } = ElGamal::new();
|
let ElGamal { pk, sk: _ } = ElGamal::default();
|
||||||
let msg: u64 = 77;
|
let msg: u64 = 77;
|
||||||
let ct = pk.encrypt(msg);
|
let ct = pk.encrypt(msg);
|
||||||
|
|
||||||
|
@ -596,7 +596,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_serde_pubkey() {
|
fn test_serde_pubkey() {
|
||||||
let ElGamal { pk, sk: _ } = ElGamal::new();
|
let ElGamal { pk, sk: _ } = ElGamal::default();
|
||||||
|
|
||||||
let encoded = bincode::serialize(&pk).unwrap();
|
let encoded = bincode::serialize(&pk).unwrap();
|
||||||
let decoded: ElGamalPubkey = bincode::deserialize(&encoded).unwrap();
|
let decoded: ElGamalPubkey = bincode::deserialize(&encoded).unwrap();
|
||||||
|
@ -606,7 +606,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_serde_secretkey() {
|
fn test_serde_secretkey() {
|
||||||
let ElGamal { pk: _, sk } = ElGamal::new();
|
let ElGamal { pk: _, sk } = ElGamal::default();
|
||||||
|
|
||||||
let encoded = bincode::serialize(&sk).unwrap();
|
let encoded = bincode::serialize(&sk).unwrap();
|
||||||
let decoded: ElGamalSecretKey = bincode::deserialize(&encoded).unwrap();
|
let decoded: ElGamalSecretKey = bincode::deserialize(&encoded).unwrap();
|
||||||
|
@ -617,14 +617,14 @@ mod tests {
|
||||||
fn tmp_file_path(name: &str) -> String {
|
fn tmp_file_path(name: &str) -> String {
|
||||||
use std::env;
|
use std::env;
|
||||||
let out_dir = env::var("FARF_DIR").unwrap_or_else(|_| "farf".to_string());
|
let out_dir = env::var("FARF_DIR").unwrap_or_else(|_| "farf".to_string());
|
||||||
let keypair = ElGamal::new();
|
let keypair = ElGamal::default();
|
||||||
format!("{}/tmp/{}-{}", out_dir, name, keypair.pk)
|
format!("{}/tmp/{}-{}", out_dir, name, keypair.pk)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_write_keypair_file() {
|
fn test_write_keypair_file() {
|
||||||
let outfile = tmp_file_path("test_write_keypair_file.json");
|
let outfile = tmp_file_path("test_write_keypair_file.json");
|
||||||
let serialized_keypair = ElGamal::new().write_json_file(&outfile).unwrap();
|
let serialized_keypair = ElGamal::default().write_json_file(&outfile).unwrap();
|
||||||
let keypair_vec: Vec<u8> = serde_json::from_str(&serialized_keypair).unwrap();
|
let keypair_vec: Vec<u8> = serde_json::from_str(&serialized_keypair).unwrap();
|
||||||
assert!(Path::new(&outfile).exists());
|
assert!(Path::new(&outfile).exists());
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
@ -656,15 +656,15 @@ mod tests {
|
||||||
fn test_write_keypair_file_overwrite_ok() {
|
fn test_write_keypair_file_overwrite_ok() {
|
||||||
let outfile = tmp_file_path("test_write_keypair_file_overwrite_ok.json");
|
let outfile = tmp_file_path("test_write_keypair_file_overwrite_ok.json");
|
||||||
|
|
||||||
ElGamal::new().write_json_file(&outfile).unwrap();
|
ElGamal::default().write_json_file(&outfile).unwrap();
|
||||||
ElGamal::new().write_json_file(&outfile).unwrap();
|
ElGamal::default().write_json_file(&outfile).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_write_keypair_file_truncate() {
|
fn test_write_keypair_file_truncate() {
|
||||||
let outfile = tmp_file_path("test_write_keypair_file_truncate.json");
|
let outfile = tmp_file_path("test_write_keypair_file_truncate.json");
|
||||||
|
|
||||||
ElGamal::new().write_json_file(&outfile).unwrap();
|
ElGamal::default().write_json_file(&outfile).unwrap();
|
||||||
ElGamal::read_json_file(&outfile).unwrap();
|
ElGamal::read_json_file(&outfile).unwrap();
|
||||||
|
|
||||||
// Ensure outfile is truncated
|
// Ensure outfile is truncated
|
||||||
|
@ -673,7 +673,7 @@ mod tests {
|
||||||
f.write_all(String::from_utf8([b'a'; 2048].to_vec()).unwrap().as_bytes())
|
f.write_all(String::from_utf8([b'a'; 2048].to_vec()).unwrap().as_bytes())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
ElGamal::new().write_json_file(&outfile).unwrap();
|
ElGamal::default().write_json_file(&outfile).unwrap();
|
||||||
ElGamal::read_json_file(&outfile).unwrap();
|
ElGamal::read_json_file(&outfile).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ mod test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_close_account_correctness() {
|
fn test_close_account_correctness() {
|
||||||
let source = ElGamal::new();
|
let source = ElGamal::default();
|
||||||
|
|
||||||
// invalid ciphertexts
|
// invalid ciphertexts
|
||||||
let balance = source.pk.encrypt(0_u64);
|
let balance = source.pk.encrypt(0_u64);
|
||||||
|
|
|
@ -471,9 +471,9 @@ mod test {
|
||||||
let ElGamal {
|
let ElGamal {
|
||||||
pk: source_pk,
|
pk: source_pk,
|
||||||
sk: source_sk,
|
sk: source_sk,
|
||||||
} = ElGamal::new();
|
} = ElGamal::default();
|
||||||
let dest_pk = ElGamal::new().pk;
|
let dest_pk = ElGamal::default().pk;
|
||||||
let auditor_pk = ElGamal::new().pk;
|
let auditor_pk = ElGamal::default().pk;
|
||||||
|
|
||||||
// create source account spendable ciphertext
|
// create source account spendable ciphertext
|
||||||
let spendable_balance: u64 = 77;
|
let spendable_balance: u64 = 77;
|
||||||
|
@ -502,12 +502,12 @@ mod test {
|
||||||
let ElGamal {
|
let ElGamal {
|
||||||
pk: source_pk,
|
pk: source_pk,
|
||||||
sk: source_sk,
|
sk: source_sk,
|
||||||
} = ElGamal::new();
|
} = ElGamal::default();
|
||||||
let ElGamal {
|
let ElGamal {
|
||||||
pk: dest_pk,
|
pk: dest_pk,
|
||||||
sk: dest_sk,
|
sk: dest_sk,
|
||||||
} = ElGamal::new();
|
} = ElGamal::default();
|
||||||
let auditor_pk = ElGamal::new().pk;
|
let auditor_pk = ElGamal::default().pk;
|
||||||
|
|
||||||
// create source account spendable ciphertext
|
// create source account spendable ciphertext
|
||||||
let spendable_balance: u64 = 77;
|
let spendable_balance: u64 = 77;
|
||||||
|
|
|
@ -219,8 +219,8 @@ mod test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_update_account_public_key_general_cases() {
|
fn test_update_account_public_key_general_cases() {
|
||||||
let current = ElGamal::new();
|
let current = ElGamal::default();
|
||||||
let new = ElGamal::new();
|
let new = ElGamal::default();
|
||||||
|
|
||||||
// If current_ct and new_ct encrypt same values, then the proof verification should succeed
|
// If current_ct and new_ct encrypt same values, then the proof verification should succeed
|
||||||
let balance: u64 = 77;
|
let balance: u64 = 77;
|
||||||
|
@ -239,8 +239,8 @@ mod test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_update_account_public_key_zeroed_ciphertexts() {
|
fn test_update_account_public_key_zeroed_ciphertexts() {
|
||||||
let current = ElGamal::new();
|
let current = ElGamal::default();
|
||||||
let new = ElGamal::new();
|
let new = ElGamal::default();
|
||||||
|
|
||||||
// A zeroed cipehrtext should be considered as an account balance of 0
|
// A zeroed cipehrtext should be considered as an account balance of 0
|
||||||
let balance: u64 = 0;
|
let balance: u64 = 0;
|
||||||
|
@ -286,8 +286,8 @@ mod test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_update_account_public_key_partially_zeroed_ciphertexts() {
|
fn test_update_account_public_key_partially_zeroed_ciphertexts() {
|
||||||
let current = ElGamal::new();
|
let current = ElGamal::default();
|
||||||
let new = ElGamal::new();
|
let new = ElGamal::default();
|
||||||
|
|
||||||
let balance = 0_u64;
|
let balance = 0_u64;
|
||||||
let balance_ciphertext = new.pk.encrypt(balance);
|
let balance_ciphertext = new.pk.encrypt(balance);
|
||||||
|
|
|
@ -179,7 +179,7 @@ mod test {
|
||||||
#[ignore]
|
#[ignore]
|
||||||
fn test_withdraw_correctness() {
|
fn test_withdraw_correctness() {
|
||||||
// generate and verify proof for the proper setting
|
// generate and verify proof for the proper setting
|
||||||
let ElGamal { pk, sk } = ElGamal::new();
|
let ElGamal { pk, sk } = ElGamal::default();
|
||||||
|
|
||||||
let current_balance: u64 = 77;
|
let current_balance: u64 = 77;
|
||||||
let current_balance_ct = pk.encrypt(current_balance);
|
let current_balance_ct = pk.encrypt(current_balance);
|
||||||
|
|
|
@ -252,7 +252,7 @@ mod tests {
|
||||||
|
|
||||||
// spendable_ct should be an encryption of 0 for any public key when
|
// spendable_ct should be an encryption of 0 for any public key when
|
||||||
// `PedersenOpen::default()` is used
|
// `PedersenOpen::default()` is used
|
||||||
let pk = ElGamal::new().pk;
|
let pk = ElGamal::default().pk;
|
||||||
let balance: u64 = 0;
|
let balance: u64 = 0;
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
spendable_ct,
|
spendable_ct,
|
||||||
|
@ -276,7 +276,7 @@ mod tests {
|
||||||
|
|
||||||
let added_ct = ops::add_to(&spendable_balance, 55).unwrap();
|
let added_ct = ops::add_to(&spendable_balance, 55).unwrap();
|
||||||
|
|
||||||
let pk = ElGamal::new().pk;
|
let pk = ElGamal::default().pk;
|
||||||
let expected: pod::ElGamalCiphertext =
|
let expected: pod::ElGamalCiphertext =
|
||||||
pk.encrypt_with(55_u64, &PedersenOpening::default()).into();
|
pk.encrypt_with(55_u64, &PedersenOpening::default()).into();
|
||||||
|
|
||||||
|
@ -286,7 +286,7 @@ mod tests {
|
||||||
#[test]
|
#[test]
|
||||||
fn test_subtract_from() {
|
fn test_subtract_from() {
|
||||||
let amount = 77_u64;
|
let amount = 77_u64;
|
||||||
let pk = ElGamal::new().pk;
|
let pk = ElGamal::default().pk;
|
||||||
let open = PedersenOpening::random(&mut OsRng);
|
let open = PedersenOpening::random(&mut OsRng);
|
||||||
let encrypted_amount: pod::ElGamalCiphertext = pk.encrypt_with(amount, &open).into();
|
let encrypted_amount: pod::ElGamalCiphertext = pk.encrypt_with(amount, &open).into();
|
||||||
|
|
||||||
|
@ -312,9 +312,9 @@ mod tests {
|
||||||
let (amount_lo, amount_hi) = split_u64_into_u32(transfer_amount);
|
let (amount_lo, amount_hi) = split_u64_into_u32(transfer_amount);
|
||||||
|
|
||||||
// generate public keys
|
// generate public keys
|
||||||
let source_pk = ElGamal::new().pk;
|
let source_pk = ElGamal::default().pk;
|
||||||
let dest_pk = ElGamal::new().pk;
|
let dest_pk = ElGamal::default().pk;
|
||||||
let auditor_pk = ElGamal::new().pk;
|
let auditor_pk = ElGamal::default().pk;
|
||||||
|
|
||||||
// commitments associated with TransferRangeProof
|
// commitments associated with TransferRangeProof
|
||||||
let (comm_lo, open_lo) = Pedersen::new(amount_lo);
|
let (comm_lo, open_lo) = Pedersen::new(amount_lo);
|
||||||
|
|
Loading…
Reference in New Issue