miércoles, 25 de julio de 2007

Algoritmos de Encriptado

En un foro de ba-k.com, un bakuno preguntaba sobre algoritmos de encriptado. Una ocasión me dijeron que si no era experto en la materia, ni se me ocurriera intentar crear uno, porque lo más seguro es que un experto lo resolviera sin problemas. De manera que me alejé del tema, pero ahora que me vuelvo a encontrar con él, me puse a buscar y les comparto un boletín muy interesante que encontré con URL http://digital.el-esceptico.org/leer.php?autor=17&id=131&tema=48:

DE LA CLAVE DEL CÉSAR A LOS ALGORITMOS DE ENCRIPTACIÓN (Por Borja Marcos)

Suponga que necesita enviar un mensaje por un asunto de vida o muerte y no confía en absoluto en su portador. Suponga, además, que el mensaje será completamente inútil si una tercera persona llega a conocer su contenido. ¿Qué hacer? La solución es codificar el mensaje de manera que solamente el destinatario sea capaz de descifrarlo.

Esta situación se ha dado a lo largo de toda la historia de la humanidad. El acceso a la información (o la diseminación de información falsa) puede decidir una batalla, hacer triunfar o fracasar una operación comercial, etc. En la actualidad, la criptografía es la herramienta fundamental para el desarrollo del comercio electrónico. Los métodos infantiles, como sustituir unas letras por otras (clave del César), se empleaban en tiempos de los romanos, pero hoy resultan completamente inútiles. La historia de la criptografía ha sido una lucha constante entre los diseñadores de nuevos algoritmos y los criptoanalistas, algo así como la permanente lucha entre los fabricantes de cerraduras y los ladrones.

Mientras los sistemas se han hecho cada vez más complejos, los criptoanalistas han perfeccionado sus técnicas. Diseñar un algoritmo de encriptación seguro hoy día es una tarea extremadamente difícil; es impensable crear uno no siendo experto en la materia. Por esta razón, los métodos de encriptación son como las cerraduras. Un valor secreto -un número-, llamado clave, altera el funcionamiento del algoritmo, de manera que un mensaje encriptado con una clave dada solamente puede ser decodificado con la misma clave. El algoritmo puede ser público, pero la clave es inútil si se divulga, y no siempre es posible citarse con el interlocutor en un bar para comunicársela. Para ello -y otras aplicaciones-, se han diseñado los llamados algoritmos de clave pública, que emplean dos claves en lugar de una. Una de ellas, la llamada «pública», se emplea para encriptar el mensaje, que se podrá descifrar únicamente con la privada. Este sistema permite difundir sin peligro la clave pública. Como es lógico, por muy seguro que resulte un algoritmo de encriptación, siempre sucumbirá a un ataque de fuerza bruta, consistente en probar todas las claves posibles. Por este motivo se emplean números descomunales. Conforme crece la potencia de los computadores se emplean claves mayores. El tamaño de clave se mide en bits (dígitos binarios) y, por ejemplo, el algoritmo estándar americano DES (quizá el más utilizado hoy día), emplea claves de 56 bits (72.057.594.037.927.936 posibilidades); los nuevos algoritmos pueden emplear claves de 128 (340.282.366.920.938.463.463.374.607.431.768.211.456 posibilidades).

En el caso de los algoritmos de clave pública, es necesario que, conociendo una de las dos claves, no sea posible conocer la otra; para ello se aprovecha algún problema matemático de difícil resolución. Por ejemplo, en el algoritmo RSA -el más utilizado en la actualidad-, para poder hallar las claves es necesario factorizar un número muy grande, una operación inabordable con números muy grandes, del orden de 1.024 ó 2.048 bits. Aunque si alguien descubriera un método revolucionario -cosa muy improbable- para hacerlo, la clave se volvería inservible.

UN FUTURO CUÁNTICO

Los computadores cuánticos, hoy día en fase temprana de investigación, podrían llegar algún día a facilitar la factorización casi instantánea de los números que hoy empleamos como claves públicas, haciéndolas inservibles. Sin embargo, la física cuántica ofrece a cambio una nueva posibilidad: la criptografía cuántica. Aprovechando las propiedades de las partículas, como el principio de incertidumbre, es posible crear un sistema que permitiría detectar la interceptación del mensaje y al mismo tiempo garantizar su secreto. Se han realizado experimentos que permiten aventurar la viabilidad de tal sistema, aunque para ello faltan aún algunos años. Si los computadores cuánticos llegan a ser una realidad algún día, es posible que la criptografía cuántica tome el testigo en la carrera entre quienes crean los códigos y quienes se dedican a romperlos.

LA ERA MODERNA

Hasta este siglo, la criptografía era un arte guardado en el más celoso secreto. La era moderna de la criptografía comienza cuando Claude E. Shannon publicó, en 1949, su artículo «Communications Theory of Secret Systems», definiendo las propiedades que debía tener un algoritmo de criptografía, convirtiéndola en ciencia. Su publicación en una revista no clasificada dio además el pistoletazo de salida para su investigación pública. Por otro lado, los computadores se han convertido en una herramienta de comunicación, poniendo al alcance del público los más potentes algoritmos.

No hay comentarios.: