• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
 

Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas

on

  • 2,919 views

ESTE DOCUMENTO PRESENTA LOS DIFERENTES TIPOS DE ALGORITMOS DE CIFRADO DE CLAVES PUBLICAS Y PRIVADAS REALIZADO POR JORGE CHIRIBOGA ALUMNO DE LA ESPE

ESTE DOCUMENTO PRESENTA LOS DIFERENTES TIPOS DE ALGORITMOS DE CIFRADO DE CLAVES PUBLICAS Y PRIVADAS REALIZADO POR JORGE CHIRIBOGA ALUMNO DE LA ESPE

Statistics

Views

Total Views
2,919
Views on SlideShare
2,919
Embed Views
0

Actions

Likes
0
Downloads
54
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas Document Transcript

    • ESCUELA POLITECNICA DEL EJÉRCITO CARRERA DE INGENIERIA DE SISTEMAS E INFORMATICA NOMBRE: JORGE ARTURO CHIRIBOGA NEIRA NIVEL: 1 PARALELO: D MATERIA: COMPUTACION PROF.: ING. JOHN BEDON MOLINA ALGORITMOS DE CIFRADO PARA EL ENCRIPTAMIENTO DE CLAVES PÚBLICAS GNUPG, ENCRIPTAMIENTO CON CLAVES PÚBLICAS Esta semana hemos trabajado fuertemente en torno al tema de la criptografía y hemos puesto en practica varias cosas mediante una herramienta muy útil llamada gnupg que es el equivalente al pgp (que es de software privativo) en el open source también llamado software libre el cual sirve para el cifrado de datos utilizando algoritmos tanto simétricos como asimétricos y que esta muy orientado a todo lo relacionado con el correo electrónico y las firmas digitales. qnupg es un software muy cencillo de utilizar el cual esta disponible tanto como para plataformas GNU/linux como para windows y mac, puedes visitar la pagina oficial aqui o descargarlo presionando aqui, solo tienes que buscar la descarga para tu plataforma lo descargas, instalas y listo. RSA El sistema criptográfico con clave pública RSA es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario. Una clave es un número de gran tamaño, que una persona puede conceptualizar como un mensaje digital, como un archivo binario o como una cadena de bits o bytes.
    • Cuando se quiere enviar un mensaje, el emisor busca la clave pública de cifrado del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, éste se ocupa de descifrarlo usando su clave oculta. Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado. Emplea expresiones exponenciales en aritmética modular. La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales. La computación cuántica podría proveer una solución a este problema de factorización. DSA DSA (Digital Signature Algorithm, en español Algoritmo de Firma digital) es un estándar del Gobierno Federal de los Estados Unidos de América o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnología de los Estados Unidos para su uso en su Estándar de Firma Digital(DSS), especificado en el FIPS 186. DSA se hizo público el 30 de agosto de 1991, este algoritmo como su nombre lo indica, sirve para firmar y no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA. Generación de llaves • Elegir un número primo p de L bits, donde 512 ≤ L ≤ 1024 y L es divisible por 64. • Elegir un número primo q de 160 bits, tal que p−1 = qz, donde z es algún número natural. • Elegir h, donde 1 < h < p − 1 tal que g = hz(mod p) > 1. • Elegir x de forma aleatoria, donde 1 < x < q-1. • Calcular y = gx(mod p). Los datos públicos son p, q, g e y. x es la llave privada. Demostración del algoritmo El esquema de la firma está correcto en el sentido que el verificador aceptará siempre firmas genuinas. Esto puede ser demostrada como sigue: De g = hz mod p sigue gq ≡ hqz ≡ hp-1 ≡ 1 (mod p) por Pequeño teorema de Fermat. Ya que g>1 y q es primo sigue que g tiene orden q. El firmante computa
    • Entonces Ya que g tiene orden q tenemos que Finalmente, la correctitud de DSA surge de ALGORITMOS DE CIFRADO PARA EL ENCRIPTAMIENTO DE CLAVES PRIVADAS Cifrado DES El cifrado DES es un cifrado por bloques, este cifrado toma un mensaje y lo separa en bloques de un tamaño de bits determinado (en caso del DES el tamaño del bloque es de 64 bits), y transforma este mensaje en un criptograma tras una serie de complicadas operaciones, dando como resultado un criptograma de la misma longitud que el mensaje. En el cifrado DES, se usa una clave de 64 bits para cifrar los bloques, aunque en realidad sólo se usan 56 bits. Los 8 bits restantes de la clave son usados para comprobar la paridad y después son descartados. Funcionamiento El funcionamiento del cifrado se basa en 16 fases idénticas del proceso, normalmente llamadas rondas. Se realizan dos permutaciones, una inicial (PI) y una final (PF), que son funciones inversas entre sí. Antes del comienzo de las rondas el bloque de 64 bits a cifrar/descifrar, se divide en dos mitades de 32 bits cada una, y se procesan alternativamente cruzandose. (Este entrecruzamiento se conoce como esquema Feistel) La estructura del cifrado asegura que el cifrado y el descifrado sean procesos muy similares, la única diferencia es que las subclaves se aplican en orden inverso cuando desciframos. Expansión: La mitad del bloque (32 bits) se expande a 48 bits mediante la permutación de expansión, denotada como E en la imagen.
    • Mezcla: El resultado de la anterior operación (Expansión) se combina con una subclave mediante la operación XOR. Las subclaves se derivan de la clave inicial mediante una generación de subclaves, en total hay dieciséis. Sustitución: Tras realizar la anterior operación (Mezcla) el bloque es dividido en ocho trozos de 6 bits antes de ser procesados por las cajas-S, o cajas de sustitución. Cada una de las ocho cajas-S reemplaza los 6 bits de entrada por 4 bits de salida, de acuerdo con una especificación de una tabla de búsqueda. Las cajas-S son el núcleo de la seguridad del cifrado. Permutación: Tras realizar la operación anterior (Sustitución) en sus ocho trozos, los 32 bits de salida se reordenan de acuerdo a una permutación fija: la caja-P. La generación de las subclaves para el cifrado, consiste en los siguientes pasos: • Primero, se seleccionan 56 bits de la clave de los 64 iniciales mediante la Elección Permutada 1 (EP-1) — los ocho bits restantes pueden descartarse o utilizarse como bits de comprobación de paridad. Los 56 bits se dividen entonces en dos mitades de 28 bits; a continuación cada mitad se trata independientemente. • En rondas sucesivas, ambas mitades se desplazan hacia la izquierda uno o dos bits (dependiendo de cada ronda), y entonces se seleccionan 48 bits de subclave mediante la Elección Permutada 2 (PC-2) — 24 bits de la mitad izquierda y 24 de la derecha. Los desplazamientos implican que se utiliza un conjunto diferente de bits en cada subclave; cada bit se usa aproximadamente en 14 de las 16 subclaves. La generación de claves para descifrado es similar — debe generar las claves en orden inverso. Por tanto los desplazamientos se hacen hacia la derecha, en lugar de hacia la izquierda. A modo de apunte, decir que este cifrado fue muy controvertido y ampliamente usado, incluso se llegaron a realizar varias modificaciones para que siguiera siendo seguro después de haber sido roto, la modificación más conocida fue el triple DES. También decir que este cifrado fue usado en su época porque se podía realizar vía hardware, es decir, sin ningún tipo de programa que fuera el encargado de hacerlo. Cifrado por transposición o permutación Cada letra (o carácter) se intercambia por otra del mensaje, reordenando de algún modo las letras, pero no disfrazándolas. Para este tipo de cifrado se usan múltitud de métodos, como colocar las letras en una matriz de una manera y sacarlas de otra manera diferente. Cifrado Vernam
    • Según el principio de Kerkhoff todos los algorítmos de cifrados y descifrados deben ser públicos y conocidos por todos, lo único secreto es la clave del algorítmo, esta clave se convierte en la piedra angular del algorítmo. Basándose en este principio, el cifrado perfecto (el cifrado Vernam) debe ser público con su clave en secreto y ésta debe tener la misma longitud del mensaje, ser generada aleatoriamente y solamente puede ser usada una sóla vez. Para cifrar el mensaje se realiza una operación XOR (or exclusivo) entre el mensaje y la clave. Como se puede observar este método sería perfecto de no ser porque cada clave generada aleatoriamente debería ser generada también aleatoriamente e idéntica a la del emisor, por el receptor del mensaje, algo que en principio es muy díficil. Cifrado por sustitución ¿Qué es un cifrado por sustitución? Es aquel cifrado que sustituye cada letra o grupo de letras por otra letra o grupo de letras distinta/s para cifrar el texto en claro. Los primeros y antiguos métodos de cifrado se basaban en este principio, aunque en aquella época no eran muy robustos ni difíciles de descifrar, pero les resultaban muy útiles. Cifrado César Quizá el cifrado más conocido, fue inventado por Julio César en el antiguo imperio Romano. Sigue el siguiente principio: Cada letra del texto en claro se sustituye por la letra que hay a “k” posiciones detrás de ella en el alfabeto. Matemáticamente hablando: Definimos las siguientes operaciones: • Ordinal de una letra: Es la posición que ocupa la letra en el alfabeto que usamos. Se denota como: ORD (Letra) [ORD (A) = 0] • Caracter de un número: Es la letra que ocupa la posición del número que tenemos. Se denota como: CAR (x) [donde “x” tiene que ser mayor o igual a cero, y menor o igual al número de letras del alfabeto usado] Vamos a pasar a lo interesante la fórmula del cifrado y descifrado: • Cifrado: C(x) = x + k (mod T) • Descifrado: D(x) = x - k (mod T)
    • (Siendo “x” el ORD (Letra a cifrar), “k” es el número de posiciones a desplazar y “T” es el total de letras en el alfabeto a usar) Se puede observar que la clave de este cifrado es el número de posiciones a desplazar las letras (k). Como véis no hemos hecho nada más que empezar y ya aparece la operación módulo, aunque Julio César no tuviera ni idea de qué era el módulo. Cifrado Polybios Este cifrado fue realizado en la antigua Grecia y usaba el alfabeto Griego en su versión original, aunque se ha adaptado a los demás alfabetos. Se basa en colocar las letras del alfabeto en una matriz, normalmente de 5×5, y en las cabeceras de las columnas y filas se le asigna unos números o letras siguiendo un patrón preestablecido por el usuario del cifrado. Así usando el alfabeto tradicional, sin contar la Ñ, tendríamos la siguiente matriz: 1 2 3 4 5 1 A B C D E 2 F G H I K 3 L M N O P 4 Q R S T U 5 V W X Y Z (Aclaración: La J se junta con la I por convenio) Y a partir de esta matriz se cifra el mensaje, cogiendo letra a letra y sustituyendola por los números de su fila y columna. Por ejemplo: HOLA => 23343111 Para descifrar, se cogerían de dos en dos números y se buscaría el cruce de dichos números en la matriz. Es obvio, que la clave de este cifrado es la matriz, y más concretamente el orden del contenido de ésta y los valores que usemos en los encabezados de las filas y columnas.