Introducción a la criptografía II – del modelo simétrico

La criptografía trata de construir y analizar protocolos que soporten la influencia de adversarios. Un protocolo es un programa distribuido, que puede ser probabilístico o mantener un estado.

Generalmente se define como tuplas de algoritmos, pero la definición formal depende del problema. Estos se idean y analizan entendiendo las metas y amenazas del problema particular.

Para estar convencidos de la seguridad, debe haber algo que una parte sabe y que el adversario no sabe. El modelo de confianza especifica quién tiene qué claves al inicio.

En un modelo simétrico, que es el más simple y común, el remitente y el receptor comparten una clave que el adversario no conoce, normalmente una cadena de caracteres aleatoria. El encapsulamiento y desencapsulamiento utiliza la misma clave compartida. Podemos asumir que quien usa la clave la tiene en un lugar secreto.

Un protocolo simétrico de cifrado es una tripleta de algoritmos c, donde K es el algoritmo de generación de la clave K, E el algoritmo de cifrado y D el algoritmo de descrifrado. Si M es el mensaje en texto plano, entonces el remitente cifra M aplicando E a K y M. Con esto obtiene C, el texto cifrado. C se envía al receptor. El receptor descifra C aplicando D a K y C. Si tiene éxito, obtiene M.

cifrado simetrico 3

El protocolo sólo dice cómo se generan las claves y cómo se procesan los datos. No le dice al adversario qué hacer. No dice cómo llega la clave a las partes. Y no dice cómo se transmiten los mensajes.

Pero, ¿es seguro? La meta es que el adversario que obtiene C no pueda saber nada de M. Pero el cifrado generalmente no esconde el tamaño de M, este se puede conocer a partir de C. Entonces A podría adivinar M con una secuencia aleatoria de |M| bits. Y acertaría con una probabilidad de 2-n. Esto quiere decir que un esquema no es seguro o inseguro, sólo hay una probabilidad de romperlo.

Similar a lo anterior, se puede utilizar un protocolo simétrico para verificar la autenticidad de un mensaje, también llamado MAC (message authentication code).Entonces tenemos una tripleta de algoritmos Π = (K, T, V). El remitente calcula una etiqueta σ, aplicando T a K y M, y transmite M y σ. El receptor verifica que la etiqueta esté bien aplicando V a K, M y σ.
autenticidad simetrico3