[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
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
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
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
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
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
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
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
Top Related