Algoritmos de Seguridad y Criptografía
Algoritmos de Seguridad y Criptografía
Algoritmos de Seguridad y Criptografía
Daniel Hernández Carlos Muñoz Mauricio Nagua Daniel Villafuerte José Zambrano
INTRODUCCIÓN
La criptografía es una técnica o método para proteger
nuestra información de personas con malas intenciones. Los
algoritmos de cifrado se clasifican en dos tipos: el primero es
el cifrado de clave simétrica y el segundo el cifrado de clave
asimétrica. En el cifrado de clave simétrica, se utiliza la misma
clave para cifrar y descifrar los datos. La clave debe ser
compartida antes de enviarla al remitente y
receptor. La longitud de la clave juega un papel importante en
el cifrado de clave simétrica. 3DES, RC5, Twofish, AES son
ejemplos de algoritmos de cifrado de clave simétricos. Figura 1 Algoritmo 3DES
Para ofrecer una transferencia y almacenamiento seguro de El algoritmo DES cifra los datos en bloques de 64
datos e información, se formularon varios algoritmos de bits. Un bloque de texto simple de 64 bits va en un extremo
cifrado simétricos como el Data Encipherment Standard del algoritmo y un bloque de texto cifrado de 64 bits sale
(DES), Rijndael Algorithm, Elliptic Curve Cryptography por el otro extremo. DES es un algoritmo simétrico, para el
(ECC) entre otros [1], en el cifrado de clave asimétrica, hay proceso de cifrado y descifrado se utiliza el mismo
un par de claves; Clave privada y clave pública. La clave algoritmo y clave, la longitud de dicha clave es de 56 bits.
pública se utiliza para el cifrado de datos y la clave privada se La única la seguridad esta alojada adentro de la clave. En
utiliza para el descifrado de los datos cifrados. En la su nivel más simple, el algoritmo no es más que una
comunicación segura, los Esquemas de cifrado simétricos combinación de las dos técnicas básicas de encriptación:
realizan la parte real del cifrado de los datos, ya que son muy confusión y difusión. El bloque de construcción
rápidos y los Esquemas de cifrado asimétricos asumen la fundamental de DES es una combinación única de estas
responsabilidad de distribuir claves [2]. técnicas en el texto, basada en la clave. Esto se conoce
como una ronda. DES tiene 16 rondas, aplica la misma
Palabras Claves: IDEA, AES, TRIPLE DES, MD5, combinación de técnicas en el bloque de texto simple 16
RSA, TwoFish, Caja-S. veces [4].
ALGORITMOS
C. Twofish
Es un algoritmo de código abierto [7] , de clave
simétrica con el método de cifrado por bloques. Utiliza un
tamaño de bloque de 128 bits y un tamaño de clave de 128,
192 y 256 bits, Twofish no usa claves débiles [7]. La
característica única de Twofish es que utiliza cajas S-
dependientes de la clave pre computadas y un complejo
programa de claves, donde la clave se divide en dos
mitades. La mitad de la clave se utiliza como clave real y
la otra parte de la clave se utiliza para modificar el
algoritmo. Twofish construye cuatro cajas S dependientes
de la clave de 8x8 bits utilizando permutación [7]. El
objetivo principal del uso de cajas S dependientes de la
clave es que el atacante no sabe qué son realmente las
cajas-S. Twofish es un diseño rápido, flexible y
Figura 2 Algoritmo IDEA conservador. El diseño conservador significa que es fácil
de extender para llaves más largas y hasta 124 rondas [8].
El algoritmo de encriptación IDEA realiza diversas
operaciones en cada una de sus iteraciones (8 en total), las
mismas que permiten en dividir un bloque de 64 bits en 4
partes iguales de 16 bits y cada una de las iteraciones se
utilizan 6 subclaves y para la transformación final las 4
subclaves restantes. El algoritmo que se usa para descifrar
los mensajes es el mismo que el empleado al momento de
cifrarlos [6].
- Módulo de multiplicación 2n + 1.
Ejemplo:
Figura.3 Esquema de encriptación de TwoFish
uint16 mulmod(uint16 x, uint16 y)
{ Twofish proporciona seguridad eficiente, ya que se
uint16 xd, yd, th, tl; ha sido analizado criptográficamente, donde incluso los
uint32 t; intrusos de la red solo pueden interrumpir cinco rondas del
xd = (x - 1) y 0xFFFFFF; algoritmo [9]
yd = (y - 1) y 0xFFFFFF;
t = (uint32) xd * yd + xd + yd + 1;
- Twofish función D. RSA
La comunicación de datos y la protección del mismo
El algoritmo de encriptación Twofish sigue los es un aspecto muy importante y esencial. Un cryptosystem
siguientes pasos: X0 y X1 a la izquierda de las entradas a define un par de transformaciones de datos designadas
las funciones g después de la rotación en 8 bits de una de
código y descripción. El código es aplicado al texto puro o
ellas.
La función g consta de cajas S dependientes de la clave sea los datos para ser comunicado para producir texto de la
de 4 bytes, seguidas de un paso de mezcla lineal. El cifra o sea datos encriptas usando llaves. El mensaje está
resultado de las dos funciones g se combinan utilizando un encripto con llave pública y sólo puede ser descifrado
PHT (Pseudo Hadamard Transform). Después de que se usando la llave privada. El mensaje encripto no puede ser
agreguen dos palabras clave. Una de ellas a la derecha se descifrado por alguien que sabe la llave pública y así la
gira un bit y luego ambas palabras clave están en XOR en comunicación segura es posible. RSA (denominada de sus
el resultado de la izquierda. Para la siguiente ronda, se autores – Rivest, Shamir y Adleman) es el algoritmo más
intercambian las mitades derecha e izquierda [10]. crucial público popular. Confiado en el problema de
factorización de matemáticas que indica un número tan
- Ventajas de Twofish muy grande dado es realmente imposible en el aspecto del
No tiene derechos de autor. hoy para encontrar dos números primos cuyo producto es
Ampliamente criptoanalizado. el número dado.
No esta patentado.
Diseñado para ser eficiente y compatible con una La codificación del sistema RSA se compone de dos
amplia variedad de plataformas como, de 32 bits. números muy grandes primos (p) y (q), calculando su
CPU, tarjetas inteligentes de 8 bits y hardware producto(n=p.q).
VLSI dedicado.
Twofish toma menos tiempo para cifrar el
documento en comparación con Blowfish. - Elegir las claves
Twofish es un cifrado de bloque de 128 bits
relativamente moderno que es una caída para Ejemplo se elige 2 números primos; p=53 y q=97
AES, por la sencilla razón de que fue diseñado
Se aplica producto n=q.p=5141
para ser AES.
Se aplica Euler; Ê(n)=(p-1) . (q-1).
- Desventajas de Twofish
No fue seleccionado, declarado como el mejor Se elige otro número primo e=7
algoritmo en la final de su presentacion, aunque
es uno de los cifrados de bloque simétrico seguro La clave pública seria (n,e)(n=5141,e=7)
más avanzados en uso.
Carece de velocidad de cifrado en comparación
con el pez globo [11]. - Cifrado
010 052 215 211 901 091 305 Figura 4. Número de rondas en función de la
longitud de clave.
Los bloques de 8 se cifran con la formula C=Be (mod
n), siendo C es cifrado y B es claro. Las etapas de transformaciones son: SubByte,
ShiftRow, MixColum, AddRounKey.
El mensaje queda de la siguiente manera
- Encriptación AES
{0755 1324 2823 3550 3763 2237 2052}
- Estructura AES Para hacer uso del proceso de descifrado, se debe saber
Su estructura consiste [10],en una serie de rondas la longitud de la clave escogida, es decir si la clave
donde se hace la realización de un conjunto de 4 escogida es de 128 bits implicaría 10 rondas. AES es un
transformaciones enfocadas a bytes, el número de rondas cifrador de clave simétrico, que quiere decir que la clave
es dependiente del tamaño de la clave. que se ha usado para cifrar los datos es la misma que se
deberá usar para descifrarlos. El proceso de descifrado configurados de diversas maneras, estos algoritmos son
consiste en el uso inverso al del cifrado. considerados de alto rendimiento los cuales permiten una
mayor seguridad al momento de guardar información que
se desea que no sea observada terceras personas.
BIBLIOGRAFÍA
CONTRASTE
[2] R. S. a. T. Guneysu, «Exploiting the Power of
GPUs for Asymmetric Cryptography,» 2008. [En
El algoritmo Triple DES ofrece una seguridad de 192
línea]. Available:
bits a un texto, brindándole al mismo una mayor resistencia
https://link.springer.com/content/pdf/10.1007%2
ante ataques de fuerza bruta, pero, para generar dicha
F978-3-540-85053-3_6.pdf.
cantidad de bits, el algoritmo 3DES repite 3 veces el
algoritmo DES, por lo que dicho proceso lo convierte en [3] J. S. G. t. V. a. E. C. F. Guerra, «Baerends,
un algoritmo de cifrado lento. “The PPP Triple-DES Encryption Protocol
El algoritmo IDEA determina una seguridad de 128 bits (3Taller internacional sobre hardware
la cual se divide en dos bloques de 64 bits a la misma ves criptográfico y sistemas
por su complejidad se divide en 4 partes iguales el cual embebidosDESE)Status,” Theor,» vol. 99, p.
permite generar una clave para brindar mayor protección, 391, 1998.
pero así mismo llega a ocupar una gran cantidad de
[4] I. John Wiley & Sons, «B. Schneier, Applied
hardware debido al proceso que realiza de repetir varias
Cryptography, Second Edition: Protocols,
veces su módulo de encriptación lo que lo conlleva a
Algorthms, and Source Code in C (cloth).,»
realizar procesos de multiplicación 2n+1 donde constan de
1996. [En línea].
sumas y restas.
El algoritmo AES es uno de los algoritmos más seguro, [5] S. L.-B. F. J. G. a. J. M. Ivan Gonzalez,
es muy conocido por su fuerte seguridad de 256 bits, que «Using Partial Reconfiguration in Cryptographic
es usado por grandes empresas y también para cifrar Applications: An Implementation of the IDEA
información ultrasecreta, por razones de convivencia y Algorithm,» Springer Link., vol. 2778, p. 1994,
seguridad, se exige una VPN con cifrado ASE de 256 bits. 2003.