(Cyber Security)
(using pycrypt libraries) HILL CIPHER import numpy as np from Crypto.Util.number import inverse import math def text_to_numbers(text): return [ord(char) - ord('A') for char in text.upper() if char.isalpha()] def numbers_to_text(numbers): return ''.join(chr(num + ord('A')) for num in numbers) def create_key_matrix_from_integers(int_list, size): if len(int_list) != size * size: raise ValueError(f"Need exactly {size*size} integers for the key matrix.") return np.array(int_list).reshape(size, size) % 26 def is_invertible_mod26(matrix): det = int(round(np.linalg.det(matrix))) % 26 return math.gcd(det, 26) == 1, det def hill_encrypt(plaintext, key_matrix): size = key_matrix.shape[0] plaintext_numbers = text_to_numb...