¿Qué tan segura es la codificación de las tarjetas de crédito?

!Comparte!

Comprar por internet se ha hecho muy común últimamente, considerando sus múltiples beneficios en cuanto a costo y acceso. Sin embargo, podemos caer en el temor de ser víctimas de los ladrones informáticos, conocidos como los hackers maliciosos; de quienes se han tenido algunos casos de robos millonarios.

Toda la cuenta bancaria está salvaguardada en números encriptados en el cual se tiene acceso fácilmente en la tarjeta misma, pero que contiene un artilugio importante en el manejo de la seguridad encriptada del acceso a la información y autorización de la cuenta a través de esta vía: el misterio de los números primos. Ésta es la clave, son los números primos.

Pero, ¿Qué tienen de especial éstos números? Pues bien, así como en química toda materia está formado por átomos, en matemáticas todo número entero está formado por números primos, que son aquellos números divisibles solamente entre sí mismo y entre 1. La teoría de números ha tratado, con exhaustivos esfuerzos empero efímeros resultados, comprender la distribución de los números primos. En efecto, el considerado problema del milenio, sobre la Hipótesis de Riemann, tiene como fin afirmar la conjetura de una posible propiedad compleja de este conjunto de números, que afirma que la parte real de todo número complejo s=-1/2 es cero en la función zeta de Riemann,

La función zeta de Riemann.

y como recompensa el Instituto Clay de Matemáticas remunera con USD 1.000.000 (un millón de dólares americanos) a quien logre resolverlo; y considero que aunque el monto es poco, teniendo en cuenta la dificultad del problema, la inmortalidad no se le es ajena a quien lo resuelva. Pero esto es historia aparte.

Uno de los métodos de codificar un mensaje es el que se conoce como RSA, usando una técnica de clave pública desarrollado en 1976 por parte de Diffie y Hellman en el artículo New Directions in Cryptography. Aquí se usa el hecho de que un número lo podemos separar como producto de números primos, y asegurar así que el código generado por éste es único.

Descripción del sistema RSA

Para utilizar el sistema RSA debemos tener en cuenta que el receptor recibirá un mensaje que contiene una clave pública (sí, cualquiera lo puede saber) y otra clave privada. Se eligen dos números primos p y q que son suficientemente grandes, ésta debe ser la parte privada de la clave. Se toma así el número n=p.q y se procede la clave de la siguiente forma:

donde los valores Zn no son más que el conjunto de números {1 , 2 , 3 , … , n}. Y a≡b mod n (se lee «a es congruente con b módulo n«) si a y b tienen los mismos restos al dividir entre n o bien n divide a a-b.

Ahora, la idea de esta criptografía es enviar un número importantísimo a alguien, tan importante que no quisiera que cualquiera supiera cuánto es, pero quisiera enviar [en ocasiones por su comodidad] a través de un medio en el cual cualquiera podría tener acceso (como lo fue el telégrafo o lo es internet). Entonces tendría que poseer el receptor una clave privada, que sólo éste y el emisor tendrían acceso, es aquí donde actúan los números primos, y esta es la parte sustancial de la decodificación, pues como no existe aún una forma de descomponer de forma sencilla un número conformado por dos primos, es difícil desentrañar el código con el método mencionado.

Continuando con el método RSA, lo que se hace es enviar algún código de números, digamos 2 13 7 (claro, mientras más largo mejor) y supongamos que nuestros números primos elegimos 3 y 11, así n=33. Luego consideramos φ(33)=(3-1)(11-1)=20 y supongamos que nos dicen que b=3 entonces a=7, aquí n y b ya son públicos, pero necesitamos codificar para que nadie lea nuestro mensaje. Entonces, el 2 del código transformamos con la operación mencionada, e(2)=2^3=8 y debemos encontrar el menor número que restado con 8 sea divisible entre 20, claramente el mismo 8. Haciendo esto para los demás tenemos:

Así, el código que enviamos es 8 17 3 en carácter público. En realidad los códigos en las tarjetas no son realmente los códigos que procesa toda la información, sino transformaciones de la clave que es privada. Y si este código se quisiera descifrar simplemente se procede a efectuar la otra función eK(y), usando 7 en lugar de 3 en nuestro caso particular (se deja a criterio del lector si quiere comprobar que realmente se obtiene 2 13 7).

Finalmente, podemos sostener que a pesar de que este método es relativamente sencillo, poder descomponer un número conformado por la multiplicación de dos números primos muy grandes (hablamos de miles de dígitos) es bastante difícil. Sin embargo, resolver la gran conjetura de los números primos, como lo es la Hipótesis de Riemann, colapsaría todo el sistema bancario y demás códigos secretos en todo el mundo; y su solución en manos equivocadas podría ser una catástrofe, eso sí, si antes no se utiliza otro método de encriptación y decodificación de claves.

!Comparte!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *