Sobre la encriptación de datos

La encriptación es el proceso para volver ilegible información considera importante.

Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, números de tarjetas de crédito, conversaciones privadas, etc.Para encriptar información se utilizan complejas fórmulas matemáticas y para desencriptar, se debe usar una clave como parámetro para esas fórmulas.El texto plano que está encriptado o cifrado se llama criptograma.

Criptografía

La criptografía es el arte o ciencia de cifrar y descifrar información mediante técnicas especiales y se emplea frecuentemente para permitir un intercambio de mensajes que sólo puedan ser leídos por personas a las que van dirigidos y que poseen los medios para descifrarlos.

Las técnicas de cifrado consisten en manipular la información para intentar conseguir:

  • Confidencialidad: que sólo pueda acceder a la información su legítimo destinatario.
  • Autentificación: que tanto el emisor como el receptor puedan confirmar la identidad de la otra parte.
  • Integridad: que la información no pueda ser alterada sin ser esto detectado.

Los sistemas de cifrado se basan en funciones-trampa de un sólo sentido:

Una función de un sólo sentido es aquella cuya computación es fácil, mientras que su inversa resulta extremadamente difícil.
Una función-trampa de un sólo sentido es una función de un sólo sentido que tiene una trampa: si se conoce alguna pieza de la información es fácil computar el inverso. (es fácil multiplicar dos números primos, pero es muy difícil averiguar de qué números primos se trata si sólo nos dan el resultado de esa multiplicación. Sólo se puede resolver fácilmente si se conoce uno de los números primos. )

Métodos Criptográficos:

  • Cifrado simétrico: utilizan una única clave compartida. (privadas)
  • Cifrado asimétrico: utilizan claves públicas y privadas.
  • Funciones hash: asocian un número a un documento.
  • Cifrado híbrido:combina cifrado simétrico, cifrado asimétrico y funciones hash.

CIFRADO ASIMÉTRICO

Las técnicas de cifrado asimétrico se basan en el uso de dos claves, una pública y otra privada, de modo que lo que una de ellas cifra, sólo puede descifrarlo la otra, y viceversa. Se inventaron para evitar el problema del intercambio de claves de los sistemas de cifrado simétricos.
Tanto el emisor como el receptor poseen dos claves: una privada (conocida sólo por él) y una pública (conocida por cualquiera), de manera que no es necesario que el emisor y el receptor intercambien claves secretas. Además, sólo se necesitan un par de claves privada/pública por persona.
El método empleado dependerá de los objetivos buscados:

Confidencialidad

Cifrar un mensaje para enviarlo a un receptor:
Si el emisor desea transmitir un mensaje al receptor, de manera que sólo el receptor pueda conocer su contenido generará el mensaje cifrado utilizando un algoritmo de cifrado asimétrico y la clave pública del receptor.
En este caso sólo se garantiza la confidencialidad del mensaje, ya que sólo el receptor, utilizando el algoritmo inverso y su clave privada podrá reproducir el mensaje original, pero no la identidad del emisor ni la integridad del mensaje. Este método se denomina cifrado simple.
Cifrar un mensaje para guardarlo con seguridad:
si el mensaje lo ciframos con nuestra clave pública, sólo nosotros podremos descifrarlo. Esto se utiliza para proteger archivos que no queremos que nadie pueda leer.

Autentificación:

Si el emisor desea transmitir un mensaje al receptor, de manera que éste tenga garantizado que la única persona que pudo haberlo generado es el emisor, generará el mensaje cifrado utilizando un algoritmo de cifrado asimétrico y su clave privada.
El receptor, utilizando el algoritmo inverso y la clave pública del emisor podrá reproducir el mensaje original. En este caso sólo se asegura la autentificación, no la confidencialidad (ya que la clave pública del emisor es conocida por cualquiera, por lo que cualquiera podría haber obtenido el mensaje) ni la integridad.
Este método se denomina firma digital.

Confidencialidad + Autentificación:

Cuando el emisor desea transmitir un mensaje al receptor asegurando la confidencialidad y la autentificación, realizará los dos pasos anteriores consecutivamente:
primero cifra el mensaje con la clave pública del receptor. A continuación lo firma con su clave privada.
El receptor, utilizando el algoritmo inverso, su clave privada y la clave pública del emisor podrá reproducir el mensaje original. Este méodo se denomina doble cifrado.

ALGORITMOS DE CLAVE SIMÉTRICA

Diffie-Hellman.- permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada).
RSA.- es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario.
Cuando se quiere enviar un mensaje, el emisor busca la clave pública de cifrado del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, éste se ocupa de descifrarlo usando su clave oculta.
Emplea expresiones exponenciales en aritmética modular.

DSA (Algoritmo de Firma digital) es un estándar del Gobierno Federal de los Estados Unidos de América o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnología, este algoritmo como su nombre lo indica, sirve para firmar y no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA.
ElGamal.- se refiere a un esquema de cifrado basado en problemas matemáticos de algoritmos discretos. Es un algoritmo de criptografía asimétrica basado en la idea de Diffie-Hellman y que funciona de una forma parecida a este algoritmo discreto.
El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como para cifrar o descifrar.

Criptografía de curva elíptica

Los sistemas de criptografía asimétrica o de clave pública utiliza dos claves distintas: una de ellas puede ser pública, la otra es privada. La posesión de la clave pública no proporciona suficiente información para determinar cuál es la clave privada. Este tipo de sistemas se basan en la dificultad de encontrar la solución a ciertos problemas matemáticos.