Questions tagged [rainbow-table]

A rainbow table allows inverting a cryptographic function (typically, a hash) at low cost, after a precomputation.

A rainbow table allows inverting a cryptographic function (typically, a hash) at low cost, after a precomputation.

The precomputation evaluates the function at many points (at least, all those for which the function will be invertible), and builds a compact data structure (the rainbow table) allowing later searches at modest cost, with high (or perfect) odds of success.

39 questions
15
votes
5 answers

How can rainbow tables be used for a dictionary attack?

I'm putting together a password policy for my company. I very much want to avoid requiring complex passwords, and would much rather require length. The maximum length I can enforce is 14 characters. I can calculate that 14 random lower case…
11
votes
1 answer

Example Rainbow Table Generation

I have read up on rainbow tables and think I understand the idea behind them. However, I find that it would be better for me to actually attempt to implement a (very basic) rainbow table generator in order to get a proper feel to using rainbow…
calccrypto
  • 536
  • 1
  • 9
  • 26
8
votes
2 answers

Is this SHA256 hash implementation secure from rainbow table, brute forcing attacks?

So I have an implementation where by we have an $8$-byte random input (entirely random, not user defined) which we hash with $\text{SHA256}$. The hash is shared with many parties to the point that we consider it is effectively public, so we are…
DanH
  • 181
  • 1
  • 1
  • 6
7
votes
1 answer

How to create reduction functions in rainbow tables?

I have been trying to understand rainbow tables lately and one part is giving me trouble to understand here. Let's say I want to generate a table where the chains are 100 000 hash/plaintext long. I have 50 000 hash to reduce then. Is it necessary…
6
votes
4 answers

Are rainbow tables still useful?

With unsalted passwords becoming rare, and stream ciphers having a significantly large state, are there currently any widely deployed systems still vulnerable to such time-memory-data trade-off attacks? If I were to show a small generic improvement…
Meir Maor
  • 12,053
  • 1
  • 24
  • 55
6
votes
3 answers

Rainbow table for DES with all-zero plaintext?

Consider the function $F$ from $\{0,1\}^{56}$ to $\{0,1\}^{64}$, mapping the operative bits of a DES key to the ciphertext for all-zero plaintext. How could we organize a rainbow table to invert that function with high probability, low computational…
fgrieu
  • 149,326
  • 13
  • 324
  • 622
5
votes
1 answer

Are there any known inverse hash lookups for the zero string?

Just wondering, are there any known inverse hashes / hash lookups in common hashes (md5, sha1, sha2, etc.) for the zero string hash value? (i.e. bytes 0x00 00 00 00 00 ...) Or more specifically, for a 128bit hash (like MD5 or SHA1): HASH(x) = 0x00…
Codesmith
  • 187
  • 4
5
votes
2 answers

What’s the smallest known sha256 hash that was ever produced?

Basically the same question as this one, except in my case the value to be hashed doesn’t have to be a valid Bitcoin block, but is a bytearray of arbitrary length and content (and that my use case is completely unrelated to Bitcoin). In details, I…
user2284570
  • 324
  • 4
  • 19
4
votes
1 answer

Which values to store in rainbow table generation?

According to the Wikipedia and Philippe Oechslin's Making a Faster Cryptanalytic Time-Memory Trade-Off (pdf), both starting points and endpoints are keys. Here is an example from Wikipedia: As you can see, key kiebgt is the endpoint of this…
Fixedbug
  • 51
  • 2
4
votes
1 answer

How to choose the reduction function in rainbow tables?

I have a question regarding Reduction Functions in Rainbow Tables. If the hashing function is MD5 or SHA-1 etc then should the reduction functions also be MD5 or SHA-1? That is, should the Reduction Function be the same as the Hashing Function but…
3
votes
2 answers

How does using salt reduce rainbow table attack?

I could create a rainbow table for a particular salt value and still create a successful attack similar to one without salt value.
naniroot
  • 33
  • 5
3
votes
5 answers

How does a salt get chosen?

I feel like I am missing some information regarding salting. How does one choose the salt? If you reuse the same salt for all passwords, can it just be figured out and then used in conjunction with normal brute-forcing. And what are the common…
Shaun
  • 31
  • 1
  • 2
3
votes
1 answer

Given a sha-512 hash of a value picked at random from the $2^{128}$ key space, how hard would it be to recover the original value?

More specifically is it reasonable to assume that someone with the resources of a state actor can feasibly compute a rainbow table of all the sha-512 hashes of values within the $2^{128}$ key space? Am I correct in assuming that the most efficient…
elemetrics
  • 143
  • 4
3
votes
1 answer

Rainbow Table - Number of Chains and Chain Length

Is there a difference between having 10,000 of chains (with 1,000 chain length) and 10,000 chain length (with 1,000 of chains)? How does it affect the success rate of the rainbow table? I understand that only start point and end point are kept in…
Tony
  • 31
  • 1
3
votes
2 answers

Idea for user/pass hashing to prevent rainbow tables, would it work?

I'm very new to cryptography (and security in general, for that matter), but I had an idea that I'm sure is very flawed, but is worth asking. If a computer user, online account, etc, needs to verify a username and password, wouldn't this work…
tkbx
  • 181
  • 6
1
2 3