pub mod fast_oprf; pub mod hybrid; pub mod leap_oprf; pub mod ot; pub mod ring; pub mod ring_lpr; #[cfg(test)] mod security_proofs; 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, };