7.2.1
La criptografía
la misma clave para encriptar (o cifrar) y desencriptar (o Por ejemplo
para desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
Por lo general, este tipo de algoritmos
orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos son extremada
posibles [22].
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de cifrado por bloques
los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso bit a bit) [21], [22]. Dentro de los algorit
siguientes algoritmos: DES,
algoritmos de cifrados de flujo se encuentran: RC4, SEAL, La capacidad de los algoritmos para resistir a dif fuerza
más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave. El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir cada vez
Tipos de Criptografía
Criptografía Simétrica
La criptografía
la misma clave para encriptar (o cifrar) y desencriptar (o
Por ejemplo, el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
Por lo general, este tipo de algoritmos
orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos son extremadamente rápidos a la hora de cifrar datos y poseen un gran número de
posibles [22].
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de cifrado por bloques
los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso bit a bit) [21], [22]. Dentro de los algorit
guientes algoritmos: DES,
algoritmos de cifrados de flujo se encuentran: RC4, SEAL, La capacidad de los algoritmos para resistir a dif
fuerza (strength). La fuerza de los algoritmos se basa en varios factores,
más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave. El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir cada vez más tiempo en
Figura 7.1: Proceso simplificado de encriptación y desencriptación.
Tipos de Criptografía
Criptografía Simétrica
La criptografía simétrica
la misma clave para encriptar (o cifrar) y desencriptar (o
, el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
Por lo general, este tipo de algoritmos
orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos
mente rápidos a la hora de cifrar datos y poseen un gran número de
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de cifrado por bloques (Block Ciphers
los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso bit a bit) [21], [22]. Dentro de los algorit
guientes algoritmos: DES, CAST,
algoritmos de cifrados de flujo se encuentran: RC4, SEAL, La capacidad de los algoritmos para resistir a dif
). La fuerza de los algoritmos se basa en varios factores,
más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave. El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir
tiempo en él para
Proceso simplificado de encriptación y desencriptación.
Tipos de Criptografía
Criptografía Simétrica
simétrica engloba a todos aquellos algoritmos criptográficos que utilizan la misma clave para encriptar (o cifrar) y desencriptar (o
, el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
Por lo general, este tipo de algoritmos
orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos
mente rápidos a la hora de cifrar datos y poseen un gran número de
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de Block Ciphers) y los algoritmos de cifrados de flujo
los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso bit a bit) [21], [22]. Dentro de los algorit
CAST, Blowfish
algoritmos de cifrados de flujo se encuentran: RC4, SEAL, La capacidad de los algoritmos para resistir a dif
). La fuerza de los algoritmos se basa en varios factores,
más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave. El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir
para probar todas las posibles claves utiliz Proceso simplificado de encriptación y desencriptación.
engloba a todos aquellos algoritmos criptográficos que utilizan la misma clave para encriptar (o cifrar) y desencriptar (o
, el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
Por lo general, este tipo de algoritmos utilizan las claves que generan en un determinado orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos
mente rápidos a la hora de cifrar datos y poseen un gran número de
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de y los algoritmos de cifrados de flujo
los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso bit a bit) [21], [22]. Dentro de los algoritmos de cifrado por bloques se encuentran los Blowfish, IDEA, AES, etc., y por su parte, dentro de los algoritmos de cifrados de flujo se encuentran: RC4, SEAL,
La capacidad de los algoritmos para resistir a dif
). La fuerza de los algoritmos se basa en varios factores,
más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave. El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir
probar todas las posibles claves utiliz Proceso simplificado de encriptación y desencriptación.
engloba a todos aquellos algoritmos criptográficos que utilizan la misma clave para encriptar (o cifrar) y desencriptar (o descifrar
, el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
utilizan las claves que generan en un determinado orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos
mente rápidos a la hora de cifrar datos y poseen un gran número de
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de y los algoritmos de cifrados de flujo
los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso mos de cifrado por bloques se encuentran los , IDEA, AES, etc., y por su parte, dentro de los algoritmos de cifrados de flujo se encuentran: RC4, SEAL, WAKE,
La capacidad de los algoritmos para resistir a diferentes tipos de ataques es llamada ). La fuerza de los algoritmos se basa en varios factores,
más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave. El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir
probar todas las posibles claves utiliz Proceso simplificado de encriptación y desencriptación.
engloba a todos aquellos algoritmos criptográficos que utilizan descifrar) uno o más mensajes [22]. , el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
utilizan las claves que generan en un determinado orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos
mente rápidos a la hora de cifrar datos y poseen un gran número de
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de y los algoritmos de cifrados de flujo (Stream Ciphers los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso mos de cifrado por bloques se encuentran los , IDEA, AES, etc., y por su parte, dentro de los
WAKE, etc.
erentes tipos de ataques es llamada ). La fuerza de los algoritmos se basa en varios factores, pero quizás uno de los más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave.
El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir probar todas las posibles claves utilizadas en el proceso de engloba a todos aquellos algoritmos criptográficos que utilizan ) uno o más mensajes [22]. , el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
utilizan las claves que generan en un determinado orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos mente rápidos a la hora de cifrar datos y poseen un gran número de claves
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de tream Ciphers los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso mos de cifrado por bloques se encuentran los , IDEA, AES, etc., y por su parte, dentro de los
erentes tipos de ataques es llamada pero quizás uno de los más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave.
El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir adas en el proceso de 50 engloba a todos aquellos algoritmos criptográficos que utilizan ) uno o más mensajes [22]. , el emisor encripta un mensaje con una clave K, este lo envía al receptor, el cual ara desencriptar el mensaje debe poseer la misma clave K que utilizó el emisor para encriptar el mensaje, de caso contrario no podrá obtener la información contenida en dicho mensaje.
utilizan las claves que generan en un determinado orden para encriptar y para desencriptar simplemente invierte el orden de las claves utilizadas en el proceso de cifrado. Un par de características importantes es que los algoritmos simétricos claves
Los algoritmos criptográficos simétricos se dividen en dos categorías: los algoritmos de tream Ciphers). En los algoritmos de cifrado por bloques se encriptan los datos en bloques de tamaño fijo de bits mientras que en los algoritmos de cifrados de flujo los datos se encriptan byte a byte (o incluso mos de cifrado por bloques se encuentran los , IDEA, AES, etc., y por su parte, dentro de los
erentes tipos de ataques es llamada pero quizás uno de los más importantes es el largo de la clave utilizada y como se mantiene en secreto dicha clave.
El largo de clave es importante a la hora de realizar un ataque de fuerza bruta, ya que a mayor cantidad de bits, el ataque se vuelve cada vez más inviable debido a que se debe invertir adas en el proceso de
51 cifrado. Cada vez que la clave aumenta en un bit, el espacio de claves posibles que acepta el algoritmo aumenta al doble, es decir que el número de claves es igual a 2(número de bits). Por ejemplo, si se intenta llevar a cabo un ataque de fuerza bruta con una tecnología que permita probar 1 billón de claves por segundo sobre dos algoritmos, uno que utilice 40 bits de clave y otro que utilice 128 bits de clave, se necesitarían aproximadamente 18 minutos y 1022 años, respectivamente, para probar todas las claves posibles utilizadas por cada uno de los algoritmos criptográficos y quizás llegar a dar con la clave correcta empleada en el proceso de cifrado. Con este ejemplo queda en manifiesto la robustez que entrega el largo de clave y el efecto provocado por la adición de más bits a esta, es por esto que se utilizan otras técnicas más efectivas y viables para intentar probar la fuerza de un sistema criptográfico, las cuales se detallarán más adelante.
7.2.2
Criptografía Asimétrica
La criptografía asimétrica engloba a todos aquellos algoritmos que utilizan una clave para encriptar un mensaje y otra para desencriptarlo. Generalmente, la clave que se utiliza para cifrar el mensaje es denominada clave pública, mientras que la que se emplea para descifrar el mensaje se denomina clave privada [22], por lo tanto, ambas claves en conjunto forman un par de claves. Muchas veces la criptografía asimétrica también es denominada criptografía de clave pública. Algunos algoritmos asimétricos son: RSA, ElGamal, Diffie-Hellman, etc.
Los algoritmos criptográficos asimétricos generalmente emplean longitudes de claves mucho mayores que los algoritmos criptográficos simétricos. Por ejemplo, para algoritmos simétricos se considera segura una clave de 128 bits, mientras que para un algoritmo asimétrico se recomiendan claves de 2048 bits. Por otro lado, los algoritmos asimétricos son mucho más lentos que los algoritmos simétricos, es por esto que en la práctica se utilizan únicamente para cifrar la clave de sesión simétrica que se empleará en una determinada transacción o para un intercambio de mensajes [21].
Una aplicación importante de la criptografía de clave pública es la llamada firma digital, la cual sirve para autenticar mensajes. Para esto, necesita de la ayuda de las funciones Hash (que serán explicadas en el siguiente punto), las cuales sirven para generar un archivo considerablemente más pequeño que el archivo original que se desea enviar. El proceso de generación y comprobación de la firma digital funciona de la siguiente manera: A desea enviar un mensaje autenticado a B, entonces A genera un archivo Hash del mensaje original, luego A cifra el archivo Hash con su clave privada y envía este junto al mensaje original a B. Cuando B recibe los dos archivos, descifra el archivo Hash con la clave pública de A, y a su vez genera un archivo Hash del mensaje original que recibió. Si ambos archivos Hash coinciden en su valor, quiere decir que el mensaje recibido es de A y no puede ser de otro emisor, en caso contrario, B puede asumir que no conoce el emisor del mensaje y descartarlo, o incluso que ha sido cambiado por un atacante. El proceso de cifrado utilizando algoritmos asimétricos, como el de firma digital, se muestran en la Figura 7.2.
7.2.3
Las funciones arbitrario,
típicamente entre 128 y 256 bits [22], [23]. la Figura
las aplicaciones de algunos de ellos, como se expuso anteriormente en firma digital.
Estas funciones tienen otras propiedades, que combinadas permiten obtener una función Hash segura. Estas son:
Figura
Funciones Hash
Las funciones
arbitrario, devolviendo como resultado de su operación un valor hash de largo fijo, típicamente entre 128 y 256 bits [22], [23].
Figura 7.3. Si bien las funciones Hash no son algoritmos criptográfico aplicaciones de algunos de ellos, como se expuso anteriormente en firma digital.
Estas funciones tienen otras propiedades, que combinadas permiten obtener una función Hash segura. Estas son:
7.2: Criptografía asimétrica utilizada para cifrar mensajes o para firma digital.
Funciones Hash
Las funciones Hash (o
devolviendo como resultado de su operación un valor hash de largo fijo, típicamente entre 128 y 256 bits [22], [23].
Si bien las funciones Hash no son algoritmos criptográfico aplicaciones de algunos de ellos, como se expuso anteriormente en
Estas funciones tienen otras propiedades, que combinadas permiten obtener una función Hash segura. Estas son:
Criptografía asimétrica utilizada para cifrar mensajes o para firma digital.
(o Message Digest Functions
devolviendo como resultado de su operación un valor hash de largo fijo, típicamente entre 128 y 256 bits [22], [23].
Si bien las funciones Hash no son algoritmos criptográfico aplicaciones de algunos de ellos, como se expuso anteriormente en
Estas funciones tienen otras propiedades, que combinadas permiten obtener una función Criptografía asimétrica utilizada para cifrar mensajes o para firma digital.
Message Digest Functions
devolviendo como resultado de su operación un valor hash de largo fijo, típicamente entre 128 y 256 bits [22], [23]. Su funcionamiento de forma abstracta se ilustra en
Si bien las funciones Hash no son algoritmos criptográfico aplicaciones de algunos de ellos, como se expuso anteriormente en
Estas funciones tienen otras propiedades, que combinadas permiten obtener una función