El propósito de la
criptografía es tomar un mensaje o archivo, conocido como texto simple,
y convertirlo en texto cifrado de tal forma que sólo las personas
autorizadas sepan cómo convertirlo nuevamente en texto simple. Para todos los
demás, el texto cifrado es sólo una sucesión incomprensible de bits.
Su secreto depende de
los parámetros de los algoritmos, a los cuales se les denomina claves.
Si P es el archivo de texto simple, KE es la clave de
cifrado, C es el texto cifrado y E es el algoritmo de cifrado (es
decir, la función), entonces C = E (P, KE).
Ésta es la definición del cifrado, la cual indica que el texto cifrado se
obtiene mediante el uso del algoritmo de cifrado E, con el texto simple P
y la clave de cifrado (secreta) KE como parámetros. La
idea de que todos los algoritmos deben ser públicos y el secreto debe residir
exclusivamente en las claves se conoce como Principio de Kerckhoffs,
formulado por el criptógrafo holandés Auguste Kerckhoffs del siglo XIX. En la
actualidad, la gran mayoría de los criptógrafos han adoptado esta idea.
De manera similar
tenemos que P = D (C, KD), donde D es el
algoritmo de descifrado y KD es la clave de descifrado. Esto
indica que para obtener de vuelta el texto simple P a partir del texto
cifrado C y la clave de descifrado KD, hay que
ejecutar el algoritmo D con C y KD como
parámetros.
Clave Secreta
Para que esto sea más
claro, considere un algoritmo en el que cada letra se sustituye por una letra
distinta; por ejemplo, todas las As se sustituyen por Qs, todas las Bs se
sustituyen por Ws, todas las Cs se sustituyen por Es, y así en lo sucesivo:
Texto simple: A B C D E F G H I J K L M N O P Q R S T U V W
X Y Z
Texto cifrado: Q W E
R T Y U I O P A S D F G H J K L Z X C V B N M
A este sistema
general se le conoce como sustitución monoalfabética, en donde la clave
es la cadena de 26 letras correspondiente al alfabeto completo. La clave de
cifrado en este ejemplo es QWERTYUIOPASDFGHJKLZXCVBNM. Utilizando la
clave anterior, el texto simple ATTACK se transformaría en el texto
cifrado QZZQEA. La clave de descifrado indica cómo obtener de vuelta el
texto simple a partir del texto cifrado. En este ejemplo, la clave de
descifrado es KXVMCNOPHQRSZYIJADLEGWBUFT, debido a que una A en
el texto cifrado es una K en el texto simple, una B en el texto cifrado
es una X en el texto simple, y así sucesivamente.
Clave
Pública
Los sistemas de clave
secreta son eficientes debido a que el monto de cálculos requeridos para cifrar
o descifrar un mensaje es razonable, pero hay una gran desventaja: el emisor y el
receptor deben tener la clave secreta compartida. De hecho, tal vez hasta
tengan que reunirse físicamente para que uno le entregue la clave al otro. Para
resolver este problema se utiliza la criptografía de clave pública (Diffie y
Hellman, 1976). Este sistema tiene la propiedad de que se utilizan distintas
claves para el cifrado y el descifrado, y si se elige bien la clave de cifrado
es casi imposible descubrir la clave de descifrado correspondiente. Bajo estas
circunstancias, la clave de cifrado se puede hacer pública y sólo hay que
mantener secreta la clave de descifrado privada.
¿Cómo funciona la criptografía de clave pública?
Todos eligen un par
(clave pública, clave privada) y publican la clave pública. Esta clave pública
es la clave de cifrado; la clave privada es la clave de descifrado. Por lo
general, el proceso de generación de la clave es automatizado, en donde tal vez
una contraseña seleccionada por el usuario se alimenta al algoritmo como una
semilla. Para enviar un mensaje secreto a un usuario, un corresponsal cifra el
mensaje con la clave pública del receptor. Como sólo el receptor tiene la clave
privada, sólo él puede descifrar el mensaje.
No hay comentarios:
Publicar un comentario