Está en la página 1de 12

1

UNIVERSIDAD NACIONAL DE CHIMBORAZO


FACULTAD DE INGENIERIA
ELECTRÓNICA Y TELECOMUNICACIONES

CLAVE HASH

REALIZADO POR:

 SORIA FRANCO
 SOZORANGA EDINSON DARIO
 TENORIO JHONNY

DOCENTE:
ING. MARCO NOLIVOS

RIOBAMBA, ECUADOR
2018
2

Tabla de Contenidos

Portada ............................................................................................................................... 2
Tabla de ccontenidos ..................................................................................................... 2
Resúmen......................................................................................................................... 3
Abstract ...................................................................................................................... 4
Objetivos. ................................................................................................................... 5
Capítulo 1 Introducción e información general ............................................................. 6
Algoritmo HASH ....................................................................................................... 7
Para que sirve Hash ............................................................................................................ 9
Propiedades de Hash ...................................................................................................... 9
Aplicaciones de Hash .............................................................................................. 10
Colisiones Hash ............................................................................................................... 11
Conclusiones .................................................................................................................... 12
Lista de referenncias ........................................................................................................ 12
3

RESUMEN

La presente investigación trata sobre los códigos hash, comprender como funciona el
código Hash, así como para que se usa, es un principio básico de la computación; Los
códigos Hash se pasan muy por alto; y, sin embargo, son demasiado importantes pues casi
cada cosa que hacemos en el ordenador -sobre todo por Internet- usará sin que te nos
demos cuenta varios códigos Hash en sus diferentes tipos. Códigos Hash obtenidos desde
los cálculos más simples hasta utilizar los algoritmos matemáticos avanzados.

Los algoritmos de hash manejan la integridad y la autenticación del tráfico VPN. Los
hashes proporcionan integridad y autenticación de datos al asegurar que las personas no
autorizadas no alteren los mensajes transmitidos. Un hash, también denominado “síntesis
del mensaje”, es un número que se genera a partir de una cadena de texto. El hash es más
corto que el texto en sí. Se genera mediante el uso de una fórmula, de tal manera que es
muy poco probable que otro texto produzca el mismo valor de hash.

Palabras claves: Función Hash, tablas Hash.


4

ABSTRACT

The present investigation deals with the hash codes, understanding how the Hash code
works, as well as how it is used, is a basic principle of computing; Hash codes are
overlooked; and, nevertheless, they are too important because almost everything we do in
the computer -especially on the Internet- will use it without you noticing several Hash
codes in their different types. Hash codes obtained from the simplest calculations to the
use of advanced mathematical algorithms.

Hash algorithms handle the integrity and authentication of VPN traffic. The hashes
provide integrity and data authentication by ensuring that unauthorized persons do not
tamper with transmitted messages. A hash, also called "message synthesis", is a number
that is generated from a string of text. The hash is shorter than the text itself. It is generated
by the use of a formula, in such a way that it is very unlikely that another text will produce
the same hash value.

Keywords: Hash function, Hash tables


5

OBJETIVOS

General

 Analizar cómo funciona las claves Hash y de qué manera se las puede generar.

Especifico

 Tener una visión general como utilizar estas claves.

 Conocer las propiedades que tiene que cumplir las funciones Hash.

 Resolver algunos ejercicios para reforzar la comprensión de estas claves.


6

INTRODUCCIÓN E INFORMACIÓN GENERAL

En los últimos años las redes se han convertido en un factor crítico para cualquier
organización.
Cada vez en mayor medida, las redes deben cumplir con atributos tales como seguridad,
fiabilidad, alcance geográfico y efectividad en costos.

Se ha demostrado en la actualidad que las redes reducen en tiempo y dinero los gastos de
las empresas, pero también es cierto que estas redes remotas han despertado la curiosidad
de algunas personas que se dedican a atacar los servidores y las redes para obtener
información confidencial. Por tal motivo la seguridad de las redes es de suma importancia,
es por eso que se escucha hablar tanto de los famosos firewalls y lasa VPNs.

Los hash o funciones de resumen son algoritmos que consiguen crear a partir de una
entrada (ya sea un texto, una contraseña o un archivo, por ejemplo) una salida
alfanumérica de longitud normalmente fija que representa un resumen de toda la
información que se le ha dado (es decir, a partir de los datos de la entrada crea una cadena
que solo puede volverse a crear con esos mismos datos).
7

ORÍGENES DEL TÉRMINO

El término hash proviene, aparentemente, de la analogía con el significado estándar (en


inglés) de dicha palabra en el mundo real: picar y mezclar. Donald Knuth cree que H. P.
Luhn, empleado de IBM, fue el primero en utilizar el concepto en un memorándum datado
en enero de 1953. Su utilización masiva no fue hasta después de 10 años.
En el algoritmo SHA-1, por ejemplo, el conjunto de partida de la función es dividido en
palabras que son mezcladas entre sí utilizando funciones matemáticas seleccionadas
especialmente. Se hace que el rango de valores que puede devolver la función sea de
longitud fija: 160 bits utilizando la adición modular.

ALGORITMO HASH

Los hash o funciones de resumen son algoritmos que consiguen crear a partir de una
entrada (ya sea un texto, una contraseña o un archivo, por ejemplo) una salida
alfanumérica de longitud normalmente fija que representa un resumen de toda la
información que se le ha dado (es decir, a partir de los datos de la entrada crea una cadena
que solo puede volverse a crear con esos mismos datos). (SOLANO, 2017)

Estas funciones no tienen el mismo propósito que la criptografía simétrica y asimétrica,


tiene varios cometidos, entre ellos está asegurar que no se ha modificado un archivo en
una transmisión, hacer ilegible una contraseña o firmar digitalmente un documento.

En definitiva, las funciones hash se encargan de representar de forma compacta un archivo


o conjunto de datos que normalmente es de mayor tamaño que el hash independientemente
del propósito de su uso.

Este sistema de criptografía usa algoritmos que aseguran que con la respuesta (o hash)
nunca se podrá saber cuáles han sido los datos insertados, lo que indica que es una función
8

unidireccional. Sabiendo que se puede generar cualquier resumen a partir de cualquier


dato nos podemos preguntar si se podrían repetir estos resúmenes (hash) y la respuesta es
que teóricamente si, podría haber colisiones, ya que no es fácil tener una función hash
perfecta (que consiga que no se repita la respuesta), pero esto no supone un problema, ya
que si se consiguieran (con un buen algoritmo) dos hashes iguales los contenidos serían
totalmente distintos.

Figura1. Ejemplo de código Hash.

Todos los hashes son de 40 caracteres, y sorprende obtener un resultado de este tipo para
una palabra de 3 letras como Fox o lo que sea. Pero las sorpresas no acaban aquí: si
insertamos el texto entero de este artículo, vamos a obtener este hash:
db8471259c92193d6072c51ce61dacfdda0ac3d7. O sea más de 2000 caracteres (espacios
incluidos) condensados en una línea de 40 caracteres, la misma longitud que hemos
obtenido con la palabra de 3 letras. Podríamos subir todas las obras de William
Shakespeare y siempre obtendríamos como resultado los 40 caracteres. Además, nunca
vamos a tener 2 hash iguales. (DAYLY, 2014).

SHA-1
SHA-1 es el sucesor del llamado SHA. Sin embargo, hoy día, no oficialmente se le llama
SHA-0 para evitar confusiones con sus sucesores. Dos años más tarde el primer sucesor
9

de SHA fue publicado con el nombre de SHA-1. Existen cuatro variantes más que se han
publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y
rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512 (llamándose
SHA-2 a todos ellos). SHA-1 ha sido examinado muy de cerca por la comunidad
criptográfica pública, y no se ha encontrado ningún ataque efectivo. No obstante, en el
año 2004, un número de ataques significativos fueron divulgados sobre funciones
criptográficas de hash con una estructura similar a SHA-1; lo que ha planteado dudas
sobre la seguridad a largo plazo de SHA-1. SHA-0 y SHA-1 producen una salida resumen
de 160 bits de un mensaje que puede tener un tamaño máximo de 2^64 bits. (LYNCH,
2017)
MD5
En criptografía, MD5 (abreviatura de Message-Digest Algorithm 5, Algoritmo de
Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits
ampliamente usado. Uno de sus usos es el de comprobar que algún archivo no haya sido
modificado.

¿PARA QUE SIRVEN LOS HASH?


Tienen que ver sobre todo con contraseñas. Por ejemplo, si se ha olvidado la clave para
acceder a un servicio online, muy probablemente habrá que restablecer la contraseña. En
situaciones de este tipo, normalmente no se recibe un mail con la contraseña directamente;
eso pasa porque el servicio online que se está utilizando no guarda las claves en formato
de texto simple, sino protegidas por un hash. De hecho, ellos no tienen la menor idea de
cuál sea nuestra clave (a menos que no estéis utilizando una contraseña extremadamente
sencilla que en consecuencia tiene un hash bastante reconocible). (DAYLY, 2014)

PROPIEDADES DE LAS FUNCIONES HASH

 Unidireccionalidad: conocido un resumen h(M), debe ser computacionalmente


imposible
10

 encontrar M a partir de dicho resumen. (es decir, que la función h(M) no tenga
función inversa lo que es lo mismo no sea una función uno a uno)
 Compresión: a partir de un mensaje de cualquier longitud, el resumen h(M) debe
tener
 una longitud fija. Lo normal es que la longitud de h(M) sea menor que el mensaje
M.
 Facilidad de cálculo: sea computacionalmente fácil calcular h(M).
 Difusión: el resumen h(M) debe ser una función compleja de todos los bits del
mensaje M: si se modifica un sólo bit del mensaje M, el hash h(M) debería cambiar
la mitad de sus bits aproximadamente. Por ejemplo: hash ("Esto sí es una prueba
de MD5") = e99008846853ff3b725c27315e469fbc
 Cambio simple en el mensaje anterior: hash ("Esto no es una prueba de MD5”) =
dd21d99a468f3bb52a136ef5beef5034
 Colisión simple: será computacionalmente imposible conocido M, encontrar otro
M' tal que h (M) = h (M'). Esto se conoce como resistencia débil a las colisiones.
 Colisión fuerte: será computacionalmente difícil encontrar un par (M, M') de
forma que h(M) = h(M'). Esto se conoce como resistencia fuerte a las colisiones.

APLICACIONES DE LAS FUNCIONES HASH


Comprobación de integridad de ficheros
Supongamos que queremos transmitir un fichero a través de la red. Si antes de realizar
este envío calculamos la función HASH del fichero, en el otro extremo es posible verificar
la integridad del fichero aplicando el mismo algoritmo al archivo que recibe.

Seguridad en procesos de identificación en sistemas


Los procesos de identificación mediante Login+Password, se ven reforzados por estos
algoritmos. Se utilizan de la siguiente forma: cuando un usuario accede a su computadora
debe introducir su nombre de usuario y su contraseña. Pues bien, si el sistema operativo
no registra estos datos como “texto claro”, si no que registra el resultado de aplicarles una
11

función HASH, en el caso de que un usuario malicioso logre acceder a nuestro archivo de
registros no conseguirá revertir el contenido de dicho registro, y por tanto no puede
acceder a nuestro sistema.

Firma digital
Estos algoritmos se utilizan en esquemas de firma digital para verificar la integridad de la
información enviada por el canal de comunicaciones.

COLISIÓN (HASH)
En informática, una colisión de hash es una situación que se produce cuando dos entradas
distintas a una función de hash producen la misma salida.

Es matemáticamente imposible que una función de hash carezca de colisiones, ya que el


número potencial de posibles entradas es mayor que el número de salidas que puede
producir un hash. Sin embargo, las colisiones se producen más frecuentemente en los
malos algoritmos. En ciertas aplicaciones especializadas con un relativamente pequeño
número de entradas que son conocidas de antemano es posible construir una función de
hash perfecta, que se asegura que todas las entradas tengan una salida diferente. Pero en
una función en la cual se puede introducir datos de longitud arbitraria y que devuelve un
hash de tamaño fijo (como MD5), siempre habrá colisiones, dado que un hash dado puede
pertenecer a un infinito número de entradas.

CONCLUSIONES
Los textos enviados electrónicamente pueden deformarse, bien por la intervención de
terceras personas, o bien por errores en la transmisión. Las funciones HASH sirven para
garantizar la integridad de los textos.
12

La función que se encarga de generar un Hash es algo complejo, pero un Hash es un


numero como cualquier otro cuyas características nos facilita la vida en muchas cosas y
garantizan parte de la seguridad de nuestros sistemas informáticos.

Como conclusión, hay que asumir la necesidad de pasar por alguna función de Hash las
contraseñas importantes que se vayan a guardar en nuestro sistema, pues es la mejor
manera de mantenerlas seguras a la vez también de restringir los permisos a los archivos
que las guardan, para cerrar las posibles entradas que haya a nuestros servidores, la
seguridad es lo más importante para cualquier equipo.

Lista de Referencias

CARTAGENA, U. P. (2016). FUNCIONES HASH. CARTAGENA: CARTAGENA.


DAYLY. (10 de ABRIL de 2014). KARPESKY. Obtenido de
https://www.kaspersky.es/blog/funciones-hash/3113/
GOMEZ, M. (08 de MAYO de 2014). CODIGO, TIPS Y PROGRAMAS VARIOS.
Obtenido de http://fuenteabierta.teubi.co/2014/05/que-es-un-hash.html
LYNCH, V. (26 de AGOSTO de 2017). HASHEDOUT. Obtenido de
https://www.thesslstore.com/blog/difference-sha-1-sha-2-sha-256-hash-
algorithms/
SILVA, L. (2008). TABLAS DE HASH. ESAÑA: CHILE.
SOLANO, L. E. (2017). HASH. ESPAÑA: N/T.

También podría gustarte