Moved key generation into the rainbow table because it just made more sense there. Improved reduction function to generate variable length keys. Need to further improve it though