0% encontró este documento útil (0 votos)
7 vistas14 páginas

Hash ZK

El documento aborda la criptografía, centrándose en las funciones hash y las pruebas de conocimiento cero (ZKP). Se explican las propiedades y aplicaciones de funciones hash como MD5, SHA-1, SHA-2 y SHA-3, destacando su importancia en la seguridad informática y su uso en almacenamiento de contraseñas, verificación de integridad de datos y blockchain. Además, se discuten las características de ZKP y su relevancia en la autenticación y privacidad en transacciones financieras.

Cargado por

Rosa Castro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas14 páginas

Hash ZK

El documento aborda la criptografía, centrándose en las funciones hash y las pruebas de conocimiento cero (ZKP). Se explican las propiedades y aplicaciones de funciones hash como MD5, SHA-1, SHA-2 y SHA-3, destacando su importancia en la seguridad informática y su uso en almacenamiento de contraseñas, verificación de integridad de datos y blockchain. Además, se discuten las características de ZKP y su relevancia en la autenticación y privacidad en transacciones financieras.

Cargado por

Rosa Castro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

Universidad Tecnológica de Panamá

Facultad de Ingeniería de Sistemas Computacionales


Licenciatura en Redes Informáticas

Criptografía

HASH / ZERO KNOWLEGDE

Integrantes:
Jorge Antonío 8-960-253
Rosa Castro 20-53-7543
Jorge Beluche 8-1005-2160
Jorshua Velásquez 8-955-487

Profesor: Eric Solis

Grupo: 91R431

Fecha: 07-02-2025
Introducción
Un hash es una función criptográfica que transforma una entrada de datos en un valor
alfanumérico de longitud fija, actuando como una huella digital única del contenido original.
Es determinístico, lo que significa que la misma entrada siempre producirá el mismo hash,
pero incluso un pequeño cambio en los datos generará un valor completamente diferente.
Además, es irreversible, por lo que no se puede reconstruir la información original a partir
del hash, y resistente a colisiones, evitando que dos entradas distintas produzcan el mismo
resultado. Estas propiedades lo hacen esencial en la seguridad informática, siendo utilizado
en la protección de contraseñas, la verificación de integridad de archivos, las firmas digitales
y la criptografía. Entre los algoritmos de hash más conocidos se encuentran MD5, SHA-1,
SHA-256 y SHA-512.
1 Índice
1. HASH ....................................................................................................................................................................... 4
2. Conceptos básicos de funciones hash ............................................................................................................. 4
3. Funciones hash criptográficas ........................................................................................................................... 6
4. Comparativa entre las funciones hash ............................................................................................................ 8
5. Uso de las funciones hash en la criptografía ............................................................................................. 10
6. Zero-Knowledge Proofs (ZKP) .................................................................................................................... 11
7. Desafíos y Limitaciones ................................................................................................................................. 12
8. Futuro de Zero-Knowledge Proofs ............................................................................................................ 13
1. HASH
• En el mundo digital contemporáneo, la protección de la información y la integridad
de los datos son cuestiones de vital importancia. Ante la creciente amenaza de ataques
cibernéticos y el incremento de la criminalidad informática, las organizaciones,
empresas y usuarios comunes deben desarrollar y adoptar medidas de seguridad
robustas. Las funciones hash son herramientas criptográficas fundamentales que
desempeñan un papel crucial en esta protección. Su capacidad para convertir datos de
longitud variable en valores de longitud fija con propiedades particulares las hace
ideales para diversas aplicaciones en criptografía y seguridad. Este trabajo se centrará
en proporcionar una comprensión profunda de las funciones hash, explorando sus
conceptos básicos, propiedades fundamentales, las distintas funciones hash
criptográficas más conocidas (MD5, SHA-1, SHA-2 y SHA-3), así como una
comparativa de cada una de estas funciones en términos de seguridad, velocidad y
eficiencia. Finalmente, abordaremos el uso práctico de estas funciones en la
criptografía moderna y sus importantes aplicaciones, incluida la gestión segura de
contraseñas, la verificación de la integridad de los datos y el funcionamiento de las
tecnologías de blockchain.

2. Conceptos básicos de funciones hash


I. Definición y funcionamiento
• Una función hash se puede definir como un algoritmo que toma una entrada de datos,
denominada mensaje, y produce una salida de longitud fija, conocida como valor hash
o digest. Esta transformación es fundamentalmente unidireccional, lo que significa
que, aunque el proceso puede generar un valor hash a partir de un mensaje, no es
práctico ni factible revertir el proceso para recuperar el mensaje original a partir del
valor hash. Este carácter unidireccional es una de las características más valiosas de
las funciones hash en la criptografía, ya que protege la confidencialidad de los datos.
• Una función hash es determinista; siempre que se le proporcione la misma entrada,
generará el mismo valor hash. Sin embargo, cualquier alteración en la entrada, por
mínima que sea, dará como resultado un valor hash completamente diferente. Por
ejemplo, si se cambia una letra, en una palabra, el hash generado se verá
completamente distinto. Esta propiedad permite detectar cambios en los datos, lo cual
es esencial para tareas como la verificación de integridad.

II. Propiedades de las funciones hash


• Las funciones hash desempeñan un papel crucial en la seguridad y deben cumplir con
ciertas propiedades para ser consideradas seguras y efectivas. Estas propiedades
incluyen:
• Unidireccionalidad: Esta propiedad establece que no es computacionalmente viable
invertir la función hash, es decir, no se puede volver al mensaje original a partir del
valor hash. Esto es igualmente importante para la confidencialidad cuando se utilizan
funciones hash para proteger contraseñas.
• Resistencia a colisiones: Una colisión ocurre cuando dos entradas diferentes producen
el mismo valor hash. Un buen algoritmo de hash debería hacer que encontrar estas
colisiones sea excepcionalmente difícil. Cuando se descubren colisiones, la seguridad
de un sistema que utiliza esa función hash puede verse comprometida.

• Determinismo: Como se mencionó anteriormente, esta propiedad asegura que el


mismo mensaje siempre generará el mismo hash, lo cual es crucial para la
consistencia en aplicaciones de verificación.
• Cambio sensible: También conocido como efecto avalancha, esta propiedad garantiza
que un pequeño cambio en la entrada generará una salida significativamente
diferente. Esta característica ayuda en la detección de cualquier modificación no
autorizada en los datos.

3. Funciones hash criptográficas


• MD5
MD5, o Message Digest Algorithm 5, es una de las funciones hash más antiguas y fue
desarrollada por Ronald Rivest en 1991. MD5 produce un hash de 128 bits y, durante
muchos años, fue el estándar de facto para diversas aplicaciones de seguridad. Su rapidez
y eficiencia lo hicieron popular inicialmente, pero el desarrollo de técnicas de ataque ha
revelado importantes vulnerabilidades en su diseño.
En 1996, se demostró que era posible encontrar colisiones en MD5 utilizando ataques de
fuerza bruta y técnicas más sofisticadas, lo que llevó a la desconfianza en la función. Hoy
en día, su uso se desaconseja en aplicaciones críticas, y se considera obsoleto para
propósitos de seguridad.
• SHA-1
SHA-1 (Secure Hash Algorithm 1) fue diseñado por la Agencia de Seguridad Nacional
de los Estados Unidos (NSA) y fue publicado por el Instituto Nacional de Estándares y
Tecnología (NIST) en 1995. SHA-1 genera un hash de 160 bits y, como MD5, gozaba de
gran popularidad. Sin embargo, al igual que con MD5, se han descubierto
vulnerabilidades significativas que permiten ataques de colisión. En 2017, el NIST
recomendó que SHA-1 ya no debería ser usado en aplicaciones de seguridad, ya que la
posibilidad de romper su integridad se ha vuelto demasiado real con el avance de las
capacidades computacionales.

• SHA-2
La familia SHA-2 se lanzó en 2001 y es una actualización y mejora de las funciones hash
anteriores. Esta familia incluye varias variantes, como SHA-224, SHA-256, SHA-384 y
SHA-512, que generan hashes con longitudes de salida diferentes. SHA-256, por
ejemplo, produce un hash de 256 bits y se ha convertido en un estándar de facto en
muchas aplicaciones, incluidos certificados SSL, firmas digitales y sistemas de archivo
seguro.
SHA-2 se considera seguro contra ataques conocidos en el momento de su lanzamiento
y durante muchos años después. Sin embargo, la comunidad criptográfica siempre está
alerta a nuevas técnicas y posibles debilidades, lo que hace que los sistemas sean
continuamente evaluados para asegurar su integridad.

• SHA-3
SHA-3 es la última entrada formal en la familia de funciones hash segura, adoptada por
el NIST en 2015. A diferencia de sus predecesores que están basados en estructuras de
diseño Merkle-Damgård, SHA-3 utiliza un enfoque diferente conocido como función de
esponja. Esta estructura no solo permite generar hashes de un tamaño específico, sino que
también puede adaptarse a diferentes longitudes de salida según las necesidades de la
aplicación.
SHA-3 es reconocido por ser resistente a varios tipos de ataques y se considera muy
seguro, ofreciendo una alternativa robusta a SHA-2 sin las mismas vulnerabilidades. Con
capacidades de flexibilidad y adaptabilidad superiores, SHA-3 es ideal para aplicaciones
que requieren seguridad a largo plazo y que enfrentan amenazas en constante evolución.
4. Comparativa entre las funciones hash
Para comprender mejor cómo se comparan estas funciones hash criptográficas
importantes, es útil examinarlas en función de tres criterios clave: seguridad, velocidad y
eficiencia.

III. Seguridad
• A medida que el tiempo avanza y nuevas técnicas de ataque se desarrollan, la
seguridad de las funciones hash se vuelve un tema de gran preocupación. En este
sentido:
▪ MD5 ha sido ampliamente desaconsejado debido a sus múltiples
vulnerabilidades y la facilidad con la que se pueden encontrar
colisiones. Su uso hoy en día se considera en gran medida inaceptable
en contextos que requieren seguridad.
▪ SHA-1, aunque mejor que MD5 en su momento, también ha
demostrado no ser seguro frente a ataques de colisiones y ha sido
reemplazado en muchas aplicaciones por algoritmos de hash más
robustos.
▪ SHA-2, especialmente su variante SHA-256, es actualmente uno de
los estándares de seguridad más utilizados y se considera
extremadamente seguro contra los ataques que existen hasta hoy. Su
capacidad de producir valores hash más largos también contribuye a
su resistencia.
▪ SHA-3, por otro lado, es más reciente y se ha diseñado considerando
las lecciones aprendidas de sus predecesores. Ofrece mayor seguridad
y flexibilidad, lo que lo convierte en una opción preferida para
aplicaciones críticas que requieren una protección a largo plazo.

IV. Velocidad y eficiencia


La velocidad y eficiencia de las funciones hash pueden influir considerablemente en su
implementación y uso práctico:

• MD5 es notablemente rápido en comparación con sus sucesores, lo que contribuyó a


su popularidad en un principio. Sin embargo, el hecho de que esté obsoleto en
términos de seguridad arruina su ventaja de velocidad en contextos donde se necesita
un enfoque seguro.
• SHA-1 es más lento que MD5, pero aún se consideraba relativamente eficiente. Sin
embargo, su rendimiento inferior junto con problemas de seguridad ha desplazado su
uso en muchas aplicaciones.
• SHA-2, en particular SHA-256, es más lento que ambos, MD5 y SHA-1, debido a la
complejidad de sus algoritmos. Esto puede ser un inconveniente en aplicaciones
donde los recursos de procesamiento son limitados, aunque su robustez y seguridad
suelen justificar este costo.
• SHA-3 puede ofrecer ciclos de hashing más eficientes en algunas implementaciones,
gracias a su estructura de esponja. Sin embargo, la velocidad real depende de la
implementación específica, que puede variar en eficiencia en diferentes entornos.

V. Implementación
La implementación de estas funciones hash también ha afectado su uso:
Tanto SHA-2 como SHA-3 están integradas en muchas bibliotecas de criptografía
modernas, lo que ofrece facilidad de uso y confianza en su seguridad. Esto significa que
los desarrolladores pueden implementarlas sin necesidad de construir sus propias
soluciones de hashing.
En contraste, MD5 y SHA-1, aunque todavía pueden aparecer por razones de
compatibilidad, ya no son recomendables para el desarrollo de nuevos sistemas debido a
sus debilidades conocidas.
5. Uso de las funciones hash en la criptografía
• Las funciones hash son utilizadas ampliamente en la criptografía y la seguridad de la
información, y sus aplicaciones son numerosas y de vital importancia.

VI. Almacenamiento de contraseñas


Una de las aplicaciones más vitales de las funciones hash es el almacenamiento seguro
de contraseñas. En lugar de guardar contraseñas en texto plano, las aplicaciones hashean
las contraseñas y almacenan los hashes resultantes. Este enfoque minimiza el riesgo de
exposición de contraseñas en caso de que una base de datos sufra un compromiso. Cuando
un usuario intenta iniciar sesión, se toma la contraseña ingresada por el usuario, se calcula
su hash y este se compara con el hash almacenado. Si ambos coinciden, se verifica la
autenticación.
Además, el uso de técnicas como el "salting" complementa la seguridad en el
almacenamiento de contraseñas. El salting consiste en agregar un valor aleatorio (sal) a
la contraseña antes de ser hasheada, asegurando que incluso si dos usuarios tienen la
misma contraseña, sus hashes serán diferentes. Esto dificulta aún más los ataques de
diccionario y fuerza bruta, obstaculizando así el trabajo de los ciberdelincuentes.

VII. Integridad de datos


Las funciones hash son esenciales para garantizar la integridad de los datos. La capacidad
de calcular un hash para un archivo y luego verificarlo más tarde permite identificar
cambios no autorizados. Algunas aplicaciones comunes de esta capacidad incluyen la
validación de archivos descargados, donde el hash se calcula en el origen y se proporciona
al usuario para su verificación tras la descarga. Si el hash del archivo descargado coincide
con el hash original, se puede sostener que el archivo no ha sido alterado en el proceso,
generando así confianza en la integridad de los datos transferidos.
Esta propiedad es especialmente útil en entornos donde la autenticidad de los datos es
crítica, como en el software distribuido y la verificación de documentos.

VIII. Blockchain
En la última década, la tecnología blockchain ha experimentado un auge significativo, en
gran parte debido a su capacidad para proporcionar un registro distribuido, seguro e
inmutable. Las funciones hash son fundamentales en la arquitectura de blockchain. Cada
bloque en una blockchain contiene no solo su propio valor hash, sino también el hash del
bloque anterior. Esta vinculación asegura que cualquier intento de alterar un bloque
anterior anularía todos los bloques que le siguen, reproduciendo así un efecto domino que
resquebrajaría la integridad de la cadena.
La naturaleza descentralizada de blockchain, combinada con el uso de funciones hash,
asegura que la manipulación de los datos es extremadamente difícil, ya que requeriría el
control de más del 50% de la red para hacer cambios válidos. Esto ha hecho de blockchain
una opción popular no solo para criptomonedas como Bitcoin, sino también para
aplicaciones en distintos sectores que requieren trazabilidad y confianza, como la gestión
de cadenas de suministro, contratos inteligentes, y votación electrónica.

6. Zero-Knowledge Proofs (ZKP)


Zero Knowledge (o conocimiento cero) es un concepto en criptografía que se refiere a los
protocolos de prueba de conocimiento cero (Zero-Knowledge Proofs, ZKP). En términos
simples, permite a una parte (el probador) demostrar a otra parte (el verificador) que posee
cierta información sin revelar dicha información en sí misma.

IX. Propiedades Clave de ZKP

▪ Para que un protocolo sea considerado Zero-Knowledge, debe cumplir con:


▪ Completitud: Si la afirmación es verdadera, el verificador la aceptará con alta
probabilidad.
▪ Solidez: Si la afirmación es falsa, un probador deshonesto no puede engañar al
verificador (excepto con una probabilidad muy baja).
▪ Conocimiento Cero: No se revela información adicional más allá de la validez de la
afirmación.

X. Aplicaciones de Zero-Knowledge Proofs

▪ Autenticación sin contraseñas: Los usuarios pueden demostrar su identidad sin


necesidad de enviar credenciales sensibles.
▪ Verificación de identidad: Se puede demostrar que una persona cumple ciertos
criterios (ej. ser mayor de edad) sin exponer datos personales.

XI. Blockchain y Criptografía

▪ Privacidad en transacciones financieras: ZKPs permiten validar transacciones sin


exponer detalles en la blockchain. Ejemplo: Zcash y Monero.
▪ Escalabilidad en blockchain: Soluciones como zk-Rollups en Ethereum
permiten realizar múltiples transacciones fuera de la cadena y validar su integridad
con una única prueba criptográfica.

XII. Finanzas y Compliance

• Auditorías financieras sin exponer datos sensibles: Un banco puede demostrar el


cumplimiento de regulaciones sin revelar información confidencial.
• Pruebas de solvencia: Una empresa puede demostrar que tiene los fondos suficientes sin
revelar el monto exacto.
• Seguridad en Votaciones Electrónicas: ZKPs pueden garantizar que un voto ha sido
contado correctamente sin comprometer la privacidad del votante, mejorando la
transparencia y seguridad en sistemas de votacion electronica.

XIII. Implementaciones Técnicas y Algoritmos Asociados

• ZK-SNARKs
Ventajas: Pruebas rápidas y de tamaño reducido.
Desventajas: Requiere una configuración inicial de confianza, lo que introduce posibles
vulnerabilidades.

• ZK-STARKs
Ventajas: No requiere configuración de confianza, mayor seguridad y resistencia a ataques
cuánticos.
Desventajas: Pruebas de mayor tamaño y mayor costo computacional.

• ZK-Rollups en Ethereum
Permiten agrupar múltiples transacciones fuera de la blockchain principal y verificar su
validez con una única prueba.
Reducen costos y mejoran la escalabilidad en redes blockchain.}

7. Desafíos y Limitaciones
Alto costo computacional: Algunas pruebas Zero-Knowledge requieren un uso
intensivo de procesamiento, lo que puede afectar su adopción en sistemas con
recursos limitados.
Complejidad en la implementación: La integración de ZKPs en sistemas
existentes puede ser complicada y requiere conocimientos avanzados en
criptografía.

Potencial uso indebido: Al permitir anonimato total, ZKPs pueden dificultar la


detección de actividades ilícitas en criptomonedas y redes privadas.

8. Futuro de Zero-Knowledge Proofs


Avances en eficiencia: Se están desarrollando algoritmos más rápidos y ligeros
para reducir el costo computacional de las pruebas ZKP.
Mayor adopción en Web3: Protocolos descentralizados están incorporando ZKPs
para mejorar privacidad y escalabilidad.
Aplicaciones emergentes: Desde identidades digitales descentralizadas hasta
contratos inteligentes más seguros, los ZKPs seguirán siendo clave en la evolución
de la ciberseguridad y blockchain.
Conclusión
Las funciones hash son herramientas criptográficas de suma importancia, que proporcionan
seguridad, integridad y confianza en el vasto mundo digital que nos rodea. Desde el
almacenamiento seguro de contraseñas hasta la verificación de la integridad de datos y el
funcionamiento de tecnologías emergentes como la blockchain, su aplicación es variada y
crítica. Las distintas funciones hash, desde MD5 y SHA-1 hasta SHA-2 y SHA-3, ofrecen
diversas características en términos de seguridad, velocidad y términos de implementación.
A medida que la tecnología evoluciona y surgen nuevas amenazas, la comprensión de las
funciones hash y su implementación adecuada se vuelve vital para la protección de la
información y la seguridad de nuestros sistemas. Al adoptar prácticas seguras y utilizar
algoritmos robustos y actualizados, podemos mitigar riesgos y garantizar la confianza en
nuestras interacciones digitales. El conocimiento sobre estas herramientas continúa crecer y
es esencial para cualquier profesional que desee reforzar la seguridad en el mundo cibernético
actual.

También podría gustarte