camera-trng/src/lib.rs

24 lines
1.0 KiB
Rust

//! Camera QRNG Library
//!
//! Quantum random number generation using camera sensor thermal noise.
//! Can be used as:
//! - A Rust library
//! - An OpenSSL 3.x provider (cdylib)
//! - A standalone HTTP server (binary)
pub mod entropy;
pub mod provider;
pub mod tools;
pub use entropy::{
extract_entropy, extract_entropy_camera, fill_entropy,
list_cameras, spawn_raw_lsb_stream, subscribe_entropy, unsubscribe_entropy, ensure_producer_running, test_camera, extract_raw_lsb, CameraConfig, CameraListItem, CHUNK_SIZE,
};
// Re-export the OpenSSL provider init for cdylib
pub use tools::{roll_dice, generate_password, dice_bytes_needed, charset_from_flags, charset_alphanumeric, charset_full, charset_hex, DEFAULT_SIDES, DEFAULT_COUNT, MAX_COUNT as DICE_MAX_COUNT, MAX_SIDES, MIN_SIDES, DEFAULT_LENGTH as PASSWORD_DEFAULT_LENGTH, MAX_LENGTH as PASSWORD_MAX_LENGTH, filter_ambiguous};
pub use tools::{eightball_shake, eightball_bytes_needed, eightball_sentiment, EIGHTBALL_RESPONSES, EIGHTBALL_NUM_RESPONSES};
pub use provider::OSSL_provider_init;