Está en la página 1de 3

Números primos o como jugar a ser espías

INTRODUCCIÓN

La teoría de números tiene numerosas aplicaciones prácticas. Puede que el encontrar los factores
primos que multiplicados nos den el número compuesto de partida parezca una tarea tonta, pero nada
más lejos de la realidad.
Cuando alguien se conecta con su banco a través de una web usa un protocolo especial: https. Éste es
diferente del habitual http, la “s” extra nos garantiza que la comunicación con el banco es segura y que
ningún ladrón va a transferir nuestros fondos a otro sitio.
Las compras en Internet o la conexión a una terminal remota mediante la shell ssh también están
cifradas para mantener a terceros lejos de nuestra tarjeta de crédito o lejos de nuestra cuenta en un
servidor Linux.
Todos esos sistemas usan un sistema de cifrado desarrollado a partir de un algoritmo de finales de los
años setenta denominado RSA (por R. Rivest, A. Shamir y L. Adelman que lo desarrollaron) y basado
en el uso de números grandes. El primer paso de RSA es crear un número compuesto que sea el
producto de dos números primos grandes. A partir de estos números se elaboran las claves privadas y
públicas del sistema.
El RSA, sistema increíblemente elegante y bello, está basado en una clave numérica pública y otra
privada. Supongamos que una tal Cleopatra adoptase este sistema. Entonces podría publicar su clave
pública compuesta por un número m y otro e en los papiros amarillos del Nilo. De este modo,
cualquiera podría mandarle un mensaje secreto traduciendo a números las letras del mensaje, pero
sólo ella podría descifrarlo usando su clave secreta d que es un número apropiado y relacionado
matemáticamente con m y e. En RSA no se necesita mandar clave secreta a nadie y todo el sistema es
“abierto”.
Cleopatra también podría usar su clave privada d para cifrar un mensaje suyo y que cualquiera pueda
descifrarlo con la clave pública que está en los papiros amarillos del Nilo.
Este sistema es tan elegante que incluso permite la firma electrónica. Si Marco Antonio quiere mandar
un mensaje secreto a Cleopatra pero quiere convencerla de que ha sido él quien lo ha mandado puede
hacer lo siguiente:

- Cifrar el mensaje con la clave privada de Marco Antonio y añadir su firma.


- Cifrar el conjunto con la clave pública de Cleopatra.

Cleopatra sólo necesita descifrar el mensaje recibido con su clave privada, eliminar la firma de Marco
Antonio y descifrar el resto con la clave pública de Marco Antonio.
Sustitúyase a Cleopatra y a Marco Antonio por dos computadoras y ya tendremos el comercio
electrónico funcionando.

Toda la seguridad del sistema RSA se basa en que el número m en cada caso (cada usuario tiene uno)
es el producto de dos números primos aleatorios muy grandes p y q que se mantienen en secreto y
que permiten el cálculo del descifrado sin mucha dificultad.
Aunque es relativamente fácil identificar números primos muy grandes, es muy difícil factorizar
(descomponer en factores primos) un número compuesto en sus factores primos. No hay algoritmos
eficientes que lo hagan o nadie los conoce aún. Aunque todo el mundo sepa el valor de m, si es muy
grande no hay manera de calcular p y q de tal modo que p × q = m. Bueno, sí hay manera si el número
es lo suficientemente pequeño y disponemos de suficientes ordenadores potentes, entonces sí es
posible.
INSTALACIÓN DEL PROGRAMA Y SU USO

En nuestro caso lo primero que haremos será descargarnos un programa para windows que realizará
todas las operaciones matemáticas de RSA necesarias. Hay varias versiones que se encuentran en la
página web siguiente:

http://www.gpg4win.org/download.html

A partir de esa página podemos acceder al programa instalador:

Una vez descargado basta hacer clic y pasar las distintas ventanas. En un momento dado nos pedirá
que elijamos componentes y optaremos por los que están por defecto: GPA, GpgOl, GpgEX

Una vez instalado (permite su instalación en español) y antes de empezar a hacer nada lo ideal es
echar un vistazo al manual:

https://files.gpg4win.org/doc/gpg4win-compendium-en.pdf

En castellano se puede usar este:

https://ssd.eff.org/es/module/como-usar-pgp-para-windows-pc

o este:

Comunidad de Madrid

Lo primero será crear las claves, algo que el programa hará automáticamente al ser invocado por
primera vez. Nos pedirá nombre y dirección de correo electrónico. Además nos pedirá crear una copia
de seguridad, si queremos podemos saltar este paso y crear la copia más tarde (casi la mejor opción
para esta actividad).

Luego nos pedirá una frase contraseña (dos veces) y se pondrá a calcular las claves.

Después, el programa pedirá seleccionar un directorio en donde copiar las copias de las claves si así lo
hemos pedido. Esta clave es confidencial y nunca se debe publicar, contiene tanto la clave pública
como la privada. Podemos crear muchas de estas claves si lo deseamos, pero en nuestro caso es
mejor crear sólo una.

Luego hay que extraer la clave pública que se hace haciendo clic sobre “keys” y escogiendo “export
keys”. La clave pública se salvará en un directorio a escoger. Esta clave la podremos publicar en los
papiros amarillos del Nilo para que cualquiera nos pueda cifrar y enviar menajes. En este caso se ha
publicado una (la del profesor) en el aula moodle para realizar esta actividad.

Si queremos usar una clave pública de alguien (como la de la práctica) para poder cifrar mensajes
debemos de importar esa clave con “import keys”.

Gpgwin está integrado en el sistema de tal modo que haciendo clic con le botón derecho del ratón
(menú contextual) y escogiendo “Más opciones GpgEx” podemos cifrar y descifrar mensajes a voluntad
entre otras posibilidades.
TAREA A REALIZAR

¿Qué hay que hacer? Crear un pequeño texto con una opinión vuestra sobre todo esto y que contenga
nombre y apellidos del autor. Este texto se salva con extensión txt y en su nombre tiene que
constar del nombre del alumno y apellidos por ese orden y son acentos ni eñes y finalmente
AA1. Ejemplo: ramon_garcia_garcia_AA1.txt

El texto será en texto plano txt, ni pdf, ni doc, ni docx ni nada similar, sólo
un txt vulgar.
No hay que hacer la trampa de eliminar simplemente la extensión. Para ello basta con usar el wordpad
el notepad o algún programa similar, pero no el Word de Microsoft ni volcarlo tampoco a pdf. Si no se
siguen estas indicaciones la actividad podría ser calificada con un cero.

Una vez se tenga el texto hay que realizar la instalación antes mencionada si no se ha hecho ya,
importar la clave pública del profesor que está en el aula y cifrar ese texto con la clave pública
proporcionada. Esto generará un fichero con extensión gpg. Enviar el resultado por el buzón creado al
efecto. En el nombre de fichero no debe haber ni tildes ni eñes.
Para descargar la clave pública del aula sólo hace falta hacer clic sobre el enlace y salvar en
documento en el ordenador del usuario. Es a partir de ahí cuando se puede importar.

También podría gustarte