There seems to be some error in my understanding of the concept of rainbow tables, despite going through quite a bit of articles on it.
Let me show what I don't seem to agree with.
My plain text is 5-digit numeric input. Hash function - MD5 Reducing func - Get the first 5 decimal digits from the cryptotext
Constructing a single chain
12345 827ccb0eea8a706c4c34a16891f84e7b
82708 71b8e22700e63c2a0c1bad6506549d3b
71822 03010f7d7933a011782c10faf91c4fca
03010 cae05e8533d17be83bce0f451d5c7dd7
05853 a6864772e19671240f491bc2c89a36e0
This gets me one entry in my Rainbow table
12345 -- a6864772e19671240f491bc2c89a36e0
Lets test this with a sample:
Test hash (nota bene: this is not a valid hash, just for consideration)
th = tb05be8531317be83bce0f451d5c7dd7
With the reducing function:
R(th) = 05853
Then on hashing gives us:
a6864772e19671240f491bc2c89a36e0
Now, though the end result matches, its doesn't resolve my hash into a valid plain text.
Would this not be the case for every hash generated through this process? The only true hash match would be the last plain text value which is hashed, and doesn't really relate to the initial plain text.