''' Decodes a binary number to a character ''' ''' Encodes character ch to binary notation of length 8 ''' Return find_message( generate_ciphertexts( e, n, r), m, n, r) ''' Attempts to break RSA for small messages ''' ''' Find the message from m using generated cipher texts and r. ''' Generate r ciphertexts using public key (e,n) and RSA encryption ''' ''' Decrypts c using RSA decryption, where d and n is the private key. ''' Encrypts m using RSA encryption, where e and n is the public key. While( miller_rabin( p) = False or miller_rabin( q) = False or ( p = q)):Į = random.
''' Generate a public key and a private key to be used in RSA encryption ''' ''' Uses the miller rabin algorithm to determine wether n is a prime ''' ''' Miller rabin pass returns True if n is probably a Prime, otherwise False '''Ī_to_power = square_and_multiply( a, d, n)Ī_to_power = ( a_to_power * a_to_power) % n ''' Computes x^c mod n more efficiently than math.pow(x,c)%n ''' ''' Uses the extended euclidean algorithm on u and v '''Ĭomputes the modular multiplicative inverse of a modulo m,
''' Calculates the greatest common demnominator for x and y ''' ''' Converts n into its binary number of length count '''