Skip to main content
16 votes
Accepted

Which hash algorithms support binary input of arbitrary bit length?

What established hash algorithms are compatible with input binary data of arbitrary bit length? The specifications of many hash algorithms include provisions for input of binary data of length not a ...
fgrieu's user avatar
  • 144k
7 votes

Implementing SHAKE using SHA3

This is not possible. For SHAKE128 this is trivially true, because there is no normal SHA3 hash function which has the same "capacity" (~internal state size), as we can see in section 6 of ...
Jeremy Banks's user avatar
6 votes

Which hash algorithms support binary input of arbitrary bit length?

Most common hash algorithms support arbitrary bit strings as input (up to a very large maximum length: $2^{64}-1$ bits or more). This includes MD5, SHA-1, the SHA-2 family, the SHA-3 family, etc. ...
Gilles 'SO- stop being evil''s user avatar
3 votes
Accepted

When to use UUID and when to use hash?

They can both be used to uniquely identify a content, so I have doubts about which one should be used in what situations. The purpose in common for all UUIDs is that they're intended to be unique. ...
aiootp's user avatar
  • 1,116
2 votes

Which hash algorithms support binary input of arbitrary bit length?

What established hash algorithms are compatible with input binary data of arbitrary bit length? Actually, most of them. All SHA-3 hashes are well defined for any finite bit string, be it 1 bit, 42 ...
poncho's user avatar
  • 150k
2 votes

Which hash algorithms support binary input of arbitrary bit length?

The following general method would work: Append $0$ bits until the length of the bitstream is a multiple of 8. Call the number of bits you had to append $N$. Thus $N$ will be between $0$ and $7$. ...
Martin Kochanski's user avatar
2 votes

When to use UUID and when to use hash?

TL;DR: UUID's should be thought of as unique identifiers; they do not have any other strong cryptographic properties. As explicitly stated in the security section of the RFC: Do not assume that UUIDs ...
Maarten Bodewes's user avatar
  • 93.9k
2 votes
Accepted

Using hash for data integrity and authenticity, how?

Taking a hash of the concatenation of hashes is perfectly fine. It's how Merkle trees work. Blockchains are Merkle trees, by the way. You can also hash the concatenation of multiple pieces of data, ...
Gilles 'SO- stop being evil''s user avatar
2 votes

Padding for SHAKE256

When there's more than 2 bytes to pad: 0x1f || 0x00^* || 0x80 When there's only 2 bytes to pad: 0x1f || 0x80 When there's only ...
DannyNiu's user avatar
  • 9,672
1 vote
Accepted

How do non-Turing complete languages like Clarity support sha256 hashing, which internally relies on loops?

The loops in SHA, AES, and pretty much all ciphers used in modern IT security can all be un-rolled, as their loop condition don't depend on input data. Take SHA-256 for example, it's compression ...
DannyNiu's user avatar
  • 9,672
1 vote

Which hash algorithms support binary input of arbitrary bit length?

These algorithms take bit strings as input: MD4/5/6, SHA-0/1/2/3 GOST, RIPEMD, Streebog, Tiger, Whirlpool Unless NIST screwed up, all 51 first-round SHA-3 candidates, since one requirement was that ...
benrg's user avatar
  • 786
1 vote

Reversed hashing algo using subtle crypto

Let $H$ be a random oracle, i.e. a perfect hash function that for each input (source) $x$, outputs a uniformly random $y=H(x)$. $fHash(x)$: sample a random string $r\gets\{0,1\}^\kappa$ let $h_1 = H(...
PeterRindal's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible