Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CLAVE HASH
Universidad Nacional de Chimborazo
Facultad de Ingeniería
Catedra de Ingeniería de Trafico
Integrantes:
Andrés Valdivieso,
Luis Zúñiga,
Franklin Ugenio.
Abstracto
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 como se dijo anteriormente una función
criptográfica hash- usualmente conocida como “hash” es un algoritmo matemático 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.
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.
UNIVERSIDAD NACIONAL DE CHIMBORAZO
CARRERA DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
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
unidireccional, sabiendo también 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 hash iguales los
contenidos serían totalmente distintos.
Se puede producir un código hash de 160 bits para mensajes de longitud máxima 264 bits,
aunque existen otras variantes poco utilizadas todavía que producen códigos de mayor
longitud.
Proceso de Relleno
Se incorporan bits de relleno al mensaje de entrada de tal modo que cumpla:El relleno
consiste en un uno seguido de los ceros que sean necesarios. Aunque el mensaje ya tenga
la longitud deseada, se debe efectuar el relleno, por lo que el número de bits de dicho
relleno está en el rango de 1 a 512 bits.
A la salida del paso 1, se le añade un bloque de 64 bits que represente la longitud del
mensaje original antes de ser rellenado.
A=67452301
B=EFCDAB89
C=98BADCFE
D=10325476
E= C3D2E1F0
Ejemplo:
Tablas Hash
Inserción
Búsqueda
Estas técnicas se llevan a cabo si dos llaves generan un hash apuntando al mismo índice,
los registros correspondientes no pueden ser almacenados en la misma posición, en estos
casos, cuando una casilla ya está ocupada, debemos encontrar otra ubicación donde
almacenar el nuevo registro, y hacerlo de tal manera que podamos encontrarlo cuando se
requiera.
UNIVERSIDAD NACIONAL DE CHIMBORAZO
CARRERA DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
Para dar una idea de la importancia de una buena estrategia de resolución de colisiones,
considérese el siguiente resultado, derivado de la paradoja de las fechas de nacimiento
aun cuando supongamos que el resultado de nuestra función hash genera índices
aleatorios distribuidos uniformemente en todo el vector, e incluso para vectores de 1
millón de entradas, hay un 95% de posibilidades de que al menos una colisión ocurra
antes de alcanzar los 2.500 registros.
En la técnica más simple de encadenamiento, cada casilla en el array referencia una lista
de los registros insertados que colisionan en la misma casilla.
La inserción consiste en encontrar la casilla correcta y agregar al final de la lista
correspondiente.
Hash Abierto
Se puede decir que desde un gran Universo de claves sólo un número reducido de claves
serán consideradas ver figura4.
UNIVERSIDAD NACIONAL DE CHIMBORAZO
CARRERA DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
Hash Cerrado
Se puede decir también que desde un gran Universo de claves sólo un número reducido
de claves serán consideradas ver figura5.
Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la
confidencialidad de una contraseña, ya que podría 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
contraseña que está guardada, por ejemplo, en una base de datos es igual a la que hemos
introducido no se descifra el hash ya que debería de ser imposible hacerlo sino que se
aplicará la misma función de resumen a la contraseña que especificamos y se comparará
el resultado con el que tenemos guardado como se hace con las contraseñas de los
sistemas Linux.
Ventajas
Tiene como principal ventaja que el acceso a los datos suele ser muy rápido si se
cumplen las siguientes condiciones:
UNIVERSIDAD NACIONAL DE CHIMBORAZO
CARRERA DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
Desventajas
Dificultad para recorrer todos los elementos. Se suelen emplear listas para procesar la
totalidad de los elementos.
Bibliografía
es.wikipedia.org. (29 de 11 de 2017). es.wikipedia.org. Obtenido de wikipedia:
https://es.wikipedia.org/wiki/Tabla_hash