Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEGURIDAD EN LA INFORMACION
GRUPO 511
INDICE
DEFINICION DE LA CRIPTOGRAFIA……………………………………………………………………………………02
ORIGENES Y CONCEPTOS DE LA CRIPTOGRAFIA…………………………………………………………….…02
BASES MATEMATICAS DE LA CRIPTOGRAFIA……………………………………………………………………04
METODOS DE CRIPTOGRAFIA…………………………………………………………………………………………..04
CRIPTOGRAFIA SIMETRICA……………………………………………….………………………………..04
CRIPTOGRAFIA ASIMETRICA……………………………………………………………………………....05
CRIPTOGRAFIA DE CURVA ELIPTICA…………………………………………………………………….05
CRIPTOGRAFIA HIBRIDA………………………………………………………………………………………05
ALGUNOS ALGORITMOS DE CIFRADO……………………………………………………………………………..06
ADVANCED ENCRYPTION STANDARD (AES) ………………………………………………………………….…06
RC4………………………………………………………………………………………………………………………………….07
DATA ENCRYPTION STANDARD (DES)……………………………………………………………………………..09
BLOWFISH……………………………………………………….……………………………………………………………..09
ALGUNOS PROTOCOLOS DE CIFRADO……………………………………………………….……………………10
SSL / TLS……………………………………………………….…………………………………………………….10
SSH……………………………………………………….…………………………………………………………….11
PGP……………………………………………………….…………………………………………………………….11
ALGUNAS APLICACIONES DE CIFRADO……………………………………………………….……………………12
JOHN THE RIPPER……………………………………………………….……………………………………….12
TRUECRYPT……………………………………………………….………………………………………………..13
CONCLUSION……………………………………………………….………………………………………………………….14
BIBLIOGRAFIA……………………………………………………….…………………………………………………………15
-1-
DEFINICION DE LA CRIPTOGRAFIA
Proveniente del griego κρύπτω (krypto) y γράφω (graphos), cuyo significado literal seria
“escritura oculta”. Hoy en día, es la técnica que se aplica para alterar las representaciones
de un mensaje. Su objetivo principal es el de enmascarar las representaciones graficas de
una lengua, es decir, una frase que se pueda leer de una manera sencilla, la podamos
pasar a una manera difícil de leer.
Los orígenes de la criptografía son inciertos, dado que no se puede decir desde hace que
tiempo las civilizaciones desarrollaron esta técnica, aunque el primer sistema
criptográfico, documentado, sea un sistema de sustitución que estaba basado en la
posición de las letras en una tabla, dicho sistema fue documentado en la antigua Grecia
por el historiador Polibio, posterior a ello podríamos hablar de diversos métodos o
sistemas de encriptación incluyendo el método Cesar , el cual se dice que Julio César lo
utilizaba para comunicarse con sus tropas en las campañas bélicas que llego a comandar,
o la escítala espartana, la cual en un cilindro de un determinado diámetro se escribía el
mensaje y posterior a ello era desenrollado y para poder descifrar el contenido tenía que
ser enrollado en otro cilindro del mismo diámetro.
Pero es hasta 1465 que se inventa un sistema de sustitución polialfabética, que su ponía
un avance a la muy importante para la época, por el italiano Leon Battista Alberti, otro
criptógrafo destacado del siglo XVI fue Blasie de Vigenère, cuyo sistema de cifrado
perdura hasta hoy en día con su nombre, durante los siguientes tres siglos los monarcas
de la época mostraron gran interés por la materia, un ejemplo de ello es el sistema de
cifra que utilizaban las tropas del rey Felipe II, el cual utilizaba más de 500 símbolos que
según los matemáticos de la corte era “inquebrantable” .
Con la llegada de la Segunda Guerra Mundial, la criptografía fue un gran aliado de los
alemanes, los cuales utilizaban el cifrado ADFGVX, el cual era muy parecido al que había
documentado Polibio, pero es en el siglo XX cuando la criptografía sufre grandes avances
con las máquinas de cálculo, la más conocida es la maquina “Enigma” la cual tuvo su
origen en Alemania.
-2-
A mediados de los años 70, el Departamento de Normas y Estándares norteamericano
publica el primer diseño lógico de un cifrador que estaría llamado a ser el principal sistema
criptográfico de finales de siglo: el Estándar de Cifrado de Datos o DES por sus siglas en
inglés. En esas mismas fechas ya se empezaba a gestar lo que sería la, hasta ahora, última
revolución de la criptografía teórica y práctica: los sistemas asimétricos. Estos sistemas
supusieron un salto cualitativo importante, ya que permitieron introducir la criptografía
en otros campos que hoy día son esenciales, como el de la firma digital.
Las dos técnicas más sencillas de cifrado, en la criptografía clásica, son la sustitución, que
supone el cambio de significado de los elementos básicos del mensaje, como lo utiliza el
método césar y la transposición, que supone una reordenación de los mismos, la gran
mayoría de las cifras clásicas son combinaciones de estas dos operaciones básicas.
El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y
la clave. El protocolo criptográfico especifica los detalles de cómo se utilizan los algoritmos
y las claves para conseguir el efecto deseado. El conjunto de protocolos, algoritmos de
cifrado, procesos de gestión de claves y actuaciones de los usuarios, es lo que constituyen
en conjunto un criptosistema, que es con lo que el usuario final trabaja e interactúa.
Existen dos grandes grupos de cifras: los algoritmos que usan una única clave tanto en el
proceso de cifrado como en el de descifrado, y los que emplean una clave para cifrar
mensajes y una clave distinta para descifrarlos. Los primeros se denominan cifras
simétricas, de clave simétrica o de clave privada, y son la base de los algoritmos de cifrado
clásico. Los segundos se denominan cifras asimétricas, de clave asimétrica o de clave
pública y forman el núcleo de las técnicas de cifrado modernas.
-3-
aquellos que han adquirido más experiencia y profundidad en la misma. Ideológicamente
cifrar equivale a escribir y descifrar a leer lo escrito.
Existen fórmulas que realizan un proceso de suma al código ASCII del carácter a codificar,
algo como:
Caracteres del Texto: E N
Códigos ASCII: 69 78
Sumar 2: 71 80
Caracteres Codificados: G P
Este proceso puede ser un método de codificación sin embargo existen varios métodos
que aplican la matemática para por dar como resultado la encriptación de un texto, otra
forma de ello es con factoriales, si aunque se escuche de una manera algo complicada es
posible crear un método de encriptación a partir de un factorial, con un número primo,
inclusive con métodos matemáticos más avanzados como alguna integral o derivada de
una ecuación que ayude a la codificación, sin embargo para poder hacer unos de las
matemáticas en la codificación de textos debemos hablar de los tipos de criptografía.
METODOS DE CRIPTOGRAFÍA
Los tipos de criptografía que hoy en día han sido reconocidos existe la criptografía
simétrica, asimétrica, de curva elíptica, hibrida, estos métodos emplean desde la
transportación de caracteres, el desordenamiento de los mismos, la utilización de claves
para cifrar o descifrar, e incluso la combinación de dos o más para obtener un cifrado más
fuerte.
CRIPTOGRFIA SIMETRICA
A este método es conocido también por el uso de una clave privada, es decir el
cifrador pone una clave para cifrar la información que se requiere, el
-4-
destinatario final deberá de tener la misma clave para poder descifrar el
contenido del cifrado, este tipo de método es utilizado en condiciones que no
exijan requisitos de seguridad muy estrictos, debido a que el envió de la clave
para su descifrado disminuye su robustez, por otra parte, una ventaja de este
mecanismo es que al ser más simple su ejecución será mucho más rápida.
CRIPTOGRFIA ASIMETRICA
CRIPTOGRAFIA HIBRIDA
-5-
ALGUNOS ALGORITMOS DE CIFRADO
El cifrador fue desarrollado por dos criptólogos belgas, Joan Daemen y Vincent
Rijmen, ambos estudiantes de la Katholieke Universiteit Leuven, y enviado al
proceso de selección AES bajo el nombre "Rijndael".
AES opera en una matriz de 4×4 bytes, llamada state (algunas versiones de
Rijndael con un tamaño de bloque mayor tienen columnas adicionales en el
state).
Pseudocódigo AES
1. AddRoundKey
Rondas:
-6-
2. ShiftRows — en este paso se realiza una transposición donde cada
fila del «state» es rotada de manera cíclica un número determinado
de veces.
3. MixColumns — operación de mezclado que opera en las columnas
del «state», combinando los cuatro bytes en cada columna usando
una transformación lineal.
4. AddRoundKey — cada byte del «state» es combinado con la clave
«round»; cada clave «round» se deriva de la clave de cifrado usando
una iteración de la clave.
Etapa final:
1. SubBytes
2. ShiftRows
3. AddRoundKey
RC4
/* KSA */
-7-
void rc4_init(unsigned char *key, unsigned int key_length) {
for (i = 0; i < 256; i++)
S[i] = i;
i = j = 0;
}
/* PRGA */
unsigned char rc4_output() {
i = (i + 1) & 255;
j = (j + S[i]) & 255;
swap(S, i, j);
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
unsigned char *test_vectors[][2] =
{
{"Key", "Plaintext"},
{"Wiki", "pedia"},
{"Secret", "Attack at dawn"}
};
int x;
for (x = 0; x < ARRAY_SIZE(test_vectors); x++) {
int y;
rc4_init(test_vectors[x][0], strlen((char*)test_vectors[x][0]));
-8-
}
getch();
return 0;
}
Hoy en día, DES se considera inseguro para muchas aplicaciones. Esto se debe
principalmente a que el tamaño de clave de 56 bits es corto; las claves de DES se
han roto en menos de 24 horas. Existen también resultados analíticos que
demuestran debilidades teóricas en su cifrado, aunque son inviables en la
práctica. Se cree que el algoritmo es seguro en la práctica en su variante de
Triple DES, aunque existan ataques teóricos. Desde hace algunos años, el
algoritmo ha sido sustituido por el nuevo AES (Advanced Encryption Standard).
En algunas ocasiones, DES es denominado también DEA (Data Encryption
Algorithm).
BLOWFISH
-9-
Blowfish usa bloques de 64 bits y claves que van desde los 32 bits hasta 448
bits. Es un codificador de 16 rondas Feistel y usa llaves que dependen de las
Cajas-S. Tiene una estructura similar a CAST-128, el cual usa Cajas-S fijas.
SSL / TLS
TLS 1.1 es la última versión aprobada del protocolo TLS. TLS 1.1 clarifica algunas
ambigüedades y añade cierto número de recomendaciones. TLS 1.1 es muy
- 10 -
similar a TLS 1.0. La principal razón de esta nueva versión es un formato
modificado para cifrado RSA anterior al uso de 'master secret', que es parte del
mensaje de intercambio de claves del cliente (si se usa RSA), para usar PKCS#1
versión 2.1, en detrimento de PKCS#1 versión 1.5 en TLS 1.0. La razón de dicho
cambio es para protegerse contra ataques descubiertos por Daniel
Bleichenbacher que podían lanzarse contra servidores TLS 1.0, usando PKCS#1
versión 1.5, que podrían fallar de diferentes formas dependiendo de si el
formato descifrado fuera correcto o no. Éste también incluye recomendaciones
para evitar ataques remotos programados. TLS 1.1 está actualmente
implementado en el navegador Opera y en GnuTLS.
SSH
SSH trabaja de forma similar a como se hace con telnet La diferencia principal es
que SSH usa técnicas de cifrado que hacen que la información que viaja por el
medio de comunicación vaya de manera no legible y ninguna tercera persona
pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe
durante toda la sesión; aunque es posible atacar este tipo de sistemas por
medio de ataques de REPLAY y manipular así la información entre destinos.
- 11 -
PGP originalmente fue diseñado y desarrollado por Phil Zimmermann en 1991.
El nombre está inspirado en el del colmado Ralph's Pretty Good Grocery de Lake
Wobegon, una ciudad ficticia inventada por el locutor de radio Garrison Keillor.
John the Ripper es un programa de criptografía que aplica fuerza bruta para
descifrar contraseñas. Es capaz de romper varios algoritmos de cifrado o hash,
como DES, SHA-1 y otros.
John the Ripper usa un ataque por diccionario: tiene un diccionario con
palabras, que pueden ser contraseñas típicas, y las va probando todas. Para
cada palabra, la cifra y la compara con el hash a descifrar. Si coinciden, es que la
palabra era la correcta.
Esto funciona bien porque la mayor parte de las contraseñas que usa la gente
son palabras de diccionario. Pero John the Ripper también prueba con
variaciones de estas palabras: les añade números, signos, mayúsculas y
minúsculas, cambia letras, combina palabras, etc.
- 12 -
Además ofrece el típico sistema de fuerza bruta en el que se prueban todas las
combinaciones posibles, sean palabras o no. Éste es el sistema más lento, y
usado sólo en casos concretos, dado que los sistemas anteriores (el ataque por
diccionario) ya permiten descubrir muy rápidamente las contraseñas débiles.
TRUECRYPT
AES-Twofish
AES-Twofish-Serpent
Serpent-AES
Serpent-Twofish-AES
Twofish-Serpent.
- 13 -
CONCLUSION
La criptografía podría ser considerada como métodos que sirven para ocultar cierta
información o determinados datos que podrían ser de vital importancia para ciertos
sectores, sin embargo, para otros podría representar el guardar información personal
como lo son las firmas digitales, sin embargo para mi muy en lo personal me queda al aire
la pregunta de ¿si realmente con el uso de la criptografía moderna podamos garantizar las
propiedades de integridad y confidencialidad y con ello resolver si no al 100% el problema
si casi en su totalidad de la seguridad de la información?, a pesar de ello siempre habrá un
punto débil en la criptografía, que por lo regular, podría decir, que es, por el hecho de que
es desarrollado por personas, y en segundo por malos diseños de los sistemas, creo que
por lo anterior, siempre es importante conocer un poco de criptografía, aunque sea los
elementos básicos, para por lo menos tener una idea de qué tanta seguridad informática
ofrece el sistema que se usa.
- 14 -
BIBLIOGRAFIA
Medios Impresos
Barrow, John D.: ¿Por qué el mundo es matemático? Grijalbo, Barcelona, 1997. Trad.:
Javier Gracía Sanz.
Medios Electrónicos
http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/crypto.html
http://vexpert.mvps.org/articles/vbEncrypt.htm
http://es.wikipedia.org/wiki/TrueCrypt
http://es.wikipedia.org/wiki/John_the_Ripper
http://es.wikipedia.org/wiki/PGP
http://es.wikipedia.org/wiki/SSH
http://es.wikipedia.org/wiki/Transport_Layer_Security
- 15 -