Sie sind auf Seite 1von 10

ALGORITMOS HASH

ES UN MECANISMO DE ENCRIPTACIN Y LA SALIDA DE DEL PROCESO SE LE


DENOMINA UN COMPENDIO Y ES A LO QUE SE LE CONOCE COMO FIRMA DIGITAL.
EL RECEPTOR UTILIZA EL DOCUMENTO ORIGINAL Y UN ALGORITMO HASH SIMILAR
AL USADO EN EL TRANSMISOR PARA CREAR UN SEGUNDO COMPENDIO RECIBIDO



El hashing es similar al indexamiento en el sentido de asociacin
entre llaves y direcciones relativas de registros
Pero difiere de los ndices en 2 cosas:
La direccin generada por Hash suele ser aleatoria (random).
No hay una relacin aparente entre la llave y la localizacindel
registro correspondiente
El Hash permite que 2 llaves puedan producir la misma salida -->
direcciones iguales, a esto se le conoce como "colisin". Existen
distintos grados de colisiones

COLISION
Se obtiene el cdigo ASCII de las 2 primeras letras de la llave
Se multiplican dichos nmeros
La direccin sern los 3 ltimos digitos de dicho resultado (esto
para limitar nuestro archivo nicamente a 1000 direcciones)



Llave ASCII Producto Direccin
BALL 66 65 66x65=4290 290
LOWELL 76 79 76x79=6004 004
TREE 84 82 84x82=6888 888
Un Algoritmo de Hash
No existe una frmula "nica" para hash, pero el producirla es un
algoritmo que bsicamente se presenta en 3 pasos:

1) Representar la llave de manera numrica (siempre que no sea
de por s un nmero)
Una buena opcin es usar los valores ASCII o bien los Unicode de las
letras

LOWELL= L O W E L L _ _ _ _ _ _
76 79 87 69 76 76 32 32 32 32 32 32

2) Plegar y Agregar
Combinar algunos de estos nmeros para generar pequeos trozos con los
que podamos trabajar
76 79 | 87 69 | 76 76 | 32 32 | 32 32 | 32 32

De manera que podemos hacer algunas operaciones matemticas con
dichos nmeros para finalmente obtener un nmero del cual obtendremos la
direccin

7679 + 8769 + 7676 + 3232 + 3232 = 30 588

3) Dividir por un nmero primo y usar el resultado como direccin
Los archivos de hash por lo general suelen limitarse a un cierto rango de direcciones posibles
para aprovechar mejor el concepto de memoria. de manera que podemos concluir nuestro algoritmo con
la frmula:

a= s mod n


donde a es la direccin resultante, s es la suma o resultado de los pasos anteriores y n el nmero
de direcciones posibles en el archivo
La probabilidad de que "x" registros tengan la misma direccin

p(x)= (r/N)^x e^(- r/N)
x!

donde N es el nmero de direcciones disponibles
r es el nmero de registros a insertar
x nmero de registros asignados a alguna direccin

Hash Extendido

En la seccin 9.3 se mencionaron varias tcnicas relacionadas con
Hash y el manejo de colisiones, dichas tcnicas se basan en una
estructura esttica, es decir, se calcula un cierto nmero de
posiciones posibles (registros) y en base a este supuesto se ampla el
espacio de direcciones y en consecuencia se disminuyen las
colisiones.
El algoritmo de Hash Extendido se basa en una estructura de
recuperacin conocida como "trie", la cual se encuentra dentro del
grupo de bsquedas por radio, esto debido a que se presenta un
rbol donde cada rama presenta un radio de posibilidades hacia
donde moverse.
El concepto de Hash es un caso ideal en la recuperacin de informacin
El Hash tradicional es muy eficiente pero tiene 2 problemas principales: colisiones y
el hecho de ser esttico
El Hash extendido es una estructura relativamente moderna que promete ser mejor
que el B-Tree, desafortunadamente existen algunas deficiencias que lo limitan,
entre ellas:
No se tienen algunas mtricas importantes acerca de la capacidad de cada cubeta
Al igual que el BTree la estructura crece dinmicamente y permite bsquedas de alta
velocidad; pero para el acceso secuencial (B+Tree) es una ventaja que sigue ganando la
competencia.

Das könnte Ihnen auch gefallen