Está en la página 1de 17

Algoritmo de Hash

Thomas Alejando Cornejo Castro-02200131006


Dylan Arley Parra Reyes-02200131006
Danny Gerardo Escalante Sayago-02200131011
Funciones de Hash
Una función resumen,​en inglés hash function, también conocida con el
híbrido función hash, convierte uno o varios elementos de entrada a una
función en otro elemento. También se las conoce como función extracto,
del inglés digest function, función de extractado y por el híbrido función
digest.
Funciones de Hash
Una función hash H es una función computable mediante un algoritmo tal
que:

La función hash tiene como entrada un conjunto de elementos, que


suelen ser cadenas, y los convierte en un rango de salida finito,
normalmente cadenas de longitud fija. Es decir, la función actúa como una
proyección del conjunto U sobre el conjunto M.
Hay que tener en cuenta que M puede ser un conjunto definido de
enteros.
Normalmente el conjunto U tiene un número elevado de elementos y M
es un conjunto de cadenas con un número acotado de símbolos.
Punteros Hash
Está compuesto por dos partes:
-Puntero a la zona donde se almacena la información.
-Hash de dicha información.
El puntero puede ser utilizado para obtener la información, mientras que
el valor hash puede ser utilizado para verificar que esa información no ha
sido modificada, asegurando la autenticidad de esta.
Estructuras de datos construidas
utilizando punteros hash
-Blockchain
Una de las aplicaciones que tienen los punteros hash es que pueden ser
utilizados para construir una cadena de bloques (blockchain), mediante la
utilización de listas enlazadas.
(Explicación de la estructura)
El primer bloque (bloque 0) de la cadena se conoce como bloque génesis,27​en el cual se
origina la cadena de bloques. A partir del segundo bloque (bloque 1) se almacena un
puntero hash al bloque anterior, el valor hash del bloque anterior y la información del
bloque actual. Gracias a este mecanismo, es imposible interferir en un bloque de la
cadena de bloques sin que los demás se den cuenta.

Para cualquier bloque de la cadena; el bloque i almacenará un puntero hash al boque i-


1, el valor hash del bloque i-1 y la información del bloque i.
Propiedad a prueba de manipulación de Blockchain
Solamente es necesario mantener el puntero hash al último bloque de la cadena de
bloques.

Entonces, cuando alguien muestra la cadena de bloques completa y afirma que los datos
no se han modificado, podemos saber si algún bloque de la cadena fue alterado, ya que
es posible recorrer los bloques hacia atrás y verificar todos los valores hash uno por uno.
Aplicaciones
 Herramienta básica para la construcción de utilidades.(Tablas resumen,
árboles de Merkle)
 Herramienta para proteger la integridad.(firmas digitales)
 Herramientas vinculadas a la autenticación y control de acceso.
(Protección de claves)
 Herramienta para la identificación y la rápida comparación de datos.
(Huellas digitales)
Secure Hash Algorithm.
¿Que es?
Son una familia de funciones de hash criptográficas publicadas por el
Instituto Nacional de Estándares y Tecnología (NIST) como un estándar
federal de procesamiento de información (FIPS) de EE. UU; que incluyen:
 SHA-0
 SHA-1
 SHA-2
 SHA-3
Uso de las funciones SHA
Una característica principal de las funciones SHA es la capacidad de no
reflexividad, es decir, dado una cadena de bits del buffer de salida resulta
prácticamente imposible intentar hallar una cadena origen que devuelva
el mismo contenido, además de disponer de una gran cantidad de
combinaciones posibles que evitan que se puedan dar duplicado de datos
o colisiones las cuales pueden comprometer la seguridad de diferentes
archivos.
SHA-0
A lo largo de su historia, se han puesto a prueba esta familia de
algoritmos:

 Un retrónimo aplicado a la versión original de la función hash de 160


bits publicada en 1993 con el nombre "SHA". Fue retirado poco después
de su publicación debido a un "defecto significativo" no revelado y
reemplazado por la versión ligeramente revisada SHA-1.

 En 1998 se encontró una vulnerabilidad en SHA-0, aunque esta no se


podía hacer extensiva a SHA-1. En cualquier caso, la NSA aumentó en
ese momento la seguridad del SHA-1.
SHA-1
 Una función hash de 160 bits que se parece algoritmo MD5 anterior.
Esto fue diseñado por la Agencia de Seguridad Nacional (NSA) para ser
parte de Digital Signature Algorithm. Se descubrieron debilidades
criptográficas en SHA-1, y el estándar ya no fue aprobado para la
mayoría de los usos criptográficos después de 2010.
 SHA-1 ha sido examinado muy de cerca por la comunidad criptográfica
pública y no se ha encontrado ningún ataque eficaz. No obstante, en el
año 2004, se dio a conocer un número significativo de ataques contra
funciones criptográficas de hash con una estructura similar a SHA-1, lo
que plantea dudas sobre la seguridad a largo plazo de SHA-1.
SHA-1
 SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de
un mensaje que puede tener un tamaño máximo de 264 bits, y se basa
en principios similares a los usados por el profesor Ronald L. Rivest del
MIT en el diseño de los algoritmos de resumen de mensaje MD4 y MD5.

 La codificación hash vacía para SHA-1 corresponde a:


SHA-2
 Una familia de dos funciones hash similares, con diferentes tamaños de
bloque, conocidas como SHA-256 y SHA-512 .
 Se diferencian por el tamaño de las palabras; SHA-256 usa palabras de
32 bytes donde SHA-512 usa palabras de 64 bytes. De SHA-2,
 También hay versiones truncadas de cada estándar, conocidas como
SHA-224 , SHA-384 , SHA-512/224 y SHA-512/256 . Estos también
fueron diseñados por la NSA.
SHA-3
 Una función hash anteriormente llamada Keccak , elegida en 2012
después de una competencia pública entre diseñadores que no
pertenecen a la NSA. Admite las mismas longitudes de hash que SHA-2 y
su estructura interna difiere significativamente del resto de la familia
SHA.
Comparación de funciones SHA

También podría gustarte