message_cipher.prime_generator module
Prime number generation module.
This module provides functionality to generate large prime numbers. All code below is improved upon code sourced from: https://www.geeksforgeeks.org/how-to-generate-large-prime-numbers-for-rsa-algorithm/
- message_cipher.prime_generator.generate_large_prime() int
Generate a
NUMBER_OF_BITS
-bit prime number.- Returns:
A large prime number.
- Return type:
int
- message_cipher.prime_generator.get_low_level_prime(number_of_bits: int) int
Generate a prime candidate divisible by first primes.
- Parameters:
number_of_bits (int) – The desired size (in binary bits) of the random number.
- Returns:
A random prime number that is
number_of_bits
bits long.- Return type:
int
- message_cipher.prime_generator.is_miller_rabin_passed(miller_rabin_candidate: int) bool
Run 20 iterations of Rabin Miller Primality test.
- Parameters:
miller_rabin_candidate (int) – The number to test for primality.
- Returns:
True
if the number is probably prime, otherwiseFalse
- Return type:
bool
- message_cipher.prime_generator.n_bit_random(number_of_bits: int) int
Return a random number between
2^(number_of_bits - 1)
and2^number_of_bits - 1
.- Parameters:
number_of_bits (int) – The desired size (in binary bits) of the random number.
- Returns:
A random number that is
number_of_bits
bits long.- Return type:
int