Está en la página 1de 36

Algoritmos criptogrficos

Trabajo realizado por:


Beln M. Garca Lobo

Asignatura de Redes

ndice:
Criptografa

clsica
Algoritmos simtricos (cifrado por bloques)
Algoritmos asimtricos de cifrado

Criptografa clsica

Llamamos as a todos los sistemas de cifrado


anteriores a la II Guerra Mundial, o lo que es lo
mismo, al nacimiento de los ordenadores.
Se basa en algoritmos sencillos y claves muy largas
para la seguridad.
Perdieron su eficacia, debido a que son fcilmente
criptoanalizables por los ordenadores.
Todos los algoritmos criptogrficos clsicos son
simtricos

Cifrados por sustitucin


Se

basa en la sustitucin de cada letra por


otra letra para disfrazarla pero conservan el
orden de los smbolos de texto normal.
Entre ellos cabe destacar los siguientes:
- algoritmo de Csar,
- mtodos de cifrado monoalfabticos,
- polialfabticos..

- Algoritmo de Csar:

Debe su nombre a que era usado por Julio Csar para


enviar mensajes secretos
Consiste en sumar 3 al nmero de orden de cada letra. De
esta forma a la A le corresponde la D, a la B la E, y as
sucesivamente.
Este algoritmo no posee clave, puesto que la
transformacin siempre es la misma.
Para descifrar basta con restar 3 al nmero de orden de las
letras del criptograma.
Ejemplo: el mensaje ataque se convertira en DWDTXH

- Mtodos de cifrado monoalfabticos

Sustituyen cada letra por otra que ocupa la misma posicin en un alfabeto
desordenado y esta correspondencia se mantiene a lo largo de todo el
mensaje. As se consiguen tantas claves como posibilidades de alfabetos hay.
El problema est en cmo recordar la clave (el alfabeto desordenado).
El procedimiento es el siguiente:
1.
2.
3.

4.

Se busca una palabra (clave) fcil de recordar y se le quitan las letras duplicadas.
SEGURIDAD SEGURIDA
Se aaden al final de la palabra las restantes letras del alfabeto (sin duplicar letras).
SEGURIDABCFH..................XYZ
Se ordenan en una matriz cuya primera fila es la palabra clave
SEGUR I DA
BCFH JK LM
NOPQTVWX
YZ
El nuevo alfabeto se lee por columnas: SBNYECOZGFPUHQRJTIKVDLWAMX

Ejemplo: el mensaje ataque se convertira en SVSTDE

El sistema de criptoanlisis mejor para romper el algoritmo es el estadstico.

- Mtodos de cifrado polialfabticos

Corresponde a la aplicacin cclica de n cifrados monoalfabticos,


(de varios abecedarios desordenados).
Un ejemplo tpico es el Cifrado de Vignere:
- Dada una tabla con un alfabeto por cada letra del abecedario
- Mtodo:
Se busca una palabra clave fcil de recordar.
Se escribe la palabra debajo del texto en claro, repitindose
tantas veces como sea necesario.
Cada letra del texto en claro se codifica con el alfabeto de la
tabla marcado por la letra inferior, o sea, la letra de la clave
que corresponde.
- Ejemplo:
CLAVE:
ADIOS
Texto en claro : E S T O E S C R I P T O L O G I A
Clave:
AD I O SA D I O SAD I O SAD
Criptograma
EVBD WS FZWHTRTCYID

Cifrados por transposicin

Se basa en la reordenacin de las letras de un texto


de acuerdo a una palabra clave escogida que no
contiene letras repetidas.
Mtodo:
-

Con la clave se numera las columnas, estando la columna


1 bajo la letra de la clave ms cercana al inicio del alfabeto,
y as sucesivamente.
El texto normal se escribe horizontalmente en filas.
El texto cifrado se lee por columnas, comenzando por la
columna cuya letra clave es ms baja

Se puede criptoanalizar efectuando un estudio


estadstico sobre la frecuencia de aparicin de pares
y tripletas de smbolos

Ejemplo:
-

Texto normal:
Este es un trabajo para la asignatura de
Redes"
Clave: Video
Texto cifrado:
T ROAAA E EUA STDD SSTJR NAR
NBPLIUEE EE AAAGR S

a
g

a
R

Rellenos de una sola vez

El mtodo consistira en:

Escoger una clave al azar,


Por otro lado se convierte el texto normal en una cadena
de bits
Se calcula el XOR de estas dos cadenas

El texto cifrado es indescifrable ya que no


proporciona ninguna informacin.
Problemas:

La clave no puede memorizarse


La cantidad de datos que se puede transmitir est limitada
a la cantidad de clave disponible
Es sensible a la perdida o insercin de caracteres si se
pierde la sincrona entre receptor y emisor

Algoritmos de clave simtrica

Tambin se le denomina critografa privada o cifrado


por bloques.
Se caracteriza por usar la misma clave para encriptar y
desencriptar.

Toda la seguridad est basada en la privacidad de esta clave

Cifrado de producto

Se apoyan en dos conceptos:

Confusin: tratar de ocultar la relacin que existe entre el


texto normal, el texto cifrado y la clave, es decir, realizar
sustituciones simples
Difusin: trata de repartir la influencia de cada bit del
mensaje original lo ms posible en el mensaje cifrado, es
decir, realizar permutaciones

Estas tcnicas consisten en trocear el mensaje en


bloques de tamao fijo, y aplicar la funcin de cifrado a
cada uno de ellos.
Destacar que la confusin por s sola sera suficiente,
pero ocupara mucha memoria, por lo que sera inviable.

Algoritmo DES

Es el algoritmo simtrico ms extendido mundialmente.


Codifica bloques de 64 bits empleando claves de 56 bits.
Consta de 16 rondas, ms dos permutaciones, una que se
aplica al principio (Pi) y otra al final (Pf ), tales que la ltima es
la inversa de la primera.
Para descifrar basta con usar el mismo algoritmo empleando el
orden inverso.
Ventajas del algoritmo:

Es muy rpido y fcil de implementar.

Desventajas:

Emplea una clave demasiado corta, lo cual hace que con el


avance actual de los ordenadores, los ataques por la fuerza bruta
se puedan llevar a cabo.

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 Mltiple:

Consiste en aplicar varias veces el algoritmo DES con


diferentes claves al mensaje original.
El ms comn 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 concatenacin de k1
y k2, con una longitud de 112 bits.

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 prctica
un ataque por la fuerza bruta como se poda hacer
en el DES.

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:

X1

X2

X3

X4

X1

X2

X3

X4

Algoritmo de Rijndael (AES)


Es

considerado el sucesor de DES.


Este algoritmo se adopt oficialmente en
octubre del 2000 como nuevo Estndar
Avanzado de Cifrado (AES) por el NIST
(National Institute for Standards and
Technology) para su empleo en aplicaciones
criptogrficas.
Su nombre se debe a dos autores belgas
Joan Daemen y Vincent Rijmen.

Como peculiaridad tiene que todo el proceso de


seleccin, revisin y estudio tanto de este algoritmo
como de los restantes candidatos, se efectu de
forma pblica y abierta, por lo que, toda la
comunidad criptogrfica mundial ha participado en
su anlisis, lo cual convierte a Rijndael en un
algoritmo perfectamente digno de la confianza de
todos.
AES es un sistema de cifrado por bloques, diseado
para manejar longitudes de clave y de bloque
variables, ambas comprendidas entre los 128 y los
256 bits.

Se basa en aplicar un nmero 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 anloga 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 anlogamente, 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:

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 nmero 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

Funciones DesplazarFila y MezclarColumnas permiten obtener


un alto nivel de difusin a lo largo de varias rondas.
Funcin ByteSub consiste en la aplicacin paralela de s-cajas.
La capa de adicin 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 criptoanlisis tanto lineal como
diferencial y uno de los ms seguros en la actualidad.

Modos de Operacin para


Algoritmos de Cifrado por Bloques

Independientemente del mtodo empleado qu


ocurre cuando la longitud del mensaje no es un
mltiplo exacto del tamao de bloque?

Se ha de aadir informacin al
final para que s lo sea.
Mecanismo:
Rellenar con 0s el bloque que se
codifica hasta completar.
Problema: cundo se descifra
por donde hay que cortar?.

Aadir como ltimo byte del


ltimo bloque el nmero de
bytes que se han aadido.

Por otro lado


Los

algoritmos simtricos encriptan bloques


de texto aplicando cifrados de bloques.
El tamao de los bloques puede ser
constante o variable segn el tipo de
algoritmo.
Tienen 4 formas de funcionamiento:

ECB
CBC

CFB
OFB

- Modo ECB (Electronic Code Book)

Es el mtodo ms sencillo de aplicar


Subdivide la cadena a codificar en bloques del tamao
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 tambin
los presentar.
Puede
sufrir
una
sustitucin de bloques

- Modo CBC (Cipher Book Chaining)

Es un mecanismo de retroalimentacin de bloques


mediante una codificacin 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


sustitucin de bloques.
Es resistente a errores.

Desventajas:

Si dos textos tienen el


mismo patrn obtendrn
el mismo resultado
usar Vector de Inicio

- Modo CFB (Cipher Feedback Mode)

Permite codificar la informacin en unidades inferiores al


tamao del bloque
Realiza una XOR entre caracteres o bits aislados del
texto y las salidas del algoritmo.

Ventajas:
- Permite aprovechar totalmente la capacidad de transmisin
del canal de comunicaciones con mayor seguridad.

- 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

Algoritmos de clave asimtrica

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
simtricos.
Adems, la complejidad de clculo que comportan
los hace ms lentos que los algoritmos de cifrado
simtricos.
Por ello, los mtodos asimtricos se emplean para
intercambiar la clave de sesin mientras que los
simtricos para el intercambio de informacin dentro
de una sesin.

Aplicaciones

Cifrado de la informacin sin tener que transmitir


la clave de decodificacin, lo cual permite su uso en
canales inseguros.

La clave que se hace pblica es aquella que permite


codificar los mensajes, mientras que la clave privada es
aquella que permite descifrarlos.

Autentificacin de mensajes que nos permiten


obtener una firma digital a partir de un mensaje.
Dicha firma es mucho ms pequea que el mensaje
original, y es muy difcil encontrar otro mensaje de
lugar a la misma.

La clave de descifrado se har pblica previamente, y la


clave que se emplea para cifrar es la clave privada.

Algoritmo RSA

Debe su nombre a: Ronald Rivest, Adi Shamir y


Leonard Adleman.
Las primeras versiones de PGP lo incorporaban
como mtodo de cifrado y firma digital.
Se le tiene como uno de los algoritmos asimtricos
ms seguros.
RSA se basa en la dificultad para factorizar grandes
nmeros.
El atacante se enfrentar a un problema de
factorizacin.

Vulnerabilidades:
-

Claves Demasiado Cortas


Deberemos escoger la longitud de la clave en funcin del tiempo que
queramos que nuestra informacin permanezca en secreto.

Ataques de Intermediario
Puede darse con cualquier algoritmo asimtrico.
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 despus de codificarlo ya que
existen ataques que aprovechan este hecho.

Algoritmo de Diffie-Hellman

Se emplea fundamentalmente para acordar una clave comn


entre dos interlocutores, a travs de un canal de
comunicacin inseguro.
Algoritmo:

A escoge un nmero aleatorio x, y enva a B el valor x(mod p)


B escoge un nmero aleatorio y enva a A el valor y(mod p)
B recoge x y calcula K = ( x)y (mod p).
A recoge y y calcula K = ( y)x (mod p).

Ventaja: no son necesarias claves pblicas en el sentido


estricto, sino una informacin compartida por los dos
comunicantes.

Algoritmo ElGamal

Fue diseado en un principio para producir firmas


digitales, pero posteriormente se extendi tambin
para codificar mensajes.
Se basa en el problema de los logaritmos discretos
Algoritmo:

Se escoge un nmero primo n y dos nmeros aleatorios p


y x menores que n. Se calcula entonces la expresin:
y = px (mod n)
La clave pblica es (p, y, n), mientras que la clave privada
es x.

Algoritmo ElGamal

Firmas Digitales de ElGamal


Escoger un nmero 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)
Codificacin de ElGamal
Para codificar el mensaje m se escoge primero un nmero aleatorio k primo
relativo con (n-1), que tambin 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)

Algoritmo de Rabin

Se basa en el problema de calcular races


cuadradas modulo un nmero compuesto. Este
problema se ha demostrado que es equivalente al
de la factorizacin de dicho nmero.
En primer lugar escogemos dos nmeros primos, p
y q, ambos congruentes con 3 mdulo 4 (los dos
ltimos bits a 1). Estos primos son la clave privada.
La clave pblica es su producto,
n = pq.
Para codificar un mensaje m, se calcula:
c = m2 (mod n)

Algoritmo DSA (Digital Signature Algorithm)

Es una parte el estndar de firma digital DSS


(Digital Signature Standard).
Este algoritmo, propuesto por el NIST, data de
1991, es una variante del mtodo asimtrico de
ElGamal.
Pasos:

Por un lado se generar la clave pblica compuesta por


(p, q, , 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 pblica (p, q, , y), para
verificar la autenticidad de la firma.

También podría gustarte