SlideShare una empresa de Scribd logo
Algoritmos criptográficos
Asignatura de Redes
Índice:
 Criptografía clásica
 Algoritmos simétricos (cifrado por bloques)
 Algoritmos asimétricos de cifrado
Criptografía clásica
 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 fácilmente
criptoanalizables por los ordenadores.
 Todos los algoritmos criptográficos clásicos son
simétricos
Cifrados por sustitución
 Se basa en la sustitución de cada letra por
otra letra para disfrazarla pero conservan el
orden de los símbolos de texto normal.
 Entre ellos cabe destacar los siguientes:
- algoritmo de César,
- métodos de cifrado monoalfabéticos,
- polialfabéticos..
- Algoritmo de César:
 Debe su nombre a que era usado por Julio César para
enviar mensajes secretos
 Consiste en sumar 3 al número 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
transformación siempre es la misma.
 Para descifrar basta con restar 3 al número de orden de las
letras del criptograma.
– Ejemplo: el mensaje ataque se convertiría en DWDTXH
- Métodos de cifrado monoalfabéticos
 Sustituyen cada letra por otra que ocupa la misma posición 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 cómo recordar la clave (el alfabeto desordenado).
 El procedimiento es el siguiente:
1. Se busca una palabra (clave) fácil de recordar y se le quitan las letras duplicadas.
SEGURIDAD  SEGURIDA
2. Se añaden al final de la palabra las restantes letras del alfabeto (sin duplicar letras).
SEGURIDABCFH..................XYZ
3. Se ordenan en una matriz cuya primera fila es la palabra clave
S E G U R I D A
B C F H J K L M
N O P Q T V W X
Y Z
4. El nuevo alfabeto se lee por columnas: SBNYECOZGFPUHQRJTIKVDLWAMX
 Ejemplo: el mensaje ataque se convertiría en SVSTDE
 El sistema de criptoanálisis mejor para romper el algoritmo es el estadístico.
- Métodos de cifrado polialfabéticos
 Corresponde a la aplicación cíclica de n cifrados monoalfabéticos,
(de varios abecedarios desordenados).
 Un ejemplo típico es el Cifrado de Vigènere:
- Dada una tabla con un alfabeto por cada letra del abecedario
- Método:
 Se busca una palabra clave fácil de recordar.
 Se escribe la palabra debajo del texto en claro, repitiéndose
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: A D I O S A D I O S A D I O S A D
Criptograma E V B D W S F Z W H T R T C Y I D
Cifrados por transposición
 Se basa en la reordenación de las letras de un texto
de acuerdo a una palabra clave escogida que no
contiene letras repetidas.
 Método:
- Con la clave se numera las columnas, estando la columna
1 bajo la letra de la clave más 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 más baja
 Se puede criptoanalizar efectuando un estudio
estadístico sobre la frecuencia de aparición de pares
y tripletas de símbolos
 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
V I D E O
5 3 1 2 4
E s t e
e s u n
t r a b
a j o p
a r a l
a a s i
g n a t u
r a d e
R e d e
s
Rellenos de una sola vez
 El método consistiría 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 información.
 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 inserción de caracteres si se
pierde la sincronía entre receptor y emisor
Algoritmos de clave simétrica
 También se le denomina critografía 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:
– Confusión: tratar de ocultar la relación que existe entre el
texto normal, el texto cifrado y la clave, es decir, realizar
sustituciones simples
– Difusión: trata de repartir la influencia de cada bit del
mensaje original lo más posible en el mensaje cifrado, es
decir, realizar permutaciones
 Estas técnicas consisten en trocear el mensaje en
bloques de tamaño fijo, y aplicar la función de cifrado a
cada uno de ellos.
 Destacar que la confusión por sí sola sería suficiente,
pero ocuparía mucha memoria, por lo que sería
inviable.
Algoritmo DES
 Es el algoritmo simétrico más extendido mundialmente.
 Codifica bloques de 64 bits empleando claves de 56 bits.
 Consta de 16 rondas, más 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 rápido y fácil 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 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.
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.
 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 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.
 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.
 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:
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
 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.
Modos de Operación para
Algoritmos 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?
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
- 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
- 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
- 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.
- 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 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.
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.
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.
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.
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 αx(mod p)
– B escoge un número aleatorio y envía 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 públicas en el sentido
estricto, sino una información compartida por los dos
comunicantes.
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.
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)
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)
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, α, 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, α , y), para
verificar la autenticidad de la firma.

Más contenido relacionado

Similar a algoritmos-criptograficos.ppt

Algoritmos de clave secreta, privada o simetrica.
Algoritmos de clave secreta, privada o simetrica.Algoritmos de clave secreta, privada o simetrica.
Algoritmos de clave secreta, privada o simetrica.
Miguel Mauri
 
Criptografia.pdf
Criptografia.pdfCriptografia.pdf
Criptografia.pdf
AndresTini
 
Tema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaTema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaDaniel Pecos Martínez
 
2.3 criptografia
2.3 criptografia2.3 criptografia
2.3 criptografiajorgecan91
 
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y PrivadasAlgoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Jorge
 
Criptosistemas
CriptosistemasCriptosistemas
Métodos y técnicas de encriptación
Métodos y técnicas de encriptaciónMétodos y técnicas de encriptación
Métodos y técnicas de encriptaciónlacandymamy
 
Criptosistema 1
Criptosistema 1Criptosistema 1
Criptosistema 1
Yoshio Astorga
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadaschristian
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadaschristian
 
Encriptación simétrica-AES Y RC2
Encriptación simétrica-AES Y RC2Encriptación simétrica-AES Y RC2
Encriptación simétrica-AES Y RC2
Moisés Arévalo Sf
 
Encriptacion
EncriptacionEncriptacion
Encriptacion
menamigue
 
Metodos cifrados
Metodos cifradosMetodos cifrados
Metodos cifrados
horianamedina
 
Cisco Cybersecurity Essential cap 4
Cisco Cybersecurity Essential cap 4Cisco Cybersecurity Essential cap 4
Cisco Cybersecurity Essential cap 4
Daniel Oscar Fortin
 
SILABO
SILABOSILABO
SILABO
eamartineza
 
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De ClavesIntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De ClavesJim
 
Cifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTricoCifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTricoJorge Flores
 

Similar a algoritmos-criptograficos.ppt (20)

Algoritmos de clave secreta, privada o simetrica.
Algoritmos de clave secreta, privada o simetrica.Algoritmos de clave secreta, privada o simetrica.
Algoritmos de clave secreta, privada o simetrica.
 
Criptografia.pdf
Criptografia.pdfCriptografia.pdf
Criptografia.pdf
 
Tema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaTema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la Criptografía
 
2.3 criptografia
2.3 criptografia2.3 criptografia
2.3 criptografia
 
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y PrivadasAlgoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
 
Criptosistemas
CriptosistemasCriptosistemas
Criptosistemas
 
Métodos y técnicas de encriptación
Métodos y técnicas de encriptaciónMétodos y técnicas de encriptación
Métodos y técnicas de encriptación
 
Criptosistema 1
Criptosistema 1Criptosistema 1
Criptosistema 1
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
Encriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves PrivadasEncriptacion De Claves Publicas Y Claves Privadas
Encriptacion De Claves Publicas Y Claves Privadas
 
Criptosistema (1) (1)
Criptosistema (1) (1)Criptosistema (1) (1)
Criptosistema (1) (1)
 
Criptosistema (1)
Criptosistema (1)Criptosistema (1)
Criptosistema (1)
 
Encriptación simétrica-AES Y RC2
Encriptación simétrica-AES Y RC2Encriptación simétrica-AES Y RC2
Encriptación simétrica-AES Y RC2
 
Encriptacion
EncriptacionEncriptacion
Encriptacion
 
Metodos cifrados
Metodos cifradosMetodos cifrados
Metodos cifrados
 
Info
InfoInfo
Info
 
Cisco Cybersecurity Essential cap 4
Cisco Cybersecurity Essential cap 4Cisco Cybersecurity Essential cap 4
Cisco Cybersecurity Essential cap 4
 
SILABO
SILABOSILABO
SILABO
 
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De ClavesIntroduccióN A Los Algoritmos De EncriptacióN De Claves
IntroduccióN A Los Algoritmos De EncriptacióN De Claves
 
Cifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTricoCifrado De Clave PúBlica O AsiméTrico
Cifrado De Clave PúBlica O AsiméTrico
 

Último

maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 

Último (20)

maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 

algoritmos-criptograficos.ppt

  • 2. Índice:  Criptografía clásica  Algoritmos simétricos (cifrado por bloques)  Algoritmos asimétricos de cifrado
  • 3. Criptografía clásica  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 fácilmente criptoanalizables por los ordenadores.  Todos los algoritmos criptográficos clásicos son simétricos
  • 4. Cifrados por sustitución  Se basa en la sustitución de cada letra por otra letra para disfrazarla pero conservan el orden de los símbolos de texto normal.  Entre ellos cabe destacar los siguientes: - algoritmo de César, - métodos de cifrado monoalfabéticos, - polialfabéticos..
  • 5. - Algoritmo de César:  Debe su nombre a que era usado por Julio César para enviar mensajes secretos  Consiste en sumar 3 al número 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 transformación siempre es la misma.  Para descifrar basta con restar 3 al número de orden de las letras del criptograma. – Ejemplo: el mensaje ataque se convertiría en DWDTXH
  • 6. - Métodos de cifrado monoalfabéticos  Sustituyen cada letra por otra que ocupa la misma posición 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 cómo recordar la clave (el alfabeto desordenado).  El procedimiento es el siguiente: 1. Se busca una palabra (clave) fácil de recordar y se le quitan las letras duplicadas. SEGURIDAD  SEGURIDA 2. Se añaden al final de la palabra las restantes letras del alfabeto (sin duplicar letras). SEGURIDABCFH..................XYZ 3. Se ordenan en una matriz cuya primera fila es la palabra clave S E G U R I D A B C F H J K L M N O P Q T V W X Y Z 4. El nuevo alfabeto se lee por columnas: SBNYECOZGFPUHQRJTIKVDLWAMX  Ejemplo: el mensaje ataque se convertiría en SVSTDE  El sistema de criptoanálisis mejor para romper el algoritmo es el estadístico.
  • 7. - Métodos de cifrado polialfabéticos  Corresponde a la aplicación cíclica de n cifrados monoalfabéticos, (de varios abecedarios desordenados).  Un ejemplo típico es el Cifrado de Vigènere: - Dada una tabla con un alfabeto por cada letra del abecedario - Método:  Se busca una palabra clave fácil de recordar.  Se escribe la palabra debajo del texto en claro, repitiéndose 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: A D I O S A D I O S A D I O S A D Criptograma E V B D W S F Z W H T R T C Y I D
  • 8. Cifrados por transposición  Se basa en la reordenación de las letras de un texto de acuerdo a una palabra clave escogida que no contiene letras repetidas.  Método: - Con la clave se numera las columnas, estando la columna 1 bajo la letra de la clave más 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 más baja  Se puede criptoanalizar efectuando un estudio estadístico sobre la frecuencia de aparición de pares y tripletas de símbolos
  • 9.  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 V I D E O 5 3 1 2 4 E s t e e s u n t r a b a j o p a r a l a a s i g n a t u r a d e R e d e s
  • 10. Rellenos de una sola vez  El método consistiría 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 información.  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 inserción de caracteres si se pierde la sincronía entre receptor y emisor
  • 11. Algoritmos de clave simétrica  También se le denomina critografía 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
  • 12. Cifrado de producto  Se apoyan en dos conceptos: – Confusión: tratar de ocultar la relación que existe entre el texto normal, el texto cifrado y la clave, es decir, realizar sustituciones simples – Difusión: trata de repartir la influencia de cada bit del mensaje original lo más posible en el mensaje cifrado, es decir, realizar permutaciones  Estas técnicas consisten en trocear el mensaje en bloques de tamaño fijo, y aplicar la función de cifrado a cada uno de ellos.  Destacar que la confusión por sí sola sería suficiente, pero ocuparía mucha memoria, por lo que sería inviable.
  • 13. Algoritmo DES  Es el algoritmo simétrico más extendido mundialmente.  Codifica bloques de 64 bits empleando claves de 56 bits.  Consta de 16 rondas, más 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 rápido y fácil 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.
  • 14. 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.
  • 15. 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.
  • 16.  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
  • 17. 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.
  • 18.  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.
  • 19.  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:
  • 20. 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
  • 21.  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.
  • 22. Modos de Operación para Algoritmos 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?
  • 23. 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
  • 24. - 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
  • 25. - 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
  • 26. - 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.
  • 27. - 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
  • 28. 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.
  • 29. 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.
  • 30. 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.
  • 31. 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.
  • 32. 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 αx(mod p) – B escoge un número aleatorio y envía 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 públicas en el sentido estricto, sino una información compartida por los dos comunicantes.
  • 33. 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.
  • 34. 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)
  • 35. 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)
  • 36. 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, α, 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, α , y), para verificar la autenticidad de la firma.