Proyecto para el módulo de Pensamiento Computacional Para Ingeniería
Algoritmo que permite al usuario codificar y decodificar mensajes mediante el cifrado de Hill, para después imprimir los resultados en consola y, además, guardarlos en un archivo tipo txt.
Supongamos que se tiene una matriz invertible
Transformamos el texto a una secuencia de números, dando a cada carácter un valor numérico único; a continuación, formamos una matriz mediante la agrupación de los números en columnas de acuerdo al orden de la matriz A (la cantidad de elementos en cada columna debe ser igual al orden de la matriz). Llamemos a esta matriz B (la matriz plana). Multipliquemos la matriz A por la matriz B:
La matriz
Para descifrar el mensaje, sólo debe multiplicarse
Nótese que:
El texto plano original se puede hallar nuevamente tomando la matriz resultante y uniendo sus vectores columna, de manera que formen una secuencia, para luego convertir los números en los caracteres respectivos.
El programa hace uso de la librería numpy
, la cual está instalada en un entorno virtual de Python. Para poder acceder a ella se deberá activar el entorno virtual con el siguiente comando: Proyecto_TC1028\Scripts\activate
.