I think I remember reading somewhere that there is not enough energy in the observable universe to even
count to 2
128 using a "quantum" of energy each time. If true, it does not matter how densely you manage to pack your rainbow table (note rainbow tables don't generally store every possible hash explicitly AFAIK.)
From the same wikipedia page:
...a total mass for the observable universe of 3.35×1054kg
We know that E=mc
2 = (3.35×10
54kg)(3.00x10
8m/s)
2 = 3.015x10
71 Joules (3 significant digits)
In trying to find out what a "quantum" is, I came across this page:
Quantum energy. Apparently, the ammount of energy represented by a "quantum" is dependent on frequency and the plank constant (the smallest possible unit of measurement in the universe). Since you did not mention how many heat-deaths of the universe you wanted to wait, I will assume the machine is running at the temperature of the
Cosmic microwave background radiation with a dominant frequency of 160.2 GHz (1.60x10
11Hz).
From the quantum energy page, the ammount of energy represented by a 'quantum' = (planks' constant)(frequency) = (6.62618x10
-34Js)(1.60x10
11Hz) = 1.0601888
-22J or 160yJ.
How high can you count using all of the energy in the known univese? (3.015x10
71 J)/(1.0601888
-22J) = 2.84
93 ~= 2
310. Time required at 160.2GHz would be 5.63
74 years or about 1.52
65 times the estimated age of the universe. As I understand it, if you want to count faster, you need more energy. Counting is not embarasingly parallel, so I am not sure how the time estimate factors into generating a theoretical rainbow table.
Since the number thrown around earlier was 4.16x10
89 (or 2
298) your theoretical rainbow table can use about 4096 quantums of energy (or 434zJ) for each hash.
PS: Rainbow tables may store some 50 character passwords, but they would likely have low entropy: consisting of published words/phrases.