Skip to main content

RsaKeyGen

Struct RsaKeyGen 

Source
pub struct RsaKeyGen;
Expand description

Toy RSA key generation from scratch: finds two random-ish primes near the given starting point using Miller-Rabin, then builds the key pair.

§WARNING

This is purely educational. Key sizes are dangerously small.

Implementations§

Source§

impl RsaKeyGen

Source

pub fn next_prime(start: u64) -> u64

Find the next (probably) prime after start using Miller-Rabin.

Source

pub fn generate_from_seed(seed: u64) -> Option<(ToyRsa, u64, u64)>

Generate a toy RSA key pair by finding two primes near seed.

Returns (ToyRsa, p, q) for inspection.

§WARNING

For illustration only. Do not use for any security purpose.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.