Sei sulla pagina 1di 19

MECANISMOS DE ENCRIPTACIN Y

FUNCIONES HASH

Programacin IV
Alumnos:

Ren Alexander Sura Duran.


Mauricio Ramn Cruz Ascencio.
Rudy Alexander Das Mesa.
Carlos Gmez Molina.
Misael Benjamn Ramos Argueta.

Docente:

Inge. Gisela Yasmn Garca Espinoza,

Carrera:

Ingeniera en Sistemas y Redes Informticas.

Ciclo: Seccin:
V B
Contenido
Introduccin. ....................................................................................................................................... 4
QUE ES LA ENCRIPTACION? ....................................................................................................... 5
Qu es la encriptacin informtica? .................................................................................................. 6
Mecanismos de Encriptacin. ............................................................................................................. 6
Gronsfeld:........................................................................................................................................ 6
Mtodo de transposicin: ................................................................................................................ 7
Mtodo Csar: ................................................................................................................................. 7
RSA: ................................................................................................................................................ 8
DES: ................................................................................................................................................ 9
Chaffing & Winnowing:................................................................................................................ 10
SKIPJACK: ................................................................................................................................... 10
BFIDO: ........................................................................................................................................ 10
WLBYKYAAOTB: ...................................................................................................................... 11
Cifrado exponencial: ..................................................................................................................... 11
Blowfish: ....................................................................................................................................... 12
Mtodo Vigenre:.......................................................................................................................... 12
Sistemas de clave pblica:............................................................................................................. 14
FUNCIONES HASH: ....................................................................................................................... 15
Formas de uso ............................................................................................................................... 15
Encriptacin y contraseas en PHP. .................................................................................................. 17
Conclusin......................................................................................................................................... 18
Bibliografa. ...................................................................................................................................... 19
Introduccin.

Qu es el cifrado? Las organizaciones de poder, a lo largo de la historia, han hecho del


secreto de sus comunicaciones un principio fundamental de su actividad. Dicho secreto se
intent proteger mediante la encriptacin, es decir, la codificacin del lenguaje mediante una
clave secreta slo conocida por la organizacin emisora del mensaje y el destinatario del
mensaje determinado por dicha organizacin. El anecdotario histrico abunda con ejemplos
de batallas e, incluso, guerras supuestamente prdidas o ganadas mediante la interceptacin
y des encriptacin de mensajes decisivos entre los centros de poder.

El origen de la informtica contempornea durante la Segunda Guerra Mundial parece estar


relacionado con los esfuerzos de matemticos extraordinarios, como el ingls Turing, para
desarrollar algoritmos capaces de descifrar los cdigos del enemigo.
QUE ES LA ENCRIPTACION?
Es el proceso mediante el cual cierta informacin o texto sin formato es cifrado de forma
que el resultado sea legible a menos que se conozcan los datos necesarios para su
interpretacin. Es una medida de seguridad utilizada para que al momento de almacenar o
transmitir informacin sensible esta no pueda ser obtenida con facilidad por terceros.

Opcionalmente puede existir adems un proceso de des encriptacin a travs del cual la
informacin puede ser interpretada de nuevo a su estado original; aunque existen mtodos de
encriptacin que no pueden ser revertidos. El termino encriptacin es traduccin literal del
ingls y no existe en el idioma espaol. La forma ms correcta de utilizar este trmino seria
cifrado.

CRIPTOGRAFA.

La encriptacin de
datos funciona
utilizando la criptografa. La criptografa es la ciencia de usar las matemticas para encriptar
y desencriptar datos. Una vez que la informacin ha sido encriptada, puede ser almacenada
en un medio inseguro o enviada a travs de una red insegura (como Internet) y aun as
permanecer secreta. Luego, los datos pueden desencriptarse a su formato original.

Algoritmo criptogrfico: Un algoritmo criptogrfico, o cifrador, es una funcin matemtica


usada en los procesos de encriptacin y desencriptacin. Un algoritmo criptogrfico trabaja
en combinacin con una llave (un nmero, palabra, frase, o contrasea) para encriptar y
desencriptar datos. Para encriptar, el algoritmo combina matemticamente la informacin a
proteger con una llave provista.

El objetivo de un algoritmo criptogrfico es hacer tan difcil como sea posible desencriptar
los datos sin utilizar la llave. Si se usa un algoritmo de encriptacin realmente bueno,
entonces no hay ninguna tcnica
significativamente mejor que intentar
metdicamente con cada llave posible

El resultado de este clculo son los


datos encriptados. Para desencriptar, el
algoritmo hace un clculo combinando los datos encriptados con una llave provista, siendo
el resultado de esta combinacin los datos desencriptados.

La mayora de los algoritmos modernos del cifrado se basan en una de las siguientes dos
categoras de procesos:

Problemas matemticos que son simples pero que tienen una inversa que se cree (pero
no se prueba) que es complicada
Secuencias o permutaciones que son en parte definidos por los datos de entradas.

Qu es la encriptacin informtica?
Es el proceso mediante el cual se codifican los datos de archivos o correos de manera tal que
nadie pueda interceptarlos mientras se encuentren flotando en la web, por lo que esta
encriptacin informtica protege varios tipos de informacin importante; por ejemplo,
nmeros de cuentas bancarias, contraseas y datos de registro.

Mecanismos de Encriptacin.
Gronsfeld: Este mtodo utiliza ms de un alfabeto cifrado para poner en clave el mensaje y
que se cambia de uno a otro segn se pasa de una letra del texto en claro a otra. Es decir que
deben tenerse un conjunto de alfabetos cifrados y una forma de hacer corresponder cada letra
del texto original con uno de ellos.
Mtodo de transposicin: En nuestro repaso por los mtodos clsicos de criptografa, nos
centramos en el mtodo de transposicin, origen y fundamento de otros sistemas de cifrado
ms complicados. El mtodo de transposicin consiste en reordenar los elementos que
forman el texto original, de modo que el criptograma resultante tiene los mismos elementos
pero su nueva colocacin impide que se pueda entender.

Ejemplo:

computacin

Una transposicin muy simple, y por tanto poco efectiva, podra consistir en escribir el
mensaje al revs, con lo que quedara:

nicatupmoc

Mtodo Csar: Ahora vamos a conocer uno de los sistemas ms clsicos de la Historia de
esta disciplina: el mtodo Csar, cuyo origen se sita en el siglo I antes de Cristo.

Este sistema se basa en el mtodo de sustitucin mono alfabtica, es decir, el proceso de


sustitucin se lleva a cabo en cada uno de los elementos del texto claro.

En el mtodo Csar, a cada letra le corresponde la que est 3 posiciones por delante en un
proceso circular que recorre todo el alfabeto. Por ejemplo, a la letra a le corresponde la
d, a la b la e, y as sucesivamente. Cuando hablamos de proceso circular nos referimos
a que si llegamos al final del alfabeto, por ejemplo la z, se entiende que volvemos al
principio del mismo, por lo que tras contar tres posiciones a la z le corresponde la letra
c, a la y le corresponde la b y a la x, la a.

En trminos ms formales podramos describir al mtodo Csar como:

Criptograma (i) = Texto_claro (i) + 3 (mod 26),

(i) es la posicin de las letras y (mod 26) indica que se trata de una suma mdulo 26, en la
que 26 es el nmero de letras del alfabeto que utilizamos.

Para entenderlo ms claramente vamos a realizar un sencillo


Ejemplo:

Texto claro: p a n t a l l a

Criptograma: s d q w d o o d

Como puede apreciarse, este mtodo arrastra las debilidades propias de los algoritmos de
sustitucin. En vez de utilizar siempre la suma de 3 posiciones podra cambiarse este valor
por otro cualquiera. En cualquier caso, y para dar con la solucin, podemos acudir a un
sencillo criptoanlisis basado en la frecuencia de los elementos del criptograma.

Observamos que la letra que ms se repite es la d. Acudiendo a datos estadsticos del


lenguaje nos encontramos con que dos de las letras que ms se repiten son las vocales a y
e (tanto en espaol, como en ingls).

Una prueba bsica consiste en ver la diferencia que hay entre el elemento ms repetido, la
d, y estas vocales. En el caso de la a nos da un valor de 3 posiciones de diferencia, y el
valor 25 al calcular la diferencia con la letra e. Para probar si la solucin corresponde a
uno de los dos casos ms probables, tan solo tenemos que aplicar el mismo mtodo, pero
restando. Al restar 25 nos da lo siguiente:

Criptograma: s d q w d o o d

Resta 25: t e r x e p p e

Como vemos, en este caso el intento sera fallido, ya que el proceso nos devuelve un nuevo
texto sin sentido. Si ahora lo intentamos con el valor 3, otro de los probables segn la
frecuencia de las letras, obtenemos la solucin.

Criptograma: s d q w d o o d

Resta 3: p a n t a l l a

RSA: En los sistemas tradicionales de cifrado debe comunicarse una clave entre el emisor y
el receptor del mensaje, el problema aqu es encontrar un canal seguro para transmitir dicha
clave. Este problema viene a resolverse en los sistemas de clave pblica la clave de cifrado,
pues un tiempo enormemente de ordenador es necesario para encontrar una transformacin
de descifrado a partir de la de cifrado.

Ejemplo con nmeros pequeos

1. Escogemos dos nmeros primos, por ejemplo p=3 y q=11.

2. n = 3 * 11 = 33

3. fi(n) = (3-1) * (11-1) = 20

4. Buscamos e: 20/1=0, 20/3=6.67. e=3

5. Calculamos d como el inverso multiplicativo mdulo z de e, por ejemplo,


sustituyendo Y por 1,2,3, hasta que se obtenga un valor entero en la expresin: d =
((Y * fi(n)) + 1) / e = ( Y * 20 + 1) / 3 = 21 / 3 = 7

6. e=3 y n=33 son la clave pblica

7. d=7 y n=33 son la clave privada

8. Cifrado: Mensaje = 5, C = M^e mod n = 5^3 mod 33 = 26

9. Descifrado: M = C^d mod n = 26^7 mod 33 = 8031810176 mod 33 = 5

DES: DES fue desarrollado por IBM a mediados de los setenta. Aunque tiene un buen diseo,
su tamao de clave de 56 bits es demasiado pequeo
para los patrones de hoy.
DES (Data Encryption Standard) es un mecanismo
de encriptacin de datos de uso generalizado. Hay
muchas implementaciones de hardware y software
de DES. Este transforma la informacin de texto
llano en datos encriptados llamados texto cifrado
mediante el uso de un algoritmo especial y valor
semilla llamado clave. Si el receptor conoce la clave,
podr utilizarla para convertir el texto cifrado en los
datos originales. Es un mecanismo de encriptado simtrico.

Ejemplo:

Sea M cierto mensaje con el texto plano siguiente: M = 0123456789ABCDEF, donde M est
en formato hexadecimal. Si transformamos M al sistema binario obtendremos el siguiente
bloque de bits (64): M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011
1100 1101 1110 1111 L = 0000 0001 0010 0011 0100 0101 0110 0111 R = 1000 1001 1010
1011 1100 1101 1110 1111

Chaffing & Winnowing: Esta tcnica propuesta por Donald Rivest. Es ms un intento de
esquivar las restricciones a la criptografa en EE.UU. (y otros pases) que una propuesta
razonable debido al tamao de los mensajes resultantes.
El trmino ingls winnowing se tomar como aventar es decir separar el grano de la paja
y el trmino chaffing por el castellano empajar (cubrir o rellenar con paja). La idea bsica
consiste en mezclar la informacin real (grano) con otra de relleno (paja) de modo que sea
imposible separarlas excepto para el destinatario.

SKIPJACK: Este algoritmo fue descalificado por el gobierno de Estados Unidos. Algunos
detalles sobre el algoritmo en s y sus aplicaciones en la prctica a los chips Clipper y
Capstone. Skipjack fue desarrollado por la NSA inicialmente para los chips Clipper y
Capstone. Su diseo comenz en 1985 y se complet su evaluacin en 1990.

BFIDO: El mtodo Bfido es un cifrado fraccionario. Es decir que cada letra viene
representada por una o ms letras o smbolos, y donde se trabaja con estos smbolos ms que
con las letras mismas.
WLBYKYAAOTB: Este mtodo altera la frecuencia de los caracteres a diferencia de lo que
ocurre por ejemplo con los cifrados monoalfabticos. Admite algunas variaciones como por
ejemplo dividir la lista en 3,4,, n partes.

Cifrado exponencial: Es un sistema basado en la exponenciacin modular, debido Pohlig


y Hellman (1978). Este mtodo es resistente al criptoanlisis.
Blowfish: Este algoritmo realiza un cifrado simple en 16 ciclos, con un tamao de bloque de
64 bytes para un total de 448 bits. Aunque hay una fase compleja de la inicializacin. El
cifrado de datos es muy eficiente en los microprocesadores grandes.

Mtodo Vigenre: Hasta el momento, en nuestros anteriores ejemplos en los que hemos
visto mtodos clsicos de cifrado, hemos repasado algoritmos cuyo criptograma no dependa
de una clave externa, o que sta era fija. En el sistema que sigue, el cifrado de Vigenre,
observaremos cmo el cifrado va tomando diferentes valores en funcin de la clave que
elijamos.

Tanto en los mtodos de sustitucin, como en los de transposicin, las modificaciones a los
que sometamos el texto claro eran fijas, bien teniendo en cuenta la correspondencia con un
segundo alfabeto en el caso de la sustitucin, o en barajar las letras en funcin de un algoritmo
preestablecido en las transposiciones.

El cifrado de Vigenre utiliza una clave externa para realizar las sustituciones, con lo que
este mismo algoritmo puede dar diferentes criptogramas para el mismo texto claro en funcin
de la clave que utilicemos.

Veamos un sencillo ejemplo para ilustrar este mtodo:

Texto claro: s e g u r i d a d
Clave de cifrado: a b c

Para llevar a cabo el cifrado dividimos el texto claro en grupos de tantas letras como tenga la
clave, y a continuacin las hacemos corresponder con las letras de la clave de cifrado:

Texto claro: s e g u r i d a d

Clave: a b c a b c a b c

El proceso de sustitucin es similar al mtodo Csar, por el que a cada letra del texto claro le
corresponde la que est 3 posiciones despus en el alfabeto. En esta ocasin, el nmero de
posiciones que debemos contar viene dado por la posicin que ocupa en el alfabeto la letra
clave que le corresponde. As, cuando la clave sea la letra a, avanzaremos una posicin, si
la clave es b sern dos, y si fuera c sern 5.

En el ejemplo que nos ocupa, en primer lugar deberamos transformar la letra s del texto
claro segn su clave a, es decir, avanzamos una letra en el alfabeto, el resultado ser t.
En el segundo caso, la letra e segn la clave b dar una g, porque se avanza dos
posiciones.

Texto claro: s e g u r i d a d

Clave: a b c a b c a b c

Criptograma: t g l v t n e c i

Resultado final: t g l v t n e c i

Ahora que conocemos el proceso, vamos a comprobar cmo, cambiando la clave de cifrado
y con el mismo texto claro, obtenemos un criptograma totalmente diferente:

Clave: bcbc

Texto claro: s e g u r i d a d

Clave: b c b c b c b c b c b c

Criptograma: u j i z t n f f f

Resultado final: u j i z t n f f f
Para poder realizar el descifrado la nica condicin es conocer la clave que se ha utilizado
en el proceso, y hacer los pasos a la inversa. Partiendo del criptograma, tendremos que dividir
en grupos segn la clave y, en esta ocasin, restar posiciones en vez de sumar.

Este mtodo es algo ms seguro que los vistos con anterioridad, debido principalmente a
que el criptograma vara segn una clave externa, no conocida en principio por un hipottico
atacante. Sin embargo se ha demostrado que no resulta difcil romper este cifrado utilizando
tcnicas de criptoanlisis basadas en la incidencia de coincidencias en el criptograma.

Sistemas de clave pblica: Un sistema criptogrfico de clave pblica es tan seguro como su
clave. La distribucin de las claves debe ser manejada sobre canales altamente seguros. Esto
suele consumir mucho tiempo. A veces, tales canales de seguridad no estn disponibles.

Los sistemas de clave pblica no tienen tal


problema en la distribucin de la clave. En el
sistema criptogrfico convencional el cifrado y
descifrado estn ntimamente relacionados.
Estos sistemas usan una clave encriptada, E, y
una clave descifrado, D, de manera que no es
computacionalmente viable (dentro de un tiempo razonable) determinar E a partir de D.

De esta forma, E puede ser hecha pblica sin comprometer la seguridad de D. Esto simplifica
el problema de la distribucin de la clave. Cada usuario genera una clave de cifrado y una de
descifrado, la clave de cifrado est hecha pblica y la clave cifrada se mantiene secreta. As
cualquiera puede enviar un mensaje encriptado a un usuario particular (porque la clave de
cifrado es pblica), pero solo aquellos usuarios pueden descifrar el mensaje (porque la clave
de descifrado es privada). E es llamada una clave pblica y D es llamada una clave privada.

Firmas digitales: Para que una firma digital sea aceptada como sustituta de una firma escrita
debe ser:

1. Fcil de autentificar (reconocer) por cualquiera.


2. Producible nicamente por su autor.
En los cripto-sistemas de clave pblica el procedimiento es:
El remitente: usa la clave privada para crear un mensaje firmado.
El receptor: Usa la clave pblica del remitente para descifrar el mensaje o
Guarda el mensaje firmado para usarlo en caso de disputas

FUNCIONES HASH:
Una funcin criptogrfica hash- usualmente conocida como hash- es un algoritmo
matemtico que transforma cualquier bloque arbitrario de datos en una nueva serie de
caracteres con una longitud fija. Independientemente de la longitud de los datos de entrada,
el valor hash de salida tendr siempre la misma longitud.

Formas de uso

Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la
confidencialidad de una contrasea, ya que podra estar en texto plano y ser accesible por
cualquiera y aun as no poder ser capaces de deducirla. En este caso, para saber si una
contrasea que est guardada, por ejemplo, en una base de datos es igual a la que hemos
introducido no se descifra el hash (ya que debera de ser imposible hacerlo) sino que se
aplicar la misma funcin de resumen a la contrasea que especificamos y se comparar el
resultado con el que tenemos guardado (como se hace con las contraseas de los
sistemas Linux).

Ejemplos de uso de las funciones hash:

Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la
confidencialidad de una contrasea, ya que podra estar en texto plano y ser accesible por
cualquiera y aun as no poder ser capaces de deducirla. En este caso, para saber si una
contrasea que est guardada, por ejemplo, en una base de datos es igual a la que hemos
introducido no se descifra el hash (ya que debera de ser imposible hacerlo) sino que se
aplicar la misma funcin de resumen a la contrasea que especificamos y se comparar el
resultado con el que tenemos guardado (como se hace con las contraseas de los
sistemas Linux).

Pongamos un ejemplo, la funcin hash MD5 es una de estas funciones de resumen y la


usaremos para resumir el siguiente texto: Genbeta Dev Y aplicar la funcin de resumen
con el comando especfico que tienen la mayora de sistemas basados en Linux (md5sum):

Por lo que la ltima lnea es la del hash, que podis comprobar en un terminal, en una
herramienta online o con una aplicacin con este fin, aunque se puede aplicar en muchos
lenguajes de programacin que lo implementan (no solo esta funcin, sino tambin otros
tipos como el SHA que puede admitir distinta longitud).

Para poner en prctica este uso coger esta imagen de HTML5 y le aplicar una funcin de
resumen con el algoritmo MD5.

Y el resultado de hacer el resumen es el siguiente, usando otra vez la funcin presente en


sistemas Linux (md5sum).

Este es el mtodo para saber que un documento est integro tras su recepcin, por eso se usa
para comprobar que un archivo se a descargado correctamente o para comprobar que datos
como un pequeo texto sigue siendo el mismo tras su emisin.
Encriptacin y contraseas en PHP.

Desde el principio PHP ha sido un lenguaje de programacin para la construccin de sitios


web. Esa idea permanece en el ncleo del lenguaje, y por eso es tan popular para
la construccin de aplicaciones web. Cuando se cre en los aos 90, el trmino aplicacin
web no exista an, por lo que la proteccin de contraseas para cuentas de usuarios no era
algo en lo que estuviera centrado.

Han pasado muchos aos desde entonces y actualmente es impensable una aplicacin web
que no proteja las cuentas de los usuarios con contraseas. Es fundamental para cualquier
programador hacer que estas contraseas tengan una encriptacin segura y eficiente. PHP
5.5 aadi una nueva librera llamada Hash de contraseas para la encriptacin de
contraseas, con funciones que facilitan la tarea y utilizan los ltimos mtodos ms eficaces.
Conclusin.

El cifrado de los datos es algo que a partir de las guerras mundiales comenz a tener ms y
ms importancia, Ya que eran las herramientas que les iban a servir para comunicarse
informacin acerca de estrategias, decisiones, que se iban a notar, y si los mensajes caan en
manos enemigas eso no iba a causar los cambios de planes de los adversarios, debido a que
no seran capaces de descifrar ninguno de sus cdigos.

Esto, a su vez gener que se le diera ms importancia en las prcticas de guerra, e incluso en
la guerra misma, esto ha ayudado a evolucionar los sistemas de encriptado que tenemos hoy
en da, estos incluso son muy aplicados en esta rea tan importante como lo es la
programacin, debido a que dentro del internet hay muchas vulnerabilidades que afectan en
la perdida de informacin, debido a hackers cuyo objetivo es robar informacin confidencial
de entidades pblicas y privadas. Por ello entidades como bancos, empresas normales tienen
la opcin de utilizar este tipo de mecanismo y que les ayuda en la seguridad de los datos que
manejan.
Bibliografa.

http://encripdedatos.blogspot.com/

http://www.larevistainformatica.com/que-es-encriptacion-informatica.htm

https://s3gur1d4d1nf0rm4t1c4.wordpress.com/2008/06/04/metodos-de-encriptacion/

http://encriptaciondedatos.blogspot.com/2007/09/encriptacion-de-datos.html

https://iiemd.com/encriptacion-informatica/que-es-encriptacion-informatica

https://seguinfo.wordpress.com/2007/09/14/%C2%BFque-es-rsa/

Potrebbero piacerti anche