La autenticidad de muchos documentos legales, financieros y de otros tipos se determina por
la presencia o ausencia de una firma manuscrita autorizada. Las fotocopias no cuentan. Para que
los sistemas de mensajes computarizados reemplacen el transporte físico de papel y tinta, debe encontrarse
un método para que la firma de los documentos sea infalsificable.
El problema de inventar un reemplazo para las firmas manuscritas es difícil. Básicamente, lo
que se requiere es un sistema mediante el cual una parte pueda enviar un mensaje “firmado” a otra
parte de modo que:
1. El receptor pueda verificar la identidad del transmisor.
2. El transmisor no pueda repudiar (negar) después el contenido del mensaje.
3. El receptor no haya podido elaborar el mensaje él mismo.
Firmas de clave simétrica
Anotações:
Un enfoque de las firmas digitales sería tener una autoridad central que sepa todo y en quien
todos confíen, digamos el Big Brother (BB). Cada usuario escoge entonces una clave secreta y la
lleva personalmente a las oficinas del BB. Por tanto, sólo Alice y el BB conocen la clave secreta
de Alice, KA, etcétera.
Cuando Alice quiere enviar un mensaje de texto llano firmado, P, a su banquero, Bob, genera
KA(B, RA, t, P) donde B es la identidad de Bob, RA es un número aleatorio elegido por Alice, t
es una marca de tiempo para asegurar que el mensaje sea reciente, y KA(B, RA, t, P) es el mensaje
encriptado con su clave, KA. A continuación lo envía
Firmas de clave pública
Anotações:
Un problema estructural del uso de la criptografía de clave simétrica para las firmas digitales es
que todos tienen que confiar en el Big Brother. Es más, el Big Brother lee todos los mensajes firmados.
Los candidatos más lógicos para operar el servidor del Big Brother son el gobierno, los
bancos, los contadores y los abogados. Por desgracia, ninguna de estas organizaciones inspira
confianza completa a todos los ciudadanos. Por tanto, sería bueno si la firma de documentos no
requiriese una autoridad confiable.
Afortunadamente, la criptografía de clave pública puede hacer una contribución importante
aquí. Supongamos que los algoritmos públicos de encriptación y desencriptación tienen la propiedad
de que E(D(P)) = P además de la propiedad normal de D(E(P)) = P. (El RSA tiene esta propiedad,
por lo que el supuesto es razonable.) Suponiendo que éste es el caso, Alice puede enviar
un mensaje de texto llano firmado, P, a Bob, transmitiendo EB(DA(P)). Observe que Alice conoce
su propia clave (privada), DA, así como la clave pública de Bob, EB, por lo que Alice puede elaborar
este mensaje.
Cuando Bob recibe el mensaje, lo transforma usando su clave privada, como es normal, produciendo
DA(P),
Compendios de mensaje
Anotações:
Una crítica a los métodos de firma es que con frecuencia combinan dos funciones dispares:
autenticación y confidencialidad. En muchos casos se requiere la autenticación, pero no confidencialidad.
Asimismo, con frecuencia la obtención de una licencia de exportación se facilita si el
sistema en cuestión sólo proporciona autenticación pero no confidencialidad. A continuación describiremos
un esquema de autenticación que no requiere la encriptación del mensaje completo.
Este esquema se base en la idea de una función de hash unidireccional que toma una parte
arbitrariamente grande de texto llano y a partir de ella calcula una cadena de bits de longitud fija.
Esta función de hash, MD, llamada compendio de mensaje (message digest), tiene cuatro propiedades
importantes:
1. Dado P, es fácil calcular MD(P).
2. Dado MD(P), es imposible encontrar P.
3. Dado P nadie puede encontrar P′ de tal manera que MD(P′) � MD(P).
4. Un cambio a la entrada de incluso 1 bit produce una salida muy diferente.
Para cumplir el criterio 3, la función de hash debe ser de cuando menos 128 bits de longitud, y de
preferencia mayor. Para cumplir el criterio 4, la función de hash debe truncar los bits minuciosamente,
de manera semejante a como lo hacen los algoritmos de encriptación de clave simétrica que
hemos visto.
El cálculo de un compendio de mensaje a partir de un trozo de texto llano es mucho más
rápido que la encriptación de ese texto llano con un algoritmo de clave pública, por lo que los
compendios de mensaje pueden usarse para acelerar los algoritmos de firma digital.
El ataque de cumpleaños
Anotações:
En el mundo de la criptografía, nada es lo que parece. Podríamos pensar que se requieren del
orden de 2m operaciones para subvertir un compendio de mensajes de m bits. De hecho, con frecuencia
2m/2 operaciones son suficientes si se usa el ataque de cumpleaños, un enfoque publicado
por Yuval (1979) en su ahora clásico trabajo “How to Swindle Rabin” (Cómo estafar a Rabin).
La idea de este ataque proviene de una técnica que con frecuencia usan los profesores de matemáticas
en sus cursos de probabilidad. La pregunta es: ¿Cuántos estudiantes se necesitan en un
grupo antes de que la probabilidad de tener dos personas con el mismo cumpleaños exceda 1/2?
Muchos estudiantes suponen que la respuesta debe ser mucho mayor que 100. De hecho, la teoría
de la probabilidad indica que es de apenas 23. Sin hacer un análisis riguroso, intuitivamente, con
23 personas, podemos formar (23 × 22)/2 = 253 pares diferentes, cada uno de los cuales tiene una
probabilidad de 1/365 de cumplir el requisito. Bajo esta luz, la respuesta ya no es en realidad tan
sorprendente.