encripciÓn de datos ing. alfonso valencia. contenido sistemas criptográficos generalidades...
TRANSCRIPT
Contenido
Sistemas criptográficos
Generalidades Definiciones
Evolución
Relleno de tráfico
Encripción básica
Encripción Simétrica DES y Triple DES
IDEA
AES
Otros
Encripción Asimétrica COAST
Definiciones
Criptología ( del griego criptos = oculto y logos = tratado):
nombre genérico con el que se designan dos disciplinas
opuestas y a la vez complementarias: criptografía y
criptoanálisis.
Criptografía: Se ocupa del diseño de procedimientos para cifrar,
es decir, para enmascarar una determinada información de
carácter confidencial. Escritura secreta
Criptoanálisis: Se ocupa de romper esos procedimientos de
cifrado para así recuperar la información original
Definiciones
Criptografía Cifrado: Transformación de los datos a nivel de bits o
caracteres Codificación: Reemplazo de una palabra por otra o por
símbolos. Ej. Lenguaje Navajo Criptología
Elementos Algorítmo de encripción (C) Algorítmo de Desencripción (D) Clave (k)
Formulación C = Ek (P) P = Dk (C) Dk ( Ek (P) ) = P
Evolución
Algoritmo secreto, “no existencia de clave”
Algoritmo secreto, clave secreta
Algoritmo conocido, clave secreta
Algoritmo conocido, parte de la clave
conocida
Relleno de tráfico
Los mensajes encriptados deben tener información adicional para despistar (relleno de tráfico- Traffic Padding) y tiempo de validez
Algoritmo de encripción
Generadorcontinuo de
datos aleatorios Llave
Entradadiscontinua de
texto plano
Salidacontinua detexto cifrado
Técnicas de encripción/desencripción
Criptografía Convencional
Criptografía de clave secreta
Criptografía de llaves públicas
http://www.williamstallings.com/Crypt-Tut/Crypto%20Tutorial%20-%20JERIC.html
Criptografía convencional/tradicional
Técnicas Sustitución:
Establecer una correspondencia entre las letras del alfabeto en el que está escrito el mensaje original y los elementos de otro conjunto (del mismo alfabeto o de otro)
El criptoanálisis busca letras o silabas mas usadas para “romper” la encripción
Transposición: Colocar los símbolos del mensaje original en un orden distinto
Criptografía convencional/tradicional
Sustitución
Cifrado del Cesar
Es también conocido como cifrado por desplazamiento, es una de las técnicas de codificación más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra tres posiciones más adelante en el alfabeto.
Por ejemplo, la A sería sustituida por la D (situada 3 lugares a la derecha de la A ),
Criptografía convencional/tradicional
Sustitución
Cifrado del Cesar “…si habia algún asunto que deseaba mantener en secreto,
utilizaba un código de forma que resultara imposible captar el
sentido de cuanto escribia. Para quienes deseen sabe más, dire
que sustituia la primera letra del alfabeto, , por la cuarta letra,
, y así sucesivamente con todas las demás”
La regla (algorítmo) era sustituir las letras del mensaje por 3
letras adelante del mismo alfabeto
Cada letra se reemplaza por otra
a b c d e … zd e f g h … c
Texto plano: cadeTexto Encriptado: fdgh
Criptografía convencional/tradicional
Sustitución Cifrado Monoalfabético
A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
Criptografía convencional/tradicional
Sustitución Cifrado Masón
A B CD E FG H I
JK L M
N O PQ R ST U V
WX Y Z
Ej: Errar es de humanos pero mas humano es echarle la culpa al otro
Criptografía convencional/tradicional
Sustitución
El criptosistema de Vigènere
El sistema de cifrado de Vigenère (en honor al criptógrafo francés del mismo nombre) es un sistema polialfabético o de sustitución múltiple. Este tipo de criptosistemas aparecieron para sustituir a los monoalfabéticos o de sustitución simple, basados en el Caesar, que presentaban ciertas debilidades frente al ataque de los criptoanalistas relativas a la frecuencia de aparición de elementos del alfabeto. El principal elemento de este sistema es la llamada Tabla de Vigenère, una matriz de caracteres cuadrada
a b c d e f g h i j k l m n o p q r s t u v w x y z
A a b c d e f g h i j k l m n o p q r s t u v w x y z
B b c d e f g h i j k l m n o p q r s t u v w x y z a
C c d e f g h i j k l m n o p q r s t u v w x y z a b
D d e f g h i j k l m n o p q r s t u v w x y z a b c
E e f g h i j k l m n o p q r s t u v w x y z a b c d
F f g h i j k l m n o p q r s t u v w x y z a b c d e
G g h i j k l m n o p q r s t u v w x y z a b c d e f
H h i j k l m n o p q r s t u v w x y z a b c d e f g
I i j k l m n o p q r s t u v w x y z a b c d e f g h
J j k l m n o p q r s t u v w x y z a b c d e f g h i
K k l m n o p q r s t u v w x y z a b c d e f g h i j
L l m n o p q r s t u v w x y z a b c d e f g h i j k
M m n o p q r s t u v w x y z a b c d e f g h i j k l
N n o p q r s t u v w x y z a b c d e f g h i j k l m
O o p q r s t u v w x y z a b c d e f g h i j k l m n
P p q r s t u v w x y z a b c d e f g h i j k l m n o
Q q r s t u v w x y z a b c d e f g h i j k l m n o p
R r s t u v w x y z a b c d e f g h i j k l m n o p q
S s t u v w x y z a b c d e f g h i j k l m n o p q r
T t u v w x y z a b c d e f g h i j k l m n o p q r s
U u v w x y z a b c d e f g h i j k l m n o p q r s t
V v w x y z a b c d e f g h i j k l m n o p q r s t u
W w x y z a b c d e f g h i j k l m n o p q r s t u v
X x y z a b c d e f g h i j k l m n o p q r s t u v w
Y y z a b c d e f g h i j k l m n o p q r s t u v w x
Z z a b c d e f g h i j k l m n o p q r s t u v w x y
Criptografía convencional/tradicional
La clave del sistema de cifrado de Vigenère es una palabra de letras, , del alfabeto utilizado anteriormente; esta palabra es un elemento del producto cartesiano ( veces), que es justamente el alfabeto del criptosistema de Vigenère. De esta forma, el mensaje a cifrar en texto claro ha de descomponerse en bloques de elementos - letras - y aplicar sucesivamente la clave empleada a cada uno de estos bloques, utilizando la tabla anteriormente proporcionada.
Veamos un ejemplo de aplicación del criptosistema de Vigenère: queremos codificar la frase La abrumadora soledad del programador utilizando la clave prueba. En primer lugar, nos fijamos en la longitud de la clave: es de seis caracteres, por lo que descomponemos la frase en bloques de longitud seis; aunque el último bloque es de longitud tres, esto no afecta para nada al proceso de cifrado:
laabru madora soleda ddelpr ograma dor
Criptografía convencional/tradicional
Ahora, aplicamos a cada bloque la clave prueba y buscamos los resultados como entradas de la tabla de Vigenère:
laabru madora soleda ddelpr ograma dor
prueba prueba prueba prueba prueba pru
arufsu brxhsa igfiea suyoqr exmena sgm
Por ejemplo, la primera `a' del texto cifrado corresponde a la entrada , o, equivalentemente, de la tabla de Vigenère. Finalmente, vemos que el texto cifrado ha quedado
arufsu brxhsa igfiea suyoqr exmena sgm.
Criptografía convencional/tradicional
Este método de cifrado polialfabético se consideraba invulnerable hasta que en el S.XIX se consiguieron descifrar algunos mensajes codificados con este sistema, mediante el estudio de la repetición de bloques de letras: la distancia entre un bloque y su repetición suele ser múltiplo de la palabra tomada como clave.
Una mejora sobre el cifrado de Vigenère fué introducida por el sistema de Vernam, utilizando una clave aleatoria de longitud igual a la del mensaje; la confianza en este nuevo criptosistema hizo que se utilizase en las comunciaciones confidenciales entre la Casa Blanca y el Kremlin, hasta, por lo menos, el año 1987.
Criptografía convencional/tradicional
Sustitución Cifrado de Vigenère
Clave: abretesesamoabretesmensaje: estamosdescubiertoscifrado: ETKEFSKHWSOIBJVWMSK
K/T a b c d e I m o r s t u a A B C D E I M O R S T U b B C D E F J N P S T U V e E F G H I M Q S V W X Y m M N O P Q U Y A D E F G o O P Q R S W A C F G H I r R S T W V Z D F I J K L s S T U V W A E G J K L M t T U V W X B F H K L M N
Criptografía convencional/tradicional
Transposición La scitala espartana
“… una vara de la que se preparaban dos ejemplares idénticos y alrededor de la cual se envolvia una tira de pergamino o de papiro. El mensaje se escribía a lo largo del bastón, se retiraba la cinta y se enviaba al destinatario, que tenía en su poder la segunda copia del bastón. Al colocar la cinta, aparecía el mensaje”
Tomado de :
Vida de los hombres ilustres de Grecia y Roma - Plutarco
Criptografía convencional/tradicional
Transposición Permutación de texto, cambiar la posición de las
letras en una frase
S E G U R O5 1 2 6 4 3S E G U R ID A D _ D ER E D E S A
Texto plano: SEGURIDAD DE REDESTexto Encriptado: EAEGDDIEARDSSDRU_ E
Criptografía convencional/tradicional
Transposición Ejemplo
Clave: encriptado Texto plano: Permutar el texto a partir de la clave secreta Texto cifrado: ?????????
Texto Encriptado: R –D E A R T R_R – A E– B P L P L E U X I L T E – A A C E _ _ S C T T R A A M E T C E A O _ V _
E N C R I P T A D O
4 6 2 9 5 8 10 1 3 7
P E R M U T A R - E
L - T E X T O - A _
P A R T I R - D E -
L A - C L A V E - S
E C R E T A - A B C
Criptografía convencional/tradicional
Transposición Ejemplo
Clave: encriptado Texto cifrado: I I E R A P – A V O O S R O D E E E T I S E – S S X S M
I M N T A X O I – O – A O D S O – C S P P B Texto plano: ?????????
Criptografía convencional/tradicional
Transposición Ejemplo
Clave: encriptado Texto cifrado: I I E R A P – A V O O S R O D E E E T I S E – S S
X S M I M N T A X O I – O – A O D S O – C S P P B Texto plano: ?????????
Texto Encriptado: EXPOSICIONES DE SISTEMAS OPERATIVOS PROXIMO SABADO
E N C R I P T A D O
4 6 2 9 5 8 10 1 3 7
E X P O S I C I O N
E S - D E - S I S T
E M A S - O P E R A
T I V O S - P R O X
I M O - S A B A D O
Criptografía convencional/tradicional
Estenografía - Esteganografía Embeber dentro de un texto, imagen o sonido
otro tipo de información Del griego stegos, “escritura oculta” o “escritura
encubierta” Puede ser:
Algunos de los datos del texto, imagen o sonido son el verdadero mensaje
Algunos de los “bits” del texto, imagen o sonido son el verdadero mensaje
Criptografía convencional/tradicional
Estenografía - Esteganografía
Ejemplo en texto
Presión de curas en pitalito logro un debate
al importante manifiesto propuesto. ATN
reporto esto.
Criptografía de llaves secretas
Se basa en: Encriptar información usando:
Algoritmo de Encripción/desencripción Clave/llave secreta
Desencriptar un texto encriptado usando: Algoritmo de Encripción/Desencripción Clave/llave secreta usada durante la encripción
El origen y el destino deben ponerse de acuerdo en la clave/llave secreta
Criptografía de llaves secretas
Texto
Algoritmode
Encripción/Desencrpción
TextoCifrado
Algoritmode
Encripción/Desencrpción
Texto
Clave
Origen Destino
Algoritmo DES (Data Encryption Standar)
Simétrico Fue el estándar de encripción oficial del gobierno
americano para información no confidencial Desarrollado por IBM El algoritmo toma bloques de 64 bits y los permuta 16
veces de diferentes maneras (de la misma manera en ambos extremos).
Su mayor debilidad es su clave de tan solo 56 bits Restringido a USA 1976 - 1997
Algoritmo DES (Data Encryption Standard)
Li = Di-1
Di = Li-1 f(Di-1, Ki)Ki = 48 de los 56 bits de la claveC
lave
de
56 b
its
Texto Original 64 bits
Permutación inicial
Li Di
Li Di
Texto Cifrado
Permutación final
Algoritmo DES (Data Encryption Standard)
Permutación inicialIP
58 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7
Texto Original 64 bits
Permutación inicial
Li Di
Li Di
Texto Cifrado
Permutación final
Cla
ve d
e 56
bits
Algoritmo DES (Data Encryption Standard) Permutación final o inversa
IP-1
40 8 48 16 56 24 64 3239 7 47 15 55 23 63 3138 6 46 14 54 22 62 3037 5 45 13 53 21 61 2936 4 44 12 52 20 60 2835 3 43 11 51 19 59 2734 2 42 10 50 18 58 2633 1 41 9 49 17 57 25
Texto Original 64 bits
Permutación inicial
Li Di
Li Di
Texto Cifrado
Permutación final
Cla
ve d
e 56
bits
Algoritmo DES Una iteración típica
Li - 1 Ri - 1
Li Ri
E generation
Substitución
Permutación
48 bits de la clave
Texto Original 64 bits
Permutación inicial
Li Di
Li Di
Texto Cifrado
Permutación final
Cla
ve d
e 56
bits
Algoritmo DES Una iteración típica
E BIT-SELECTION TABLE
32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1
Li - 1 Ri - 1
Li Ri
E generation
Substitución
Permutación
48 bits de la clave
Algoritmo DES Una iteración típica
Li - 1 Ri - 1
Li Ri
E generation
Substitución
Permutación
48 bits de la clave
Algoritmo DES Una iteración típica
S1
No. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 71 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 82 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S1
Algoritmo DES Una iteración típica
S2
15 1 8 14 6 11 3 4 9 7 2 13 12 O 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 O 9 3 4 6 10 2 8 5 14 12 11 15
1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
Algoritmo DES Una iteración típica
S4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 O 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 O 6 10 1 13 8 9 4 5 11 12 7 2 14
S5
2 12 4 1 7 10 11 6 8 5 3 15 13 O 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 O 14 11 8 12 7 1 14 2 13 6 15 O 9 10 4 5 3
Algoritmo DES Una iteración típica
S6 12 1 10 15 9 2 6 8 O 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 O 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
S7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
S8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Algoritmo DES Una iteración típica
Permutación
16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 919 13 30 6 22 11 4 25
Li - 1 Ri - 1
Li Ri
E generation
Substitución
Permutación
48 bits de la clave
Algoritmo DES La clave
Li - 1 Ri - 1
Li Ri
E generation
Substitución
Permutación
48 bits de la clave
Algoritmo IDEA
Algoritmo de encripción convencional orientado a bloques
Desarrollado en el Instituro Federal Suizo de Tecnología por Xuejia Lai y James Massey
Bloques de 64bits
Llave de 128 bits
Algoritmo SAFER Robert Massey (uno de los creadores de IDEA). Claves de 128 bits Maneja bloques de 64 bits divididos en segmentos de 8 bits 6 a 8 iteraciones Operaciones
XOR ( ) AND ( ) y= 45 x mod 257 (45) y= log15 x (log)
Las subclaves se generan a partir de rotaciones de los bits de la clave y XOR con una función basada en la iteración actual.
Algoritmo AES (Advanced Encryption Standard)
Nuevo estándar de encripción oficial del gobierno americano para información no confidencial
Convocatoria (1997) Algoritmo simétrico por bloques Algoritmo Público Claves de 128, 192 y 256 bits Implementación por Sw y por Hw
Escogencia en el 2000 y puesta en funcionamiento 2001. AEA (Advanced Encryption Algorithm)
Autor : Rijndael (Joan Daemen y Vincent Rijmen)
Algoritmo AES (Advanced Encryption Standard)
Claves variables (128, 192, 256 bits ) 40% mas rápido que triple DES Con claves de 128 bits=3 x 1038 claves,requiere una
máquina con 1 billón de procesadores en paralelo, cada uno con capacidad de evaluar 1012 claves por segundo y tardaría 1010 años en analizar todas las posibilidades
Escrito en lenguaje C Entre 10 y 14 iteraciones (claves y bloques de 128 bits o
claves de 256 bits y bloques de 128 bits El algoritmo toma bloques de 128 bits y “partes” de la
clave de 128 bits y los opera Maneja S-box (del estilo de DES, pero solo una)
Algoritmo AES (Advanced Encryption Standard)
Algoritmo
Se tienen matrices de 4x4 caracteres (de datos y de clave) Sustitución: haciendo usos de s-box
Rotación a la izquierda
Mezclar los bits usando multiplicación de matrices
XOR con la clave
Criptografía de llaves simétricas
La seguridad de la encripción tradicional
depende de :
Privacidad y secreto de la clave
No importa el conocimiento del algoritmo
sino de la clave
Problema: distribución de la clave
Algoritmo Diffie Hellman Autores Whitfield Diffie y Martin Hellman
1976
Para intercambio de llaves simétricas
Se basa en la dificultad de factorizar números
grandes
Primeros pasos en los mecanismos de llaves
asimétricas
Request for Comments: 2631
Criptografía de llaves públicas
Se basa en: un algoritmo de Encripción/Desencripción Un juego de llaves por usuario
Llave Pública (conocida por cualquier persona) Llave Privada (conocida SOLO por el dueño)
Puede ser usado para Encriptar de Información Autenticar información (no repudio de origen) Encriptar y autenticar (no repudio de origen)
Nota: Siempre garantiza no modificación
Criptografía de llaves públicasEncriptar Información
TextoAlgoritmo
de encripción
TextoCifrado
Algoritmode
desencripción
Texto
Clave Pública
Origen Destino
Clave PRIVADA
Repositorio Público
Criptografía de llaves públicasAutenticación (no repudio)
TextoAlgoritmo
de encripción
TextoCifrado
Algoritmode
desencripción
Texto
Clave Privada
Origen Destino
Clavepública
Repositorio Público
Criptografía de llaves públicasEncripción + Autenticación
TextoAlgoritmo
de encripción
TextoCifrado
Texto
Clave Pública de B
Origen A
DestinoB
Repositorio Público
Texto
Cifrado
Algoritmode
encripción
Clave Privada de A
Algoritmode
desencripción
Tex
toC
ifr a
d oClave
Pública de A
Algoritmode
desencripción
Clave Privada de B
Algoritmo RSA (Rivers, Shamir & Adleman)
Algoritmo de llaves públicas
Genera las llaves con base al producto de dos
número primos de 256 bits cada uno
El fundamento de la seguridad de este sistema
reside en la dificultad técnica de factorizar
números primos de gran magnitud
http://www.rsa.com/rsalabs/node.asp?id=2093
Algoritmo RSA (Rivers, Shamir & Adleman)
Se toman dos numeros primos suficientemente grandes, sean p y q (10100)
Sea n = p * q y z = (p-1)*(q-1) Se elige un número d, menor que n y primo relativo con z, es decir, d
y z tienen factor común solo a 1 Se debe encontrar un número e, de tal forma que:
( d * e - 1 ) sea divisible por z o ( e * d ) mod z = 1
e y d son exponentes público y privado, entonces (n,e) es la clave pública (n,d) es la clave privada
Para encriptar y desencriptar C = Pe mod n P = Cd mod n
Algoritmo RSA (Rivers, Shamir & Adleman)
Como funciona ? Se generan las llaves
Se coloca la llave pública en un CA o se envía a
“destino”
Se guarda la Privada
Si alguien quiere mandarme un mensaje
encriptado usa mi llave pública
Cuando llegue el mensaje, se desencripta con mi
llave privada
Comparativo de la encripción convencional y la pública
Convencional o simétrica Para Trabajar requiere
Algoritmos y claves idénticas en ambos extremos
Se comparten claves Para seguridad requiere
La Clave debe mantenerse secreta
Debe ser imposible o al menos impracticable descifrar elmensaje sin conocer la clave
El conocimiento del algoritmo y una parte del texto cifradono debe permitir deducir la clave
Pública o asimétrica Para trabajar requiere
Un único algoritmo es usado con un par de claves para encripción y otro para desencripción
El enviador y el receptor deben tener c/u una de las claves del par
Para seguridad requiere Una de las 2 claves es secreta Debe ser imposible o al mnos
impracticable descifrar el mensaje sin conocer la clave
El conocimiento del algoritmo, una parte del texto cifrado y una clave no debe permitir deducir la otra clave
En resumen …
Encripción simétrica
C = Ek (P)
P = Dk (C)
Dk ( Ek (P) ) = P
La clave está en mantener en secreto la
llave de encripción/desencripción
En resumen …
Encripción asimétrica Encripción
Origen(A) Destino(B)
C = EkPuB (P) P = DkPrB (C) Autenticación (no repudio)
Origen(A) Destino(B)
C = EkPrA (P) P = DkPuA (C) Encripción / Autenticación (no repudio)
Origen(A) Destino(B)
C = EkPrA(EkPuB (P)) P = DkPuA(DkPrB (C))
C = EkPuB(EkPrA (P)) P = DkPrB(DkPuA (C))
C = EkPrA(EkPuB (P)) P = DkPrB(DkPuA (C))
C = EkPuB(EkPrA (P)) P = DkPuA(DkPrB (C))