Rename dlog.rs to discrete_log.rs

This commit is contained in:
Michael Vines 2021-10-01 09:43:59 -07:00
parent 23d3b540a1
commit 5445e13828
3 changed files with 13 additions and 13 deletions

View File

@ -16,7 +16,7 @@ const TWO18: u32 = 262144; // 2^18
///
/// The goal of discrete log is to find x such that x * generator = target.
#[derive(Serialize, Deserialize, Copy, Clone, Debug, Eq, PartialEq)]
pub struct DiscreteLogInstance {
pub struct DiscreteLog {
/// Generator point for discrete log
pub generator: RistrettoPoint,
/// Target point for discrete log
@ -56,7 +56,7 @@ pub fn decode_u32_precomputation_for_G() -> HashMap<[u8; 32], u32> {
}
/// Solves the discrete log instance using a 18/14 bit offline/online split
impl DiscreteLogInstance {
impl DiscreteLog {
/// Solves the discrete log problem under the assumption that the solution
/// is a 32-bit number.
pub fn decode_u32(self) -> Option<u32> {
@ -120,7 +120,7 @@ mod tests {
fn test_decode_correctness() {
let amount: u32 = 65545;
let instance = DiscreteLogInstance {
let instance = DiscreteLog {
generator: G,
target: Scalar::from(amount) * G,
};

View File

@ -2,7 +2,7 @@
use rand::{rngs::OsRng, CryptoRng, RngCore};
use {
crate::encryption::{
dlog::DiscreteLogInstance,
discrete_log::DiscreteLog,
pedersen::{Pedersen, PedersenBase, PedersenComm, PedersenDecHandle, PedersenOpen},
},
arrayref::{array_ref, array_refs},
@ -80,16 +80,16 @@ impl ElGamal {
/// On input a secret key and a ciphertext, the function decrypts the ciphertext.
///
/// The output of the function is of type `DiscreteLogInstance`. The exact message
/// can be recovered via the DiscreteLogInstance's decode method.
pub fn decrypt(sk: &ElGamalSK, ct: &ElGamalCiphertext) -> DiscreteLogInstance {
/// The output of the function is of type `DiscreteLog`. The exact message
/// can be recovered via the DiscreteLog's decode method.
pub fn decrypt(sk: &ElGamalSK, ct: &ElGamalCiphertext) -> DiscreteLog {
let ElGamalSK(s) = sk;
let ElGamalCiphertext {
message_comm,
decrypt_handle,
} = ct;
DiscreteLogInstance {
DiscreteLog {
generator: PedersenBase::default().G,
target: message_comm.get_point() - s * decrypt_handle.get_point(),
}
@ -167,7 +167,7 @@ impl ElGamalSK {
}
/// Utility method for code ergonomics.
pub fn decrypt(&self, ct: &ElGamalCiphertext) -> DiscreteLogInstance {
pub fn decrypt(&self, ct: &ElGamalCiphertext) -> DiscreteLog {
ElGamal::decrypt(self, ct)
}
@ -262,7 +262,7 @@ impl ElGamalCiphertext {
}
/// Utility method for code ergonomics.
pub fn decrypt(&self, sk: &ElGamalSK) -> DiscreteLogInstance {
pub fn decrypt(&self, sk: &ElGamalSK) -> DiscreteLog {
ElGamal::decrypt(sk, self)
}
@ -360,7 +360,7 @@ mod tests {
let msg: u32 = 57;
let ct = ElGamal::encrypt(&pk, msg);
let expected_instance = DiscreteLogInstance {
let expected_instance = DiscreteLog {
generator: PedersenBase::default().G,
target: Scalar::from(msg) * PedersenBase::default().G,
};
@ -385,7 +385,7 @@ mod tests {
let ct_1 = decrypt_handle_1.to_elgamal_ctxt(comm);
let ct_2 = decrypt_handle_2.to_elgamal_ctxt(comm);
let expected_instance = DiscreteLogInstance {
let expected_instance = DiscreteLog {
generator: PedersenBase::default().G,
target: Scalar::from(msg) * PedersenBase::default().G,
};

View File

@ -1,3 +1,3 @@
pub mod dlog;
pub mod discrete_log;
pub mod elgamal;
pub mod pedersen;