Author

Topic: sha el sha (Read 142 times)

legendary
Activity: 3346
Merit: 3130
September 10, 2019, 05:47:38 PM
#3
....
Es decir, hay una gran cantidad de inputs que pueden generar el mismo output, por lo que si dos outputs (actuando a modo de input) general el mismo output, harían falta nuevos inputs externos a los iterados en el sha iterativo.


A esto me refería cuando decía que el ciclo se cerraría antes de obtener todos los shas. Muchas gracias por tu respuesta colega. Esta era una duda que tenía hace un buen rato y el tema de la coalición me hacia bastante ruido pero ahora me queda totalmente claro.

En conclusión, haciendo sha de el sha no obtendríamos todos los shas existentes.
legendary
Activity: 2338
Merit: 10802
There are lies, damned lies and statistics. MTwain
September 10, 2019, 12:05:27 PM
#2
He localizado un artículo que intenta resolver la cuestión con tu mismo enfoque: https://cromwell-intl.com/cybersecurity/crypto/hash-search.html

No parece aseverar que una hash iterativo del hash dé a parar con todos los resultados (habla sobre que posiblemente el algoritmo SHA-XXX pueda tener algunos patrones de salida "prohibidos" (ejemplo – que no más de n bits consecutivos puedan tener el mismo valor), lo cual sería tanto como decir que podrían haber en la práctica menos de 2^256 sha256 diferentes realmente generables. No obstante, no veo nada que ampare esta teoría que el autor mismo especula que puede suceder, pero que duda que suceda en la práctica.

Quizás por colisión, dos inputs de los 2^256 shas den el mismo sha de salida, por lo que harían falta más inputs que los outputs generados de los shas iterativos (digo yo; podría estar equivocado).

Según el artículo citado:
Quote
Possible outputs = 2^256
Possible inputs = 2^(264 - 1) = 218446744073709551615
Es decir, hay una gran cantidad de inputs que pueden generar el mismo output, por lo que si dos outputs (actuando a modo de input) general el mismo output, harían falta nuevos inputs externos a los iterados en el sha iterativo.
legendary
Activity: 3346
Merit: 3130
September 09, 2019, 12:18:49 PM
#1
Es bien sabido que existen 2^256 sha256 diferentes, pero me preguntaba que pasa si hacemos sha256 a otro sha256, creen que al final obtendríamos los  2^256 shas al final?

Por ejemplo, partimos de:

Code:
echo 0 | sha256sum
9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa

Después hacemos:

Code:
echo 9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa | sha256sum
142463dbd4788849038b7baa0e07f73ed758a04a65254524998faae9db372c5d

Y así continuamente, creen que funcionaría y obtendríamos todos los shas? o el ciclo se cerraría antes de obtenerlos todos?
Jump to: