lunes, 16 de febrero de 2009

Criptografia - Una introducción

La criptografia (que es una palabra que proviene del griego y significa "texto oculto") es la ciencia que se encarga de cifrar y descifrar la información mediante técnicas muy avanzadas. El interés primordial de la criptografia es el de proteger la información.


En la sociedad de la información de hoy en dia, la criptografía se ha convertido en una de las principales herramientas para mantener la privacidad y la confianza, lo que tiene aplicaciones en distintos campos: control de acceso a recursos y servicios, autenticación de usuarios, pagos electrónicos, seguridad dentro de las coporaciones, etc. .

Debido a la gran cantidad de algoritmos de encriptación, la criptografía ha dejado de ser un privilegio especial de los gobiernos y de especialistas con grandes habilidades; ahora, la criptografia esta abierta a todo mundo.

Definiciones básicas


En la criptologia, el mensaje que se quiere encriptar es llamado texto plano. El proceso de codificar un mensaje con el fin de ocultar el texto de personas externas es llamado cifrado o encriptación. El texto ya encriptado es llamado texto cifrado. El proceso inverso a la encriptación es llamado desencriptación, que consiste en decodificar el texto cifrado con el fin de obtener nuevamente el texto plano. Los procesos de encriptación y desencriptación necesitan el uso de una llave o key.

La confidencialidad es mantener en secreto el contenido de la información; la integridad de datos consiste en detectar cambios no autorizados en la información; autenticación consiste en verificar que las personas sean quien dicen ser y de esta forma identificar los origenes de la información.

Algoritmos criptográficos básicos


El método para encriptar y desencriptar datos se conoce como algoritmo de encriptación o algoritmo de cifrado. Algunos algoritmos se basan en ocultar el método con el que el algoritmo de encriptación funciona, pero debido al gran auge de la encriptación y ya que hay muchos algoritmos que se han convertido en estandares de la industria la técnica de ocultar el método de funcionamiento de los algoritmos de encriptación se ha vuelto muy poco práctico. Los modernos algoritmos de encriptación basan su uso en llaves.

Hay dos clases de algoritmos de encriptación basados en llaves: los de llave privada o simétricos y los algoritmos de llave pública o asimétricos. La diferencia entre estos dos tipos de algoritmos consiste en que los algorimtos simétricos (de llave privada) utilizan la misma llave para encriptar y desencriptar el mensaje; por otro lado, los algoritmos asimétricos (de llave pública) utilizan una llave para encriptar el mensaje y otra llave completamente distinta para desencriptar el mensaje y es imposible encriptar el mensaje con una llave y desencriptarlo con esa misma llave, ya que las llaves no tienen relación alguna entre si.

Realmente los algoritmos asimetricos tienen dos tipos de llaves: Una llave pública y una llave privada y como su nombre lo indica, la llave pública puede darse a conocer sin problema y la llave privada tiene que esconderse bajo llave. En la vida real, un algoritmo asimétrico tiene el siguiente funcionamiento: Una empresa X (gorgosfot) emite documentos de configuración para sus usuarios y los envia por correo electrónico; la empresa gorgosoft para mejorar la seguridad de sus usuarios encripta sus documentos con un algoritmo de asimétrico (mediante la llave privada); los usuarios al recibir el documento encriptado intentan desencriptarlo con la llave pública que con anterioridad se les proporcionó; ya que los documentos encriptados con la llave privada solo pueden ser desencriptados con lla llave pública, se puede corroborar que los documentos que reciben los usuarios realmente son de gorgosotf. Los algoritmos asimétricos basan su seguridad en que la llave privada efectivamente permanezca privada.

Algunos de los algoritmos simétricos mas usados son: DES y AES (AES es el reemplazo de DES). Por su parte RSA es probablemente el algoritmo asimétrico mas conocido y utilizado.