Files
opaque-lattice/src/oprf/mod.rs
2026-01-08 11:01:25 -07:00

67 lines
2.8 KiB
Rust

pub mod fast_oprf;
pub mod hybrid;
pub mod leap_oprf;
pub mod ntru_lwr_oprf;
pub mod ntru_oprf;
pub mod ot;
pub mod ring;
pub mod ring_lpr;
#[cfg(test)]
mod security_proofs;
pub mod silent_vole_oprf;
pub mod unlinkable_oprf;
pub mod vole_oprf;
pub mod voprf;
pub use ring::{
RING_N, RingElement, deterministic_round, hash_from_ring, hash_to_ring, ring_multiply,
};
pub use ring_lpr::{
BlindedInput, ClientState, EvaluatedOutput, OPRF_OUTPUT_LEN, RingLprKey, client_blind,
client_finalize as ring_lpr_finalize, client_finalize_with_id, prf_evaluate,
server_evaluate as ring_lpr_evaluate, server_evaluate_with_id,
};
pub use hybrid::{
BlindedElement, EvaluatedElement, OprfClient, OprfServer, client_finalize, server_evaluate,
};
pub use voprf::{
CommittedKey, EvaluationProof, KeyCommitment, VerifiableOutput, voprf_evaluate, voprf_verify,
};
pub use unlinkable_oprf::{
UnlinkableBlindedInput, UnlinkableClientState, UnlinkableOprfOutput, UnlinkablePublicParams,
UnlinkableServerKey, UnlinkableServerResponse, client_blind_unlinkable,
client_finalize_unlinkable, evaluate_unlinkable, server_evaluate_unlinkable,
};
pub use leap_oprf::{
LeapClientCommitment, LeapClientMessage, LeapClientState, LeapOprfOutput, LeapPublicParams,
LeapServerChallenge, LeapServerKey, LeapServerResponse, client_blind as leap_client_blind,
client_commit as leap_client_commit, client_finalize as leap_client_finalize, evaluate_leap,
server_challenge as leap_server_challenge, server_evaluate as leap_server_evaluate,
};
pub use vole_oprf::{
PcgSeed, VoleClientCredential, VoleClientMessage, VoleClientState, VoleCorrelation,
VoleLoginRequest, VoleLoginResponse, VoleOprfOutput, VoleRegistrationRequest,
VoleRegistrationResponse, VoleRingElement, VoleServerKey, VoleServerResponse, VoleUserRecord,
evaluate_vole_oprf, vole_client_blind, vole_client_finalize, vole_client_finish_registration,
vole_client_login, vole_client_start_registration, vole_client_verify_login,
vole_server_evaluate, vole_server_login, vole_server_register, vole_setup,
};
pub use silent_vole_oprf::{
BlindedInput as SilentBlindedInput, ClientCredential as SilentClientCredential,
ClientState as SilentClientState, OprfOutput as SilentOprfOutput,
ServerPublicKey as SilentServerPublicKey, ServerRecord as SilentServerRecord,
ServerResponse as SilentServerResponse, ServerSecretKey as SilentServerSecretKey,
client_blind as silent_client_blind, client_finalize as silent_client_finalize,
client_finish_registration as silent_client_finish_registration,
client_login as silent_client_login, client_verify_login as silent_client_verify_login,
evaluate as silent_evaluate, server_evaluate as silent_server_evaluate,
server_keygen as silent_server_keygen, server_login as silent_server_login,
server_register as silent_server_register,
};