Algoritmo
RSA
Hoy el algoritmo RSA es
uno de los algoritmos de criptografía de clave pública utilizados para el
cifrado y descifrado por muchos proveedores. Este un algoritmo de primera
generación que se utiliza para proporcionar la seguridad de los datos. Se puede
cifrar un mensaje sin la necesidad de intercambiar una clave secreta separada.
El algoritmo RSA se puede utilizar para el cifrado de clave pública y firmas
digitales. Su seguridad se basa en la dificultad de factorizar enteros grandes.
La Parte A1 puede enviar un mensaje cifrado a las partes B1 sin ningún
intercambio de claves secretas previo. A1 utiliza la clave pública B1 para
cifrar el mensaje y B1 lo descifra utilizando la clave privada, que sólo él
conoce. RSA también se puede utilizar para firmar un mensaje, por lo que A1
puede firmar un mensaje utilizando su clave privada y B1 puede verificar
utilizando la clave pública del A1. El algoritmo RSA contiene tres pasos a
saber de generación de claves, cifrado y descifrado. Aquí está la generación de
proceso clave que primero es elegir dos números aleatorios p y q. A
continuación, el número n se debe calcular: n = pq.
A partir de entonces
una función φ (n) se calcula: φ (n) = (p - 1) (q - 1). También un número entero
e se elige de manera que 1 <e <φ (n).
Por último, el valor de
d se calcula: D = E-1 mod φ (n), de forma que: φ mod de (n) = 1, y E y φ (n)
son “co-prime”. El resultado (n, d) es la clave privada y (n, e) es la clave
pública.
El cifrado de un texto
m se calcula por: c = me mod n, y descifrado de un texto se calcula mediante: m
= cd mod n.
Seguridad del algoritmo RSA
Hay una gran cantidad
de ataques iniciales sobre RSA, que no son tan poderosos, porque hay mejoras
añadidas a RSA, pero una de la más famosa de estas mejoras es el uso de un
módulo común para todos los usuarios, por ejemplo, no elegir diferentes n = pq
para cada usuario. Este problema puede ocurrir en un sistema, donde una
autoridad central de confianza genera claves públicas y privadas para los
usuarios mediante el uso de un valor fijo para n. En este caso el usuario A1
puede factorizar el módulo n, utilizando sus propios exponentes, E y D.
Entonces A1 puede utilizar la clave pública de B1 para recuperar su clave
privada. La solución es simplemente no utilizar un n diferente para cada
usuario. Este ataque no es aplicable en los sistemas, en los que cada usuario
genera el par de claves en su / su máquina. Aquí el valor de n debe ser
diferente para cada usuario. Otros de los ataques contra RSA se llama ataque de
sincronización o temporización. Cuando un usuario A1 utiliza el algoritmo RSA
para la firma digital o cifrado / descifrado, un atacante puede especificar la
clave privada midiendo el tiempo que se tarda en ejecutar la firma o el
descifrado. Este ataque se podría aplicar en los sistemas que están conectados
a una red, por ejemplo, usando una tarjeta inteligente. El intruso no pueda
leer el contenido de la tarjeta inteligente, ya que es resistente al acceso no
autorizado, pero él puede determinar la clave privada mediante el uso de
ataques de temporización. Una de las posibilidades para hacer frente a un
ataque de temporización es añadir algo de retraso en el proceso, ya que el
proceso siempre toma una cantidad fija de tiempo.
Algoritmos de Criptografía de curva elíptica (ECC)
Algoritmos de Criptografía de curva elíptica (ECC)
La Criptografía de
curva elíptica es un algoritmo de cifrado seguro y más eficiente que RSA ya que
utiliza tamaños de clave más pequeñas para mismo nivel de seguridad en
comparación con RSA. Por ejemplo, una clave pública ECC de 256 bits proporciona
una seguridad equivalente a una clave pública RSA de 3072 bits. La Criptografía
de curva elíptica (ECC) fue introducida en 1985 por Victor Miller (IBM) y Neal
Koblitz (Universidad de Washington) como un mecanismo alternativo para la
aplicación de la criptografía de clave pública. Los algoritmos de clave pública
proporcionan un mecanismo para el intercambio de claves entre un gran número de
participantes en un sistema de información compleja. En comparación con otros
algoritmos famosos como RSA, ECC se basa en logaritmos discretos que son mucho
más difíciles de desafiar a longitudes de claves similares. Cada participante
en la criptografía de clave pública tendrá dos claves, una clave pública y una
clave privada, que se utiliza para las operaciones de cifrado y descifrado.
clave pública se distribuye a todos los participantes en tanto que la clave
privada se sabe que solamente un participante en particular.
Estándar de Encriptación de Datos (DES)
Estándar de Encriptación de Datos (DES)
Data Encryption
Standard (DES) es un cifrado de bloques con 64 bits de tamaño de bloque. Fue
desarrollado por IBM en la década de 1970, y se aprobó en los Estados Unidos de
América como una técnica de codificación estándar en 1976. En primer lugar, se
utiliza sobre todo en los Estados Unidos de América, y luego se hizo más y más
popular en todo el mundo. DES está utilizando sustituciones y transposiciones
uno después de otro en 16 ciclos de una manera muy complicada. Para este
algoritmo, la longitud de clave se fija en 56 bits, lo que parece demasiado
débil, mientras que se ha demostrado que el poder de los recursos informáticos
es cada vez más y más. Sin embargo, es útil mencionar que 3DES, también llamado
triple DES, es un método de hacer un DES más difícil de descifrar. 3DES utiliza
DES tres veces en cada bloque de datos, y de esta manera se aumenta la longitud
de la clave. De hecho, se utiliza un "manojo de llaves" que contiene
tres claves DES, K1, K2 y K3, con cada uno de ellos de 56 bits.
Estándar de Encriptación Avanzado (AES)
La debilidad del DES ha
sido aceptada; En enero de 1997 el NIST (Instituto Nacional de Estándares y
Tecnología) anunció que en lugar de DES, se utilizará un nuevo método como AES
(Advanced Encryption Standard). Esto condujo a una competencia entre los
miembros de la comunidad criptográfica abiertas, y en nueve meses, el NIST
recibió quince algoritmos diferentes de varios países. En 1999, desde que el
NIST recibió los algoritmos, eligió el algoritmo de "Rijndael", que
fue desarrollado por dos criptógrafos holandeses, Vicente Rijmen y Joan Daemen.
Este algoritmo se convirtió oficialmente en el algoritmo de cifrado AES en
2001. AES es un cifrado de bloques con 128 bits de tamaño de bloque. En AES la longitud
de la clave es variable (no fija), entonces puede ser de 128, 192 y 256 bits (y
probablemente más). La estructura de AES se crea principalmente de técnicas de
encriptación tales como sustituciones y transposiciones. Igual que el DES, AES
utiliza ciclos repetidos, que son 10, 12 o 14 ciclos (llamadas rondas en AES).
Con el fin de lograr la confusión y difusión perfecta, cada ronda contiene
cuatro pasos. Estos pasos son sustituciones, transposiciones, cambio de los
bits y la aplicación de OR exclusivo a los bits.
Modos de Operación para AES
AES es un cifrado de
bloques, por lo que los datos se dividen en varios bloques y cada bloque se
encripta por separado. A modo de operación se puede definir como el proceso que
se realiza durante el cifrado / descifrado para cada bloque de datos. La
mayoría de los modos de operación están utilizando un vector conocido como
vector de inicialización (IV), que es un bloque de bits. IV se utiliza para
hacer el proceso de cifrado al azar, de manera que el texto cifrado
correspondiente sería diferente cada vez, incluso si los mismos datos se cifra
varias veces. Hay muchos modos de operaciones, pero NIST ha aprobado seis modos
para la confidencialidad de los datos, a saber, BCE (Electronic Libro de
códigos), CBC (Cipher Block Chaining), CFB (Cipher Votación), OFB (Output
Votación), CTR (Contador), y XTS-AES.
Seguridad de AES
Seguridad de AES
En cuanto a la
seguridad de AES, no se ha encontrado ningún defecto en el algoritmo. Este
algoritmo se ha usado durante dos años para ser analizado antes de ser aprobado
en EE.UU. Es suficiente para demostrar la calidad y la integridad de AES. La Seguridad
de la clave es fuerte en AES, debido a que la longitud de clave mínima es al
menos dos veces la longitud de la clave utilizada para el DES. Las rondas y
longitud de la clave no se limitan, por lo que, si llegamos lo suficientemente
cerca como para romper clave mediante el uso de los recursos informáticos de
gran alcance, es posible aumentar la longitud de la clave y el número de
rondas. Hay un sitio web, donde se indican las investigaciones y actividades
sobre AES. El último trabajo de investigación acerca de la seguridad de AES se
presentó en 2009. Es un cifrado AES con longitudes de clave de 192 y 256 bits.
Aquí el ataque utiliza el nombre de “clave relacionada Boomerang". El
documento concluye que este ataque es la única amenaza teórica, y en la acción
no es posible. La complejidad de los datos y el tiempo son tan altos, que es
casi imposible de manejar con la tecnología existente.
Referencias
Hashem, Sajjad (West Azarbayjan
University). (Agosto de 2013). AIRCC Publishing Corporation. Obtenido de Journal:
http://airccse.org/journal/ijsptm/papers/2413ijsptm01.pdf
No hay comentarios:
Publicar un comentario