martes, 8 de julio de 2014

Respuestas A Las Preguntas Más Frecuentes Sobre Criptografía Actual


Por Paul Fahn
(traducción por
Lic. J. Andrés Hall
y Cynthia R. Neme)
RSA Laboratories
100 Marine Parkway
Redwood City, CA 94065
Copyright (c) 1993 de RSA Laboratories,
una división de RSA Data Security, Inc.
Quedan reservados todos los derechos.
Versión 2.0, 2f
Ultima revisión:
20 de septiembre de 1993.

Traducción:
15 de enero de 1996

CONTENIDO
1. INTRODUCCION
1.1 ¿Qué es el encriptado?
1.2 ¿Qué es la autenticación? ¿Qué es una firma digital?
1.3 ¿Qué es la criptografía con clave pública?
1.4 ¿Cuales son las ventajas y desventajas de la criptografía con clave pública sobre la criptografía con clave privada?
1.5 ¿Se puede patentar la criptografía en los Estados Unidos?
1.6 ¿Se puede exportar la criptografía desde los Estados Unidos?
2. RSA
2.1 ¿Qué es el sistema RSA?
2.2 ¿Porqué es mejor utilizar el sistema RSA que el DES?
2.3 ¿A qué velocidad opera el sistema RSA?
2.4 ¿Cuánto más largos son los mensajes si se utiliza el sistema RSA?
2.5 ¿Qué se necesita para quebrar el sistema RSA?
2.6 ¿Son necesarios números primos fuertes en el sistema RSA?
2.7 ¿Qué tamaño debe tener el módulo utilizado en el sistema RSA?
2.8 ¿Qué tamaño deben tener los números primos?
2.9 ¿Cómo se hace para encontrar números al azar para las claves?
2.10 ¿Qué ocurre si los usuarios del sistema RSA se quedan sin números primos suficientes?
2.11 ¿Cómo se sabe si un número es primo?
2.12 ¿Cómo se utiliza el RSA en la práctica para el encriptado?
2.13 ¿Cómo se utiliza el RSA en la práctica para la autenticación?
2.14 ¿Sirve el sistema RSA para detectar documentos alterados y errores de transmisión?
2.15 ¿Cuáles son las alternativas para el sistema RSA?
2.16 ¿Se utiliza hoy en día el sistema RSA?
2.17 ¿Se considera hoy en día al sistema RSA un estándar oficial?
2.18 ¿Es el sistema RSA un estándar de facto? ¿Porqué es importante un estándar de facto?
2.19 ¿Ha sido patentado el sistema RSA?
2.20 ¿Se puede exportar el RSA desde los Estados Unidos?
3. ADMINISTRACIÓN DE CLAVES
3.1 ¿Qué problema de administración de claves presenta la criptografía con clave pública?
3.2 ¿Quién necesita una clave?
3.3 ¿Cómo se obtiene un par de claves?
3.4 ¿Es aconsejable que varios usuarios compartan una clave pública o privada?
3.5 ¿En qué consisten los certificados?
3.6 ¿Cómo se utilizan los certificados?
3.7 ¿Quién emite un certificado y cómo?
3.8 ¿Qué es UFC, o, cómo almacenan sus claves privadas las autoridades certificantes?
3.9 ¿Son susceptibles de ataque las autoridades certificantes?
3.10 ¿Qué ocurre si la clave de una autoridad certificante se pierde o se encuentra comprometida?
3.11 ¿En qué consisten las Listas de Revocación de Certificados (LRCs)?
3.12 ¿Qué ocurre cuando vence una clave?
3.13 ¿Qué ocurre si pierdo mi clave privada?
3.14 ¿Qué ocurre si mi clave privada se encuentra comprometida?
3.15 ¿Cómo debo guardar mi clave privada?
3.16 ¿Cómo encuentro la clave pública de otro usuario?
3.17 ¿Cómo se mantiene la validez de las firmas después del vencimiento de sus respectivas claves ¿o ¿Cómo se verifica una firma después de veinte años?
3.18 ¿En qué consiste un servicio de sellado digital de fecha y hora?
4. EL FACTOREO Y EL LOGARITMO DISCRETO
4.1 ¿En qué consiste un función unidireccional?
4.2 ¿Cuál es la importancia de la funciones unidireccionales en criptografía?
4.3 ¿En que consiste el problema de factoreo?
4.4 ¿Qué importancia tiene el factoreo en los sistemas criptográficos?
4.5 ¿Se ha simplificado el factoreo con el paso del tiempo?
4.6 ¿Cuáles son los mejores métodos de factoreo que se utilizan en la actualidad?
4.7 ¿Cuáles son las perspectivas para los avances teóricos del factoreo?
4.8 ¿En qué consiste el Desafío de Factoreo RSA?
4.9 ¿En qué consiste el problema del logaritmo discreto?
4.10 ¿Qué es más fácil: el factoreo o el logaritmo discreto?
5. DES
5.1 ¿En qué consiste el DES?
5.2 ¿Ha sido quebrado el sistema DES?
5.3 ¿Cómo se utiliza el sistema DES en forma segura?
5.4 ¿Se puede exportar el sistema DES desde los Estados Unidos?
5.5 ¿Cuáles son las alternativas para el DES?
5.6 ¿DES es un grupo?
6. CAPSTONE, CLIPPER Y DSS
6.1 ¿En qué consiste Capstone?
6.2 ¿En qué consiste Clipper?
6.3 ¿Cómo funciona el chip de Clipper?
6.4 ¿Quiénes son las entidades autorizadas para el depósito de claves?
6.5 ¿Qué es Skipjack?
6.6 ¿Es Clipper controvertido?
6.7 ¿En qué situación se encuentra Clipper actualmente?
6.8 ¿En qué consiste DSS?
6.9 ¿Es seguro el sistema DSS?
6.10 ¿Se encuentra patentado el uso de DSS?
6.11 ¿En qué categoría se encuentra actualmente DSS?
7. NIST Y NSA.
7.1 ¿Qué es NIST?
7.2 ¿Qué papel desempeña NIST en criptografía?
7.3 ¿Qué significa NSA?
7.4 ¿Qué papel desempeña la NSA en la criptografía comercial?
8. PREGUNTAS GENERALES
8.1 ¿Qué categoría legal tienen los documentos firmados digitalmente?
8.2 ¿En qué consiste una función de "hash"? ¿Qué es un digesto de mensaje ("message digest")?
8.3 ¿Qué significa MD2, MD4 y MD5?
8.4 ¿Qué significa SHS?
8.5 ¿En qué consiste Kerberos?
8.6 ¿En qué consisten RC2 y RC4?
8.7 ¿En qué consiste PEM?
8.8 ¿En qué consiste RIPEM?
8.9 ¿En qué consiste PKCS?
8.10 ¿En qué consiste RSAREF?
9. AGRADECIMIENTOS
10. BIBLIOGRAFIA
11. RSA LABORATORIES, INC.
  1. INTRODUCCION
    1. ¿Qué es el encriptado?
    2. El encriptado es la transformación de datos en signos ilegibles para quien no disponga de la clave secreta para desencriptarlos. Su propósito consiste en asegurarle al usuario privacidad, ocultando la información de aquellos a quienes no está dirigida, incluso de aquellos que tienen acceso a la información encriptada. Por ejemplo, se puede encriptar información en un disco rígido para evitar que ojos no autorizados puedan leerla.
      En una implementación multi-usuario el encriptado otorga seguridad a las comunicaciones que se producen a través de un medio inseguro. Un pantallazo general sería el siguiente: Alicia quiere enviar un mensaje a Juan, pero quiere que solamente él lo lea. Alicia encripta el mensaje, llamado texto plano, con una clave de encriptado. El texto encriptado, llamado texto cifrado, llega a Juan. Juan desencripta el texto cifrado con una clave de desencriptado y lee el mensaje. Carlos, un atacante, podría tratar de obtener la clave secreta o de recuperar el texto plano sin utilizar la clave secreta. En un sistema de encriptado de textos seguro, el texto plano no se puede obtener desde el cifrado a menos que se utilice la clave de desencriptado. En un sistema criptográfico de encriptado simétrico, una sola clave sirve tanto para el encriptado como para el desencriptado.
      La criptografía tiene ya milenios de existencia. Ver Kahn (27) si desea una buena historia de la criptografía, lea a Rivest (69) y Brassard (10) para una introducción a la criptografía moderna.
    3. ¿Qué es la autenticación? ¿Qué es una firma digital?
    4. La autenticación digital es un proceso por el cual el receptor de un mensaje digital puede determinar la identidad del que lo envía y/o la integridad del mensaje. Los protocolos de autenticación se basan en sistemas de encriptado convencionales con clave secreta (como en el caso de DES) o con clave pública (como en el caso del sistema RSA), la autenticación en los sistemas con clave pública utiliza firmas digitales.
      En el presente documento, la autenticación se referirá generalmente al uso de firmas digitales, cuya función respecto de los documentos digitales es similar a la de la firma de puño y letra en los documentos impresos: la firma es el sello irrefutable que permite atribuir a una persona algo escrito o su conformidad en un documento. El receptor, o un tercero, pueden verificar que el documento esté firmado, sin lugar a dudas, por la persona cuya firma aparece en el documento y que éste no haya sufrido alteración alguna. El sistema de firma digital consta de dos partes: un método que haga imposible la alteración de la firma y otro que permita verificar que la firma pertenece efectivamente al firmante. La firma digital de seguridad no se puede rechazar, es decir, el que firma un documento no podrá alegar más tarde que la firma fue falsificada.
      A diferencia del encriptado, las firmas digitales son un invento reciente cuya necesidad surgió con la expansión de las comunicaciones digitales.
    5. ¿Qué es la criptografía con clave pública?
    6. La criptografía tradicional se basa en el concepto de que tanto el que envía el mensaje como el que lo recibe conocen y utilizan la misma clave secreta. El que envía el mensaje utiliza una clave secreta para encriptarlo y el que lo recibe utiliza la misma clave para desencriptarlo. Este método se conoce como criptografía con clave secreta. El principal problema consiste en conseguir que ambas partes conozcan la misma clave sin que ningún tercero se entere. Si se encuentran geográficamente alejados, deberán confiar en un correo privado, sistema telefónico o cualquier otro método de transmisión para que la clave se mantenga en secreto. Si la clave es interceptada, quien la conozca podrá luego utilizarla para leer todos los mensajes encriptados. La producción, transmisión y almacenamiento de las claves se denomina administración de claves, todos los sistemas criptográficos deben lidiar con la administración de claves. La criptografía con clave secreta ha tenido a menudo dificultades para brindar la seguridad necesaria en este aspecto.
      La criptografía con clave pública fue inventada por Whitfield Diffie y Martin Hellman (29) en 1976 con el propósito de resolver el problema de la administración de claves. En el nuevo sistema, cada persona obtiene un par de claves, llamadas clave pública y clave privada. La clave pública de cada persona se publica y la privada se mantiene en secreto. La necesidad de un remitente y un receptor de compartir la misma clave queda eliminada: las comunicaciones solo necesitan de la clave pública y entonces la clave privada no se transmite ni se comparte. Ya no es necesario confiar en los canales de comunicación, corriendo el riesgo de que alguien esté escuchando en la línea telefónica o de que se viole el secreto de la clave privada. Cualquier persona puede enviar un mensaje confidencial con solo utilizar la clave pública, pero el mensaje solo puede desencriptarse con la clave privada que posee solamente el receptor. Más aún, la criptografía con clave pública puede utilizarse tanto para la autenticación (firmas digitales) como para mantener la privacidad (encriptado).
      El encriptado funciona de la siguiente manera: cuando Alicia le quiere enviar un mensaje a Juan, obtiene la clave pública de Juan en un directorio, la utiliza para encriptar el mensaje y lo envía. Cuando Juan lo recibe, utiliza su clave privada para desencriptarlo y leerlo. Nadie escucha ni puede desencriptar el mensaje. Juan recibe mensajes que sólo él puede desencriptar. Demás está decir que es imprescindible que la clave privada no pueda deducirse de la clave pública.
      El autenticado funciona de la siguiente manera: Alicia firma un mensaje y procesa tanto su clave privada como el mensaje mismo, el producto se denomina firma digital y se adjunta al mensaje en el momento de enviarlo. Juan verifica la firma mediante otro proceso que involucra al mensaje, la firma y la clave pública de Alicia. Si los resultados mantienen una simple relación matemática, la firma se verifica como verdadera, de otro modo, la firma podría ser fraudulenta o el mensaje podría estar alterado y por lo tanto quedaría descartado.
      Una buena reseña histórica de la criptografía de clave pública está dada por Diffie (27), que es uno de sus inventores.
    7. ¿Cuales son las ventajas y desventajas de la criptografía con clave pública sobre la criptografía con clave privada?
    8. La ventaja principal de la clave pública es su mayor seguridad. Las claves privadas no se transmiten ni se revelan a persona alguna. En el sistema con clave secreta, siempre existe la posibilidad de que sea descubierta durante la transmisión.
      Otra ventaja importante del sistema con clave pública consiste en que proporciona un método de firma digital. La autenticación por medio de sistemas con clave secreta requiere que algunos secretos se compartan y algunas veces hasta requiere de la confianza en un tercero. El remitente puede alegar que desconoce un mensaje que previamente ha firmado diciendo que la clave compartida no fue mantenida en el debido secreto por alguna de las partes. Por ejemplo, el sistema Kerberos de autenticación con clave secreta involucra una base de datos central que conserva copias de las claves secretas de todos los usuarios. Un mensaje autenticado por el sistema Kerberos (79) no sería válido legalmente ya que un ataque a la base de datos podría dar lugar a una falsificación masiva. La autenticación con clave pública evita este tipo de inconvenientes ya que cada usuario es responsable de mantener en secreto su clave privada. Por ello, la autenticación con clave pública no es repudiable.
      Se puede demostrar a un tercero, como ser un juez, que los mensajes con firma digital son auténticos, lo que les otorga validez legal. Los sistemas como Kerberos fueron diseñados para autenticar el acceso a redes, más que para autenticar documentos, tarea que se facilita mediante las firmas digitales.
      La desventaja de utilizar el método de encriptado con clave pública es la velocidad: existen métodos de encriptado con clave privada que funcionan a mayor velocidad que cualquier método de encriptado con clave pública pero ambos métodos pueden combinarse para obtener lo mejor de cada uno: la seguridad de la clave pública y la velocidad de la clave privada.
      El sistema con clave pública se puede utilizar para encriptar una clave secreta que luego se utiliza para encriptar el volumen de un archivo o mensaje. Esta tema se amplía en la pregunta 2.12, en el caso de uso del sistema RSA. La criptografía con clave pública no pretende reemplazar a la de clave privada sino complementarla con el fin de ganar en seguridad. Las técnicas de clave pública se utilizaron por primera vez para intercambiar claves con seguridad (29) y es aún una de sus funciones principales.
      La criptografía con clave secreta mantiene su innegable importancia y es materia de estudio e investigación. Algunos sistemas de encriptado con clave secreta se desarrollan en las preguntas 5.1 y 5.5.
    9. ¿Se puede patentar la criptografía en los Estados Unidos?
    10. Los sistemas criptográficos son patentables. Muchos sistemas criptográficos con clave secreta han sido patentados, incluido DES (ver pregunta 5.1). Las ideas básicas de la criptografía con clave pública se encuentran en las Patentes de Estados Unidos Nro.4.200.770 con fecha 18/8/80 con la autoría de M. Hellman, W. Diffie y R. Merkle, y que fuera otorgada el 29/4/80 y la Nro. 4.218.582 otorgada a M. Hellman y R. Merkle. Otras patentes similares se otorgaron en diversas partes del mundo. Los derechos de licencia exclusivos para ambas patentes pertenecen a Public Key Partners (PKP), de Sunnyvale, California. También poseen los derechos del sistema RSA. En general, estas patentes se otorgan juntas.
      Todos los desafíos legales que enfrentan las patentes de sistemas con clave pública se han presentado a juicio. En un caso reciente, PKP demandó a TRW Corporation que utilizaba una criptografía con clave pública (el sistema ElGamal) sin licencia, TRW alegó que no la necesitaba. En Junio de 1992 se llegó a un acuerdo por el que TRW acordaba atenerse a la licencia de las patentes.
      Algunas solicitudes de patentes para sistemas criptográficos se han visto bloqueadas por la intervención de la NSA (Agencia de Seguridad Nacional, "National Security Agency") la Ley de Prohibición de Publicación de los Inventos de 1940 y la Ley de Seguridad Nacional de 1947 (Ver Landau (46) para información sobre casos relacionados con criptografía.)
    11. ¿Se puede exportar la criptografía desde los Estados Unidos?
    Todos los productos criptográficos necesitan licencias de exportación del Departamento de Estado que actúa bajo la autoridad de Regulación del Tráfico Internacional de Armas (ITAR), que define a los dispositivos criptográficos, incluido el software, como municiones de guerra. El gobierno de los Estados Unidos históricamente se ha negado a otorgar licencias de exportación para productos de encriptado con robustez mayor a un cierto nivel mínimo (aunque no lo ha dicho públicamente)
    De acuerdo con la normativa vigente, un vendedor que desee exportar un producto utilizando la criptografía, debe primero presentar su pedido al Departamento de Estado, Oficina de Control de Comercio de Defensa. El procedimiento de exportación es, por lo general, simple y eficaz. Si la jurisdicción permanece en el Departamento de Estado, quizás se necesite una revisión más detallada antes de aprobar o negar el procedimiento de exportación. En cuanto a este punto, puede intervenir la NSA (ver pregunta 7.3). Los detalles de la aprobación de la exportación cambian con frecuencia.
    La NSA ejerce un control de facto en la exportación de los productos criptográficos. El Departamento de Estado no otorgará una licencia sin la aprobación de la NSA y, en general, otorga toda licencia aprobada antes por la NSA. Asimismo, la decisión en cuanto a la exportación de criptografía pertenece en última instancia a la NSA.
    La política de la NSA no restringe la exportación de sistemas criptográficos de autenticación, sólo se ocupa del uso de la criptografía en su aspecto de privacidad. Un vendedor que desea exportar un producto sólo para autenticación obtendrá una licencia de exportación siempre y cuando demuestre que el producto no sea fácilmente modificable para encriptado, lo cual se aplica a productos de la robustez del sistema RSA con sus claves de gran tamaño. Más aún, los procedimientos burocráticos son más simples para los productos de autenticación que para los de privacidad. Un producto para autenticación necesita la aprobación del Departamento de Estado y de la NSA sólo una vez, mientras que un producto de encriptado puede necesitar ser aprobado para cada venta o para cada revisión del producto.
    La política de exportación es siempre materia de gran controversia, ya que muchos vendedores de software y hardware consideran que las normas de exportación son demasiado restrictivas y complicadas. La Asociación de Editores de Software (SPA - Software Publishers Association), un grupo representativo de la industria del software, ha negociado recientemente con el gobierno a fin de lograr simplificar las normas para la obtención de una licencia de exportación. Se llegó a un acuerdo por el cual se permite simplificar los procedimientos de exportación para dos métodos de encriptado masivo RS2 y RS4 (ver pregunta 8.6) cuando la longitud de la clave es limitada. También, la política de exportaciones es menos restrictiva para las oficinas de empresas estadounidenses radicadas en el extranjero o sus sucursales.
    En marzo de 1992, el Consejo de Seguridad Informática y de la Privacidad (Computer Security and Privacy Advisory Board) votó unánimemente recomendar una revisión nacional de la política criptográfica, incluyendo la política de exportaciones. El Consejo ayuda a la NIST (ver pregunta 7.1) cuyos miembros pertenecen tanto al gobierno como al sector privado. El Consejo estableció que un debate público es el único medio por el cual se puede consensuar una política que satisfaga los intereses de todas las partes: la seguridad nacional y las fuerzas de seguridad desean imponer restricciones a la criptografía, especialmente en cuanto a la exportación, mientras que otras agencias de gobierno e industrias privadas desean una mayor libertad para utilizar o exportar criptografía. La política de exportación, tradicionalmente, fue decidida solo por las fuerzas de seguridad, sin que los interesados dieran demasiado impulso al comercio de los sistemas criptográficos. La política de exportación de los Estados Unidos puede sufrir drásticos cambios en los años venideros.
  2. RSA
    1. ¿Qué es el sistema RSA?
    2. El RSA es un sistema criptográfico con clave pública tanto para encriptado como para autenticación que fue inventado por Ron Rivest, Adi Shamir y Leonard Adleman en 1977. Funciona de la siguiente manera: se toman dos números primos grandes, p y q, y se calcula su producto n = pq; n se denomina módulo. Elija un número e, menor que n y primo relativamente de (p-1) (q-1) y halle el inverso d, mod (p-1) (q-1), que significa que de = 1 mod (p-1) (q-1); e y d se denominan el exponente público y privado, respectivamente. La clave pública es el par (n, e) y la privada es d. Los factores p y q deben mantenerse en secreto o ser destruidos.
      Es difícil, presumiblemente, obtener la clave privada d a partir de la clave pública (n, e). Sin embargo, si se pudiera descomponer n en p ó q, se podría obtener la clave privada d. Por lo tanto toda la seguridad del sistema RSA se basa en el concepto de que factorear es difícil. Un sistema sencillo de factoreo quebraría el sistema RSA (ver preguntas 2.5 y 4.4).
      El sistema RSA se utiliza para autenticación y privacidad de la siguiente manera (en la práctica el uso varía, ver preguntas 2.12 y 2.13).
      El sistema RSA para encriptado funciona del siguiente modo: supongamos que Alicia quiere enviarle un mensaje privado, m, a Juan. Alicia crea el texto cifrado, c, exponenciando: c = m^e mod n, donde e y n son la clave pública de Juan. Para desencriptarlo, Juan también exponencia: m = c^d mod n, y recupera el mensaje - original m. La relación entre e y d asegura que Juan recupere el mensaje correctamente.
      Como solo Juan conoce el número d, solo él puede desencriptar el mensaje.
      El sistema RSA de autenticación funciona del siguiente modo: supongamos que Alicia quiere enviarle a Juan un documento m firmado. Alicia crea una firma digital s exponenciando: s = m^d mod n, donde d y n constituyen el par de claves de Alicia. Ella envía el documento m y la firma s a Juan. Para verificar la firma, Juan exponencia y controla que el mensaje m se pueda recobrar: m = s^e mod n, donde e y n son la clave pública de Alicia.
      De este modo el encriptado y la autenticación se producen sin compartir ninguna clave secreta: cada persona utiliza sólo las claves públicas de otros usuarios y sus propias claves privadas. Cualquiera puede enviar un mensaje encriptado o verificar un documento firmado utilizando sólo claves públicas, pero solamente alguien que posee la clave privada correcta puede desencriptar o firmar el mensaje.
    3. ¿Porqué es mejor utilizar el sistema RSA que el DES?
    4. El RSA no es una alternativa del DES ni lo reemplaza, mejor dicho, lo complementa (como cualquier otro cifrado para encriptado masivo de datos) y se utiliza junto con el DES para crear un medio seguro de comunicaciones. (Nota: ampliación sobre DES en la pregunta 5.1).
      El RSA agrega dos funciones importantes que no proporciona el DES: el intercambio seguro de claves sin un previo intercambio de claves secretas y la firma digital. Para encriptar mensajes, RSA y DES se utilizan en combinación: primero se encripta el mensaje con una clave DES elegida al azar y luego, antes de enviarlo por un medio poco seguro, se encripta la clave DES por medio del RSA. Se envían juntos, el mensaje DES encriptado y la clave DES encriptada a través del RSA. Este protocolo se conoce como el "sobre digital RSA".
      Se podría preguntar el motivo por el cual no se utiliza el sistema RSA para encriptar el mensaje directamente y así evitar el uso del DES. Aunque podría aplicarse a mensajes cortos, el DES (u otro sistema de encriptado) es preferible en el caso de un mensaje largo ya que es mucho más veloz que el RSA (ver pregunta 2.3).
      En algunas situaciones, el RSA no es necesario y basta con el DES. Esto incluye a los entornos con multiusuarios donde es posible intercambiar claves DES en forma segura, por ejemplo, si ambas partes se reúnen en privado. El sistema RSA es poco necesario en un entorno con un solo usuario, por ejemplo, si se desea mantener encriptados los archivos personales, solo se necesita el DES. El RSA y la criptografía con clave pública, en general, se aplican mejor en entornos con multiusuarios. Cualquier sistema que utilice firmas digitales necesita del RSA o de algún otro sistema con clave pública.
    5. ¿A qué velocidad opera el sistema RSA?
    6. Una "operación RSA", ya sea de encriptado o desencriptado, de firma o verificación es, en esencia, una exponenciación modular que puede efectuarse mediante una serie de multiplicaciones modulares.
      En aplicaciones prácticas, es común elegir exponentes públicos pequeños para la clave pública; en realidad, grupos enteros de usuarios pueden utilizar el mismo exponente público. Así, el encriptado es más rápido que el desencriptado y la verificación que la firma. Cuando de algoritmos se trata, la operación con clave pública requiere O(k^2) pasos, las operaciones con clave privada O(k^4) pasos. K es el número de bits en el módulo, "O" se refiere al orden de tiempo asintótico de operación de un algoritmo.
      Comercialmente, se puede obtener la implementación de RSA en hardware y frecuentemente se anuncian chips más modernos y veloces. El chip actual de RSA (76) más rápido posee una velocidad superior a 600 KBit por segundo con un módulo de 512 bits, lo cual implica que efectúa más de 1000 operaciones con clave privada por segundo. Se espera que la velocidad del RSA alcance 1 Mbit/seg. dentro de aproximadamente un año.
      En comparación, el DES es mucho más rápido que el RSA. En software, DES es por lo menos 100 veces más rápido que el RSA. En hardware, es entre 1000 y 10.000 veces más rápido, dependiendo de la implementación. El RSA acortará la brecha en pocos años, pero nunca igualará la velocidad del DES.
    7. ¿Cuánto más largos son los mensajes si se utiliza el sistema RSA?
    8. Sólo es necesaria una pequeña expansión de datos cuando se utiliza el sistema RSA. Para el encriptado, el mensaje se puede agrandar hasta un tamaño que sea un múltiplo del largo del bloque, por lo general 64 bits, ya que, por lo general, se combina con un bloque cifrado con clave secreta como el DES (ver pregunta 2.12). Encriptar la clave DES requiere tantos bits adicionales como la longitud del módulo RSA.
      Para autenticación, se adjunta una firma digital RSA al documento. Una firma RSA, incluyendo información tal como el nombre del firmante, ocupa solo unos cientos de bytes. Se pueden incluir uno o más certificados (ver pregunta 3.5) y se pueden utilizar en combinación con cualquier método de firma digital. Un certificado tipo ocupa solo unos cientos de bytes.
    9. ¿Qué se necesita para quebrar el sistema RSA?
    10. Hay varias interpretaciones del significado de "quebrar" el sistema RSA. El que causaría un daño mayor sería si un atacante descubriese la clave privada correspondiente a una x clave pública, lo cual le permitiría leer todos los mensajes encriptados con esa clave pública y fraguar firmas. El método obvio consiste en factorear el módulo público n en sus dos factores primos p y q. De p, q y e, el exponente público, el atacante puede con facilidad deducir d, la clave privada. La dificultad se presenta con el factoreo de n, por lo tanto la seguridad del sistema RSA depende de la dificultad del factoreo. En realidad, la tarea de recuperar la clave privada equivale a la tarea de factorear un módulo: puede usar d para factorear n y utilizar el factoreo de n para encontrar d (ver preguntas 4.5 y 4.6 referentes a las últimas novedades en materia de factoreo). Es necesario aclarar que las mejoras en el hardware no son suficientes para debilitar el sistema RSA, mientras se utilicen las claves del largo apropiado; en realidad, los adelantos en el hardware tendrían que reforzar la seguridad del RSA (ver pregunta 4.5).
      Otro modo de quebrar el RSA consiste en hallar una técnica para calcular las raíces de e mod n. Como c = m^e, la raíz e de c es el mensaje m. Este ataque puede permitir que alguien recupere el mensaje encriptado y falsifique las firmas sin saber la clave privada. No tiene semejanza con el factoreo y no se conocen métodos de este tipo con los que se haya tratado de quebrar el RSA.
      Los métodos de "sabotaje" mencionados son los únicos posibles para recuperar mensajes encriptados con una cierta clave. Hay, sin embargo, otras formas que apuntan a recuperar simplemente mensajes. Aún si tuviera éxito, el atacante no podría desencriptar otros mensajes con la misma clave.
      La forma más simple de ataque a un mensaje consiste en adivinar el texto plano. El atacante ve un texto cifrado, infiere que el mensaje dice "Atacar al amanecer" y encripta este mensaje inferido con la clave pública del destinatario. Por comparación con el texto cifrado original, el atacante sabe si su mensaje inferido ha sido cierto. El ataque puede ser desbaratado si se agregan algunos bits al azar al mensaje. Otro ataque al mensaje puede ocurrir si alguien envía el mismo mensaje m a otros tres usuarios, quienes a su vez tienen el exponente público e = 3. El atacante que sabe esto y ve los tres mensajes podrá recobrar el mensaje m. Existen algunos ataques a textos cifrados "elegidos" en los cuales el atacante crea un texto cifrado y logra ver el correspondiente texto plano, quizás engañando a un usuario legítimo para que desencripte un mensaje falso. (Davida [23] proporciona algunos ejemplos).
      Existen otros ataques que no apuntan al RSA sino a una implementación no segura del sistema. No se consideran "sabotajes al RSA" porque no se trata de aprovechar una falla en el algoritmo RSA sino en su implementación. Por ejemplo, si alguien guarda su clave privada sin tomar las medidas de seguridad necesarias, un atacante puede descubrirla. Nunca es demasiado el hincapié que se hace cuando se afirma que el sistema RSA requiere una implementación segura, medidas de seguridad matemáticas, tales como elegir una clave larga, y que todos estos recaudos no son suficientes. En la práctica, los ataques exitosos apuntan a implementaciones poco seguras y a la administración de claves. Ver la sección 3 donde se trata el tema de administración de claves.
    11. ¿Son necesarios números primos fuertes en el sistema RSA?
    12. En todos los tratados acerca del sistema RSA, se ha sugerido que, cuando se elige un par de claves, se deben usar los números primos "fuertes" p y q para generar el módulo n. Los números primos fuertes son aquellos con ciertas propiedades que hacen que el producto n sea difícil de factorear por medio de métodos de factoreo específicos, dichas propiedades incluyen, por ejemplo, la existencia de un factor primo grande, de p-1 y otro factor primo grande de p+1. Se recurre a los números primos de muchas cifras para que resistan los ataques y sean difíciles de descifrar.
      Sin embargo, recientes avances en materia de factoreo (ver pregunta 4.6) parecen haber obviado las ventajas que presentan los números primos fuertes, el algoritmo de factoreo de curva elíptica es uno de ellos. Los nuevos métodos de factoreo tienen buenas posibilidades de éxito con números primos fuertes y débiles, por lo tanto elegir un número fuerte no es garantía contra el ataque. Por ahora la respuesta es negativa, los números fuertes no son necesarios para utilizar el sistema RSA aunque no se corre ningún riesgo al usarlos, excepto que formar un par de claves lleva más tiempo. Sin embargo, se podrán desarrollar en un futuro nuevos algoritmos de factoreo que apunten a números primos con ciertas propiedades, si es así, elegir números primos fuertes podrá ser útil para incrementar la seguridad.
    13. ¿Qué tamaño debe tener el módulo utilizado en el sistema RSA?
    14. El tamaño de un módulo RSA depende de las propias necesidades de seguridad. Cuanto más largo sea el módulo, mayor es la seguridad pero también más lentas son las operaciones RSA. Se puede elegir un largo de módulo considerando, primero, las necesidades de seguridad, es decir el valor de la información protegida y, segundo, cuánto tiempo necesita estar protegida y cuán poderoso puede ser el potencial enemigo. También es posible que una clave de mayor tamaño permita que un documento firmado digitalmente sea válido por un lapso mayor de tiempo (ver pregunta 3.17).
      Rivest (72) presenta un análisis exhaustivo de la seguridad obtenido en base a la longitud de módulo, en el contexto del logaritmo discreto de módulo primo, pero que se aplica también al RSA. Las estimaciones de Rivest implican que un módulo de 512 bits se puede factorear con un esfuerzo de U$S 8.200.000, cifra que será menor en el futuro. Por eso, se recomienda utilizar un módulo más largo, quizás de 768 bits de longitud. Aquellos que quieran proteger información más valiosa (o muy expuesta a una falsificación digital) utilizarán un módulo más largo. Una autoridad certificante (ver pregunta 3.5) podría utilizar un módulo de 1000 bits de longitud o más ya que la validez de tantos pares de claves dependen de la seguridad de una sola clave central.
      La clave de un usuario individual vencerá luego de un cierto lapso, por ejemplo, dos años (ver pregunta 3.12). En el momento del vencimiento, el usuario generará una nueva clave que debería contener unos dígitos más que la anterior para así reflejar el aumento de la velocidad de las computadoras en solo dos años. Los esquemas de longitud de clave recomendada serán probablemente publicados por las autoridades certificantes o un organismo público.
      Los usuarios deben recordar que el tiempo estimado para quebrar el sistema RSA son solamente promedios. Un gran esfuerzo de factoreo, que ataque varios miles de módulos RSA, pueden tener éxito en un tiempo razonable. Aunque la seguridad de una clave individual es mayor, con algunos métodos de factoreo existe un mínima posibilidad de deducirla.
      En cuanto al tiempo adicional necesario a medida que se incrementa el tamaño de la clave (ver pregunta 2.3), el duplicar la longitud del módulo, aumenta el tiempo requerido para las operaciones con clave pública (encriptado y verificación de firmas) por un factor de 4 y para las operaciones con clave privada (desencriptado y firma) por un factor de 8. La razón de que las operaciones con clave pública se ven menos afectadas que las de clave privada consiste en que el exponente público puede permanecer fijo cuando el módulo se incrementa mientras que el exponente privado se incrementa proporcionalmente. El tiempo de generación de una clave se incrementa por un factor de 16 duplicando el largo del módulo. Pero esta operación es poco frecuente entre los usuarios.
    15. ¿Qué tamaño deben tener los números primos?
    16. Los dos números primos, p y q, que componen el módulo, deben tener una longitud aproximadamente igual. Así, el módulo es más difícil de factorear que si uno de los números primos es pequeño. Si se elige utilizar un módulo de 512 bits, los números primos deberían tener una longitud de 256 bits.
    17. ¿Cómo se hace para encontrar números al azar para las claves?
    18. Es necesaria una fuente de números al azar para encontrar dos números primos que compongan un módulo. Si se utiliza un método predecible para generar los números primos, un atacante puede tratar de recrear el proceso de generación de la clave.
      Los números al azar obtenidos mediante un proceso físico son en principio los mejores. Se puede utilizar un elemento del hardware, como por ejemplo el diodo, que se encuentra disponible en los comercios en forma de plaqueta para agregar a la computadora. Otra idea válida es utilizar movimientos físicos de un usuario, tales como la velocidad de tipeo medida en microsegundos. Por cualquier método, los números al azar pueden aún contener ciertas correlaciones que evitan una suficiente aleatoriedad estadística. Por lo tanto, es mejor operar con una eficaz función de "hash". (ver pregunta 8.2) antes de utilizarlos.
      Otro enfoque consiste en usar un generador de número de pseudo azar alimentado con una semilla al azar. Como se trata de algoritmos determinísticos, es importante encontrar uno que sea impredecible y también usar una semilla realmente al azar. Existen muchos trabajos escritos acerca de los generadores de números de pseudo azar. Ver Knuth (41) para una introducción.
      Hay que tener en cuenta que no se necesitan números al azar para determinar los exponentes privados y públicos del sistema RSA, luego de elegir el módulo. Simplemente se elige un valor arbitrario para el exponente público, que determina el exponente privado o viceversa.
    19. ¿Qué ocurre si los usuarios del sistema RSA se quedan sin números primos suficientes?
    20. Hay suficientes números primos como para que no se agoten nunca. Por ejemplo, la cantidad de números primos con 512 bits de longitud o menos, excede 10^{150} de acuerdo con el teorema del número primo, lo cual supera la cantidad de átomos que existen en el universo conocido.
    21. ¿Cómo se sabe si un número es primo?
    22. Se recomienda generalmente utilizar tests de primalidad probabilística que son más rápidos que comprobar si un número es efectivamente primo. Se puede utilizar un test de probabilidad que decide si un número es primo con un margen de error menor que 2^{100}. Para informarse sobre algunos resultados empíricos acerca de la confiabilidad de tests simples de primalidad, vea Rivest (70). Se pueden realizar tests rápidamente y sus resultados son altamente seguros. Un simple algoritmo para elegir los números primos probables fue analizado recientemente por Brand y Damgard (9).
    23. ¿Cómo se utiliza el RSA en la práctica para el encriptado?
    24. El sistema RSA se combina con un sistema criptográfico con clave secreta, como el DES, para encriptar un mensaje por medio de un sobre digital RSA.
      Supongamos que Alicia quiere enviar un mensaje encriptado a Juan. Primero encripta el mensaje con el sistema DES y utiliza una clave DES elegida al azar. Luego busca la clave pública de Juan y la utiliza para encriptar esa clave DES. El mensaje encriptado mediante el DES y la clave DES encriptada mediante el sistema RSA, forman el sobre digital RSA y se envían a Juan. Una vez recibido el sobre digital, Juan desencripta la clave DES con su clave privada y luego utiliza esa clave DES para desencriptar el mensaje.
    25. ¿Cómo se utiliza el RSA en la práctica para la autenticación?
    26. Supongamos que Alicia quiere enviar un mensaje firmado a Juan. Utiliza una función de "hash" en el mensaje (ver pregunta 8.2) para crear un digesto de mensaje ("message digest") que sirve como una huella digital del mensaje. Luego, encripta el digesto de mensaje con su clave privada RSA. Esta es la firma digital que envía a Juan junto con el mensaje. Juan recibe el mensaje y la firma, desencripta la firma con la clave pública de Alicia para recuperar el digesto de mensaje. Luego, ejecuta el "hash" del mensaje con la misma función de "hash" que utilizó Alicia y compara el resultado con el digesto de mensaje desencriptado de la firma. Si son iguales, la firma queda verificada y se puede comprobar que el mensaje proviene de Alicia. Si en cambio, no son iguales, el mensaje no fue enviado por Alicia. Se debe tener en cuenta que para la autenticación, los roles de las claves pública y privada son los opuestos que en el encriptado, donde la clave pública se utiliza para encriptar y la privada para desencriptar.
      En la práctica, el exponente público es mucho menor que el exponente privado. Esto significa que la verificación de una firma se efectúa más rápidamente que la firma misma. Es mejor así, ya que un mensaje o documento será firmado por un individuo una vez, en cambio, la firma será verificada varias veces.
      No es probable que alguien encuentre un mensaje cuyo "hash" arroje un valor predeterminado o dos mensajes cuyos "hash" arrojen el mismo valor. Si alguna de estas alternativas fuera posible, un intruso podría adjuntar un mensaje falso a la firma de Alicia. Las funciones de "hash" como MD4 y MD5 (ver pregunta 8.3) se han diseñado específicamente para demostrar que encontrar un número duplicado es casi imposible y se las considera apropiadas para utilizarlas en criptografía.
      La firma digital puede estar acompañada por uno o más certificados. Un certificado es un documento firmado que atestigua la identidad del firmante y su clave pública. Su propósito es evitar que una persona se haga pasar por otra utilizando una clave pública fraudulentemente registrada por ésta en nombre de otro. Si se incluye un certificado, el receptor del mensaje (o un tercero) puede comprobar la autenticidad de la clave pública del mensaje, presuponiendo que la clave pública es confiable.
    27. ¿Sirve el sistema RSA para detectar documentos alterados y errores de transmisión?
    28. Una firma digital RSA es superior a una firma manuscrita ya que atestigua el contenido del mensaje y, al mismo tiempo, a la identidad del firmante. Siempre que se utilice la función segura de "hash" (ver pregunta 8.2), no hay posibilidades de quitarle la firma a un documento y adjuntársela a otro o de alterar el mensaje firmado. El más mínimo cambio en un documento firmado hará fracasar el proceso de verificación de la firma digital. El sistema de autenticación RSA permite verificar la integridad de un documento firmado. Por supuesto, si la verificación de la firma falla, no quedará claro si hubo un intento de fraguarla o si se trató de un mero error en la transmisión.
    29. ¿Cuáles son las alternativas para el sistema RSA?
    30. Se han propuesto muchos otros sistemas criptográficos con clave pública, tal como lo revelan los informes de las conferencias anuales sobre criptografía. Un problema matemático, llamado el problema de la mochila ("knapsack"), fue la base de varios sistemas (52) que no prosperaron porque muchas versiones fueron quebradas. Otro sistema, diseñado por ElGamal (30), se basa en el problema del logaritmo discreto. El sistema ElGamal, en parte, fue la base para muchos otros sistemas de firma, incluido uno de Schnorr (75) que, a su vez, fue la base del DSS, el estándar de firma digital propuesto por NIST (ver pregunta 6.8). Debido a la propuesta de NIST, los méritos relativos de estos sistemas de firmas versus las firmas RSA, recibieron mucha atención (57). ElGamal se ha utilizado con éxito, aunque es más lento que el RSA para el encriptado y la verificación y las firmas son más largas.
      En 1976, antes de la aparición del RSA, Diffie y Hellman (29), propusieron un sistema para intercambio de claves únicamente que permite un intercambio seguro de claves en un sistema convencional de claves secretas. Este sistema se encuentra actualmente en uso.
      Los sistemas criptográficos basados en operaciones matemáticas sobre curvas elípticas fueron propuestos (43,56), como así también los sistemas criptográficos basados en la exponenciación discreta en el campo finito GF(2^n). Los últimos son muy rápidos en hardware, sin embargo, existen dudas acerca de la seguridad porque el problema subyacente puede ser más fácil de resolver que el factoreo (64, 34). Existen también algunos métodos probabilísticos de encriptado (8, 32), cuyo mayor atractivo consiste en que resisten los ataques de quienes apuntan a adivinar el contenido de un texto cifrado (ver pregunta 2.5) pero a costa de la expansión de los datos a encriptar. En el encriptado probabilístico, el mismo texto plano encriptado dos veces bajo la misma clave dará, con alta probabilidad, dos textos cifrados diferentes.
      Para las firmas digitales, Rabin (68) propuso un sistema que es equivalente al factoreo. Esto constituye un avance sobre el RSA, con el cual se podrían tener dudas acerca de la posibilidad de sufrir un ataque no relacionado con el factoreo. Sin embargo, el método de Rabin es susceptible al ataque por medio de un mensaje elegido en el cual el atacante logra que el usuario firme mensajes de un forma especial. Otro esquema de firma, ideado por Fíat y Shamir (31), se basa en los protocolos interactivos de conocimiento cero ("zero knowledge"), pero se pueden adaptar a las firmas. Es más rápido que el RSA y comprobablemente equivalente al factoreo, pero esas firmas son más largas que las del sistema RSA. Otras variantes acortan la longitud de la firma (17). Un sistema es "equivalente al factoreo" si recuperar una clave privada es comprobablemente tan difícil como utilizando factoreo. La fraguación es más sencilla que el factoreo en algunos de éstos sistemas.
      Las ventajas del RSA sobre otros sistemas criptográficos con clave pública incluye el hecho de que se puede usar tanto para el encriptado como para la autenticación, y que ha estado disponible desde hace mucho tiempo y ha superado un exhaustivo escrutinio. El sistema RSA ha recibido más atención, estudio y utilización real que en ningún otro método con clave pública por lo cual el RSA posee más evidencia empírica acerca de su seguridad que otros sistemas más nuevos pero menos estudiados. En realidad, un gran número de sistemas criptográficos con clave pública que eran aparentemente seguros, con el tiempo fallaron. Ver [13] para algunos casos empíricos.
    31. ¿Se utiliza hoy en día el sistema RSA?
    32. La utilización del sistema RSA está experimentando una rápida expansión y puede llegar a ser omnipresente en los próximos años. Hoy en día, se utiliza en una gran variedad de productos, plataformas e industrias del mundo entero. Se encuentra en productos comerciales de software y se planea una expansión mayor. RSA está incluido en sistemas Microsoft, Apple, Sun y Novell actuales y futuros. En cuanto al hardware, el sistema RSA se puede encontrar en teléfonos seguros, en tarjetas de redes Ethernet y en tarjetas inteligentes. El RSA se utiliza también en muchos organismos estatales estadounidenses, grandes compañías, laboratorios y universidades.
      La adopción del sistema RSA parece utilizarse más rápidamente para autenticación (firmas digitales) que para una mayor privacidad (encriptado). Quizá, esto se deba a que los productos para autenticación son más fáciles de exportar (ver pregunta 1.6).
    33. ¿Se considera hoy en día al sistema RSA un estándar oficial?
    34. El sistema RSA forma parte de muchos estándares oficiales en todo el mundo. El estándar ISO 9796 (Organización Internacional de Estándares, "International Standards Organization") incluye al RSA como un algoritmo criptográfico, como así también el CCITT (Comité Internacional de Consulta en Telegrafía y Telefonía, "Consultative Committee in International Telegraphy and Telephony") mediante el estándar de seguridad X.509. El RSA forma parte de los estándares de SWIFT (Sociedad para las Telecomunicaciones Financieras Interbancarias Mundiales, "Society for Worldwide Interbank Financial Telecommunications"), de los estándares de ETEBAC 5 del sistema financiero francés y del borrador del estándar ANSI X9.31 del sistema bancario estadounidense. También el estándar australiano de administración de claves, AS2805.6.5.3 especifica RSA.
      El RSA se encuentra en el PEM (Correo con Privacidadad del Internet "Privacy Enhanced Mail") (ver pregunta 8.7) y en el PKCS para la industria del software (ver pregunta 8.9). El taller de implementadores de OSI (OIW) ha lanzado acuerdos entre implementadores referidos a PKCS y PEM, que incluyen al sistema RSA.
      Otros estándares están en etapa de desarrollo y se anunciarán dentro de los dos años próximos. Se espera que muchos incluyan el RSA como sistema adicional o recomendado para autenticación y/o privacidad. Ver (38) para una reseña de estándares de criptografía.
    35. ¿Es el sistema RSA un estándar de facto? ¿Porqué es importante un estándar de facto?
    36. El RSA es el sistema criptográfico con clave pública más utilizado hoy en día y se lo llama a menudo un estándar de facto. Sin tener en cuenta los estándar oficiales, la existencia de un estándar de facto es sumamente importante para el desarrollo de una economía digital. Si un sistema con clave pública se utiliza en todas partes para autenticación, entonces, los documentos firmados digitalmente se pueden intercambiar entre usuarios de diferentes países usando diferente software sobre diferentes plataformas. Esta interoperatividad es necesaria para desarrollar una economía verdaderamente digital.
      La falta de autenticación segura ha constituido un gran obstáculo para alcanzar la promesa de que las computadoras reemplazarán al papel. Los papeles son todavía necesarios en todos el mundo para los contratos, cheques, cartas oficiales, documentos legales e identificación. Ante este núcleo de papeleo necesario para llevar a cabo las transacciones, no ha sido posible que las transacciones electrónicas reemplacen completamente a las tradicionales. Las firmas digitales son la herramienta exacta para convertir los documentos labrados en papel en documentos electrónicos. La firma digital hace posible, por ejemplo, confeccionar contratos de leasing, testamentos, pasaportes, libretas universitarias, cheques y padrones de votantes que solo existen en la forma electrónica y cuya versión en papel sería solo una copia de la primera. Todo sería posible mediante un estándar aceptado para firmas digitales.
    37. ¿Ha sido patentado el sistema RSA?
    38. El sistema RCA está patentado bajo el número U.S. Patent 4,405,829, emitido el 20/09/83 y que se encuentra en poder de Public Key Partners (PKP), de Sunnyvale, California. La patente vence 17 años después de emitida, en el año 2.000. La licencia para el sistema RSA se otorga junto con otras patentes de criptografía con clave pública (ver pregunta 1.5). PKP posee un estándar, basado en una política de licencias basada en el pago de derechos que se puede modificar bajo circunstancias especiales. Si un vendedor de software, que posee la licencia para patentes de clave pública, incorpora el RSA en un producto comercial, quien compre el producto tiene el derecho legal de utilizar el RSA en el contexto de ese software. El gobierno de los Estados Unidos puede usar el RSA sin una licencia ya que el gobierno contribuyó con fondos a la producción del sistema. El RSA no está patentado fuera de los Estados Unidos.
      En los Estados Unidos, se necesita una licencia para "hacer, usar o vender" RSA. Sin embargo, PKP normalmente autoriza el uso no comercial de RSA en forma gratuita, con permiso escrito especificando los motivos personales, académicos o intelectuales para el uso. Aún más, los laboratorios RSA han puesto a disposición (en los Estados Unidos y Canadá) sin cargo, una colección de rutinas criptográficas en un código fuente, incluyendo el algoritmo de RSA. Se puede utilizar, mejorar y redistribuir con fines no comerciales. (Ver pregunta 8.10).
    39. ¿Se puede exportar el RSA desde los Estados Unidos?
    La exportación de RSA se rige por las mismas leyes que todos los demás productos criptográficos. (Ver pregunta 1.6).
    El RSA utilizado para autenticación se puede exportar más fácilmente que en su uso para privacidad. En el primer caso, la exportación se permite sin importar el tamaño de la clave (módulo), aunque el exportador deberá demostrar que el producto no se puede utilizar con facilidad para encriptado. En el caso del RSA utilizado para encriptado, el Gobierno de los Estado Unidos, por lo general, no admite la exportación si el tamaño de la clave excede los 512 bits. La política de exportación es materia de debate, y la categoría de exportación del RSA puede cambiar dentro de los próximos dos años.
    A pesar de la política estadounidense, el sistema RSA está disponible en productos de origen no norteamericano.
  3. ADMINISTRACIÓN DE CLAVES
    1. ¿Qué problema de administración de claves presenta la criptografía con clave pública?
    2. Utilizar métodos seguros es esencial. En la práctica, la mayoría de los ataques a los sistemas con clave pública apuntan a los niveles de administración de claves, más que al algoritmo criptográfico en sí mismo. Los problemas de administración de claves mencionados se discuten en detalle en puntos subsiguientes.
      Los usuarios deben poder obtener de manera segura un par de claves que se adecue a sus necesidades específicas de seguridad y eficiencia. Deben contar con un medio para conocer las claves públicas de otros usuarios y publicar las propias. Deben tener confianza en la legitimidad de las claves ajenas, de otro modo, un intruso puede cambiar las claves públicas publicadas en el directorio o hacerse pasar por otro usuario. Los certificados se utilizan a estos efectos. Deben ser imposibles de fraguar, se deben obtener de un modo seguro y procesarse de modo tal que un intruso no pueda darles un uso impropio. Otorgar certificados debe ser un procedimiento seguro, sin posibilidad de ataque. Si la clave privada de alguien se pierde o se encuentra comprometida, los demás deben estar alerta para no encriptar mensajes bajo una clave invalidada ni aceptar mensajes firmados con dicha clave. Los usuarios deben contar con un método de almacenamiento seguro de claves privadas: ningún intruso podrá encontrarlas pero deben estar al alcance de la mano para su uso. Las claves son válidas hasta su fecha de vencimiento, que será elegida adecuadamente y publicada en un medio seguro. Algunos documentos necesitan contar con firmas verificables más allá del plazo de vencimiento de las mismas.
      Aunque la mayoría de estos problemas en la administración de claves se presentan en cualquier sistema criptográfico con clave pública, por una cuestión de conveniencia se desarrollan en el contexto del sistema RSA.
    3. ¿Quién necesita una clave?
    4. Cualquier usuario que desee firmar mensajes o recibir mensajes encriptados debe tener un par de claves. Algunas personas pueden necesitar más de un par de claves. Por ejemplo, alguien quiere utilizar una clave conectada con su trabajo y otra para su uso personal. Otras entidades electrónicas, incluyendo los modems, puestos de trabajo e impresoras, o entidades físicas como una empresa, la recepción de un hotel o la oficina de registro de una universidad también necesitarán claves.
    5. ¿Cómo se obtiene un par de claves?
    6. Cada usuario debe generar su propio par de claves. Dentro de una organización puede ser tentador tener un solo departamento que genere claves para todos los miembros que lo requieran, pero implica un problema de seguridad ya que involucra la transmisión de claves privadas por medio de una red, sin pensar en las catastróficas consecuencias que podría causar un ataque al departamento generador de claves. Cada nodo en la red debe poder generar su propia clave, de modo que las claves privadas nunca se transmitan y no se necesite confiar en una fuente externa que genere las claves. Por supuesto, el software utilizado para generar las claves debe ser confiable. Los sistemas de autenticación con clave secreta, como el Kerberos, a menudo no permiten generar claves localmente sino que es preciso utilizar un servidor central que las genere.
      Una vez generada, el usuario debe registrar su clave pública en alguna administración central, denominada autoridad certificante. La autoridad certificante le devuelve al usuario un certificado que atestigua la veracidad de la clave pública junto con otra información (Ver preguntas 3.5 y siguientes). La mayoría de los usuarios obtiene solo un certificado por clave para simplificar la tarea de registro asociada con la clave.
    7. ¿Es aconsejable que varios usuarios compartan una clave pública o privada?
    8. En el sistema RSA, cada persona debe tener un único módulo y exponente privado, es decir, una clave privada única. El exponente público, por otro lado, puede ser común a un grupo de usuarios sin que se comprometa la seguridad. Algunos exponentes públicos utilizados corrientemente son 3 y 2 ^{16} + 1 ya que son números pequeños, las operaciones de clave pública (encriptado y verificación de firma) son rápidas en comparación con las operaciones de clave privada (desencriptado y firma). Si un exponente público se convierte en un estándar, el software y hardware se pueden optimizar para ese valor.
      En los sistemas con clave pública basados en logaritmos discretos, como en el caso de ElGamal, Diffie-Hellman o DSS, se ha sugerido con frecuencia que un grupo de gente comparta un módulo. Esta situación sería más tentadora para un atacante porque se podrían quebrar todas las claves con solo un poco más de esfuerzo que el que implicaría quebrar una sola clave. Para un atacante, el costo promedio para quebrar una clave es mucho menor con un módulo en común que si cada clave tiene un módulo distinto. Por lo tanto, se debe tener suma precaución cuando se utiliza un módulo en común, ya que debería ser muy grande.
    9. ¿En qué consisten los certificados?
    10. Los certificados son documentos digitales que atestiguan que una clave pública pertenece a determinado individuo o entidad. Permiten la verificación en caso de reclamos de que una clave pública dada pertenece fehacientemente a una determinada persona. Los certificados ayudan a evitar que alguien utilice una clave falsa haciéndose pasar por otro.
      En su forma más simple, los certificados contienen una clave pública y un nombre, la fecha de vencimiento de la clave, el nombre de la autoridad certificante, el número de serie del certificado y quizás otros datos. Esencialmente, contiene la firma digital del que otorga el certificado. El formato más ampliamente aceptado de un certificado está definido como el estándar internacional CCITT X.509 (19). De este modo, los certificados se pueden leer con una aplicación que cumpla con el X.509. Mayores refinamientos se encuentran en el conjunto de estándares PKCS (ver pregunta 8.9) y el estándar PEM (ver pregunta 8.7). Se pueden encontrar mayores detalles en Kent (40)
      La autoridad certificante emite los certificados (ver pregunta 3.7) que están firmados con la clave privada de esa autoridad certificante.
    11. ¿Cómo se utilizan los certificados?
    12. Se da a conocer un certificado para generar confianza en la legitimidad de su clave pública. Quien verifique la firma también puede verificar el certificado del firmante para asegurarse de que no haya habido falsificaciones o representaciones falsas. Estos pasos se pueden llevar a cabo con mayor o menor rigor de acuerdo con el contexto.
      La forma más segura de usar la autenticación consiste en adjuntar uno o más certificados con cada mensaje firmado. El receptor del mensaje puede verificar el certificado utilizando la clave pública de la autoridad certificante y, una vez que así se asegura de la clave pública del remitente, verifica la firma del mensaje. Puede haber dos o más certificados adjuntos a un mensaje formando una cadena jerárquica donde un certificado confirma la veracidad del certificado previo. Al final de una cadena de certificados jerárquicos se encuentra una autoridad certificante de primera línea en la cual se confía y que no necesita ser confirmada por nadie. La clave pública de la autoridad de primera línea debe ser conocida ampliamente, por ejemplo, por medio de una publicación.
      Cuanto más conocido es el remitente, menor es la necesidad de adjuntar y verificar certificados. Si Alicia envía mensajes a Juan todos los días, ella puede adjuntar una cadena de certificados el primer día para que Juan las verifique. Juan almacena la clave pública de Alicia y no se necesitan más certificados ni verificaciones en lo sucesivo. Un remitente, cuya compañía es conocida para el receptor puede adjuntar un solo certificado (emitida por la compañía), mientras que un remitente cuya compañía es desconocida para el destinatario deberá adjuntar dos certificados. Una buena regla de oro consiste en adjuntar la cantidad de certificados necesarias, de modo que la autoridad máxima de la cadena sea conocida para el receptor.
      De acuerdo con los estándares PKCS para la criptografía con clave pública (ver pregunta 8.9), cada firma apunta a un certificado que otorga validez a la clave pública del firmante. Específicamente, cada firma contiene el nombre del emisor del certificado y el número de serie del certificado. De este modo, aún si no se adjuntaran certificados al mensaje, el verificador puede utilizar esa cadena preestablecida de certificados para controlar la condición de la clave pública.
    13. ¿Quién emite un certificado y cómo?
    14. Los certificados los emite una autoridad certificante (AC), que puede ser cualquier administración central de confianza que pueda confirmar las identidades de aquellos a quienes otorga los certificados. Una compañía puede emitir certificados a sus empleados, una universidad a sus estudiantes, una ciudad a sus ciudadanos. Para evitar que se falsifiquen los certificados, la clave pública de la AC deber ser confiable: una AC debe publicar su clave pública o proporcionar un certificado de una autoridad mayor que atestigüe la validez de su clave. Esta solución da origen a jerarquías de ACs.
      La emisión de certificados funciona del siguiente modo. Alicia genera su propio par de claves y envía su clave pública a una AC apropiada, con alguna prueba de su identidad. La AC corrobora la identificación y toma otras medidas necesarias para asegurarse de que el pedido haya procedido de Alicia y luego le envía a Alicia un certificado que atestigua que la clave le pertenece, junto con la jerarquía de certificados que verifican la clave pública de esa AC. Alicia puede presentar esta cadena de certificados cuando desee demostrar la legitimidad de su clave pública.
      Como la AC debe controlar la identificación, las organizaciones hallarán más cómodo actuar como AC para sus propios miembros y empleados. Algunas AC podrán emitir certificados a individuos que no pertenezcan a ella.
      Distintas AC pueden emitir certificados de acuerdo con diferentes niveles de pedido de identificación. Una AC puede exigir una licencia de conductor, otra querrá un pedido formal por escrito, otra las huellas digitales de los solicitantes. Cada AC podrá publicar sus propios requisitos de identificación de modo que los verificadores puedan conferir a la relación nombre-clave el nivel apropiado de seguridad.
      Un ejemplo de los requisitos de emisión de un certificado es, por ejemplo, el OCE (Ambito Abierto de Colaboración Informática, "Open Collaborative Enviroment") de Apple Computer. Los usuarios del sistema pueden generar un par de claves y pedir el certificado de la clave pública. El pedido de certificación debe hacerse por escrito.
    15. ¿Qué es UFC, o, cómo almacenan sus claves privadas las autoridades certificantes?
    16. Es fundamental que las claves privadas de las autoridades certificantes se archiven con seguridad, porque si se encontraran comprometidas podrían dar lugar a falsificaciones no detectables. Un modo de lograr la seguridad necesaria consiste en almacenar las claves en una caja inviolable, llamada Unidad para Firmar de Certificados o UFC. La caja debe autodestruir su contenido en caso de ataque y debe estar protegida con un escudo de radiación electromagnética. Nadie, ni siquiera los empleados de la AC, deben tener acceso a la clave privada, pero si podrán utilizarla para emitir certificados.
      Hay diferentes diseños para la caja. He aquí la descripción del diseño hallado en algunas implementaciones. El UFC se puede activar por un conjunto de diferentes claves de datos, es decir, claves físicas capaces de almacenar información digital. Las claves de datos utilizan tecnología para compartir información secreta de modo que diferentes personas deban utilizar sus claves de datos para activar la caja. Esto evita que un empleado disgustado emita certificados falsos.
      Si la caja se destruye, por ejemplo en un incendio, no se compromete la seguridad. Los certificados firmados por la caja son válidos siempre que el verificador utilice la clave pública correcta. Algunas cajas se fabrican de modo que si se pierde una clave privada se puede recuperar en una nueva caja. Ver pregunta 3.10 para una ampliación acerca de la pérdida de las claves privadas de las AC.
      Bolt, Beranek y Newman (BBN) venden una caja UFC y Data Security RSA vende un sistema completo de emisión de certificados basado en la UFC de BBN.
    17. ¿Son susceptibles de ataque las autoridades certificantes?
    18. Se podría pensar acerca de muchos ataques dirigidos a las autoridades certificantes.
      Pensemos en el siguiente ataque: supongamos que Juan quiere hacerse pasar por Alicia. Si él puede firmar convincentemente como Alicia, puede enviar un mensaje al banco de Alicia pidiendo extraer U$S10.000 de la cuenta y que le envíen el dinero. Para perpetrar este ataque, Juan genera un par de claves y envía la clave pública a una autoridad certificante haciéndose pasar por Alicia y solicitando un certificado de su clave pública. Si la AC cae en ésta la trampa y le envía a Juan el certificado, él podrá luego engañar al banco y su ataque resultará exitoso. Para evitar dichos ataques la AC debe verificar que un pedido de certificación provenga de quien dice haberlo solicitado. La AC puede pedir que Alicia se presente en persona y muestre su partida de nacimiento. Algunas autoridades pueden requerir pocas pruebas de identificación, pero el banco no debería aceptar mensajes cuya identificación pueda resultar dudosa. Cada AC debe declarar públicamente sus requisitos de identificación así se podrá otorgar un nivel de confianza adecuado a los certificados.
      Un atacante que descubre la clave privada de una autoridad certificante puede falsificar certificados. Por esta razón, una autoridad certificante debe tomar medidas de precaución extremas para evitar el acceso no autorizado a su clave privada. La clave privada se debe guardar en una caja de máxima seguridad (UFC, Unidad para Firmar Certificados). Ver pregunta 3.8.
      La clave pública de la autoridad certificante puede ser objeto de un extensivo ataque por medio del factoreo. Por ello, las autoridades certificantes deben utilizar claves de gran tamaño, preferentemente de 1000 bits o más y deben cambiarlas regularmente. Las AC de primer nivel constituyen una excepción: no sería práctico para ellas cambiar la clave con frecuencia porque la clave puede estar escrita en un software que sea utilizado por muchos verificadores.
      Otro ataque podría ser el siguiente. Alicia soborna a Juan, que trabaja para una autoridad certificante, para que emita un certificado a nombre de Pedro. Alicia puede enviar mensajes firmados en nombre de Pedro y cualquiera que reciba esos mensajes creerá en su autenticidad ya que toda una cadena de certificados valederos acompañará al mensaje. Este ataque se puede evitar si se requiere que dos o más empleados sean necesarios para generar un certificado. El atacante tendrá que sobornar a más de una persona. por ejemplo, en algunas UFC utilizadas en este momento, tres empleados deben insertar su clave de datos con información secreta para autorizar a la UFC a generar un certificado. Desafortunadamente, pueden existir otros modos de generar un certificado falso sobornando sólo a un empleado. Si un certificado requiere el control de un solo empleado, se lo puede sobornar y deslizar una solicitud falsa en una pila de solicitudes auténticas. De cualquier modo, un empleado corrupto nunca podrá revelar la clave privada de la AC siempre y cuando se la guarde con el debido cuidado.
      Otro tipo de ataque involucra la falsificación de documentos viejos. Alicia intenta factorear el módulo de una autoridad certificante. Le lleva 15 años pero finalmente lo logra y consigue una clave privada antigua. La clave ya venció, pero ella puede falsificar un documento de 15 años de antigüedad validando una clave pública falsa de otra persona, por ejemplo, Juan. Ella podrá falsificar un documento firmado por Juan de 15 años atrás, como podría ser un testamento a su favor. El problema subyacente que trae aparejado este ataque consiste en cómo autenticar un documento firmado años atrás. Ver pregunta 3.17.
      Cabe resaltar que los ataques a las autoridades certificantes no amenazan la privacidad de los mensajes entre usuarios, como podría suceder si se atacara a un centro de distribución de claves secretas.
    19. ¿Qué ocurre si la clave de una autoridad certificante se pierde o se encuentra comprometida?
    20. Si la clave de una autoridad certificante se pierde o destruye pero no se compromete, los certificados firmados con la clave vieja son válidos, siempre y cuando el verificador sepa cómo utilizar la clave pública vieja para verificar el certificado.
      En algunos diseños de UFC, se guardan copias encriptadas de la clave privada de la AC. Una AC que pierde su clave puede recuperarla, cargando la copia encriptada en la UFC que puede desencriptarla utilizando información única que se encuentra guardada en la UFC. La copia encriptada solo podrá desencriptarse utilizando la UFC. Si se destruye la UFC, el fabricante puede proporcionar otra con la misma información interna, de modo que se pueda recuperar la clave.
      Si la clave de una autoridad certificante se encuentra comprometida, la situación es mucho más peligrosa. Un atacante que descubre la clave privada de una autoridad certificante puede generar certificados falsos en nombre de ella, lo cual podría dar lugar a falsificaciones no detectables. Por esta razón, todas las precauciones a tomar son pocas, incluidas las que se sugieren en las preguntas 3.8 y 3.9. Si la clave está en peligro, la autoridad certificante debe cesar inmediatamente de emitir certificados con su vieja clave y cambiarla por una nueva. Si se sospecha que se emitieron certificados falsos, todos los certificados se deben recuperar y emitir nuevamente con la clave nueva. Estas medidas no serán tan drásticas si los certificados llevan un registro digital de fecha y hora (Ver pregunta 3.18). Si la clave de una AC se encuentra comprometida, no invalida las claves de los usuarios sino los certificados que las autentican. Si la clave de una autoridad de primera línea se encuentra en peligro significaría una catástrofe ya que la clave puede estar incluida en aplicaciones que verifican los certificados.
    21. ¿En qué consisten las Listas de Revocación de Certificados (LRCs)?
    22. Una Lista de Revocación de Certificados es una lista de claves públicas que se revocaron antes de que se produzca su fecha de vencimiento. Hay varias razones por las cuales una clave puede necesitar ser revocada y figurar en la lista. Una clave puede haber sido comprometida. Una clave puede ser usada por un individuo dentro de una empresa. Si fuera despedido, la empresa no querría que pudiera firmar mensajes con esa clave y por lo tanto aparecería en la lista de revocación.
      Cuando se verifica una firma, se puede controlar la lista para asegurarse de que la clave del firmante no haya sido revocada. Si vale la pena perder tiempo en realizar estas comprobaciones, o no, depende del valor del documento.
      Las Listas de Revocación de Certificados son mantenidas por las autoridades certificantes y proporcionan información acerca de las claves que originalmente fueron certificadas por la AC. Las listas solo mencionan a las claves en uso ya que las vencidas no se aceptan en ningún caso. Cuando la clave llega a su fecha de vencimiento se retira de la lista. Aunque las listas de Revocación de Certificados se mantienen mediante la distribución, hay repositorios centrales, o sea nodos en las redes, que contienen las últimas listas de varias organizaciones. Una institución, como ser un banco, podría querer contar con sus propios repositorios para que las listas se utilicen en cada transacción.
    23. ¿Qué ocurre cuando vence una clave?
    24. Para resguardase de un ataque a largo plazo por medio del factoreo, cada clave debe contar con una fecha de vencimiento luego de la cual no será válida. El plazo de vencimiento debe ser menor al que tomaría factorear esa clave, o al menos equivalente. La clave debe ser lo suficientemente larga como para que la posibilidad de factorearla antes del vencimiento sea prácticamente nula. El período de validez, junto con el valor de la clave y la fuerza estimada de un eventual atacante, determinan el largo apropiado para la clave.
      La fecha de vencimiento acompaña a la clave pública en un certificado o directorio de claves públicas. El programa de verificación de la firma debe controlar la fecha de vencimiento y no debe aceptar un mensaje firmado con una clave vencida. Esto significa que cuando una clave vence, todo lo que fue firmado con ella ya no es válido. Por supuesto, existen casos en que es importante que un documento se considere válido por un período mayor de tiempo. (Ver pregunta 3.17.)
      Luego del vencimiento, el usuario elige una nueva clave, quizás con más dígitos para reflejar tanto el aumento en el rendimiento del hardware como las recientes mejoras en los algoritmos de factoreo. Los planteos del largo de clave recomendada se publican. Un usuario puede postergar el vencimiento de su clave si ésta ha vencido, si es lo suficientemente larga o si no ha sido comprometida. La AC emitirá un nuevo certificado para la misma clave y todas la firmas nuevas apuntarán al nuevo certificado y no al anterior. Sin embargo, el hecho de que el hardware continúe mejorando, obliga a reemplazar las viejas claves por nuevas y de mayor longitud cada pocos años. El reemplazo de claves permite sacar ventaja de los avances del hardware para incrementar la seguridad del sistema criptográfico. Un hardware más veloz incrementa la seguridad, pero solo si el largo de las claves se incrementa con regularidad. (Ver pregunta 4.5)
    25. ¿Qué ocurre si pierdo mi clave privada?
    26. Si se pierde o destruye su clave privada, pero no ha sido comprometida, ya no podrá firmar o desencriptar mensajes, pero cualquier documento firmado previamente con la clave perdida continuará siendo válido. Si se olvida de la palabra de acceso a su clave, o si el disco donde fue almacenada está dañado, necesita una nueva clave de inmediato para minimizar el número de mensajes que le envíen encriptados con su vieja clave y que ya no podrá leer.
    27. ¿Qué ocurre si mi clave privada se encuentra comprometida?
    28. Si su clave privada se encuentra comprometida, es decir, si sospecha que un atacante la haya obtenido, debe dar por sentado que algún enemigo leerá los mensajes encriptados que le fueron enviados y firmará documentos con su nombre. La seriedad de las consecuencias que este hecho podría acarrear resalta la importancia de proteger su clave privada con fuertes mecanismos de seguridad.
      Debe notificar de inmediato a su autoridad certificante y hacer que su clave aparezca en la Lista de Revocación de Certificados (ver pregunta 3.11), que de esta forma dará a conocer que su clave ha sido revocada. Elija una nueva clave y obtenga los certificados correspondientes. Puede querer firmar nuevamente con la nueva clave documentos que ya hubiera firmado con la anterior, los documentos que, aparte de la firma, cuentan con el registro de digital de fecha y hora pueden ser válidos. Debería considerar cambiar los métodos de almacenamiento de su clave privada para evitar otro ataque similar.
    29. ¿Cómo debo guardar mi clave privada?
    30. Las claves privadas se deben almacenar con seguridad, ya que la falsificación y la pérdida de privacidad pueden ser el resultado de una clave comprometida. La clave privada no debe guardarse jamás en la forma de texto plano. La manera más sencilla de guardarla consiste en encriptar la clave bajo una palabra de acceso y grabarla en un disco. Por supuesto, la palabra de acceso elegida se debe mantener a resguardo y no debe guardarla escrita ni deber ser fácilmente deducible. Guardar la clave encriptada en un disco al que no se pueda acceder mediante una red de computación, tales como un disquette o un disco rígido que no se encuentre en red, dificultará cualquier ataque. Eventualmente, las claves privadas podrán guardarse en una memoria portátil, tal como una tarjeta inteligente. Un protocolo de preguntas y respuestas será más seguro que una simple palabra de acceso. Los usuarios que requieran medidas de seguridad extremas, como las autoridades certificantes, deben utilizar recursos especiales para proteger sus claves (ver pregunta 3.8).
    31. ¿Cómo encuentro la clave pública de otro usuario?
    32. Supongamos que desea encontrar la clave pública de Juan. Hay diferentes maneras posibles. Puede llamarlo y pedirle que se la envíe por correo electrónico. Las autoridades certificantes pueden proporcionar servicios de directorio para ubicar las claves. Si Juan trabaja para la empresa X, buscara en la guía de las autoridades certificantes de X. Las guías deben ser seguras ante intromisiones, de modo que los usuarios tengan confianza en que las claves públicas publicadas en la guía pertenezcan al usuario allí nombrado. Si no, su mensaje encriptado puede ser enviado a la persona equivocada.
      Con el tiempo, aparecerán guías con la información completa que funcionarán como páginas amarillas en línea. Si satisfacen los estándares CCITT X.509 (19) podrán contener certificados como las claves públicas, lo cual disminuye los requisitos de seguridad de las guías.
    33. ¿Cómo se mantiene la validez de las firmas después del vencimiento de sus respectivas claves ¿o ¿Cómo se verifica una firma después de veinte años?
    34. Por lo general, una clave vence después de dos años y un documento firmado con una clave vencida no debe aceptarse. Sin embargo, en algunos casos es necesario que los documentos firmados sean legalmente válidos por más tiempo (por ejemplo: contratos de leasing u otros contratos). ¿Cómo se manejan estos casos?. Se han sugerido algunas soluciones pero no está claro cuál es la mejor. Algunas posibilidades se detallan a continuación.
      Se puede tener una clave de largo plazo o una normal de dos años de duración. Las claves de largo plazo deben tener un módulo más extenso y ser guardadas con medidas de seguridad extremas. Si una clave de largo plazo vence en 50 años, cualquier documento firmado con ella será válido dentro de ese lapso. El problema de este método es que cualquier clave que se encuentre en peligro deberá permanecer en la Lista de Revocación de Certificados hasta su vencimiento (ver pregunta 3.11), si claves de 50 años de plazo aparecen con frecuenta en las listas, las mismas tomarían proporciones desmedidas. Se puede solucionar de la siguiente forma: registrar la clave de largo plazo de acuerdo al procedimiento normal, por ejemplo, por dos años. Cuando venza, si no se encuentra comprometido, se podrá recertificar. Es decir, recibirá un certificado por otros dos años. Si una clave se encuentra en peligro, aparecerá en las listas durante dos años y no cincuenta.
      Un problema del método previamente descripto consiste en que alguien trate de invalidar un contrato de largo plazo negándose a renovar su clave. En ese caso, colocar un registro digital de fecha y hora al contrato en el momento de firmarlo solucionaría el problema (ver pregunta 3.18) ya que se podría comprobar la validez del contrato aún si la clave de un firmante se encuentra en peligro en algún momento posterior a la firma del contrato. La solución del registro digital de fecha y hora se puede aplicar a todos los documentos.
    35. ¿En qué consiste un servicio de sellado digital de fecha y hora?
    Un Servicio de Sellado Digital de Fecha y Hora (SSDFH, "Digital Time-Stamping Service") emite un sello fechador que asocia una fecha digital con un documento en un modo criptográficamente seguro. El sellado digital de fecha y hora se puede utilizar con posterioridad para probar que un documento electrónico existía en el momento que indican la fecha y hora digital. Por ejemplo, un físico al cual se le ocurre una idea genial, la escribe en un procesador de textos y le pone un sello fechador digital. El documento y la fecha pueden probar en un futuro que el científico merece el Premio Nobel aunque el trabajo haya sido publicado antes por otro científico.
    He aquí otro ejemplo: Supongamos que Alicia firma un documento y quiere agregarle la fecha. Ella procesa el resumen del documento ("message digest") utilizando una función de "hash" de seguridad (ver pregunta 8.2) y lo envía (no el documento completo) al servicio de registro digital de fecha y hora y recibe un registro digital de fecha y hora que consiste en el digesto del mensaje, la fecha y la hora en que fue recibido en el servicio de registro de fecha y hora, y la firma de ese servicio de registro digital de fecha y hora. Como el resumen del documento no revela la información que contiene el documento, el servicio de registro de fecha y hora no puede espiar el contenido de los documentos. Más tarde, Alicia podrá presentar el documento y ese registro con la fecha y hora. Un verificador procesa el resumen del documento y comprueba que concuerde con el resumen del documento sellado con la fecha y hora y así verifica la firma del servicio de registro digital de fecha y hora.
    Para que sea confiable, el registro de fecha y hora tendrá que evitar ser falsificado. Consideremos los requisitos para un servicio de registro como el descripto. Primero, el propio servicio de registro deberá utilizar una clave de gran longitud si quiere que el sellado sea confiable por varias décadas. Segundo, la clave privada del servicio de registro debe ser guardada con máxima seguridad, en una caja inviolable. Tercero, las fechas y horas deben provenir de un reloj, también conservado en la caja inviolable, que no puede ser reprogramado y que mantendrá la hora exacta durante años o quizás décadas. Cuarto, tiene que ser difícil crear sellos digitales de fecha y hora sin utilizar esa caja inviolable.
    Un método de registro digital de fecha y hora criptográficamente fuerte utilizando solo el software (4) fue implementado por Bellcore (una subsidiaria de ATT). Evita muchos de los requerimientos descriptos, como el hardware inviolable. El sistema de registro Bellcore combina esencialmente el valor de "hash" de los documentos con estructuras de datos denominadas árboles binarios cuyos valores "raíz" se publican regularmente en los periódicos. Un registro digital de fecha y hora se forma con un conjunto de valores de "hash" que le permiten al verificador reprocesar la raíz del árbol. Como las funciones de "hash" son unidireccionales (ver pregunta 8.2), el conjunto de valores de "hash" que les otorgan validez no se pueden falsificar. La fecha asociada al documento mediante el registro es la fecha de publicación.
    El uso del sellado digital de fecha y hora es importante, más aún esencial, para mantener la validez de los documentos a través de los años (ver pregunta 3.17). Supongamos que un propietario y un inquilino firman un contrato a 20 años. La clave pública utilizada para firmar el contrato vencerá luego de dos años. Recertificar las claves o volver a firmar los contratos cada dos años requiere de la colaboración de ambas partes varios años después de la firma original. Si una parte no se encuentra satisfecha con el contrato puede rehusarse a cooperar. La solución consiste en registrar el contrato con el servicio de registro digital de fecha y hora en el momento de la firma. Ambas partes recibirán copia del registro que podrá utilizarse años después para reclamar la validez del contrato original.
    En el futuro, es posible que el servicio de registro digital de fecha y hora se utilice para todo: desde contratos empresarios de largo plazo hasta diarios personales y cartas. Hoy en día, si un historiador descubre las cartas perdidas de Cervantes, su autenticidad se corrobora con medios físicos. Pero si algo similar ocurriera dentro de 100 años, las únicas pruebas de su autenticidad serán los archivos de la computadora del autor y el registro con la fecha.
  4. EL FACTOREO Y EL LOGARITMO DISCRETO
    1. ¿En qué consiste un función unidireccional?
    2. Una función unidireccional es una función matemática que es mucho más fácil de realizar en una sola dirección (hacia adelante) que en dirección inversa. Uno puede computar la función en minutos pero le llevaría meses o años computar la función inversa. Una función unidireccional con puerta-trampa es una función unidireccional cuya inversa es fácil de computar si se conoce una cierta parte de la información (la puerta-trampa), pero muy difícil de lograr de otro modo.
    3. ¿Cuál es la importancia de la funciones unidireccionales en criptografía?
    4. Los sistemas criptográficos con clave pública se basan en funciones unidireccionales con puerta-trampa. La clave pública proporciona información acerca de una instancia en particular de la función, la clave privada proporciona información acerca de la puerta-trampa. Quien conozca la puerta-trampa podrá llevar a cabo la función en ambas direcciones. Quien no posea la puerta-trampa solo podrá realizarla en una sola dirección: hacia adelante. La dirección hacia adelante se usa para el encriptado y verificación de firmas, mientras que la inversa para desencriptado y firma digital.
      En casi todos los sistemas con clave pública, el tamaño de la clave corresponde al tamaño de los inputs a la función unidireccional; cuanto más larga sea la clave, mayor será la diferencia entre el esfuerzo necesario para computar la función en forma directa vs. en forma inversa (para quien no posea la puerta-trampa). Para que una firma digital sea segura durante años, es necesario que utilizar una función unidireccional con puerta-trampa con inputs lo suficientemente grandes como para que quien no posea la puerta-trampa necesite años para procesar la función inversa.
      Todos los sistemas criptográficos con clave pública se basan en funciones que se presume son unidireccionales, aunque ésto no se haya comprobado aún. Esto significa que es teóricamente posible que se descubra que un algoritmo pueda computarse fácilmente en su función inversa sin necesidad de conocer la puerta-trampa. Si esto llegara a descubrirse, todos los sistemas criptográficos basados en funciones unidireccionales serían inútiles y completamente inseguros.
    5. ¿En que consiste el problema de factoreo?
    6. Factorear consiste en descomponer un número entero en un conjunto de números enteros más pequeños (factores) que multiplicados entre sí forman el número entero original. Por ejemplo, los factores de 15 son 3 y 5. El problema de factoreo consiste en encontrar el 3 y 5 a partir del 15. El factoreo de números primos requiere descomponer un número en sus factores primos. Cada número entero posee un factoreo de número entero único. Multiplicar los dos números primos enteros es sencillo. Factorear el producto es mucho más difícil.
    7. ¿Qué importancia tiene el factoreo en los sistemas criptográficos?
    8. Factorear es el problema, presumiblemente difícil, en el cual se basan muchos sistemas criptográficos, incluido el RSA. Factorear un módulo RSA (ver pregunta 2.1) le permitiría a un atacante conocer la clave privada, de modo que cualquier persona que pueda factorear el módulo puede desencriptar mensajes y falsificar firmas. La seguridad del sistema depende de que factorear sea difícil. Desafortunadamente, no se ha comprobado que factorear sea dificultoso y existe la posibilidad de que se descubra un método veloz de factoreo (ver pregunta 4.7) aunque los investigadores lo consideran como una posibilidad remota.
      Factorear un número de muchas cifras lleva más tiempo que factorear uno sencillo. Por esta razón la medida de los módulos en el sistema RSA determina la seguridad del uso de dicho sistema: cuanto más largo sea el módulo, mayor tiempo le tomará a un atacante factorearlo y mayor será la resistencia del sistema a los atacantes.
    9. ¿Se ha simplificado el factoreo con el paso del tiempo?
    10. Factorear se ha simplificado durante los últimos quince años por dos razones: el hardware de las computadoras se ha vuelto más poderoso y se han desarrollado mejores algoritmos de factoreo.
      La mejora del hardware continuará inexorablemente, pero es importante saber que esas mismas mejoras hacen que el sistema RSA sea cada vez más seguro. Esto ocurre porque la misma mejora en el hardware que le permite a un atacante factorear un número dos dígitos más largo utilizando el mismo tiempo que si tuviera dos dígitos menos, le permite al sistema RSA utilizar una clave con una docena de dígitos adicionales o más. Un usuario puede elegir una clave con una docena más de dígitos que la anterior sin que ello le reste velocidad pero, a su vez, a un atacante le será mucho más difícil alcanzar su objetivo. Por eso, aunque las mejoras favorezcan al atacante, más favorecen al usuario legítimo. Esta regla general puede fallar en el sentido que factorear puede lograrse en el futuro utilizando máquinas más veloces, atacando claves antiguas del sistema RSA. En este panorama el atacante se beneficia con las ventajas de la mejora del hardware. Este aspecto demanda hoy la utilización de claves más largas que las que se consideraban garantizadas. También requiere el reemplazo de la clave RSA por una clave más larga cada pocos años para poder beneficiarse con todo avance en materia de seguridad que ofrezcan las mejoras en el hardware. Este punto es válido también para otros sistemas con clave pública.
      Mejores algoritmos de factoreo han sido de mayor ayuda al atacante del sistema RSA que cualquier mejora en el hardware. Como el sistema RSA, y la criptografía en general, han atraído mucha atención, lo mismo ocurrió con los problemas de factoreo y por ello muchos investigadores encontraron nuevos métodos de factoreo o mejoraron oros ya existentes. Esto ha facilitado el factoreo para números de cualquier medida, independientemente de la velocidad del hardware. Sin embargo, el factoreo es todavía un problema de difícil solución.
      Sobre todo, cualquier disminución reciente en la seguridad debida a un avance en los algoritmos se puede complementar incrementando el largo de la clave. En realidad, entre los avances del hardware de las computadoras en general y los especialmente diseñados para sistemas como el RSA, el aumento en el tamaño de la clave (manteniendo una velocidad constante en las operaciones RSA) se ha mantenido al nivel e incluso excedido los avances en la eficiencia de los algoritmos, contrarrestando cualquier pérdida de seguridad en las operaciones RSA. Mientras el hardware continúe mejorando a más velocidad de la que pueda disminuir la complejidad de los algoritmos de factoreo, se incrementará la seguridad del sistema RSA, si presuponemos que los usuarios aumentan con regularidad el largo de las claves. La pregunta abierta consiste en saber la velocidad que puedan alcanzar estos algoritmos. Debe haber un límite en la velocidad de factoreo, pero ese límite no se conoce aún.
    11. ¿Cuáles son los mejores métodos de factoreo que se utilizan en la actualidad?
    12. El factoreo es un campo muy activo en la investigación de matemáticos y científicos en computación, los mejores algoritmos de factoreo se mencionan más adelante con algunas referencias y la eficiencia asintótica de O. La O mide el orden de velocidad de un algoritmo, proporcionando un límite superior a la cantidad de operaciones (en orden de magnitud) en términos de n, el número a factorear y p, un número primo factor de n Ver (41), (42), (47) y (11). Para una explicación detallada de notación O, ver (22).
      Los algoritmos de factoreo se presentan en dos sabores: para fines especiales o para fines generales. La eficiencia del primero depende de los factores desconocidos, mientras que la eficiencia del segundo depende del número a factorear. Los algoritmos con fines especiales son mejores para factorear números con factores pequeños, pero los números utilizados para el módulo en el sistema RSA no tienen ningún factor pequeño. Por ello, los algoritmos con fines generales son los más importantes en el contexto de la criptografía y su seguridad.
      Los algoritmos de factoreo con fines especiales incluyen el método Pollard Rho (66) con un tiempo de cómputo estimado en O(p^ {1/2}) y el método Pollard p-1 (67) con un tiempo de cómputo de O(p'), donde p' es el mayor factor del número primo de p-1. Ambos toman un tiempo que es exponencial en el tamaño de p, el factor primo encontrado, por ello, estos algoritmos son lentos para la mayoría de los trabajos de factoreo. El Método de la Curva Elíptica (MCE) (50) es superior a los anteriores: su tiempo asintótico de operación es O(exp (2 ln p ln ln p)). El MCE es utilizado en la práctica para encontrar factores de números generados al azar, ya que no es lo suficientemente fuerte como para factorear un módulo RSA de gran tamaño.
      El mejor algoritmo de factoreo con fines generales es el "Number Field Sieve", que opera en un tiempo de aprox. O(exp (1.9 (ln n)^{1/3} (ln ln n)^{2/3})). Solo se ha implementado recientemente (15) y no es lo suficientemente práctico como para realizar las operaciones de factoreo deseadas. En cambio el algoritmo con fines generales de uso más popular es "Multiple Polynomial Quadratic Sieve" (MPQS) (77), cuyo tiempo de operación es O(exp (ln n ln ln n)^{1/2}). El MPQS (y algunas de sus variantes) es el único algoritmo de fines generales que ha factoreado con éxito números superiores a 110 dígitos. Una variante conocida como el PPMPQS (49) adquirió especial popularidad.
      Se espera que dentro de unos pocos años, el PPMPQS "Number Field Sieve" superará al MPQS como el algoritmo de factoreo más utilizado, mientras que el tamaño de los números posibles de factorear se extenderá más allá de los 120 dígitos (hoy el umbral de los números posibles de factorear) hasta números de 130 o 140 dígitos. Un "número general" no tiene una forma especial que pueda hacerlo fácil de factorear. Un módulo RSA es un "número general". Observe que un número de 512 bits tiene unos 155 dígitos.
      Los números que tienen una forma especial ya se pueden factorear hasta 155 dígitos o más (48). El Proyecto Cunningham (14) sigue los pasos de las factorizaciones de los números con estas formas especiales y confecciona una lista denominada "los 10 más buscados" que incluye las operaciones de factoreo deseadas. Otra forma de supervisar la capacidad de factoreo puede consistir en mirar los resultados recientes del Desafío de Factoreo RSA (ver pregunta 4.8).
    13. ¿Cuáles son las perspectivas para los avances teóricos del factoreo?
    14. Aunque se considera al factoreo un problema matemático de difícil solución, esto aún no se ha probado. Por lo tanto, existe la posibilidad de que se descubra un sencillo algoritmo de factoreo. Este avance que debilitaría todo el sistema RSA, sería sorprendente y un grupo de investigadores dedicados a la investigación del factoreo lo considera una posibilidad muy remota.
      Otra posibilidad consiste en que alguien pruebe que factorear es difícil. Esta posibilidad es más factible que la anterior pero también sería inesperada dado el estado actual de las investigaciones teóricas del factoreo. Este avance garantizaría la seguridad del sistema RSA a partir de una determinada longitud de clave.
    15. ¿En qué consiste el Desafío de Factoreo RSA?
    16. El RSA Data Security Inc. (RSADSI) patrocina un concurso de factoreo con premios en efectivo. Aquellos que puedan factorear los números listados por RSADSI ganan puntos que los llevarán rumbo al premio. Factorear números pequeños gana más puntos que factorear números grandes. Los resultados del concurso pueden ser de utilidad a aquellos que desean saber qué avances hay en materia de factoreo. Los resultados muestran el tamaño de los números factoreados, los algoritmos utilizados y cuánto tiempo se requirió para factorear cada número. Envíe un e-mail a challenge-info@rsa.com para recibir información al respecto.
    17. ¿En qué consiste el problema del logaritmo discreto?
    18. El problema del logaritmo discreto, en su fórmula más común, consiste en encontrar un exponente x en la fórmula y = g^x mod p. En otras palabras, tratar de encontrar la respuesta a la siguiente pregunta: ¿A qué potencia debo elevar g para obtener y, módulo número primo p?
      Al igual que el problema del factoreo, computacionalmente, el problema del logaritmo discreto se considera difícil y se lo conoce como la dirección dificultosa de una función unidireccional. Por esta razón, ha sido la base de varios sistemas criptográficos con clave pública incluidos ElGamal y DSS (ver preguntas 2.15 y 6.8) respectivamente. El problema del logaritmo discreto mantiene la misma relación con estos sistemas que el factoreo mantiene con el RSA, la seguridad de los sistemas descansa en la suposición de que el logaritmo discreto es difícil de computar.
      En los últimos años, el problema del logaritmo discreto ha recibido mucha atención, se pueden encontrar descripciones de algunos de los algoritmos más eficientes en (47), (21) y (33). Se espera que los mejores problemas del logaritmo discreto muestren tiempos de cómputo similares a los de los mejores algoritmos de factoreo. Rivest (72) analiza el tiempo estimado para resolver el problema del logaritmo discreto tanto en lo referente al poder de cómputo como al dinero necesario.
    19. ¿Qué es más fácil: el factoreo o el logaritmo discreto?
    El tiempo de cómputo asintótico del mejor algoritmo de logaritmo discreto es aprox. el mismo que para el mejor algoritmo de factoreo con fines generales. Por lo tanto, requiere tanto esfuerzo resolver el problema del logaritmo discreto módulo a número primo de 512 bits como factorear el módulo RSA de 512 bits. Un trabajo (45) cita la evidencia experimental de que el problema del logaritmo discreto es algo más difícil que el factoreo. Los autores sugieren que el esfuerzo necesario para factorear un número entero de 110 dígitos es igual al esfuerzo de resolver un logaritmo discreto de módulo a número primo de 100 dígitos. Esta diferencia es tan ínfima que no debería pesar en el momento de elegir una sistema criptográfico.
    Históricamente, se ha dado el caso de que un avance algorítmico en el factoreo o el logaritmo discreto luego se aplicó al otro sistema. Esto sugiere que el grado de dificultad de ambos problemas está muy relacionado y que cualquier avance, positivo o negativo, afectará a ambos problemas en forma simultánea.
  5. DES
    1. ¿En qué consiste el DES?
    2. DES es el Estándar de Encriptado de Datos ("Data Encryption Standard"), un encriptado por medio de cifrado en bloque definido y endosado por el gobierno de los Estados Unidos en 1977 como estándar oficial. Los detalles se encuentran en la publicación oficial FIPS (59). Fue desarrollado originalmente por IBM. DES se estudió extensivamente durante los últimos 15 años y es el sistema criptográfico más conocido y utilizado en el mundo.
      DES es un sistema criptográfico simétrico de clave secreta. Cuando se utiliza para comunicaciones, tanto el remitente como el receptor deben conocer la misma clave secreta que se usa tanto para encriptado como para el desencriptado del mensaje. El DES puede ser utilizado también por un solo usuario para encriptado: se pueden guardar archivos encriptados en un disco rígido. Si se utiliza en un medio de usuarios múltiples, distribuir la clave con seguridad puede llegar a ser un serio inconveniente; la criptografía con clave pública se ideó justamente para resolver este problema (ver pregunta 1.3). DES opera en bloques de 64 bits con una clave de 56 bits. Fue diseñado para ser implementado en hardware y opera con relativa rapidez. Funciona para encriptar grandes cantidades de información.
      El NIST (ver pregunta 7.1) ha recertificado cada 5 años al sistema DES como un estándar oficial de gobierno de los Estados Unidos, la última recertificación fue efectuada en 1993. NIST indicó, sin embargo, que podrá no recertificar al sistema nuevamente.
    3. ¿Ha sido quebrado el sistema DES?
    4. Nunca se ha "quebrado" el sistema DES a pesar de los esfuerzos de los investigadores durante los últimos años. El método obvio de ataque consiste en forzar una exhaustiva búsqueda del espacio de la clave lo cual toma 2^{55} operaciones de promedio. Tiempo atrás, se sugirió (28) que un enemigo rico y poderoso podría construir una computadora especial para quebrar el sistema DES en un lapso razonable. Más tarde, Hellman (36) presentó un compromiso tiempo y memoria que permite mejorar las búsquedas exhaustivas si el espacio en memoria es abundante, luego de un exhaustivo preprocesamiento. Estas ideas sembraron dudas en cuanto a la seguridad del sistema DES. También ha habido dudas de que la NSA habría debilitado intencionalmente al DES. A pesar de las sospechas, no existe un modo posible de quebrar el DES más rápidamente que por medio de la búsqueda exhaustiva. El costo de una computadora especial para realizar una búsqueda exhaustiva se calcula en un millón de dólares (80).
      Sin embargo, recientemente, Eli Biham y Adi Shamir anunciaron el primer ataque al DES que es mejor que la búsqueda exhaustiva (6,7) utilizando una nueva técnica que se conoce como criptoanálisis diferencial. Este ataque requiere un encriptado de 2^{47} textos planos elegidos cuidadosamente, es decir elegidos por el atacante. Aunque es solamente un avance teórico, este ataque no podría llevarse a cabo en la práctica bajo circunstancias normales porque requiere que el atacante tenga fácil acceso al dispositivo DES para encriptar los textos por él elegidos. Otro ataque, conocido como criptoanálisis lineal (51) no requiere de estos textos elegidos.
      El consenso indica que DES, utilizado de forma apropiada, es seguro contra todo enemigo, excepto los más poderosos. En realidad, el encriptado triple DES (ver pregunta 5.3) puede ser seguro absolutamente contra todos. Biham y Shamir han establecido que consideran seguro al DES. Se utiliza en una gran variedad de sistemas criptográficos, y prácticamente todos los sistemas criptográficos con clave pública lo utilizan en algún nivel.
    5. ¿Cómo se utiliza el sistema DES en forma segura?
    6. Cuando se utiliza el sistema DES, existen diversas consideraciones prácticas a tener en cuenta que pueden afectar la seguridad de la información encriptada. Se deben cambiar las claves con frecuencia para prevenir ataques que requieran un sostenido análisis de la información. En un contexto de comunicaciones, se debe encontrar la forma de transmitir las claves con seguridad entre el remitente y el receptor. El uso del sistema RSA u otra técnica de administración de clave, resuelve ambos problemas: se genera una clave DES diferente para cada sesión y la administración de claves segura lo proporciona el encriptado de la clave DES con la clave pública RSA del receptor. Bajo estas circunstancias, el sistema RSA se puede usar como una herramienta para mejorar la seguridad del DES (o de cualquier otro cifrado con clave secreta).
      Si se desea encriptar archivos guardados en un disco rígido con el DES, no es posible cambiar las claves con frecuencia, ello significaría desencriptar y re-encriptar todos los archivos con cada cambio de clave. En cambio hay que tener una clave DES maestra con la cual encriptar la lista de claves DES utilizadas para encriptar los archivos, luego se podrá cambiar la clave maestra con frecuencia y poco esfuerzo.
      Una técnica poderosa para mejorar la seguridad del DES radica en el encriptado triple, es decir, encriptar cada bloque de mensaje bajo tres claves DES diferentes. El encriptado triple se considera equivalente al doble del tamaño de la clave de DES, a 112 bits, y debe evitar que un enemigo capaz de buscar una sola clave pueda desencriptar mensajes (53). Por supuesto, utilizar el encriptado triple lleva el triple de tiempo que un encriptado simple.
      Aparte de las aplicaciones mencionadas, DES se puede usar para encriptado en diferentes formas oficialmente definidas. Algunas son más seguras que otras. El modo ECB (libro de código electrónico o "electronic codebook") encripta cada bloque de texto plano de 64 bits uno después de otro bajo la misma clave de 56 bits. En el modo CBC (cadena de bloque cifrado o "cipher block chaining"), cada bloque de texto plano de 64 bits se encadena mediante la operación lógica de "O" exclusivo ("exclusive OR") con el bloque previo de texto cifrado antes de ser encriptado con la clave DES. De esta forma, el encriptado de cada bloque depende de los anteriores y el mismo bloque de texto plano de 64 bits puede encriptarse a diferentes textos cifrados dependiendo del contexto en el mensaje total. Este modo CBC ayuda a prevenir ciertos ataques aunque es débil ante la búsqueda exhaustiva o el criptoanálisis diferencial. El modo CFB (feedback cifrado o "cipher feedback") permite utilizar el DES con bloques de longitud menor a 64 bits. Se pueden encontrar descripciones detalladas en (60).
      En la práctica, el modo de DES más utilizado es el CBC y se especifica en diversos estándares. Para mayor seguridad se puede utilizar el triple encriptado con el modo CBC, pero como el DES simple con el modo CBC se considera seguro, el triple encriptado no es necesario.
    7. ¿Se puede exportar el sistema DES desde los Estados Unidos?
    8. Exportar el sistema DES, ya sea en hardware o software, está regulado estrictamente por el Departamento de Estado de los Estados Unidos y la NSA (ver pregunta 1.6). El gobierno es reacio a aprobar la exportación del DES, a pesar de que se encuentra disponible en otros países. Las instituciones financieras y las subsidiarias en el extranjero de empresas norteamericanas son la excepción.
    9. ¿Cuáles son las alternativas para el DES?
    10. A través de los años, varios algoritmos de encriptado masivo se han diseñando como alternativas del DES. Uno se denomina FEAL (Algoritmo de encriptado rápido, "Fast Encryption Algorithm") un cifrado para el cual se han desarrollado varios ataques (6) aunque se han propuesto otras versiones. Otro cifrado designado por Lai y Massey (44) se conoce como IDEA y parece prometedor aunque no se lo ha estudiado con la profundidad suficiente como para confiar plenamente en su seguridad. El gobierno de los Estados Unidos anunció hace poco tiempo un nuevo algoritmo denominado Skipjack (ver pregunta 6.5) como parte del proyecto Capstone. Skipjack opera con bloques de información de 64 bits, como DES, pero utiliza claves de 80 bits en lugar de 56 bits. Sin embargo, los detalles acerca de Skipjack permanecen secretos de modo que solo se lo consigue en versión hardware de fabricantes autorizados por el gobierno.
      Rivest desarrolló los cifrados RC2 y RC4 (ver pregunta 8.6), que pueden ser dotados de la seguridad necesaria, ya que utilizan claves de tamaños variables. Más veloz que DES, al menos en versión software, presentan la ventaja de pertenecer a una categoría especial de algoritmos de encriptado para la cual el gobierno simplifica el proceso de aprobación de la exportación si el tamaño de la clave se limita a 40 bits.
    11. ¿DES es un grupo?
    Con frecuencia se pregunta si el encriptado con DES es cerrado en cuanto a su composición, es decir, ¿el encriptado simple de un texto bajo una clave es siempre equivalente en cuanto a su seguridad al encriptado de un texto bajo una clave y luego al re-encriptado del resultado bajo otra clave? ¿Es decir, es DES un grupo desde el punto de vista algebraico? Si es así, DES debe ser más débil que lo esperado (39). Sin embargo, la respuesta es negativa. DES no es un grupo (18). Este tema se aclaró recientemente luego de años de especulación y evidencia circunstancial. El resultado parece implicar que las técnicas tales como el encriptado triple incrementan la seguridad del DES.
  6. CAPSTONE, CLIPPER Y DSS
    1. ¿En qué consiste Capstone?
    2. Capstone es el proyecto a largo plazo del gobierno de los Estados Unidos para desarrollar un conjunto de estándares para los sistemas criptográficos al alcance del público en general, como lo autoriza la Ley de Seguridad Informática de 1987 ("Computer Security Act"). Las agencias primordialmente responsables de Capstone son NIST y NSA (ver sección 7). El plan requiere que los elementos de Capstone se conviertan en estándares oficiales, en cuyo caso tanto el gobierno como las empresas privadas que hagan negocios con el gobierno tendrán que utilizar el sistema Capstone.
      Existen cuatro componentes principales de Capstone: un algoritmo de encriptado masivo de datos, un algoritmo de firma digital, un protocolo de intercambio de claves y una función de "hash". El algoritmo de encriptado se denomina Skipjack (ver pregunta 6.5), pero se lo conoce como Clipper que es el chip de encriptado que incluye al Skipjack (ver pregunta 6.2). El algoritmo de firma digital es DSS (ver pregunta 6.8) y la función de "hash" es SHS (ver pregunta 8.4 acerca de SHS y 8.2 acerca de las funciones de "hash"). El protocolo de intercambio de claves no ha sido anunciado todavía.
      Todas los componentes de Capstone disponen de una seguridad de 80 bits: todas las claves involucradas tienen 80 bits de longitud y sus otros aspectos se han diseñado para resistir un ataque de 80 bits, es decir, un esfuerzo de 2^{80} operaciones. Con el tiempo, el gobierno planea ubicar todo el sistema criptográfico Capstone en un solo chip.
    3. ¿En qué consiste Clipper?
    4. Clipper es un chip de encriptado desarrollado y patrocinado por el gobierno de los Estados Unidos como parte del proyecto Capstone (ver pregunta 6.11). Anunciado por la Casa Blanca en abril de 1993 (65), Clipper fue diseñado para equilibrar los intereses de las fuerzas de seguridad con los intereses de los ciudadanos y de las industrias. Las fuerzas federales de seguridad que desean acceder a las comunicaciones de personas sospechadas de actividades ilícitas, por ejemplo, interceptando comunicaciones, se encuentran amenazadas por la seguridad de la criptografía. La industria y los ciudadanos, sin embargo, quieren comunicaciones seguras y buscan la solución en la criptografía.
      La tecnología de Clipper apunta a satisfacer los intereses de ambas partes mediante una clave en depósito. La idea es que las comunicaciones deberían ser encriptadas con un algoritmo seguro pero las claves las guardarían una o más partes (entidades autorizadas para el depósito de claves) y serían accesibles para las fuerzas de seguridad cuando así lo autorice la Justicia. Por ejemplo, las comunicaciones personales serían inaccesibles a ojos no autorizados y las comunicaciones comerciales serían inaccesibles para el espionaje industrial. Sin embargo, el FBI podría escuchar las comunicaciones de terroristas o criminales.
      Clipper fue propuesto como un estándar oficial de los Estados Unidos (62). Tendría que ser utilizado por quien realice negocios con el gobierno federal y para las comunicaciones internas del gobierno. Para cualquier otra persona, la utilización de Clipper es voluntaria. AT&T anunció un teléfono seguro que utiliza el chip Clipper.
    5. ¿Cómo funciona el chip de Clipper?
    6. El chip de Clipper contiene un algoritmo de encriptado denominado Skipjack (ver pregunta 6.5) cuyos detalles no se han dado a publicidad. Cada chip contiene una unidad de clave U de 80 bits, que está en depósito dividida en dos partes en las entidades autorizadas para el depósito de claves. Ambas partes deben ser conocidas para poder recuperar la clave. También presenta un número de serie y una clave de familia, F, de 80 bits que es común a todos los chips Clipper. El chip se fabrica de modo que no pueda dilucidarse a partir del chip ni las claves ni el algoritmo Skipjack.
      Cuando dos partes deciden comunicarse, primero acuerdan una "clave de sesión" K de 80 bits. El método por el cual eligen la clave queda librado al criterio del implementador; un método de clave pública como RSA o Diffie-Hellman son elecciones apropiadas. El mensaje se encripta con la clave K y se envía. K no es una clave en depósito. Aparte del mensaje encriptado, otra parte de la información, llamada el LEAF (Campo de Acceso de las Fuerzas de Seguridad, "Law Enforcement Access Field") se crea y envía. Incluye la clave de sesión K encriptada con la unidad U y luego se concatena con el número de serie del remitente y una cadena de autenticaciones y, por último, se encripta con una clave de familia. Los detalles exactos del campo de las fuerzas de seguridad permanecen secretos.
      El receptor desencripta el campo de las fuerzas de seguridad, comprueba la cadena de autenticación y desencripta el mensaje con la clave K.
      Supongamos que las fuerzas de seguridad desean intervenir una línea de comunicaciones. Utilizan la clave de familia para desencriptar el campo de acceso que le corresponde, las fuerzas de seguridad conocen el número de serie y poseen una versión encriptada de la clave de sesión. Presentan una orden autorizando a las dos entidades de depósito de claves, junto con el número de serie. Las entidades de depósito le proporcionan cada una las dos mitades de la clave y luego proceden al desencriptado para obtener la clave de sesión K. Las fuerzas de seguridad luego utilizan K para desencriptar el mensaje real.
      Puede obtener más detalles acerca del funcionamiento del chip Clipper en Denning (26).
    7. ¿Quiénes son las entidades autorizadas para el depósito de claves?
    8. No se ha decidido cuáles serán las organizaciones que actuarán como entidades autorizadas para el depósito de claves, es decir, que guardarán las claves del chip Clipper. Las fuerzas de seguridad no podrán actuar como tales y es posible que al menos una agencia sea ajena al gobierno.
      Es esencial que las entidades autorizadas para el depósito de claves mantengan bases de datos extremadamente seguras para estas claves ya que el acceso no autorizado combinado a ambas bases de datos en depósito podría conducir a la intervención no autorizada de comunicaciones privadas. En realidad, las entidades de depósito serán el blanco favorito de quien desee comprometer el sistema Clipper. El chip Clipper es otro blanco posible.
    9. ¿Qué es Skipjack?
    10. Skipjack es el algoritmo de encriptado contenido en el chip Clipper que fue diseñado por la NSA. Utiliza una clave de 80 bits para encriptar bloques de datos de 64 bits. La misma clave se utiliza para el desencriptado. Skipjack se puede utilizar del mismo modo que DES (ver pregunta 5.3) y puede ser más seguro que éste último ya que utiliza claves de 80 bits y embrolla la información en 32 pasos o "vueltas". DES utiliza claves de 56 bits y embrolla la información solo 16 veces.
      Los detalles de Skipjack son confidenciales. La decisión de no publicar los detalles del algoritmo fue criticada. Mucha gente sospecha que Skipjack no es seguro, ya sea debido a un descuido por parte de sus diseñadores o por la inclusión deliberada de una puerta-trampa secreta. Por otro lado, se ha tratado de descubrir las debilidades de DES a través de los años, ya que sus detalles son de conocimiento público. Estos numerosos intentos (y el hecho de que hayan fallado) han hecho que se considere al DES como confiable. Como Skipjack no es público, no se lo puede analizar y por ello el nivel de confianza debido puede no llegar a manifestarse.
      Al tanto de tales críticas, el gobierno invitó a un grupo de criptógrafos independientes a examinar el algoritmo Skipjack. Emitieron un informe (12) donde establecían que, aunque el estudio era limitado para llegar a una conclusión definitiva, creían que Skipjack era seguro.
      Otra consecuencia de la confidencialidad de Skipjack consiste en que no puede implementarse en versión software sino solo en la versión hardware cuya fabricación ha sido autorizada por el gobierno.
    11. ¿Es Clipper controvertido?
    12. El propósito del chip Clipper ha generado mucha controversia y ha sido tema de intensas críticas. Desafortunadamente, dos problemas distintos se han mezclado en la amplitud del comentario público y el intercambio de opiniones.
      Primero, se discute todo el concepto de las claves en depósito. Aquellos a favor, lo ven como un modo de obtener comunicaciones seguras para el público en general al mismo tiempo que les permite a las fuerzas de seguridad monitorear las comunicaciones de los sospechosos. Aquellos en contra, lo califican como una intromisión innecesaria e ineficiente del gobierno en las vidas privadas de los ciudadanos. Argumentan que las claves en depósito infringen el derecho a la privacidad y la libertad de expresión. Tomará mucho tiempo y mucho debate público para que la sociedad llegue a un acuerdo acerca del rol que deberían cumplir las claves en depósito.
      Segundo, existen varias objeciones acerca del propósito de Clipper, es decir, las objeciones a esta forma particular de implementación de las claves en depósito y a la idea de claves en depósito en general. Las objeciones comunes son: que el algoritmo Skipjack no es público (ver pregunta 6.5) y puede no ser seguro, que las entidades autorizadas para el depósito de claves no son suficientes, que las claves de las entidades de depósito pueden ser vulnerables a un ataque, que las claves de los chips Clipper no se generan de un modo suficientemente seguro, que no habrá suficiente competencia entre los implementadores, lo que resultará en chips caros y lentos, que no es posible implementarlo en versión software y que el tamaño de la clave es fijo y no se podría incrementar de ser necesario.
      Micali (55) ha propuesto un sistema alternativo que también apunta a equilibrar los intereses privados de los ciudadanos que actúan dentro de la ley con los propósitos de investigación de las fuerzas de seguridad. Conocida como criptografía justa con clave pública, su función y propósito son similares a los del chip Clipper, pero los usuarios pueden elegir sus propias claves, las cuales pueden ser registradas en las entidades autorizadas de depósito de claves. El sistema no requiere del hardware y puede implementarse en su versión software.
    13. ¿En qué situación se encuentra Clipper actualmente?
    14. Clipper se encuentra bajo estudio. Tanto el poder Ejecutivo como el Legislativo lo están considerando y un panel de consulta recomendó un exhaustivo y extensivo debate público acerca de la política criptográfica. NIST ha invitado al público a enviar sus comentarios como parte de su propia revisión.
    15. ¿En qué consiste DSS?
    16. DSS significa Estándar de Firma Digital ("Digital Signature Standard"), y requiere al DSA (Algoritmo de Firma Digital, "Digital Signature Algorithm"). Es parte del proyecto Capstone (ver pregunta 6.1). Fue seleccionado por NIST en cooperación con la NSA (ver sección 7) para ser el estándar de autenticación digital del gobierno de los Estados Unidos. Se encuentra todavía en discusión si el gobierno debería adoptarlo como estándar, o no.
      DSS se basa en el problema del logaritmo discreto (ver pregunta 4.9) y deriva de los sistemas criptográficos propuestos por Schnorr (75) y ElGamal (30). Solo sirve para autenticación. Para una descripción detallada de DSS, ver (63) o (57).
      DSS ha encontrado una respuesta poco favorable por parte de la industria de la computación, que tiene muchas esperanzas de que el gobierno elija el algoritmo de RSA como estándar oficial dado que RSA es más utilizado. Muchos artículos en la prensa (54) discuten acerca de la insatisfacción de la industria con respecto a DSS. La crítica a DSS se concentra en los siguientes aspectos: no es posible el intercambio de claves, el sistema criptográfico subyacente es demasiado reciente y no se lo ha estudiado lo suficiente como para que los usuarios confíen en su resistencia al ataque, la verificación de las firmas con DSS es demasiado lenta, la existencia de un segundo estándar de autenticación les causará muchos inconvenientes a los vendedores de software y hardware que ya han estandarizado al RSA, y que el proceso por el cual NIST eligió a DSS fue secreto y arbitrario con la fuerte influencia de la NSA. Otras críticas fueron dirigidas por NIST a través de la modificación de la propuesta original. Un mayor detalle de las críticas varias podrá encontrarlo en (57) y una respuesta proporcionada por NIST en (78).
      En el sistema DSS, la generación de una firma es más fácil que la verificación, mientras que en el sistema RSA, la verificación de la firma es más rápida que la generación de la misma (si los exponentes privados y públicos se eligen con esta propiedad, lo que es usualmente el caso). NIST reclama que este aspecto es una ventaja de DSS pero muchos involucrados con la criptografía piensan que es mejor que la verificación sea una operación rápida.
    17. ¿Es seguro el sistema DSS?
    18. Las críticas más serias respecto a DSS apuntan a la seguridad. En un principio DSS se propuso con un tamaño fijo de clave de 512 bits. Después de mucha crítica en este aspecto, NIST efectuó una revisión de DSS para permitir el uso de claves de hasta 1024 bits. Más grave es el hecho de que DSS no ha estado en el mercado lo suficiente como para probar su resistencia ante el ataque y aunque el problema del logaritmo discreto es antiguo, la forma en que se lo utiliza en DSS fue propuesta primero por Schnorr en 1989 (75) para su uso criptográfico y no ha recibido demasiado análisis público. En general, cualquier sistema criptográfico nuevo podría presentar serias fallas que solo se descubren después de varios años de estudio por parte de los criptógrafos. En realidad, ya ha ocurrido en el pasado, ver (13) si desea encontrar ejemplos detallados. RSA ha resistido 15 años de riguroso análisis. Al no contar con pruebas matemáticas de su seguridad, nada mejor para comprobar la confiabilidad del sistema que intentar quebrarlo repetidamente. Aunque DSS puede llegar a ser un sistema fuerte, su corto recorrido deja dudas a despejar en los años venideros.
      Algunos investigadores advierten acerca de la existencia de números primos puerta-trampa en DSS, lo que facilitaría un ataque. Estos números son casos raros y se pueden evitar si se utilizan los procedimientos correctos en la generación de claves (78).
    19. ¿Se encuentra patentado el uso de DSS?
    20. NIST ha solicitado una patente para el DSS y existen reclamos de que éste ya está cubierto con otras patentes de clave pública. NIST anunció recientemente su intención de otorgar derechos exclusivos de sub-licencias para la patente de DSS a Public Key Partners (PKP) quienes también poseen los derechos de sub-licencias de otras patentes que pueden cubrir a DSS (ver pregunta 1.5). En el acuerdo entre NIST y PKP, PKP estableció públicamente lineamientos por los que otorgará licencias para el uso del DSS. PKP estableció que DSS se puede utilizar sin pagar derechos en caso de uso personal, no comercial o en caso de uso gubernamental. Ver (61) detalles del acuerdo y de la política licenciataria.
    21. ¿En qué categoría se encuentra actualmente DSS?
    Luego de que NIST emitiera la propuesta de DSS en agosto de 1991, existió un período en el cual se solicitó la opinión del público. NIST revisó luego la propuesta en base a esos comentarios. DSS se puede emitir como una publicación oficial FIPS y convertirse en un estándar oficial del gobierno de los Estados Unidos., aunque no está definido cuándo tendría lugar. DSS se encuentra en el proceso de convertirse en un estándar junto con RSA para la industria de servicios financieros. Un reciente borrador del estándar (1) contiene una versión mejorada de DSS.
  7. NIST Y NSA.
    1. ¿Qué es NIST?
    2. NIST es la sigla del Instituto Nacional de Estándares y Tecnología ("National Institute of Standards and Technology"), antiguamente una división del Departamento de Comercio de los Estados Unidos previamente conocida como NBS (Consejo Nacional de Estándares, "National Bureau of Standards"). A través de su Laboratorio de Sistemas Informáticos apunta a promover sistemas abiertos e interoperables que estimularían el desarrollo de actividad económica basada en la computación. NIST emite estándares y lineamientos que espera sean adoptados por todos los sistemas informáticos de los Estados Unidos y promociona talleres y seminarios. Los estándares oficiales se publican como FIPS (Estándares Federales para el Procesamiento de la Información, "Federal Information Processing Standards").
      En 1987, el Congreso sancionó la Ley de Seguridad Informática (Computer Security Act) que autoriza a NIST a desarrollar los estándares para garantizar la seguridad de información confidencial pero no clasificada como secreta en los sistemas informáticos del gobierno. Animó a NIST a trabajar con otras agencias del gobierno e industrias privadas a fin de evaluar los estándares de seguridad informática.
    3. ¿Qué papel desempeña NIST en criptografía?
    4. NIST emite estándares para las rutinas criptográficas que las agencias gubernamentales de los Estados Unidos están obligadas a observar y el sector privado, en general, adopta. En enero de 1977, NIST declaró a DES (ver pregunta 5.1) el estándar de encriptado oficial de los Estados Unidos y publicado como publicación FIPS 46. El DES pronto se convirtió un estándar de facto en todo el país.
      Hace algunos años, se le solicitó a NIST elegir un conjunto de estándares criptográficos para los Estados Unidos. Esto se conoce como el proyecto Capstone (ver sección 6). Luego de un tiempo de deliberaciones cuasi secretas y en cooperación con la NSA, NIST emitió propuestas para varios estándares en criptografía, incluyendo las firmas digitales (DSS) y el encriptado de datos (el chip de Clipper), piezas que conforman el proyecto Capstone.
      Se ha criticado a NIST por otorgarle a la NSA demasiado poder para establecer los estándares criptográficos debido al conflicto de intereses entre la NSA y el Departamento de Comercio y NIST. La NSA tiene más experiencia en criptografía y criptoanalistas y cuenta con criptógrafos más calificados que los del NIST. Sería poco realista pensar que NIST despreciaría tan valiosa asistencia.
    5. ¿Qué significa NSA?
    6. La NSA (Agencia De Seguridad Nacional, "National Security Agency") es una agencia ultra secreta del gobierno estadounidense que fue creada por Harry Truman en 1952. Su misma existencia se mantuvo en secreto durante años. Para informarse de la historia de la NSA, ver Bamford (2). La NSA debe escuchar y decodificar todas las comunicaciones extranjeras de interés para la seguridad de los Estados Unidos. También se utilizó su poder en diversas formas (ver pregunta 7.4) para evitar que la criptografía llegue al alcance del público y, así, evitar que enemigos de los Estados Unidos empleen los métodos de encriptado difíciles de quebrar para la NSA.
      Como principal agencia criptográfica del gobierno, la NSA cuenta con amplios recursos informáticos y financieros y emplea a un gran grupo de criptógrafos. Los avances de la criptografía logrados en la NSA no se dan a conocer públicamente, su reserva ha levantado rumores acerca de la capacidad de la NSA para quebrar sistemas criptográficos populares como el DES y acerca de que la NSA haya colocado puntos débiles, llamados puerta-trampa, en los sistemas criptográficos avalados por el gobierno como el DES. Estos rumores no se han negado ni confirmado y el criterio utilizado por la NSA para seleccionar los estándares nunca fue dado a conocer.
      Los avances recientes en la industria informática y de las telecomunicaciones han sometido a las acciones de la NSA a un escrutinio sin precedentes y la agencia ha sido objeto de terribles críticas por impedir que las industrias estadounidenses puedan utilizar o vender herramientas criptográficas seguras. Las dos razones principales de esta crítica son, por un lado, el colapso de la Unión Soviética y, por otro, el desarrollo y expansión de las herramientas criptográficas con clave pública accesibles comercialmente. Bajo presión, la NSA se vería obligada a cambiar su política.
    7. ¿Qué papel desempeña la NSA en la criptografía comercial?
    La ley limita las actividades de la NSA a tareas de inteligencia internacional. Sin embargo, la NSA se ocupa del desarrollo de la criptografía comercial debido a que la posibilidad de obtener comercialmente herramientas criptográficas poderosas podría impedir a la NSA decodificar las comunicaciones internacionales. En otras palabras, la NSA se preocupa de que la criptografía comercial segura no caiga en las manos equivocadas.
    La NSA ha establecido que no existe objeción al uso de criptografía segura en la industria estadounidense. Tampoco puso objeciones a las herramientas criptográficas utilizadas para autenticación, como opuestas a las utilizadas para privacidad. Sin embargo, se considera que la NSA sigue políticas cuyo efecto en la práctica consisten en limitar o debilitar las herramientas criptográficas utilizadas por ciudadanos estadounidenses que actúan en el marco de la ley, y empresas. Ver Barlow (3) respecto del tema del efecto de la NSA en la criptografía comercial.
    La NSA influye sobre la criptografía comercial de diferentes formas. Primero, controla la exportación de criptografía desde los Estados Unidos (ver pregunta 1.6), y, por lo general, no aprueba la exportación de productos para encriptado a menos que el tamaño de la clave se limite estrictamente. Sin embargo, aprueba la exportación de cualquier producto utilizado solo para autenticación, sin importar el largo de la clave, siempre y cuando el producto no pueda modificarse y utilizarse para encriptado. La NSA también bloqueó la posibilidad de que los métodos de encriptado se patenten o publiquen, ya que significaría una amenaza para la seguridad nacional, ver Landau (46). Además, la NSA cumple el papel de "consejera" para NIST en la evaluación y selección de estándares gubernamentales de seguridad informática. En este aspecto, ha cumplido un rol prominente y controvertido en la selección de DES y en el desarrollo de un conjunto de estándares conocidos como el proyecto Capstone (ver sección 6) que incluye DSS y el chip de Clipper. La NSA puede presionar el mercado para que las empresas produzcan (o no) materiales criptográficos, ya que la NSA es un importante cliente de las mismas.
    La criptografía está en la mira del público como nunca antes y se ha convertido en materia de debate nacional. La categoría de la criptografía y el papel de juega la NSA cambiarán sin duda en el futuro.
  8. PREGUNTAS GENERALES
    1. ¿Qué categoría legal tienen los documentos firmados digitalmente?
    2. Si las firmas digitales reemplazaran a las de puño y letra deben tener la misma validez legal que estas últimas, es decir, los documentos firmados con firmas digitales deben ser legalmente válidos. NIST ha establecido que su propuesto Estándar de Firma Digital DSS (ver pregunta 6.8) debería ser capaz de "servir como prueba a un tercero de que el documento fue firmado por quien generó la firma". El gobierno de los Estados Unidos firmará sus órdenes de compra de acuerdo a tales estándares, lo cual implica que respalda la autoridad legal de la firma digital en una corte de justicia. Los análisis preliminares de jurisprudencia dieron como resultado que las firmas digitales cumplirían con los requerimientos legales en la mayoría de los casos, incluyendo el uso comercial según se define en el UCC (Código de Uniforme de Comercio, "Uniform Commercial Code"). Una decisión de la GAO (Oficina de Contaduría del Gobierno, "Government Accounting Office") requerida por NIST también confirma que las firmas digitales tendrán la misma categoría legal que las escritas. (20).
      Sin embargo, como la validez de los documentos con firma digital nunca se disputó en un tribunal, el tratamiento legal no está del todo definido. Si se diera el caso, los tribunales emitirán normas que colectivamente definirán qué métodos de firma digital, tamaños de claves, y precauciones de seguridad se aceptarán para considerar legal a la firma digital.
      Las firmas digitales tienen potencialmente una mayor autoridad legal que las escritas. Si se firma de puño y letra un contrato de diez páginas en la página décima, no se puede asegurar que las primeras nueve páginas no hayan sido alteradas. Si el contrato se firma digitalmente, un tercero puede verificar que ni siquiera un bit del documento haya sido alterado.
      Hoy en día, si dos personas desean firmar digitalmente una serie de contratos, firmarán un contrato en papel donde acuerden que en el futuro todos los contratos firmados en forma digital por ellos, con un cierto método de firma y un determinado tamaño de clave serán válidos.
    3. ¿En qué consiste una función de "hash"? ¿Qué es un digesto de mensaje ("message digest")?
    4. Una función de "hash" es una función que toma un argumento de tamaño variable y da un resultado de tamaño fijo, que se denomina valor de "hash". Si la función de "hash" es unidireccional, es decir, difícil de invertir, también se denomina función de digesto de mensaje ("message digest") y el resultado se denomina digesto de mensaje. La idea es que éste resumen represente concisamente el mensaje o documento completo del cual fue obtenido. Se puede considerar al digesto de mensaje como "huella digital" de un documento mayor. Ejemplos de estas funciones de "hash" son MD4, MD5 y SHS (ver preguntas 8.3 y 8.4).
      Aunque las funciones de "hash" en general cumplen diferentes funciones en los programas de computación, en criptografía se utilizan para generar un digesto de mensaje que representa a un archivo o mensaje de mayor longitud. Como las funciones de "hash" son más rápidas que las de firma, es más eficiente procesar una firma digital utilizando un digesto de mensaje, que es pequeño, que en base al documento en toda su extensión. Además, un digesto se puede hacer público sin revelar los detalles del documento que lo origina. Es importante utilizar las funciones de "hash" en registro digital de fecha y hora con firma digital, ya que así se puede obtener el fechado sin revelar el contenido del documento al servicio de sellado. (ver pregunta 3.18)
      Una función de "hash" utilizada para autenticación digital debe tener ciertas propiedades que la hagan lo suficientemente segura para uso criptográfico. Específicamente, debe ser imposible encontrar un mensaje cuyo valor de "hash" resulte en un valor predeterminado, tal como poder encontrar dos mensajes distintos con un único valor de "Hash ". La capacidad de encontrar un mensaje cuyo "hash" sea de un determinado valor, le permitiría a un atacante sustituir un mensaje real firmado por uno falso. También le permitiría a una persona desconocer falsamente un mensaje alegando que ha firmado otro mensaje con un valor de "hash" idéntico al del mensaje, violando así la calidad de no repudio que poseen las firmas digitales. Encontrar dos mensajes con idéntico valor de "hash" le permitiría a un atacante engañar a un usuario para que firme un mensaje falso con un valor de "hash" idéntico al real, pero con un contenido distinto. El digesto de mensaje debe ser lo suficientemente largo como para evitar que un atacante realice una búsqueda exhaustiva . Por ejemplo, si una función de "hash" produce un resultado de 100 bits, una búsqueda exhaustiva llevaría 2^{100} intentos para encontrar un valor similar y, aproximadamente, 2^{50} intentos promedio para encontrar dos mensajes que produzcan el mismo digesto.
      Un sistema de firma digital se puede quebrar atacando el problema matemático en el cual se basa la firma digital o la función de "hash" utilizada para crear digestos de documentos. Cuando se elija una función de autenticación, es necesario elegir un método y una función de "hash" que resistan al ataque. Reforzar solo uno de los dos componentes es inútil pues el atacante se dirigirá hacia el más débil. En realidad, atacar la función de "hash" en la práctica es más difícil, ya que requiere de una gran cantidad de memoria y la habilidad de engañar al usuario para que firme un mensaje en especial. Con 2^{64} operaciones, un atacante puede encontrar dos mensajes con el mismo valor de "hash" bajo cualquiera de las funciones de "hash" de tipo MD. El esfuerzo es comparable al necesario para quebrar un módulo RSA de 512 bits, por eso, MD5 constituye una buena elección si se trabaja con un módulo RSA de 512 bits. Sin embargo, aquellos con grandes necesidades de seguridad, como las autoridades certificantes, utilizan un módulo mayor y una función de "hash" que produce un resumen más extenso, ya sea SHS (resumen de 160 bits) o una versión modificada de MD4 que produce un resumen 256 bits (ver 71).
    5. ¿Qué significa MD2, MD4 y MD5?
    6. MD2, MD4 y MD5 (MD quiere decir digesto de mensaje o "message digest") son funciones de "hash" de amplia utilización que fueron diseñadas por Ron Rivest específicamente para su uso en criptografía. Producen resúmenes de 128 bits y no se conoce ningún ataque más rápido que supere en eficiencia a la búsqueda exhaustiva.
      MD2 es la más lenta de las tres. MD4 (71) es la más rápida. MD5 (73) fue llamada por Rivest "MD4 con cinturón de seguridad", ya que tiene un diseño más conservador que MD4. Su diseño proporciona mayor seguridad contra los ataques, pero es alrededor de un 33% más lenta que MD4. MD5 es, de los tres, el algoritmo más usado. MD4 y MD5 están disponibles al público para uso irrestricto y MD2 para su uso con PEM (ver pregunta 8.7). Los detalles acerca de MD2, MD4 y MD5 con código de fuente en C están disponibles en los Internet RFCs (Solicitud de Comentarios, "Request For Comment") 1319, 1320 y 1321 respectivamente.
      No se han descubierto ataques factibles a ninguno de los algoritmos MD, aunque ciertas teorías recientes encontraron algunas propiedades estructurales interesantes. (24, 25).
    7. ¿Qué significa SHS?
    8. El SHS (Estándar de "Hash" Seguro, "Secure "hash" Standard") (58) es una función de "hash" propuesta por NIST (ver pregunta 7.1) y adoptado por el gobierno de los Estados Unidos. Está diseñada para ser utilizada con el DSS (Estándar de Firma Digital, "Digital Signature Standard", ver pregunta 6.8) y forma parte del proyecto Capstone (ver pregunta 6.1). SHS produce un valor de "hash" de 160 bits en base a un mensaje de tamaño variable. SHS es similar en su estructura a MD4 y MD5. Es alrededor de un 25% más lento que MD5 pero más seguro porque produce un digesto de mensaje 25% más extenso que las funciones MD. SHS es la única parte del proyecto Capstone que fue adoptada oficialmente como estándar por el gobierno.
    9. ¿En qué consiste Kerberos?
    10. Kerberos es un sistema de autenticación en red con clave secreta desarrollado en MIT (79), que utiliza el sistema DES para encriptado y autenticación. A diferencia de un sistema de autenticación con clave pública, no produce firmas digitales: Kerberos fue diseñado para autenticar accesos a recursos de red y no para autenticar la autoría de documentos. Kerberos proporciona una autenticación en tiempo real en un medio distribuido pero no es útil para la verificación de documentos ante terceros.
      En el sistema Kerberos, existe un sitio designado en la red, denominado servidor Kerberos, que realiza funciones adminstrativas centralizadas para la administración de claves. El servidor mantiene la base de datos que contiene las claves secretas de todos los usuarios, genera claves de sesión cuando dos usuarios requieren comunicaciones seguras y autentica la identidad de un usuario que requiere ciertos servicios de la red.
      Kerberos, como cualquier otro sistema con clave secreta, requiere de la confianza en un tercero. En el caso de Kerberos se trata del servidor. Si el servidor se encontrara en peligro, la integridad del sistema se caería. La criptografía con clave pública fue designada precisamente para evitar tener que confiar en terceros o en líneas de comunicaciones (ver pregunta 1.4). Kerberos se puede ser adecuado para aquellos que no requieren de las funciones y propiedades más robustas de los sistemas con clave pública.
    11. ¿En qué consisten RC2 y RC4?
    12. RC2 y RC4 son algoritmos de encriptado de tamaño de clave variable diseñados por Ron Rivest para el encriptado masivo de datos. Son alternativas al DES (ver pregunta 5.1) y son tanto o más rápidos que DES. Pueden ser más seguros que DES debido a su capacidad para utilizar claves más extensas pero pueden ser más riesgosos si se utilizan claves cortas.
      RC2 es un algoritmo de encriptado de bloque simétrico con clave de tamaño variable que puede servir como reemplazo de DES, por ejemplo, en versiones para exportar productos que de otro modo utilizarían DES. RC2 se puede utilizar del mismo modo que DES (ver pregunta 5.3) incluyendo el encriptado triple. RC2 es aproximadamente el doble de rápido que DES, al menos en software. RC4 es un algoritmo de encriptado de clave simétrica de tamaño variable y es 10 o más veces más rápido que DES en software. Tanto RC2 como RC4 son muy compactos en términos del tamaño de sus códigos.
      Un acuerdo entre el Software Publishers Association (SPA) y el gobierno de los Estados Unidos le otorga a RC2 y RC4 una categoría especial en el cual la aprobación para la exportación es un proceso más simple y rápido que el usual para la criptografía. Sin embargo para estar en condiciones de obtener esta aprobación de exportación rápida, el producto debe limitar el tamaño de las claves de RC2 y RC4 a 40 bits, aunque se permiten 56 bits para subsidiarias y oficinas en el extranjero de empresas estadounidenses. Una cadena adicional de 40 bits, denominada "salt", se puede utilizar para malograr ataques por medio de búsqueda de posibles encriptados en una gran tabla. El "salt" se añade a la clave de encriptado y esta clave alargada se utiliza para encriptar el mensaje, luego se envía el "salt", sin encriptar, junto con el mensaje. RC2 y RC4 fueron utilizados por quienes quieren exportar sus productos, dado que el DES casi nunca se aprueba para la exportación. RC2 y RC4 son algoritmos pertenecientes a RSA Data Security, Inc. y sus detalles no se han publicado.
    13. ¿En qué consiste PEM?
    14. PEM (estándar de Correo de Internet con Privacidad, "Internet Privacy-Enhanced Mail standard") fue diseñado y propuesto, pero no oficialmente adoptado, por el Consejo de Actividades de Internet ("Internet Activities Board") a fin de proporcionarle seguridad al correo electrónico de Internet. Diseñado para trabajar con el actual e-mail de Internet, PEM incluye funciones de encriptado, autenticación y administración de claves. Permite utilizar sistemas de clave pública o privada. Se utilizan diversas herramientas de criptografía: para cada mensaje por correo electrónico, el algoritmo específico de encriptado, el algoritmo de firma digital y la función de "hash" aparecen en el encabezado. PEM solo utiliza ciertos algoritmos criptográficos, mientras que otros pueden agregarse después. DES en el modo CBC es el único algoritmo de encriptado de mensaje que PEM utiliza actualmente, mientras que RSA y DES se utilizan indistintamente para la administración de claves. PEM también incluye el uso de certificados, avalando la estructura propuesta por el estándar CCITT X.509.
      Se pueden encontrar más detalles acerca de PEM en los Internet RFCs (Solicitud de Comentario, "Request For Comment") 1421 a 1424. PEM tiene posibilidades de ser adoptado por el Consejo de Actividades de Internet en el plazo de un año. La empresa Trusted Information Systems (Sistemas de Información Confiable) ha desarrollado una implementación no comercial de PEM y otras que estarán disponibles en breve.
    15. ¿En qué consiste RIPEM?
    16. RIPEM es un programa desarrollado por Mark Riordan que otorga seguridad al correo de Internet. Sirve para encriptado y firma digital y utiliza rutinas de RSA y DES de RSAREF (ver pregunta 8.10). RIPEM no es del todo compatible con PEM, y por ejemplo, no incluye certificados. Sin embargo, futuras versiones lo incluirán y serán totalmente compatibles con PEM. RIPEM está disponible en su uso no comercial en los Estados Unidos y Canadá. (Puede obtener RIPEM por medio de una cuenta ftp en ripem.msu.edu.)
    17. ¿En qué consiste PKCS?
    18. PKCS (Estándares de Criptografía con Clave Pública, "Public Key Cryptography Standards") consiste en un conjunto de estándares diseñados por RSA Data Security Inc. en cooperación con un consorcio de la industria informática que agrupa a Apple, Microsoft, DEC, Lotus, Sun y MIT. PKCS fue citado por el OIW (Taller de Implementadores OSI, "OSI Implemetor's Workshop") como método de implementación de estándares OSI. PKCS es compatible con PEM (ver pregunta 8.7) pero se extiende más allá de PEM. Por ejemplo, PEM solo permite manejar datos ASCII, mientras que el PKCS está diseñado también para datos binarios. PKCS es compatible con el estándar CCITT X.509.
      PKCS incluye estándares de implementación de algoritmos específicos e independientes. Los algoritmos específicos incluyen los sistemas de intercambio de claves RSA, DES y Diffie-Hellman. También define la sintaxis del algoritmo independiente para firmas digitales, sobres digitales (para encriptado) y certificación. Ello permite a quien implemente cualquier algoritmo criptográfico que se atenga a una sintaxis estándar de modo preservar la interoperatividad. Los documentos que detallan los estándares PKCS se pueden obtener enviando un e-mail a pkcs@rsa.com o por ftp anónimo a rsa.com.
    19. ¿En qué consiste RSAREF?
    RSAREF es una serie de rutinas criptográficas en código fuente en "C" portable, obtenible sin cargo de los Laboratorios RSA, una división de RSA Data Security, Inc. Incluye RSA, MD2, MD5 y DES. El intercambio de claves mediante Diffie-Hellman se incluirá en versiones subsiguientes. Incluye subrutinas de bajo nivel, como ser la exponenciación modular tanto como funciones criptográficas de alto nivel, como la verificación de firma digital. Las rutinas aritméticas pueden manejar números enteros de precisión múltiple y las rutinas del algoritmo de RSA pueden administrar tamaños variables de clave. RSAREF es compatible con los estándares PEM y PKCS.
    RSAREF se encuentra disponible a los ciudadanos estadounidenses y canadienses y a los residentes permanentes en los Estados Unidos. Se puede utilizar en forma personal y no comercial, pero no se puede utilizar comercialmente o enviar fuera de los Estados Unidos o Canadá. La licencia RSAREF contiene más detalles acerca del uso permitido y no permitido. RSAREF se encuentra disponible en Internet enviando un e-mail a rsaref@rsa.com o por ftp a rsa.com
  9. AGRADECIMIENTOS
  10. Agradezco a Burt Kaliski, Jim Bidzos, Matt Robshaw, Steve Dusse, Kurt Stammberger, George Parsons, John Gilmore, Stuart Haber, Dorothy Denning y Dennis Branstad la información y la valiosa ayuda proporcionadas y al Lic. J. Andrés Hall y a Cynthia R. Neme en la traducción de la presente monografía.
  11. BIBLIOGRAFIA
  12. 1. American National Standards Institute. Working Draft: American National Standard X9.30-199X: Public Key Cryptography Using Irreversible Algorithms for the Financial Services Industry: Part 1: The Digital Signature Algorithm (DSA). American Bankers Association, Washington, D.C., March 4, 1993.
    2. J. Bamford. The Puzzle Palace. Houghton Mifflin, Boston, 1982.
    3. J.P. Barlow. Decrypting the puzzle palace. Communications of the ACM, 35(7):25--31, July 1992.
    4. D. Bayer, S. Haber, and W.S. Stornetta. Improving the efficiency and reliablility of digital time-stamping. In R.M. Capocelli, editor, Sequences '91: Methods in Communication, Security, and Computer Science, Springer-Verlag, Berlin, 1992.
    5. P. Beauchemin, G. Brassard, C. Crepeau, C. Goutier, and C. Pomerance. The generation of random numbers that are probably prime. J. of Cryptology, 1:53--64, 1988.
    6. E. Biham and A. Shamir. Differential Cryptanalysis of the Data Encryption Standard. Springer-Verlag, New York, 1993.
    7. E. Biham and A. Shamir. Differential cryptanalysis of the full 16-round DES. In Advances in Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
    8. M. Blum and S. Goldwasser. An efficient probabilistic public-key encryption scheme which hides all partial information. In Advances in Cryptology --- Crypto '84, pages 289--299, Springer-Verlag, New York, 1985.
    9. J. Brandt and I. Damgard. On generation of probable primes by incremental search. In Advances in Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
    10. G. Brassard. Modern Cryptology. Volume 325 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1988.
    11. D.M. Bressoud. Factorization and Primality Testing. Undergraduate Texts in Mathematics, Springer-Verlag, New York, 1989.
    12. E.F. Brickell, D.E. Denning, S.T. Kent, D.P. Maher, and W. Tuchman. Skipjack Review, Interim Report: The Skipjack Algorithm. July 28, 1993.
    13. E.F. Brickell and A.M. Odlyzko. Cryptanalysis: A survey of recent results. Proceedings of the IEEE, 76:578--593, 1988.
    14. J. Brillhart, D.H. Lehmer, J.L. Selfridge, B. Tuckerman, and S.S. Wagstaff Jr. Factorizations of b^n +/- 1, b = 2,3,5,6,7,10,11,12 up to High Powers. Volume 22 of Contemporary Mathematics, American Mathematical Society, Providence, Rhode Island, 2nd edition, 1988.
    15. J. Buchmann, J. Loho, and J. Zayer. An implementation of the general number field sieve. In Advances, in Cryptology --- Crypto '93, Springer-Verlag, New York, 1994. To appear.
    16. J.P. Buhler, H.W. Lenstra, and C. Pomerance. Factoring integers with the number field sieve. 1992. To appear.
    17. M.V.D. Burmester, Y.G. Desmedt, and T. Beth. Efficient zero-knowledge identification schemes for smart cards. Computer Journal, 35:21--29, 1992.
    18. K.W. Campbell and M.J. Wiener. Proof that DES is not a group. In Advances in Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
    19. CCITT (Consultative Committee on International Telegraphy and Telephony). Recommendation X.509: The Directory---Authentication Framework. 1988.
    20. Comptroller General of the United States. Matter of National Institute of Standards and Technology --- Use of Electronic Data Interchange Technology to Create Valid Obligations. December 13, 1991. File B-245714.
    21. D. Coppersmith, A.M. Odlyzko, and R. Schroeppel. Discrete logarithms in GF(p). Algorithmica, 1:1--15, 1986.
    22. T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, Massachusetts, 1990.
    23. G. Davida. Chosen signature cryptanalysis of the RSA public key cryptosystem. Technical Report TR-CS-82-2, Dept of EECS, University of Wisconsin, Milwaukee, 1982.
    24. B. den Boer and A. Bosselaers. An attack on the last two rounds of MD4. In Advances in Cryptology --- Crypto '91, pages 194--203, Springer-Verlag, New York, 1992.
    25. B. den Boer and A. Bosselaers. Collisions for the compression function of MD5. In Advances in Cryptology --- Eurocrypt '93, 1993. Preprint.
    26. Dorothy E. Denning. The Clipper encryption system. American Scientist, 81(4):319--323, July--August 1993.
    27. W. Diffie. The first ten years of public-key cryptography. Proceedings of the IEEE, 76:560--577, 1988.
    28. W. Diffie and M.E. Hellman. Exhaustive cryptanalysis of the NBS Data Encryption Standard. Computer, 10:74--84, 1977.
    29. W. Diffie and M.E. Hellman. New directions in cryptography. IEEE Transactions on Information Theory, IT-22:644--654, 1976.
    30. T. ElGamal. A public-key cryptosystem and a signature scheme based on discrete logarithms. IEEE Transactions on Information Theory, IT-31:469--472, 1985.
    31. A. Fiat and A. Shamir. How to prove yourself: Practical solutions to identification and signature problems. In Advances in Cryptology --- Crypto '86, pages 186--194, Springer-Verlag, New York, 1987.
    32. S. Goldwasser and S. Micali. Probabilistic encryption. J. of Computer and System Sciences, 28:270--299, 1984.
    33. D.M. Gordon. Discrete logarithms using the number field sieve. March 28, 1991. To appear.
    34. D.M. Gordon and K.S. McCurley. Massively parallel computation of discrete logarithms. In Advances in Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
    35. J. Hastad. Solving simultaneous modular equations of low degree. SIAM J. Computing, 17:336--241, 1988.
    36. M.E. Hellman. A cryptanalytic time-memory trade off. IEEE Transactions on Information Theory, IT-26:401--406, 1980.
    37. D. Kahn. The Codebreakers. Macmillan Co., New York, 1967.
    38. B.S. Kaliski. A survey of encryption standards. RSA Data Security, Inc., September 2, 1993.
    39. B.S. Kaliski Jr., R.L. Rivest, and A.T. Sherman. Is the data encryption standard a group ¿J. of Cryptology, 1:3--36, 1988.
    40. S. Kent. RFC 1422: Privacy Enhancement for Internet Electronic Mail, Part II: Certificate-Based Key Management. Internet Activities Board, February 1993.
    41. D.E. Knuth. The Art of Computer Programming. Volume 2, Addison-Wesley, Reading, Mass., 2nd edition, 1981.
    42. N. Koblitz. A Course in Number Theory and Cryptography. Springer-Verlag, New York, 1987.
    43. N. Koblitz. Elliptic curve cryptosystems. Mathematics of Computation, 48:203--209, 1987.
    44. X. Lai and J.L. Massey. A proposal for a new block encryption standard. In Advances in Cryptology --- Eurocrypt '90, pages 389--404, Springer-Verlag, Berlin, 1991.
    45. B.A. LaMacchia and A.M. Odlyzko. Computation of discrete logarithms in prime fields. Designs, Codes and Cryptography, 1:47--62, 1991.
    46. S. Landau. Zero knowledge and the Department of Defense. Notices of the American Mathematical Society, 35:5--12, 1988.
    47. A.K. Lenstra and H.W. Lenstra Jr. Algorithms in number theory. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, MIT Press/Elsevier, Amsterdam, 1990.
    48. A.K. Lenstra, H.W. Lenstra Jr., M.S. Manasse, and J.M. Pollard. The factorization of the ninth Fermat number. 1991. To appear.
    49. A.K. Lenstra and M.S. Manasse. Factoring with two large primes. In Advances in Cryptology --- Eurocrypt '90, pages 72--82, Springer-Verlag, Berlin, 1991.
    50. H.W. Lenstra Jr. Factoring integers with elliptic curves. Ann. of Math., 126:649--673, 1987.
    51. M. Matsui. Linear cryptanalysis method for DES cipher. In Advances in Cryptology --- Eurocrypt '93, Springer-Verlag, Berlin, 1993. To appear.
    52. R.C. Merkle and M.E. Hellman. Hiding information and signatures in trapdoor knapsacks. IEEE Transactions on Information Theory, IT-24:525--530, 1978.
    53. R.C. Merkle and M.E. Hellman. On the security of multiple encryption. Communications of the ACM, 24:465--467, July 1981.
    54. E. Messmer. NIST stumbles on proposal for public-key encryption. Network World, 9(30), July 27, 1992.
    55. S. Micali. Fair public-key cryptosystems. In Advances in Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
    56. V.S. Miller. Use of elliptic curves in cryptography. In Advances in Cryptology --- Crypto '85, pages 417--426, Springer-Verlag, New York, 1986.
    57. National Institute of Standards and Technology (NIST). The Digital Signature Standard, proposal and discussion. Communications of the ACM, 35(7):36--54, July 1992.
    58. National Institute of Standards and Technology (NIST). FIPS Publication 180: Secure Hash Standard (SHS). May 11, 1993.
    59. National Institute of Standards and Technology (NIST). FIPS Publication 46-1: Data Encryption Standard. January 22, 1988. Originally issued by National Bureau of Standards.
    60. National Institute of Standards and Technology (NIST). FIPS Publication 81: DES Modes of Operation. December 2, 1980. Originally issued by National Bureau of Standards.
    61. National Institute of Standards and Technology (NIST). Notice of proposal for grant of exclusive patent license. Federal Register, 58(108), June 8, 1993.
    62. National Institute of Standards and Technology (NIST). A proposed Federal Information Processing Standard for an Escrowed Encryption Standard (EES). Federal Register, 58(145), July 30, 1993.
    63. National Institute of Standards and Technology (NIST). Publication XX: Announcement and Specifications for a Digital Signature Standard (DSS). August 19, 1992.
    64. A.M. Odlyzko. Discrete logarithms in finite fields and their cryptographic significance. In Advances in Cryptology --- Eurocrypt '84, pages 224--314, Springer-Verlag, Berlin, 1984.
    65. Office of the Press Secretary. Statement. The White House, April 16, 1993.
    66. J. Pollard. Monte Carlo method for factorization. BIT, 15:331--334, 1975.
    67. J. Pollard. Theorems of factorization and primality testing. Proc. Cambridge Philos. Soc., 76:521--528, 1974.
    68. M.O. Rabin. Digitalized signatures as intractable as factorization. Technical Report MIT/LCS/TR-212, MIT, 1979.
    69. R.L. Rivest. Cryptography. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, MIT Press/Elsevier, Amsterdam, 1990.
    70. R.L. Rivest. Finding four million random primes. In Advances in Cryptology --- Crypto '90, pages 625--626, Springer-Verlag, New York, 1991.
    71. R.L Rivest. The MD4 message digest algorithm. In Advances in Cryptology --- Crypto '90, pages 303--311, Springer-Verlag, New York, 1991.
    72. R.L. Rivest. Response to NIST's proposal. Communications of the ACM, 35:41--47, July 1992.
    73. R.L. Rivest. RFC 1321: The MD5 Message-Digest Algorithm. Internet Activities Board, April 1992.
    74. R.L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2):120--126, February 1978.
    75. C.P. Schnorr. Efficient identification and signatures for smart cards. In Advances in Cryptology --- Crypto '89, pages 239--251, Springer-Verlag, New York, 1990.
    76. M. Shand and J. Vuillemin. Fast implementations of RSA cryptography. In Proceedings of the 11th IEEE Symposium on Computer Arithmetic, pages 252--259, IEEE Computer Society Press, Los Alamitos, CA, 1993.
    77 R.D. Silverman. The multiple polynomial quadratic sieve. Math. Comp., 48:329--339, 1987.
    78. M.E. Smid and D.K. Branstad. Response to comments on the NIST proposed Digital Signature Standard. In Advances in Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
    79. J.G. Steiner, B.C. Neuman, and J.I. Schiller. Kerberos: an authentication service for open network systems. In Usenix Conference Proceedings, pages 191--202, Dallas, Texas, February 1988.
    80. M.J. Wiener. Efficient DES key search. August 20, 1993. Presented at Crypto '93 rump session.
  13. RSA LABORATORIES, INC.
Los Laboratorios RSA son la división de investigación y de consultoría de RSA Data Security, Inc., la empresa fundada por los inventores del criptosistema de clave pública RSA. RSA Laboratories audita, diseña e implementa criptosistemas seguros y eficientes de todos los tipos. Sus clientes incluyen a agencias gubernamentales, empresas de telecomunicaciones, diseñadores de software, sistemas de cable de televisión, empresas de vídeo interactivo y empresas de radiodifusión, entre otros.
Para más información sobre RSA Laboratories, dirigirse a
RSA Laboratories
100 Marine Parkway
Redwood City, CA 94065
(415) 595-7703
(415) 595-4126 (fax)
PKCS, RSAREF y RSA Laboratories son marcas registradas de RSA Data Security, Inc. Todas las otras marcas registradas pertenecen a sus respectivas empresas.
Favor dirigir comentarios y sugerencias a faq-editor@rsa.com.

No hay comentarios:

Publicar un comentario