# How do I construct a rainbow table to crack a 6 character password? [closed]

Given the hash:

491c290affbf5436f0fc0584ccefb2

how do I construct a rainbow table to crack this password?

-

## closed as too localized by rook, Scott Pack, Iszi, Hendrik BrummermannOct 25 '12 at 20:34

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

It makes no sense to construct a rainbow table to crack a single password. – Null Oct 25 '12 at 1:28
For those wondering, it looks like this is really AES and not a hashing function. Here's where I suspect this is coming from. – Null Oct 25 '12 at 1:30
A rainbow table is brute force, just done ahead of time. – Stephen Touset Oct 25 '12 at 3:49
Also, Stack Exchange is not an appropriate place to ask people to do your homework for you. – Stephen Touset Oct 25 '12 at 3:51
@user1068636 - You do understand that rainbow tables are create by using a brute force approach right? In that you start at the very first possible password and run every single possible password through the algorithm, and simply store the output. – Ramhound Oct 25 '12 at 13:13

One doesn't construct a rainbow table to crack a specific password. If you want to crack a specific password it is more efficient to simply brute force it then to generate a rainbow table. One constructs a rainbow table to be able to crack a lot of passwords that share certain characteristics such as the password hash function and the password dictionary from which the passwords are taken.

If someone has already built a rainbow table for passwords with the same characteristics as the password you're trying to crack then you can use it. But I'd be surprised if anyone has ever built a rainbow table for a password dictionary of any six hex bytes and a "hash function" in which the password is padded with zeroes and AES encrypted with a key of zeroes.

BTW, I wrote hash function in quotation marks because this isn't a hash function - it's an encryption function. If instead the (padded) password was used as a key to AES encrypt a block of zeroes - that would have been a hash function.

-

To build the table as is described in the article, well, you just follow the description which is in the article. That's the point of the exercise: to learn how to read a scientific article and implement it. With a 24-bit space of possible passwords, you will just need about 256 tables, each with 256 chains, which is totally within range of a non-optimized implementation. Just like what a student can be reasonably expected to produce as part of homework.

Of course, it makes little sense to build such tables for cracking a single password; precomputed tables, including the special kind which Hellman describes, are worth the effort only when you want to crack at least two passwords. Also, a 24-bit space is a piece of cake and could be cracked with brute force in less than one second on average, if implemented properly (and substantially less if implemented properly with the AES-NI instructions).

Note that Hellman's time-memory trade-off is not a rainbow table, but its immediate predecessor. Rainbow tables are an optimization designed by Oechslin in 2003. I invite you to read the first parts of this article, which recalls Hellman's trade-off and might help you reach enlightenment (which is why you do the homework in the first place).

-