Inversion of partial hash information on SHA-256 [closed]
Can the original data be recovered from the known first 32 bytes of an SHA-256 hash value? The first 32-byte of the hash value given as;
$\texttt{0x141fb569eaa5fe6f71eb18029e652fef}$
HINT: The data was 21 bytes log, ASCII text, and hashed with SHA-256.
$\operatorname{SHA-256}$ is a cryptographic hash function built for collision-resistant hash function. What we have;
- Input $m$ size 21-bytes as ASCII text;
- $h = \operatorname{SHA-256}(m)$
- Partil value of $h$ as $\texttt{0x141fb569eaa5fe6f71eb18029e652fef}$ as 128-bits
What can we do;
-
Pre-image attack on $\operatorname{SHA-256}$: success is negligible since the attack cost is $2^{256}$ on average.
It is not proven, however, we may consider that each bit of $\operatorname{SHA-256}$'s output as a hardcore predicate until someone proves that is not.
-
Search an input so that the hash of the random input has the same first 16-byte as the given value.
This is similar to Bitcoin miners' job. Even their collaborative work cannot execute this attack in a year since they can reach at most $2^{93}$ $\operatorname{SHA-256}$ double hashes.
-
Data 21-byte longs as ASCII. 21-byte makes $2^{168}$ search space not possible. Even the random case will produce faster results than this.
-
Data is ASCII, assuming this is standard English letters in capitals otherwise an ASCII is a byte! If capital letters then we have $26^{21} \approx 2^{99}$ at this is also above the miner's collective power. No luck here, too.
Conclusion: NO for the given.