![]() |
![]() |
||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
Criptografía La criptografía desde siempre, desde los tiempos de la Grecia Clásica en la Cultura Occidental por ejemplo, ha sido una componente esencial de la seguridad en las comunicaciones. Si bien hasta mediados del siglo XX era del dominio casi exclusivo de sectores gubernamentales (militares y diplomáticos) o de grandes corporaciones (la Iglesia Católica por ejemplo) en la actualidad se utiliza por toda la sociedad, en cualquier comunicación digital. La criptografía proporciona servicios de confidencialidad, de integridad de mensajes, de autenticación de mensajes y de usuarios y de establecimiento de compromisos (no-repudio, avales, pronósticos, apuestas, etc.) entre muchos otros. En las comunicaciones a través de la world wide web, las transacciones seguras se hacen con el protocolo https y cualquier navegador las identifica mostrando un candado a cada usuario. De hecho la capa de seguridad de Internet, SSL (Secure Socket Layer) o TLS (Transport Layer Security)9, implementa procedimientos criptográficos y éstos son de uso universal acaso de manera inconsciente por los usuarios. Al hacer uso de cajeros automáticos o de consultas bancarias en-línea, de tiendas con comercio electrónico, de votaciones electrónicas, de firmas electrónicas ante la Secretaría de Hacienda10 en el caso mexicano o ante cualquier autoridad hacendaria en cualquier otro país, se está utilizando a la criptografía. Incluso varios países, España11 entre ellos, tienden a expedir carnets de identidad a sus ciudadanos en los que se integra una firma electrónica a la identidad de cada uno de ellos. La criptografía de clave pública se usa de manera extensa y se ha estandarizado12; cualquier proveedor de servicios criptográficos debe ajustarse a los estándares técnicos establecidos, tanto en lo tocante a la codificación de la información como a la implementación de los procedimientos matemáticos.
En todo esquema criptográfico hay objetos sintácticos de tres tipos: mensajes, cifrados y claves (o si se quiere, llaves), y dos funciones determinantes, una de cifrado (en inglés, encryption) y otra de descifrado (en inglés, decryption). Dada una clave de cifrado, la función de cifrado transforma cada mensaje en un cifrado único; recíprocamente, dada una clave de descifrado, la función de descifrado transforma cada cifrado en un mensaje único. Dos claves, una de cifrado y otra de descifrado, corresponden entre sí toda vez que al descifrar con la clave de descifrado, el cifrado obtenido con la función y la clave de cifrado en un mensaje, se obtiene ese mismo mensaje, y, recíprocamente, al cifrar con la clave de cifrado, el mensaje obtenido con la función y la clave de descifrado en un cifrado, se obtiene ese mismo cifrado. Los esquemas criptográficos en los que toda clave corresponde consigo misma se dicen ser simétricos o de clave secreta. En ellos cualquier usuario que conozca una clave podrá cifrar y descifrar cualesquiera mensajes y cifrados obtenidos de ellos con esa clave. Por eso, el dueño de cada clave la debe mantener en secreto, y compartirla sólo con sus corresponsales autorizados, y evitar así intrusiones no-autorizadas. Cuando la clave de cifrado es distinta de su correspondiente de descifrado, el esquema criptográfico se dice ser asimétrico o de clave pública. Cada usuario, digamos Alicia, ha de poseer dos claves: una para cifrar, llamada clave pública, que denotaremos CPubA, y otra para descifrar, llamada clave privada, que denotaremos CPrvA. Alicia puede publicar su clave CPubA, por lo que todo corresponsal, digamos Beto, puede cifrar mensajes que le quiera enviar a Alicia, aunque sólo ella, siendo la única poseedora de CPrvA podrá descifrar. Alicia, junto con sus corresponsales, mantiene así la confidencialidad de los mensajes dirigidos a ella. Por otra parte, dado un mensaje originado por Alicia, ella le puede concatenar el descifrado del mensaje obtenido con su clave privada CPrvA. Cuando Beto recibe el mensaje y ese descifrado, a este último lo cifra con la clave pública CPubA y al ver que el resultado coincida con el mensaje tendrá evidencia de que éste proviene efectivamente de Alicia. El descifrado hace pues las veces de una firma criptográfica y sirve para autenticar a Alicia ante Beto. En suma, en todo sistema criptográfico se tiene una función de cifrado E:{Claves}×{Mensajes}→{Cifrados} y una de descifrado D:{Claves}×{Cifrados}→{Mensajes} tales que para cada clave CPub existe una clave CPrv de manera que
En los esquemas de clave secreta, CPrv, coincide con la pública CPub, pero en los esquemas de clave pública obligadamente CPrv es distinta de CPub. Por un lado, fija la clave CPub, se quiere que el cifrar con esa clave, es decir, el cálculo de la transformación M C=E(CPub,M), sea muy eficiente; y, por otro lado, que su transformación inversa C M=D(CPrv,C) sea tan cara en cuanto a recursos de cómputo que en la práctica sea irrealizable. En términos técnicos, lo que se quiere es que la función de cifrado sea unidireccional (en inglés: trapdoor one-way function). La robustez de un sistema de clave pública radica en el hecho de que aun cuando sean conocidos los procedimientos de cifrado y descifrado, es decir, las funciones E y D, y una clave pública CPub, el cálculo de la correspondiente clave privada CPrv sea computacionalmente intratable.
|
|
||||||||||||||||||||||||||||||||||
D.R. © Coordinación de Publicaciones Digitales Dirección General de Servicios de Cómputo Académico-UNAM Ciudad Universitaria, México D.F. Se autoriza la reproducción total o parcial de los artículos aquí presentados, siempre y cuando se cite la fuente completa y su dirección electrónica |
|||||||||||||||||||||||||||||||||||