#![no_std]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
#![doc(
html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg",
html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg"
)]
#![allow(clippy::many_single_char_names)]
#![forbid(unsafe_code)]
#![warn(
clippy::checked_conversions,
clippy::integer_division_remainder_used,
clippy::mod_module_files,
clippy::panic,
clippy::panic_in_result_fn,
clippy::std_instead_of_alloc,
clippy::std_instead_of_core,
clippy::unwrap_used,
missing_copy_implementations,
missing_debug_implementations,
missing_docs,
rust_2018_idioms,
trivial_casts,
trivial_numeric_casts,
unused_lifetimes,
unused_qualifications
)]
#[macro_use]
extern crate alloc;
pub mod groups;
#[doc(hidden)]
pub mod utils;
mod client;
mod errors;
mod server;
pub use bigint;
pub use client::{Client, ClientG2048, ClientG3072, ClientG4096, ClientVerifier};
pub use common;
pub use errors::AuthError;
pub use groups::Group;
pub use server::{Server, ServerG2048, ServerG3072, ServerG4096, ServerVerifier};
#[allow(deprecated)]
pub use {
client::{ClientG1024, ClientG1536, LegacyClientVerifier},
server::{LegacyServerVerifier, ServerG1024, ServerG1536},
};
#[cfg(feature = "rand_core")]
pub use common::Generate;
#[cfg(feature = "rand_core")]
pub use common::rand_core;
pub type EphemeralSecret = [u8; 48];
pub type Salt = [u8; 16];