Cifrado por RSA.

11

Click here to load reader

description

Documento que contiene la información acerca del algoritmo de cifrado asimétrico conocido como RSA.

Transcript of Cifrado por RSA.

Page 1: Cifrado por RSA.

[Escribir el subtítulo del documento]

Díaz Romero Enrique Perdomo

Salamanca Sandra Gissel Sánchez Rodríguez Sandra

Angélica Sevilla Bárcenas Martin

23/11/2011

Page 2: Cifrado por RSA.

Conceptos básicos de encriptación

En este ensayo definiremos lo que es la encriptación como método de seguridad

informática, así como explicaremos al lector nuestra postura acerca de una

hipótesis que defenderemos.

Antes que nada definiremos lo que es encriptación. A la encriptación se le

conoce como cambiar las grafías de una determinada lengua para proteger el

significado que el usuario desee, es como esconder las grafías, porque al

esconder se protege el contexto en un determinado código.

Según Donal E. Knuth “Un algoritmo es una secuencia finita de

instrucciones, reglas o pasos que describen de forma precisa las operaciones que

un ordenador debe realizar para llevar a cabo un tarea en un tiempo más finito.”

Un algoritmo es un conjunto prescrito de instrucciones ordenadas y finitas que

permiten realizar una actividad, tarea o procedimiento mediante pasos sucesivos y

no generan duda a que realice dicha actividad.

Las características fundamentales que debe cumplir un algoritmo son:

Ser definido: sin ambigüedad, cada paso del algoritmo debe indicar la

acción a realizar sin criterios de interpretación.

Ser finito: un número específico innumerable de pasos debe componer al

algoritmo, el cual debe finalizar al completarlos.

Tener cero o más entradas: datos son proporcionados a un algoritmo como

insumo para llevar a cabo las operaciones que comprende.

Tener una o más salidas: debe siempre devolver un resultado; de nada

sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un

resultado no debe ser considerado como únicamente “verlos” en forma

impresa o en pantalla. Por salida de resultados debe entenderse todo

medio o canal por el cual es posible apreciar los efectos de las acciones del

algoritmo.

2

Page 3: Cifrado por RSA.

Efectividad: el tiempo y esfuerzo por cada paso debe ser preciso no usando

nada más ni nada menos que aquello que se requiera para y en su

ejecución.

Un algoritmo criptográfico, o cifrador, es una función matemática usada en los

procesos de encriptación y des encriptación. Un algoritmo criptográfico trabaja en

combinación con una llave (un número, palabra, frase o contraseña) para encriptar

o desencriptar datos.

Para encriptar, el algoritmo combina matemáticamente la información a

proteger con una llave provista.

Los algoritmos de clave simétrica también llamados de clave secreta o privada

son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado

utilizando cierta clave, sin la cual no puede recuperarse el mensaje original. Un

ejemplo es criptosistema Caesar que es una de las técnicas criptográficas más

simple y difundidas. Fue el primero que se utilizó del cual se tienen registros, es un

sistema mono alfabético y es realmente muy malo, su único valor es el valor

histórico de haber sido el primero.

La criptografía asimétrica es un método criptográfico que usa un par de claves

para el envío de mensajes, las dos claves pertenecen a la persona a la que se le

envía el mensaje, una de esas dos claves es una clave pública ya que se puede

entregar a cualquier persona. Por otro lado, la otra es privada y el propietario debe

guardarla para proteger el acceso. Este método criptográfico garantiza que la

pareja de claves solo se obtenga una vez, de manera que no haya

simultáneamente la misma pareja de claves. Un ejemplo de este método es el

algoritmo RSA que es un algoritmo cifrado de bloques, utiliza un cave publica la

cual se distribuye y otra privada que es guardada en secreto por su propietario,

dicha clave es un número de gran tamaño que una persona puede conceptualizar

como un mensaje digital, un archivo binario o una cadena de bits o bytes.

3

Page 4: Cifrado por RSA.

Cuando se quiere enviar un mensaje el emisor busca la clave publica de

cifrado del receptor, cifra su mensaje con esa clave y una vez que el mensaje

cifrado llega al receptor este se ocupa de de cifrarlo usando su clave oculta.

Diferencias entre algoritmos simétricos y asimétricos

Los algoritmos simétricos encriptan y desencriptan con la misma llave, las

principales ventajas de los algoritmos simétricos son su seguridad y su velocidad.

Los algoritmos asimétricos encriptan y desencriptan con diferentes llaves. Los

datos se encriptan con una llave publica y se desencriptan con una privada, siendo

esta su principal ventaja. Los algoritmos asimétricos también conocidos como

algoritmo de llave pública necesitan al menos una llave de 3,000 bits para alcanzar

un nivel de seguridad similar al de un simétrico de 128 bits. Son increíblemente

lentos tanto que no pueden ser utilizados para encriptar grande cantidades de

información. A los algoritmos simétricos son aproximadamente 1,000 veces más

rápidos que los asimétricos

El mejor método de encriptación es el algoritmo de cifrado asimétrico

Por su definición nos enfocaremos en los algoritmos de cifrado asimétricos,

porque por la definición antes escrita sabemos que utilizan dos tipos de clave, la

pública y privada, por lo que consideramos que es la mejor y la más segura a

diferencia de los algoritmos simétricos que utilizan una sola clave.

De los algoritmos asimétricos consideramos al algoritmo RSA el más

adecuado para definir o representar a los algoritmos asimétricos

Fue ideado en 1977 por Ron Rivest, Adi Shamir y Leonard Adleman, este

algoritmo es el más empleado en la actualidad, su longitud de clave es la más

considerable ya que es de 2,048 bits. En concreto este algoritmo emplea la

función exponencial discreta para cifrar y descifrar y cuya inversa el logaritmo

discreto es muy fácil de descifrar. El algoritmo es muy difícil de calcular.

4

Page 5: Cifrado por RSA.

En los cálculos matemáticos de este algoritmo emplea un número

denominado “modulo público” se obtiene a partir de la multiplicación de dos

números primos p y q, diferentes y grandes son de 512 bits y que forman parte de

la forma privada.

La gran propiedad de RSA es que mientras n es de orden público, los

valores p y q se pueden mantener en secreto debido a la dificultad que entraña la

factorización de un número tan grande.

La robustez del algoritmo se basa en la facilidad para encontrar dos número

primos grandes frente a la enorme dificultad que presenta la factorización de su

producto.

Aunque la base tecnológica hace que sea más rápido un ataque por fuerza

bruta el simple hecho de aumentar la longitud de las claves empleadas supone un

incremento de la carga computacional, lo que hace no viable el ataque. –sin

embrago, el hecho de aumentar las claves RSA no suponen ninguna dificultad

tecnológica.

Como un dato importante, las leyes de criptografía de EEUU imponían

hasta el 20 de septiembre del 2000 un límite a dicha longitud, por lo que el uso

comercial del RSA no estaba permitido y la patente pertenecía a los laboratorios

RSA, desde esas fechas su uso es libre.

Ataques a RSA

Si un atacante quiere recuperar la clave privada a partir de la clave pública

debe obtener p y q a partir de n, lo cual actualmente es un problema intratable si

los números primos son lo suficientemente grande alrededor de 200 dígitos.

Vale decir, que nadie ha demostrado que no puede existir un método que

permita descifrar un mensaje sin usar la clave privada y sin factorizar n. Así que

aunque el algoritmo es baste seguro en teoría, si existen ataques que pueden ser

efectivos al apoyarse sobre deficiencias en la implementación y uso del mismo.

5

Page 6: Cifrado por RSA.

El ataque con mayor probabilidad de éxito es el ataque intermediario, este

ataque puede darse sobre cualquier algoritmo de clave publica, supongamos que

A quiere establecer comunicación con B y que C quiere espiarla, cuando a solicite

a B su clave publica KB, C se interpone obteniendo la clave de B y enviando a A

una clave falsa, que sería KC creada por él, cuando él codifique el mensaje C lo

intercepta de nuevo lo codifica con su clave propia y emplea KB para modificarlo y

enviarlo a B y ni A ni B sospecharan nunca de lo sucedido. La única forma de

evitar esto es asegurar a A que la clave publica de B es autentica, para esto debe

ser firmada por un amigo común, que actuaria como una autoridad sectificadora.

Un ejemplo muy claro es la idea de donde se basaron Adi Shamir y Leonard

Adleman que es esta:

Supongamos que Bob quiere enviar a Alicia un mensaje secreto que solo

ella pueda leer. Alicia envía a Bob una caja con una cerradura abierta, de la que

solo Alicia tiene la llave. Bob recibe la caja, escribe el mensaje, lo pone en la caja

y la cierra con su cerradura (ahora bob no puede leer el mensaje). Bob envía la

caja a Alicia y ella la abre con su llave. En este ejemplo, la caja con la cerradura

es la “clave pública” de Alicia, y la llave de la cerradura es su “clave privada”

Pero, ¿Cómo se generan las claves?

Se tienen 5 pasos en los cuales se explica:

1. Un usuario elige dos número primos diferentes, p y q. Por motivos de

seguridad los números deben ser escogidos de manera aleatoria y

deben ser de longitud en bits parecida.

2. Calcula n =pq, n se usa como el módulo para ambas claves, pública

y privada.

3. Calcula la función de Euler de n=(p-1)(q-1)

4. Se escoje un entero positivo e menor que E(n), que sea coprimo con

E(n).

e se da a conocer como el exponente de la clave pública.

6

Page 7: Cifrado por RSA.

Si se escoge un e con una suma encadenada corta, el cifrado

será más efectivo. Un exponente e muy pequeño (por

ejemplo: =3) podría suponer un riesgo para la seguridad

5. Se determina un d que satisfaga la congruencia d=e-1 mod E(n) que

sea d el multiplicador modular inverso de e.

Con esto queda demostrado que es la manera más eficaz y segura para proteger

una clave o un mensaje al enviarlo. Esperamos que el lector haya comprendido de

manera adecuada lo que nuestra postura. Queda claro que existen diferentes

opiniones acerca del tema y ésta es una opinión del equipo.

7

Page 8: Cifrado por RSA.

Referencias:

http://www.compute-rs.com/es/consejos-503212.htm

http://es.wikipedia.org/wiki/Criptograf%C3%ADa_sim%C3%A9trica

http://es.wikipedia.org/wiki/Criptograf%C3%ADa_asim%C3%A9trica

http://www.mmc.igeofcu.unam.mx/LuCAS/Tutoriales/doc-ssh-intro/intro-

ssh/node7.html

http://guimi.net/monograficos/G-Redes_de_comunicaciones/G-

RCnode60.html

http://www.monografias.com/trabajos20/cifrado-en-bloques/cifrado-en-

bloques.shtml

http://www.slideshare.net/peter325/algoritmos-de-encriptacion-2446135

http://es.wikipedia.org/wiki/Algoritmo

http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php

http://www.cryptoforge.com.ar/seguridad.htm

http://orlingrabbe.com/des.htm

http://www.segu-info.com.ar/criptologia/asimetricos.htm

8