def encrypt(self, msg): # first code message and creating matrix from it coded_msg = Message(msg, self.key_size) # multiply key with coded message to create encrypted matrix message encrypted_matrix = self._key * coded_msg % self.alphabet_size # decode encrypted message to human readble charecters encrypted_msg = Message._decode(encrypted_matrix) print("coded message:\n", coded_msg) print("key:\n", self._key) print("encrypted message matrix:\n", encrypted_matrix) print("encrypted message:\n", encrypted_msg) return encrypted_msg
def decrypt(self, msg): # first code message and creating matrix from it coded_msg = Message(msg, self.key_size) # creating inverse key for decoding proccess self.inverse_key() # multiply inversed key with coded message to create decrypted matrix message decrypted_matrix = self._key * coded_msg % self.alphabet_size # decode decrypted message to human readble format decrypted_msg = Message._decode(decrypted_matrix) print("coded message:\n", coded_msg) print("inverse key:\n", self._key) print("decrypted message matrix:\n", decrypted_matrix) print("decrypted message:\n", decrypted_msg) return decrypted_msg