Criptografia es la ciencia y arte de escribir mensajes en forma cifrada o en código. Es parte de un campo de estudios que trata las comunicaciones secretas, usadas entre otras finalidad para:
1)Autentificar la identidad de usuarios;
2)Autentificar y proteger el sigilo de comunicaciones personales y de transacciones comerciales y bancarias
3)Proteger la integridad de transferencias electrónicas de fondos.
Los métodos de criptografía actuales son seguros y eficientes y basan su uso en una o más llaves. La llave es una secuencia de caracteres, que puede contener letras, dígitos y símbolos (como una contraseña), y que es convertida en un número, utilizada por los métodos de criptografía para codificar y decodificar mensajes.
Criptografia simétrica
Los sistemas de cifrado simétrico son aquellos que utilizan la misma clave para cifrar y descifrar un documento. El principal problema de seguridad reside en el intercambio de claves entre el emisor y el receptor ya que ambos deben usar la misma clave. Por lo tanto se tiene que buscar también un canal de comunicación que sea seguro para el intercambio de la clave. Es importante que dicha clave sea muy difícil de adivinar ya que hoy en día los ordenadores pueden adivinar claves muy rápidamente. Debemos tener en cuenta que los algoritmos criptográficos son públicos, por lo que su fortaleza debe depender de su complejidad interna y de la longitud de la clave empleada para evitar los ataques de fuerza bruta.
Por ejemplo el algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 72 mil billones de claves posibles. Actualmente ya existen ordenadores especializados que son capaces de probar todas ellas en cuestión de horas. Hoy por hoy se están utilizando ya claves de 128 bits que aumentan el “espectro” de claves posibles (2 elevado a 128) de forma que aunque se uniesen todos los ordenadores existentes en estos momentos no lo conseguirían en miles de millones de años.
El funcionamiento de la criptografía simétrica es el siguiente: el emisor quiere hacer llegar un documento al receptor. Toma ese documento y le aplica el algoritmo simétrico, usando la clave única que también conoce el receptor. El resultado es un documento cifrado que se puede ya enviar tranquilamente. Cuando el receptor recibe este documento cifrado, le aplica el mismo algoritmo con la misma clave, pero ahora en función de descifrar. Si el documento cifrado no ha sido alterado por el camino y la clave es la misma, se obtendrá el documento original.
Las principales desventajas de los métodos simétricos son la distribución de las claves, el peligro de que muchas personas deban conocer una misma clave y la dificultad de almacenar y proteger muchas claves diferentes. La seguridad en clave simétrica reside en la propia clave secreta, y por tanto el principal problema es la distribución de esta clave a los distintos usuarios para cifrar y descifrar la información. La misión del emisor y receptor es mantener la clave en secreto. Si cae en manos equivocadas ya no podríamos considerar que la comunicación es segura y deberíamos generar una nueva clave.
Para superar estas desventajas que presentaba el sistema de criptografía de clave privada se desarrolló en 1976 el sistema de criptografía asimétrica o de clave pública.
También son llamados sistemas de cifrado de clave pública. Este sistema de cifrado usa dos claves diferentes. Una es la clave pública y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella. Para enviar un mensaje, el remitente usa la clave pública del destinatario para cifrar el mensaje. Una vez que lo ha cifrado, solamente con la clave privada del destinatario se puede descifrar, ni siquiera el que ha cifrado el mensaje puede volver a descifrarlo.Por ello, se puede dar a conocer perfectamente la clave pública para que todo aquel que se quiera comunicar con el destinatario lo pueda hacer.
Cuando el emisor quiere hacer llegar un documento al receptor, primero consigue la clave pública del receptor. Con esa clave y el documento original, aplica el algoritmo simétrico. El resultado es un documento cifrado que puede enviar al receptor por cualquier canal. Cuando el mensaje cifrado llega al receptor, éste recupera el documento original aplicando el algoritmo asimétrico con su clave privada.
Si el receptor quiere enviar al emisor una respuesta cifrada, deberá conocer la clave pública del emisor y hacer el procedimiento inverso.
Para superar estas desventajas que presentaba el sistema de criptografía de clave privada se desarrolló en 1976 el sistema de criptografía asimétrica o de clave pública.
Criptografía asimétrica.
También son llamados sistemas de cifrado de clave pública. Este sistema de cifrado usa dos claves diferentes. Una es la clave pública y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella. Para enviar un mensaje, el remitente usa la clave pública del destinatario para cifrar el mensaje. Una vez que lo ha cifrado, solamente con la clave privada del destinatario se puede descifrar, ni siquiera el que ha cifrado el mensaje puede volver a descifrarlo.Por ello, se puede dar a conocer perfectamente la clave pública para que todo aquel que se quiera comunicar con el destinatario lo pueda hacer.
Cuando el emisor quiere hacer llegar un documento al receptor, primero consigue la clave pública del receptor. Con esa clave y el documento original, aplica el algoritmo simétrico. El resultado es un documento cifrado que puede enviar al receptor por cualquier canal. Cuando el mensaje cifrado llega al receptor, éste recupera el documento original aplicando el algoritmo asimétrico con su clave privada.
Si el receptor quiere enviar al emisor una respuesta cifrada, deberá conocer la clave pública del emisor y hacer el procedimiento inverso.
La criptografía asimétrica resuelve las dos desventajas principales de la simétrica:
1)No se necesita canales seguros para mandar la clave. La distribución de claves es más fácil y segura ya que la clave que se distribuye es la pública manteniéndose la privada para el uso exclusivo del propietario.
2)No hay desbordamiento en el tratamiento de claves y canales.
Pero este tipo de algoritmos también tiene desventajas:
1)Son poco eficientes. Las claves deben de ser largas y se tarda bastante tiempo en aplicarlas.
2)Utilizar las claves privadas repetidamente puede hacer que reciban ataques criptográficos que se basan en analizar paquetes cifrados.
3)Hay que proteger la clase privada. Las claves privadas se guardan todas juntas en un archivo llamado keyring, que a su vez está protegido con cifrado simétrico, lo que quiere decir que para usar la clave privada, hay que introducir una clave que descifra el archivo keyring y permita leerla. Esto hace que se necesite una copia de seguridad del llavero keyring.
4)Hay que transportar la clave privada. Por eso hay que transportar el llavero con el riesgo que esto supone. Lo mejor para proteger y transportar la clave privada es la tarjeta inteligente. Una tarjeta inteligente (smart card), es cualquier tarjeta de plástico del tamaño de un bolsillo con circuitos integrados que permiten la ejecución de cierta lógica programada
Hay dos tipos de tarjetas inteligentes:
1)Tarjeta de memoria. Es equivalente e una memoria Flash y se limita a almacenar el llavero.
2)Tarjeta procesadora. La tarjeta de memoria no es segura, sin embargo en las tarjetas procesadoras, aunque también se almacena las claves, nunca salen de la tarjeta. Sigue siendo necesaria la clave simétrica que permita abrir el llavero.
Un ejemplo es la tarjeta SIM de los móviles: para poder usarla hay que introducir el PIN. El PIN siempre es el mismo, ya que va asociado a la tarjeta, aunque la usemos en otro teléfono.
Las tarjetas inteligentes también se puede clasificar por su tipo de interfaz:
1)Tarjeta Inteligente de Contacto. Estas tarjetas son las que necesitan ser insertadas en una terminal con lector inteligente para que por medio de contactos pueda ser leída. Son las más usadas en los bancos, Administración y en entornes de alta seguridad.
2)Tarjeta Inteligente sin Contacto. El lector utiliza tecnologías inalámbricas para interactuar con el chip.

Criptografía híbrida
Este sistema es la unión de las ventajas de los dos anteriores, ya que el problema de ambos sistemas criptográficos es que el simétrico es inseguro y el asimétrico es lento.
Es el sistema de cifrado que usa tanto los sistemas de clave simétrica como el de clave asimétrica. Funciona mediante el cifrado de clave pública para compartir una clave para el cifrado simétrico. En cada mensaje, la clave simétrica utilizada es diferente por lo que si un atacante pudiera descubrir la clave simétrica, solo le valdría para ese mensaje y no para los restantes. Tanto PGP como GnuPG usan sistemas de cifrado híbridos. La clave simétrica es cifrada con la clave pública, y el mensaje saliente es cifrado con la clave simétrica, todo combinado automáticamente en un sólo paquete. El destinatario usa su clave privada para descifrar la clave simétrica y acto seguido usa la clave simétrica para descifrar el mensaje.
Usa la criptografía asimétrica sólo para el inicio de la sesión, cuando hay que generar un canal seguro donde aordar la clave simétrica. La criptografía simetría se usa durante la transmisión, usando la clave simétrica acordada antes, en el inicio de sesión.
Firmas digitales.
Una de las principales ventajas de la criptografía de clave pública es que ofrece un método para el desarrollo de firmas digitales.
La firma digital es el procedimiento por el cual se puede autenticar al emisor de un mensaje y confirmar que el mensaje no ha sido alterado desde que fue firmado por el emisor durante la transmisión y gestión de mensajes electrónicos. La firma digital permite que tanto el receptor como el emisor de un contenido puedan identificarse mutuamente con la certeza de que son ellos los que están interactuando, evita que terceras personas intercepten esos contenidos y que los mismos puedan ser alterados.
Esta firma viene a sustituir a la manuscrita en el mundo de la informática. Es decir, si firmamos de forma digital un documento, le estaremos dando veracidad y como sucede con la firma manuscrita, no podremos decir que no lo hemos firmado nosotros. Sin embargo, una firma manuscrita es sencilla de falsificar mientras que la digital es imposible mientras no se descubra la clave privada del firmante.
Las firmas digitales deben de reunir una serie de propiedades para que puedan ser utilizadas y aceptadas. Entre estas características se encuentran:
a) Únicas: Las firmas deben poder ser generadas solamente por el firmante y por lo tanto infalsificable. Por tanto la firma debe depender del firmante
b) Infalsificables: Para falsificar una firma digital el atacante tiene que resolver problemas matemáticos de una complejidad muy elevada, es decir, las firmas han de ser computacionalmente seguras. Por tanto la firma debe depender del mensaje en sí.
c) Verificables: Las firmas deben ser fácilmente verificables por los receptores de las mismas y, de ser necesario, también por autoridades competentes.
d) Innegables: El firmante no debe ser capaz de negar su propia firma.
e) Viables: Las firmas han de ser fáciles de generar por parte del firmante.
La firma digital se basa en la propiedad sobre que un mensaje cifrado utilizando la clave privada de un usuario sólo puede ser descifrado utilizando la clave pública asociada. De tal manera, se tiene la seguridad de que el mensaje que ha podido descifrarse utilizando la clave pública sólo pudo cifrarse utilizando la privada. La firma digital, por tanto, es un cifrado del mensaje que se está firmando pero utilizando la clave privada en lugar de la pública. Sin embargo, el principal inconveniente de los algoritmos de clave pública es su lentitud que, además, crece con el tamaño del mensaje a cifrar. Para evitar éste problema, la firma digital hace uso de funciones hash. Una función hash es una operación que se realiza sobre un conjunto de datos de cualquier tamaño de tal forma que se obtiene como resultado otro conjunto de datos, en ocasiones denominado resumen de los datos originales, de tamaño fijo e independiente al tamaño original que, además, tiene la propiedad de estar asociado unívocamente a los datos iniciales, es decir, es prácticamente imposible encontrar dos mensajes distintos que tengan un resumen hash idéntico.
• La firma se descifra utilizando la clave pública del firmante, y con ello, se obtiene el valor resumen del documento.
• Se obtiene el valor resumen del documento utilizando el mismo algoritmo que en el proceso de cifrado y se comparan los dos valores resúmenes obtenidos anteriormente, y si estos coinciden entonces la firma es válida; si estos son distintos la firma será nula. Esto hace que cualquier persona que quisiera comprobar tu firma de un documento necesitará tener nuestra clave pública.
Las firmas digitales se utilizan comúnmente para la distribución de software, transacciones financieras y comerciales, así como en otras áreas donde es importante detectar la falsificación y la manipulación, propias del hecho de tener que interactuar habitualmente por redes de ordenadores.
En España, la ley de firma digital aprobada en Diciembre de 2003 (Ley de Firma Electrónica 59/2003) ofrece cobertura legal a las firmas electrónicas. Mediante la firma digital conseguimos integridad (el documento no se puede alterar) y autenticidad (proporciona plena certeza de quien es el autor del mensaje).






