CONTRATAPA

El secreto del secreto

 Por Adrián Paenza

Secretos. Todos los tenemos. La vida de cualquier persona involucra en algún momento (me atrevería a decir a diario) algún secreto, algo que quiera o tenga que ocultar. Y aunque usted esté tentado a decir “no, yo no tengo nada que ocultar”, es muy probable que utilice un password si tiene acceso a una computadora, o a recibir correspondencia electrónica, o tiene una tarjeta de crédito, o una máquina de la que saca dinero en efectivo, hasta la combinación de una caja de seguridad o de un candado común y corriente. Y ni qué hablar de hacer alguna transacción por Internet que involucre alguna identificación personal.

¿Cuántas veces le contaron o leyó que hay gente interesada en interceptar datos que usted envía por Internet para usarlos maliciosamente? ¿Cuántas veces dudó en enviar –también por Internet– el número de su documento, o su dirección postal o el número de su tarjeta de crédito o de su cuenta bancaria, por temor a que fueran robados? ¿Cuántas veces escuchó usted que para poder garantizar ciertas condiciones mínimas de seguridad, hace falta usar matemática?

Ahora bien, ¿qué “matemática” hay que usar? ¿Y cómo? ¿Cuán seguro es? Con lo que sigue, pretendo contarle cómo se hace, qué se usa y cuán seguros son los métodos que se aplican. Elegí un camino que quiero compartir con usted, pero necesito pedirle algunas cosas antes:

a) Yo voy a hacer algunas cuentas sencillas: multiplicaciones, divisiones y restas. Verifíquelas o créalas, pero advierta que lo que uso son herramientas hipersencillas.

b) Hace falta que recuerde lo que es un número primo. Es decir, números que sólo son divisibles por ellos mismos y por el número uno. Por ejemplo, el 2, 3, 5, 7, 11, 13 son primos. En cambio, 4, 9, 15, 16 no lo son.

c) Por último, piense usted en un número natural cualquiera antes de seguir leyendo (distinto de 0 y de 1). Ese número que está pensando, o bien es primo, o bien es el producto de números primos. Es decir, cualquier número natural es o bien un número primo, o bien se escribe como producto de primos. Por ejemplo, el número 11 es primo y listo. El 19 también. Pero el 21 no es primo y se escribe como (7 x 3). El número 100, tampoco es primo, pero se escribe como (2x2x5x5) *.

La clave de por qué funciona este método consiste en un par de razones muy interesantes.

En principio, si le doy dos números cualesquiera, 3 y 5 por ejemplo, y le digo que los multiplique, la respuesta es obvia: 15.

Al revés: si yo le doy el número 15, y le pido que me diga cuáles son los factores primos que lo componen (o sea, 3 y 5), también es fácil de calcular, porque los números son pequeños.

En cambio, si yo le diera el número 358.566.167 y le dijera que encuentre los dos factores que lo componen, intente y verá que la dificultad es muy grande.

La respuesta es que 18.859 x 19.013 = 358.566.167.

Y si le dijera que encuentre los factores primos de 8.943.587.117, usted tardará un poco más, hasta descubrir que son 62.987 y 141.991.

Es decir, lo que quiero comunicar acá es que calcular el producto de dos números es algo sencillo. Tedioso, pero que no ofrece complicaciones. En cambio, encontrar los factores primos que componen un número, más allá de que también es tedioso, es virtualmente imposible si los números son muy grandes. Y ésta es la clave del método.

Las computadoras más rápidas que se usan hoy tardarían más de 100.000 (cien mil) años en encontrar los factores que componen números, por ejemplo, de más de 400 dígitos, que son los que se utilizan. En consecuencia, no se trata de que el método sea inviolable. De hecho, no es así. Sólo que con lo que sabemos hasta hoy, encontrar esos números es virtualmente imposible.

El tiempo dirá si aparece una nueva manera de factorizar números en sus componentes primos, que no sea usando las herramientas actuales. Si así fuere, habría que revisar todo lo que se está usando, porque todo se transformaría en vulnerable.

Como es archiconocido, los aliados en la Segunda Guerra Mundial lograron decodificar los mensajes de los alemanes y de esa forma lograron invadir Normandía en 1944 y a partir de allí, elaborar el triunfo final. Es decir, tratar de encriptar mensajes es un tema de alta sensibilidad.

Sin embargo, en el año 1976, los científicos norteamericanos Whitfield Diffie y Martin Hellmand, de la Universidad de Stanford, introdujeron una idea revolucionaria: “la clave pública”.

Hasta ese momento, se operaba de la siguiente manera: tanto el emisor como el receptor tenían una llave secreta. El emisor la usaba para cerrar el mensaje (encriptarlo) y el receptor, para abrirlo (desencriptarlo).

La idea de Diffie y Hellmand fue usar teoremas conocidos de Teoría de Números (especialmente resultados de Fermat) para lograr que una de las claves fuera pública. Es decir, ya no importaría que alguien interceptara el mensaje, sino que además, cualquiera podría encriptar lo que quisiera. Usando el método de Diffie y Hellmand, la persona que quiere encriptar un mensaje puede publicar en el diario, si quiere, o donde se le ocurra, cuál es la clave que usa. Pero lo extraordinario del descubrimiento es que por más que uno tenga esos datos, ¡no le sirven para decodificarlo! Eso sí: el receptor del mensaje sí tiene una clave privada que es la que usará para recuperar el mensaje original.

En resumen: el emisor encripta el mensaje usando datos que todo el mundo puede conocer y luego lo envía. El receptor lo desencripta usando la clave privada. Lo notable es que la parte que falta, la clave privada, es inencontrable para cualquier persona que no sea el propio receptor, que no es que la encuentra sino que la tiene en su poder de antemano.

De todas formas, a este proceso le faltaba algo. En teoría, funciona todo perfecto, pero ¿cómo hacer para conseguir una clave que fuera tan privada que nadie pudiera encontrarla? En el año 1977, tres investigadores del MIT (Massachusetts Institute of Technology), Rivest, Shamir y Adleman, elaboraron un algoritmo que resolvió el problema. El algoritmo se conoce con el nombre de RSA (por las iniciales de los autores) y los tres científicos fundaron una compañía RSA Data Security, INC. con la que se transformaron casi instantáneamente en millonarios, luego de haber patentado el proceso que aún hoy es el que se usa en todas partes.

El propio Departamento de Defensa de Estados Unidos interviene en el control de la empresa, ya que la clave es tan inviolable, que permite mandar mensajes que nadie puede desencriptar, poniendo –supuestamente– en riesgo la seguridad de un país.

Como dije antes, la rama de la matemática que interviene en este proceso se llama Teoría de Números. Lo curioso es que el inglés Godfrey H. Hardy, uno de los matemáticos más famosos del siglo XX, escribió: “Prefiero considerar mi campo de investigación como Matemática Pura, ya que nadie ha descubierto aún ninguna utilidad para la guerra aplicando la Teoría de Números o la Relatividad, y me parece muy raro que esto suceda en los próximos años”.

Hardy fue un gran opositor (en aquella época) de toda guerra, pero igual su predicción fue claramente errónea. No hace falta comentar cuán devastador fue para la humanidad el desarrollo de armas nucleares y por otro lado, la Teoría de Números ha sido decisiva en los temas de criptografía. Pero lo interesante del comentario es que lo que en ese momento era considerado un ejercicio intelectual terminó siendo la herramienta clave para el desarrollo de la criptografía moderna. Y todo se debió a la matemática... a la “pura matemática”.

* Nota: Este resultado se conoce con el nombre de Teorema Fundamental de la Aritmética y dice que “todo número entero positivo más grande que 1 se escribe como el producto de números primos, que son únicos salvo el orden”. Es uno de los teoremas más importantes de la matemática. Es muy sencillo de entender, no muy difícil de probar también, pero es esencial para sostener toda la estructura de la aritmética clásica.

Compartir: 

Twitter

 

Logo de Página/12

© 2000-2022 www.pagina12.com.ar | República Argentina | Política de privacidad | Todos los Derechos Reservados

Sitio desarrollado con software libre GNU/Linux.