Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Algoritmos criptográficos (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Variantes del DES
Se han propuesto variantes de este algoritmo para así aprovechar gran parte de las implementaciones por hardware existentes de DES. De ellos el que cabe destacar es:
DES Múltiple:
Consiste en aplicar varias veces el algoritmo DES con diferentes claves al mensaje original.
El más común de todos ellos es el Triple-DES, que responde a la siguiente estructura:
Codificar con la subclave k1, decodificar con k2 y volver a codificar con k1. La clave resultante es la concatenación de k1 y k2, con una longitud de 112 bits.

Monografias.com

Idea (International Data Encryption Algorithm)
Codifica bloques de 64 bits empleando una clave de 128 bits.
Como en el caso de DES, se usa el mismo algoritmo tanto para cifrar como para descifrar.
Es un algoritmo bastante seguro, y hasta ahora se ha mostrado resistente a los ataques.
Su longitud de clave hace imposible en la práctica un ataque por la fuerza bruta como se podía hacer en el DES.

Monografias.com

Consta de ocho rondas.
Dividiremos el bloque X a codificar, de 64 bits, en cuatro partes X1, X2, X3 y X4 de 16 bits.
Denominaremos Zi a cada una de las 52 subclaves de 16 bits que vamos a necesitar.
Las operaciones que llevaremos a cabo en cada ronda, se pueden apreciar en la figura:
(Gp:) X1
(Gp:) X2
(Gp:) X3
(Gp:) X4
(Gp:) X1
(Gp:) X2
(Gp:) X3
(Gp:) X4

Monografias.com

Algoritmo de Rijndael (AES)
Es considerado el sucesor de DES.
Este algoritmo se adoptó oficialmente en octubre del 2000 como nuevo Estándar Avanzado de Cifrado (AES) por el NIST (National Institute for Standards and Technology) para su empleo en aplicaciones criptográficas.
Su nombre se debe a dos autores belgas Joan Daemen y Vincent Rijmen.

Monografias.com

Como peculiaridad tiene que todo el proceso de selección, revisión y estudio tanto de este algoritmo como de los restantes candidatos, se efectuó de forma pública y abierta, por lo que, toda la comunidad criptográfica mundial ha participado en su análisis, lo cual convierte a Rijndael en un algoritmo perfectamente digno de la confianza de todos.
AES es un sistema de cifrado por bloques, diseñado para manejar longitudes de clave y de bloque variables, ambas comprendidas entre los 128 y los 256 bits.

Monografias.com

Se basa en aplicar un número determinado de rondas a un valor intermedio que se denomina estado y que se representará en una matriz rectangular, que posee cuatro filas, y Nb columnas. A[4,Nb]
La clave tiene una estructura análoga a la del estado, y se representará mediante una tabla con cuatro filas y Nk columnas. K[4,Nk]
El bloque que se pretende cifrar o descifrar se traslada a la matriz de estado y análogamente, la clave se copia sobre la matriz de clave
Siendo B el bloque que queremos cifrar, y S la matriz de estado, el algoritmo AES con n rondas queda como sigue:

Monografias.com

1. Calcular K0,K1, …Kn subclaves a partir de la clave K.
2. S ? B ? K0
3. Para i = 1 hasta n hacer
4. Aplicar ronda i-ésima del algoritmo con la subclave Ki.
Puesto que AES permite emplear diferentes longitudes tanto de bloque como de clave, el número de rondas requerido en cada caso es variable
Siendo S la matriz de estado, y Ki la subclave correspondiente a la ronda i-ésima, cada una de las rondas posee la siguiente estructura:
1. S ? ByteSub(S)
2. S ? DesplazarFila(S)
3. S ? MezclarColumnas(S)
4. S ? Ki ? S

Monografias.com

Funciones DesplazarFila y MezclarColumnas permiten obtener un alto nivel de difusión a lo largo de varias rondas.
Función ByteSub consiste en la aplicación paralela de s-cajas.
La capa de adición de clave es un simple or-exclusivo entre el estado intermedio y la subclave correspondiente a cada ronda.
La última ronda es igual a las anteriores, pero eliminando el paso 3.

El algoritmo de descifrado consistirá en aplicar las inversas de cada una de las funciones en el orden contrario
Es un algoritmo resistente al criptoanálisis tanto lineal como diferencial y uno de los más seguros en la actualidad.

Monografias.com

Modos de Operación paraAlgoritmos de Cifrado por Bloques
Se ha de añadir información al final para que sí lo sea.
Mecanismo:
Rellenar con 0’s el bloque que se codifica hasta completar.
Problema: ¿cuándo se descifra por donde hay que cortar?.
Añadir como último byte del último bloque el número de bytes que se han añadido.
Independientemente del método empleado ¿qué ocurre cuando la longitud del mensaje no es un múltiplo exacto del tamaño de bloque?

Monografias.com

Por otro lado
Los algoritmos simétricos encriptan bloques de texto aplicando cifrados de bloques.
El tamaño de los bloques puede ser constante o variable según el tipo de algoritmo.
Tienen 4 formas de funcionamiento:
ECB
CBC
CFB
OFB

Monografias.com

– Modo ECB (Electronic Code Book)
Es el método más sencillo de aplicar
Subdivide la cadena a codificar en bloques del tamaño fijo y se cifran todos ellos empleando la misma clave.
Ventajas:
Permite codificar bloques independientemente de su orden.
Es resistente a errores.
Desventajas:
Si el mensaje presenta patrones que se repiten, el texto cifrado también los presentará.
Puede sufrir una sustitución de bloques

Monografias.com

– Modo CBC (Cipher Book Chaining)
Es un mecanismo de retroalimentación de bloques mediante una codificación XOR entre el mensaje a codificar y el criptograma cifrado anterior.
No comienza a codificar hasta que no tenga un bloque entero
Ventajas:
Nos protege respecto a la sustitución de bloques.
Es resistente a errores.
Desventajas:
Si dos textos tienen el mismo patrón obtendrán el mismo resultado ? usar Vector de Inicio

Monografias.com

– Modo CFB (Cipher Feedback Mode)
Permite codificar la información en unidades inferiores al tamaño del bloque
Realiza una XOR entre caracteres o bits aislados del texto y las salidas del algoritmo.
Ventajas:
– Permite aprovechar totalmente la capacidad de transmisión del canal de comunicaciones con mayor seguridad.

Monografias.com

– Modo OFB (Output FeedBack Mode)
Como el CFB, realiza una XOR entre caracteres o bits aislados del texto y las salidas del algoritmo.
Pero utiliza como entradas sus propias salidas, por lo tanto no depende del texto.
Ventajas:
Ya no depende del texto

Monografias.com

Algoritmos de clave asimétrica
Se caracteriza por usar una clave para encriptar y otra para desencriptar. Una clave no se derivará de la otra.
Emplean longitudes de clave mucho mayores que los simétricos.
Además, la complejidad de cálculo que comportan los hace más lentos que los algoritmos de cifrado simétricos.
Por ello, los métodos asimétricos se emplean para intercambiar la clave de sesión mientras que los simétricos para el intercambio de información dentro de una sesión.

Monografias.com

Aplicaciones
Cifrado de la información sin tener que transmitir la clave de decodificación, lo cual permite su uso en canales inseguros.
La clave que se hace pública es aquella que permite codificar los mensajes, mientras que la clave privada es aquella que permite descifrarlos.
Autentificación de mensajes que nos permiten obtener una firma digital a partir de un mensaje. Dicha firma es mucho más pequeña que el mensaje original, y es muy difícil encontrar otro mensaje de lugar a la misma.
La clave de descifrado se hará pública previamente, y la clave que se emplea para cifrar es la clave privada.

Monografias.com

Algoritmo RSA
Debe su nombre a: Ronald Rivest, Adi Shamir y Leonard Adleman.
Las primeras versiones de PGP lo incorporaban como método de cifrado y firma digital.
Se le tiene como uno de los algoritmos asimétricos más seguros.
RSA se basa en la dificultad para factorizar grandes números.
El atacante se enfrentará a un problema de factorización.

Monografias.com

Vulnerabilidades:
Claves Demasiado Cortas
Deberemos escoger la longitud de la clave en función del tiempo que queramos que nuestra información permanezca en secreto.
Ataques de Intermediario
Puede darse con cualquier algoritmo asimétrico.
Manera de evitar: Certificados de confianza, que certifican la autenticidad de la clave.
Ataques de Texto en Claro Escogido
Explota la posibilidad de que un usuario codifique y firme un único mensaje empleando el mismo par de claves.
Firmar y Codificar
Nunca se debe firmar un mensaje después de codificarlo ya que existen ataques que aprovechan este hecho.

Monografias.com

Algoritmo de Diffie-Hellman
Se emplea fundamentalmente para acordar una clave común entre dos interlocutores, a través de un canal de comunicación inseguro.
Algoritmo:
A escoge un número aleatorio x, y envía a B el valor ax(mod p)
B escoge un número aleatorio y envía a A el valor ay(mod p)
B recoge a x y calcula K = (a x)y (mod p).
A recoge a y y calcula K = (a y)x (mod p).

Ventaja: no son necesarias claves públicas en el sentido estricto, sino una información compartida por los dos comunicantes.

Monografias.com

Algoritmo ElGamal
Fue diseñado en un principio para producir firmas digitales, pero posteriormente se extendió también para codificar mensajes.
Se basa en el problema de los logaritmos discretos
Algoritmo:
Se escoge un número primo n y dos números aleatorios p y x menores que n. Se calcula entonces la expresión:
y = px (mod n)
La clave pública es (p, y, n), mientras que la clave privada es x.

Monografias.com

Algoritmo ElGamal
Firmas Digitales de ElGamal
Escoger un número k aleatorio, tal que mcd(k,n-1) =1, y calcular:
a = pk(mod n)
b = (m-xa)k-1 (mod (n-1))

La firma la constituye el par (a, b). En cuanto al valor k, debe mantenerse en secreto y ser diferente cada vez.

La firma se verifica comprobando que yaab = pm (mod n)
Codificación de ElGamal
Para codificar el mensaje m se escoge primero un número aleatorio k primo relativo con (n-1), que también será mantenido en secreto. Calculamos:
a = pk (mod n)
b = ykm (mod n)
El par (a, b) es el texto cifrado, de doble longitud que el texto original.

Para decodificar se calcula
m = b * a-x (mod n)

Monografias.com

Algoritmo de Rabin
Se basa en el problema de calcular raíces cuadradas modulo un número compuesto. Este problema se ha demostrado que es equivalente al de la factorización de dicho número.
En primer lugar escogemos dos números primos, p y q, ambos congruentes con 3 módulo 4 (los dos últimos bits a 1). Estos primos son la clave privada. La clave pública es su producto, n = pq.
Para codificar un mensaje m, se calcula:
c = m2 (mod n)

Monografias.com

Algoritmo DSA (Digital Signature Algorithm)
Es una parte el estándar de firma digital DSS (Digital Signature Standard).
Este algoritmo, propuesto por el NIST, data de 1991, es una variante del método asimétrico de ElGamal.
Pasos:
Por un lado se generará la clave pública compuesta por (p, q, a, y). Y por otro la clave privada a.
Se generá la firma con la cual podrá operar el emisor.
El destinatario efectuará las operaciones oportunas, suponiendo que conoce la clave pública (p, q, a , y), para verificar la autenticidad de la firma.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter