¿Cuál es el término correcto para formar una tabla precalculada con pares de contraseña / hash?

4

La tabla se ve así:

123456 -> asfty18u78t489yh  
password -> 89y203rupdifhof  
something -> 2r892389n89rfsd  

Y la idea es que si tienes el hash ( asfty18u78t489yh ), conoces la contraseña que lo generó ( 123456 ).

Los he visto llamados "tablas hash" aquí, pero otras fuentes definen una "tabla hash" como un método criptográfico para indexar matrices. He visto el término "hashes precalculados" o "tablas hash precalculadas" pero solo en algunas publicaciones / sitios web. También he visto algunos otros términos extraños e incluso cierta confusión con los términos (por ejemplo, llamándolo una "tabla arco iris" o un "ataque de diccionario") que puede ser correcto pero no tengo idea.

¿Cuál es el término correcto (o, al menos, generalmente aceptado)?

    
pregunta Lucas Cioffi 03.03.2017 - 14:40
fuente

2 respuestas

4

Si hay hashes completos para cada contraseña, es una tabla hash precalculada, en un contexto de seguridad, generalmente se llama solo tablas hash.

Si tiene una estructura como:

End of hash1 -> Password1, Password2, Password3, ...
End of hash2 -> Password4, Password5, Password6, ...

Entonces se llama tabla de arco iris, la principal diferencia aquí es que agrupas todas las contraseñas que producen hashes que tienen el mismo final (por ejemplo, los últimos 32 bits de sha256). Esto se hace para ahorrar espacio a costa del tiempo de cálculo, en este caso, toma el hash que está intentando descifrar, mire el final y pruebe las contraseñas que tiene asociadas con ese hash final

Finalmente, las tablas hash (AKA Hash maps) en el contexto de la informática general es una estructura de datos que utiliza una función hash (no necesariamente una función hash criptográfica) para almacenar, ordenar y / o acceder a datos en una matriz. Funciona así:

k = Hash(object.id)
Array[k] = object

Cuando desea buscar un objeto en la tabla, solo obtiene Array[Hash(object_id)]

También hay ciertos mapas hash que permiten múltiples valores para el mismo hash (en caso de colisiones), en este caso, cada entrada en la matriz es una lista vinculada

    
respondido por el Mr. E 03.03.2017 - 18:19
fuente
2

Como se explica en ¿Qué son las tablas de arco iris y cómo? ¿Se utilizan? , el contenido de la tabla específica que da como ejemplo haría del término técnico correcto una tabla hash. Esto se debe a que tiene un hash 'completo' para cada contraseña, por lo que para obtener una contraseña para un hash determinado (si ignoramos el uso de sal, etc.), realice una búsqueda.

Las tablas de arco iris son técnicamente diferentes como usted menciona, confiando en las colisiones, en lugar de en el cálculo previo.

Entonces, en términos técnicos, lo que estás describiendo es una tabla hash, donde obtienes tu respuesta con una búsqueda. Si tuvieras una mesa de arco iris, necesitarías calcular algo.

Dicho esto, el enlace que proporcionaste se explica mejor de esta manera (al igual que el artículo de Wikipedia ).

Creo que todavía usaría las tablas del arco iris en el uso diario, pero eso me hace técnicamente incorrecto. Y ahora lo sé mejor, terco.

    
respondido por el iwaseatenbyagrue 03.03.2017 - 14:47
fuente

Lea otras preguntas en las etiquetas