2015-10-04 21:32:25 -04:00
|
|
|
#![feature(augmented_assignments)]
|
|
|
|
#![feature(core)]
|
2015-10-12 22:01:09 -04:00
|
|
|
#![feature(custom_derive)]
|
2015-10-04 21:32:25 -04:00
|
|
|
|
2015-10-06 23:12:26 -04:00
|
|
|
/// # The Pumpkin Prime Number Generator
|
|
|
|
///
|
|
|
|
/// The `pumpkin` prime number generator library can be used to generate
|
|
|
|
/// prime numbers of any reasonable length, suitable for any cryptographic
|
|
|
|
/// purpose. All numbers generated are seeded from the operating system's
|
|
|
|
/// secure source of entrophy and are verified using three different primality
|
|
|
|
/// tests.
|
|
|
|
///
|
2015-10-12 22:01:09 -04:00
|
|
|
/// ## Examples
|
2015-10-06 23:12:26 -04:00
|
|
|
///
|
|
|
|
/// ```
|
2015-10-12 22:01:09 -04:00
|
|
|
/// extern crate pumpkin;
|
2015-10-06 23:12:26 -04:00
|
|
|
///
|
2015-10-12 22:01:09 -04:00
|
|
|
/// use pumpkin::Prime;
|
2015-10-06 23:12:26 -04:00
|
|
|
///
|
|
|
|
/// fn main() {
|
|
|
|
/// // Generate a 2048-bit prime number
|
2015-10-12 22:01:09 -04:00
|
|
|
/// let p = Prime::new(2048);
|
|
|
|
/// let q = Prime::new(2048);
|
2015-10-06 23:12:26 -04:00
|
|
|
///
|
2015-10-12 22:01:09 -04:00
|
|
|
/// let r = p * q;
|
|
|
|
/// println!("{}", r); // Some ridiculously large number
|
2015-10-06 23:12:26 -04:00
|
|
|
/// }
|
|
|
|
/// ```
|
|
|
|
|
2015-10-04 21:32:25 -04:00
|
|
|
extern crate core;
|
2015-10-08 00:49:01 -04:00
|
|
|
#[macro_use] extern crate custom_derive;
|
|
|
|
#[macro_use] extern crate newtype_derive;
|
2015-10-04 21:32:25 -04:00
|
|
|
extern crate ramp;
|
2015-09-28 00:25:30 -04:00
|
|
|
extern crate rand;
|
|
|
|
|
2015-10-12 22:01:09 -04:00
|
|
|
mod prime;
|
|
|
|
pub use prime::Prime;
|