#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
#![warn(clippy::all, clippy::pedantic)]
#![allow(clippy::missing_errors_doc, clippy::missing_panics_doc)]
use argon2::Argon2;
use opaque_ke::ciphersuite::CipherSuite;
pub use chacha20poly1305::aead::OsRng;
pub use opaque_ke::ServerSetup;
#[cfg(feature = "core")]
pub mod keys;
pub mod login;
pub mod registration;
#[cfg(feature = "core")]
pub mod token;
#[cfg(feature = "core")]
mod core;
#[cfg(feature = "core")]
pub use core::Auth;
#[cfg(feature = "core")]
pub mod recovery;
#[cfg(feature = "client")]
mod client;
#[cfg(feature = "client")]
pub use client::AuthClient;
pub struct DefaultCipherSuite;
impl CipherSuite for DefaultCipherSuite {
type OprfCs = opaque_ke::Ristretto255;
type KeyExchange = opaque_ke::TripleDh<opaque_ke::Ristretto255, sha2::Sha512>;
type Ksf = Argon2<'static>;
}
pub const MAX_ACCOUNT_LEN: u8 = 255;