TMTO Variants

Objective

Research, implement, and assess an improvement to the Distinguished Point TMTO used in the Password Recovery Lab.

Scenario

There have been a number of improvements to the cryptanalytic TMTO originally developed by Hellman. In fact, the version that we used in the Password Recovery Lab was not the original TMTO, but the Distinguished Point (DP) variant which uses distinguished hash values (given by the prefix values in the table build code) to determine the end-point of a strand.

For this problem, you need to research a TMTO variant, implement it, and compare its performance to the DP variant that we used.

Several papers are provided in my Box drive, two of which describe specific TMTO variants:

Procedure

You will need to choose a paper describing a TMTO variant, study the paper, and write a summary of the technique and why it is an improvement over the DP TMTO. Further, you must implement the variant, preferably by modifying the code provide in the Password Recovery Lab, and assess its performance (passwords recovery rate and running time) compared to the DP TMTO.

Advanced: Port your TMTO variant to a compiled language such as C++. Evaluate the performance improvement over the Python implementation.