---> Un poco más de historia


Siglo XIV

• El uso de criptografia se había difundido.
• La criptografía era usada por los alquimistas y científicos para mantener en secreto sus descubrimientos.
• Geoffrey Chaucer era un astrónomo y criptógrafo:
– Reemplazaba letras del texto claro con símbolos
– Esto puede verse como algo más complicado, pero se utilizaba el mismo análisis de frecuencia para atacar este criptosistema.

Siglo XV

• La criptografía Europea era una industria en pleno desarrollo.
• El Renacimiento hace que la criptografía avance.
• Empiezan a surgir estados independientes que necesitaban comunicarse de forma secreta:
– Cada embajador recibía mensajes de su respectivo jefe de estado.
– El embajador debía enviar cualquier información recopilada.
– Surge necesidad criptoanálisis, no se sabe si este nace en Europa o si es introducido por los árabes.

Siglo XVI

• El primer gran criptoanalista fue Giovanni Sro, secretario de criptosistemas veneciano de 1506
• Otros: Philipert Babou y Francois Viete (Francia)
• Batalla entre criptografos y criptoanalistas:
– Los criptógrafos usaban criptosistemas de sustitución monoalfbética.
– Los criptoanalistas usaban análisis frecuencia para romper los criptogramas.
• Ligeras ventajas criptoanalistas, surge necesidad de desarrollar mejores criptosistemas.

 

 

---> El uso de "Nulos"


Reforzando criptosistemas monoalfabéticos



• Uno de las mejoras más simples fue la incorporación de nulos:
– símbolos o letras que no substituían ninguna letra del alfabeto de texto plano.
– blancos que no representan nada.
• Ejemplo:
– Substituir cada letra del alfabeto claro por un número entre 1 y 99,
– Hay 73 números que no representan nada y pueden repartirse en el criptograma con frecuencias variadas.

Una variante de nulos

• Los nulos pueden confundir cualquier ataque basado en un análisis de frecuencia.
• Una variante es escribir incorrectamente algunas palabras antes de encriptar el mensaje, haciendo difícil aplicar el análisis de frencuencia, por ejemplo:

Thys haz thi ifetkkt off diztaughting thi ballans off frilwenseas

• El destinatario, que conoce la llave, puede descifrar el mensaje y después interpretarlo.

 

 

---> El uso de Codewords


• Otra mejora consistía en introducir codewords o códigos de palabras
• La sustitución se realiza a un nivel más alto: palabras.
• Ejemplo:

Palabra
Código
Palabra
Código
Palabra
Código
asesinar
D
general
£
inmediatamente
08
correo
P
rey
±
hoy
73
capturar
J
ministro
§
noche
28
proteger
Z
príncipe
mañana
43

Mensaje: asesinar al rey hoy
Criptograma: D-±-73

Ventajas y desventajas

• Las palabras son menos vulnerables al análisis de frecuencias que las letras.
– en lugar de “atacar” 26 letras, se necesita identificar el valor de cientos o miles de palabras codificadas.
• El tamaño de la llave cambia.
– Es necesario definir un código de palabras, para los cientos o miles de palabras,
– El libro de código sería de cientos de páginas y podría verse como un diccionario.
• Las consecuencias de capturar el libro de códigos son devastadoras
– todas las comunicaciones serán transparentes.

 

 

---> Los Nomenclators


• Sistema de encripción basado en sustitución de letras, que es usado para encriptar la mayor parte del mensaje, y una lista limitad de palabras codificadas.
• Un nomenclator puede consistir de una página que contiene el alfabeto de encripción y una segunda página que contiene una lista de palabras codificadas.
• No es más seguro que un criptograma de letras, la parte principal del mensaje se decripta usando análisis de frecuencia y la palabras pueden adivinarse a partir del contexto.

 

 

---> Código vs. Criptosistema


• Técnicamente un código es definido como una sustitución a nivel de palabras o frases.
• Un criptosistema es definido como una sustitución a nivel de letras.
• El término encriptar significa “revolver” un mensaje usando un criptograma y codificar involucra revolver usando un código.
• El término decriptar significa “interpretar” un mensaje encriptado usando un criptograma y decodificar involucra interpretar usando un código.

 

 

Anterior
Inicio
Siguiente