Está en la página 1de 12

Principios y características del hashing 1

El valor de la criptografía basada en hash para la protección de la información en las

organizaciones.

Autor:

Oscar Cardona Puerta, ID 956338

Corporación Universitaria Minuto de Dios

Actividad semana 3, Hashing, Criptografía

Profesor(a):

Fabian Valero Duque

Especialización en Seguridad Informática

27 de marzo de 2024
Principios y características del hashing

Introducción

La protección de la información es una preocupación fundamental en la era digital,

donde los datos son el activo más importante de una compañía y al mismo tiempo un

atractivo económico muy grande para los ciber delincuentes. Uno de los conceptos clave en

la seguridad de la información es el hash, una técnica que es fundamental para garantizar la

integridad y la autenticidad de los datos.

Un hash es una función matemática que toma una entrada de datos y produce una

cadena de caracteres alfanuméricos de longitud fija, conocida como el valor hash o resumen.

Este valor hash es único para cada conjunto de datos de entrada y es prácticamente imposible

generar el mismo hash a partir de datos diferentes. Además, una característica importante del

hash es que es una función unidireccional, lo que significa que es muy difícil o prácticamente

imposible reconstruir los datos originales a partir del valor hash.

El uso más común del hash en la protección de la información es en la verificación de

la integridad de los datos. Al calcular el hash de un conjunto de datos, se puede almacenar

este valor hash junto con los datos originales. Luego, cuando se necesite verificar la

integridad de los datos, se recalcula el hash y se compara con el valor hash almacenado. Si

los valores coinciden, significa que los datos no han sido alterados.
Principios y características del hashing

Desarrollo del tema

Explique cómo se utilizan los algoritmos de hash en el ámbito de la criptografía.

Los algoritmos de hash en la actualidad juegan un papel muy importante en el ámbito

de la criptografía, estos tienen un amplio rango de aplicación dentro del cual está incluida la

seguridad de los datos y la autenticación. Es una sucesión alfanumérica, que identifica a un

conjunto de datos determinados. Presentan las siguientes características fundamentales de las

funciones y códigos hash:

Unidireccionalidad: Una función hash es una función unidireccional, lo que significa que es

fácil calcular el hash de un conjunto de datos, pero es extremadamente difícil o

computacionalmente imposible calcular los datos originales a partir del hash. Esta propiedad

es esencial para garantizar la seguridad de los datos, especialmente en la protección de

contraseñas.

Determinismo: La misma entrada siempre producirá el mismo hash. Esto garantiza que el

proceso de hash sea predecible y coherente, lo que es esencial para su uso en aplicaciones

donde se requiere consistencia, como en la verificación de integridad de datos.

Distribución uniforme: Un buen algoritmo de hash produce valores hash que están

uniformemente distribuidos en el espacio de salida. Esto significa que incluso un cambio

pequeño en la entrada debería producir un cambio significativo en el valor hash, lo que es

importante para evitar colisiones no deseadas.

Avalancha: La propiedad de avalancha implica que un cambio minúsculo en la entrada debe

producir un cambio significativo en el valor hash. En otras palabras, incluso una pequeña

modificación en los datos de entrada debería resultar en un valor hash completamente


Principios y características del hashing

diferente. Esta característica ayuda a aumentar la seguridad del hash contra ataques de fuerza

bruta y otros métodos de manipulación de datos.

Eficiencia computacional: Los algoritmos de hash deben ser eficientes en términos de uso

de recursos computacionales, especialmente en aplicaciones donde se requiere un alto

rendimiento, como en la autenticación de contraseñas o la verificación de la integridad de

grandes volúmenes de datos.

Resistencia a colisiones: Idealmente, un buen algoritmo de hash debería minimizar la

posibilidad de colisiones, es decir, la probabilidad de que dos entradas diferentes produzcan el

mismo valor hash. Esto es crucial para garantizar la integridad y la seguridad de los datos,

especialmente en aplicaciones donde las colisiones podrían ser explotadas maliciosamente.

No reversibilidad: Como se mencionó anteriormente, la función hash es unidireccional y no

reversible. Esto significa que no se puede recuperar la entrada original a partir del valor hash

sin realizar una búsqueda exhaustiva (fuerza bruta), lo que hace que sea impráctico o

imposible recuperar los datos originales a partir del hash.

Exponga las propiedades y los elementos que caracterizan a la criptografía basada

en hash.

El proceso de autenticación de usuario es fundamental para el acceso a servicios e

información, es por ello por lo que la criptografía cumple un papel muy importante en el

mundo moderno.

El proceso de hashing se compone de tres elementos:

 Función hash: la función hash suele ser un algoritmo criptográfico que descompone

completamente datos de diferentes longitudes, los resuelve y los transforma en


Principios y características del hashing

cadenas siempre de la misma longitud. Estos valores hash son significativamente más

cortos y compactos que los valores originales.

 Valor hash: los valores hash son el resultado de la función hash. En el contexto del

método hash utilizado, siempre tienen una longitud fija de caracteres hexadecimales, a

diferencia de los valores originales. La longitud fija de los valores hash depende del

método empleado.

 Tablas hash: los valores hash pueden almacenarse como tablas hash en bases de

datos. Estas requieren mucho menos espacio que el almacenamiento de los registros

de datos originales. Para crearlas, los registros de datos reciben valores de índice

específicos a través del hashing, que indican dónde se encuentra el registro de los

datos. De esta forma, se reduce significativamente el tiempo de procesamiento y la

potencia de cálculo en la búsqueda de información.

El mecanismo de seguridad PBKDF2 es vital para el uso de contraseñas, en caso de que se

use un ataque de fuerza bruta o de diccionario, es por ello por lo que se debe cumplir con las

siguientes características.

 Unidireccionalidad: esto quiere decir que conocido un resumen h (M) debe ser

imposible informáticamente encontrarlo a partir de dicho resumen

 Compresión: Como lo normal es que el mensaje (M) tenga una longitud de

bits, mayor que la que entrega el hash; la función hash actuará normalmente

como un compresor. Si el mensaje tuviese menos bits que el hash, el resumen

siempre tendrá ese valor fijo de bits.

 Facilidad de cálculo: Debe ser fácil calcular h (M) a partir de un mensaje M,

además el hash es una función muy rápida.


Principios y características del hashing

 Difusión de bits: Conocida también como efecto avalancha, indica que el

resumen h (M) debe ser una función compleja, de todos los bits del mensaje

M. por lo tanto, si se modifica tan solo un bit del mensaje M, el nuevo hash

debería cambiar aproximadamente en la mitad de sus bits con respecto al

anterior.

 Resistencia débil a colisiones: Se cumple cuando en la informática es

imposible que, conocido un mensaje (M), podamos encontrar otro mensaje M´

tal que h (M) = h (M´).

 Resistencia fuerte a colisiones: Nos indica que será informáticamente

imposible encontrar un par aleatorio M y M´ de forma que h (M) = h (M´). si

el hash no cumple esta propiedad facilitará su ataque por la paradoja de

cumpleaños.

Describa los propósitos y procesos que rigen la lógica de los algoritmos de hash.

El uso de las funciones Hash es enfocado básicamente al cifrado web, integridad de

información, y proteger todo tipo de información que posea derechos de autor en el internet.

El uso de contraseñas es la utilidad más visible a nivel de hash, dado a que por ejemplo en el

caso del texto plano, aunque la contraseña pudiese estar disponible la función del hash es

impedir que esta sea visible.

En este caso de estudio, para saber si una contraseña está guardada, no se descifra el hash,

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.


Principios y características del hashing

Garantizar la integridad de los datos, para entenderlo más a fondo por ejemplo en algunos

sitios que son fuentes de descarga de archivos de gran tamaño, se da a su vez el resumen del

archivo y la función usada.

Cuando se le aplica a una página HTML, por medio de MD5, se puede considerar que este es

el método para saber que un documento está integro tras su recepción, por eso se usa para

comprobar que un archivo se ha descargado correctamente o para comprobar que datos como

un pequeño texto sigue siendo el mismo tras su emisión.

Las áreas de aplicación para realizar el proceso de encriptación haciendo uso del hash son:

 Creación de tablas hash

 “Encriptación” de datos importantes

 Búsqueda de duplicados

 Sumas de comprobación y firmas digitales

 Búsqueda de datos similares

 Sistemas de autenticación

 Caching

Para ello, las cadenas de caracteres se combinan como tabla hash en la base de datos en una

dirección y bajo una posición concreta con valores hash. Esto ahorra memoria, aumenta la

seguridad de las bases de datos y acelera la búsqueda de entradas específicas en la tabla hash.

Los valores hash y las tablas hash optimizan la organización y la gestión de las

infraestructuras de índices y datos.


Principios y características del hashing

Analice la aplicación de un algoritmo de hash a partir de un contexto organizacional de

cualquier tipo, abordando alcances, resultados y limitaciones.

Una tabla Hash es un contenedor asociativo (tipo Diccionario) que permite un

almacenamiento y posterior recuperación eficientes de elementos (denominados valores) a

partir de otros objetos, llamados claves.

Una tabla hash se puede ver como un conjunto de entradas. Cada una de estas entradas tiene

asociada una clave única, por lo tanto, diferentes entradas de una misma tabla tendrán

diferentes claves. Esto implica, que una clave identifica unívocamente a una entrada en una

tabla hash.

Por otro lado, las entradas de las tablas hash están compuestas por dos componentes, la

propia clave y la información que se almacena en dicha entrada.

Figura 1. Tablas hash

Fuente: https://www.hci.uniovi.es/Products/DSTool/hash/hash-queSon.html

La estructura de las tablas hash es lo que les confiere su gran potencial, ya que hace de ellas

unas estructuras extremadamente eficientes a la hora de recuperar información almacenada.


Principios y características del hashing

El tiempo medio de recuperación de información es constante, es decir, no depende del

tamaño de la tabla ni del número de elementos almacenados en la misma.

Alcances:

Búsqueda eficiente: Las tablas hash permiten buscar elementos de manera muy eficiente en

grandes conjuntos de datos, ya que el tiempo de búsqueda no depende linealmente del tamaño

de la tabla, sino que suele ser constante o casi constante en promedio.

Almacenamiento eficiente: Utilizan espacio de almacenamiento de forma eficiente al

asignar posiciones en la tabla basadas en una función de dispersión, lo que permite un acceso

rápido a los elementos.

Aplicaciones en bases de datos y caches: Las tablas hash se utilizan ampliamente en bases

de datos y sistemas de caché para acelerar la búsqueda y recuperación de datos, lo que mejora

el rendimiento de las aplicaciones.

Resultados:

Rápido acceso a datos: Las tablas hash permiten acceder a los datos de manera muy rápida,

lo que mejora significativamente el rendimiento de las aplicaciones que dependen de la

búsqueda y recuperación de datos, como las bases de datos.

Optimización del rendimiento: Al reducir los tiempos de búsqueda y acceso a los datos, se

mejora el rendimiento general de las aplicaciones, lo que puede llevar a una experiencia de

usuario más fluida y a una mayor eficiencia en el uso de recursos computacionales.


Principios y características del hashing

Flexibilidad y escalabilidad: Las tablas hash son flexibles y escalables, lo que significa que

pueden manejar grandes volúmenes de datos y adaptarse a los cambios en los requisitos de la

aplicación con relativa facilidad.

Limitaciones:

Colisiones: Las colisiones ocurren cuando dos claves diferentes generan el mismo índice en

la tabla hash, lo que puede ralentizar el acceso a los datos si no se manejan adecuadamente.

Estrategias como el encadenamiento o la resolución de colisiones por dispersión abierta

deben ser implementadas para mitigar este problema.

Uso de memoria: Si no se controla adecuadamente, el uso de memoria por parte de una tabla

hash puede ser significativo, especialmente cuando se manejan grandes conjuntos de datos. El

tamaño de la tabla y la función de dispersión deben diseñarse cuidadosamente para optimizar

el uso de memoria.

Ordenación: Las tablas hash no mantienen un orden específico de los elementos, lo que

puede ser una limitación en aplicaciones donde se requiere un orden específico de los datos.

En estos casos, otras estructuras de datos como los árboles binarios de búsqueda pueden ser

más apropiadas.

Para concluir, las tablas hash ofrecen una forma eficiente de búsqueda y recuperación de

datos en aplicaciones informáticas, lo que resulta en un mejor rendimiento y escalabilidad.

Sin embargo, es importante considerar y abordar las limitaciones asociadas, como las

colisiones y el uso de memoria, para garantizar una implementación efectiva y segura.


Principios y características del hashing

Conclusiones

El hashing proporciona una manera efectiva de garantizar la integridad, autenticidad y

seguridad de los datos en una variedad de aplicaciones, desde la protección de contraseñas

hasta la verificación de la integridad de los datos y la autenticación de mensajes. La elección

adecuada de algoritmos de hash y su implementación correcta son cruciales para mantener la

seguridad de los sistemas que los utilizan.


Principios y características del hashing

Referencias

Easttom, W. (2021). Modern Cryptography. Applied Mathematics for Encryption and

Information Security. Springer.

https://link-springer-com.ezproxy.uniminuto.edu/content/pdf/10.1007/978-3-030-63115-4.pdf

Maillo, J. (2017). Sistemas seguros de acceso y transmisión de datos. RA-MA.

https://elibro.net/es/ereader/uniminuto/106503?page=1

(2018, Rodriguez). Analitics Line. Obtenido de:

https://www.analyticslane.com/2018/06/22/propiedades-de-las-funciones-de-hash-

criptograficas/#:~:text=Propiedad%201%3A%20Determinista,mismo%20valor%20del%20c

%C3%B3digo%20hash.

Universidad Nueva Granada, Exposito Lopez Daniel, Abraham García Soto, Martin Gomez

Antonio Jose Director de proyecto: Joaquín Fernández Valdivia

https://ccia.ugr.es/~jfv/ed1/tedi/cdrom/docs/tablash.html

También podría gustarte