Wednesday, April 25, 2018

Cracking Wide Open... Sorta






This week I took a stab at working backwards. The working idea is to shift collections of known letters from combining a domain and password hash to find a valid table. This has shown mixed results.

I've started out testing on small squares for various reasons. With rather quick response times, we get a large number of results from our shifting algorithm. One part builds the shifted piece and checks if it's still a valid square at that shifting. Then it passes off to essentially the original square building routine to check how many valid squares can be pieced together from the simple setup. In other words, it makes and plays Sudoku with itself.

This algorithm may have a few troubles. Latin squares can be flipped horizontally, vertically, or both. This gives us four potential matches from individualized spatial relationships alone. The problem is, this currently gives one of them. Ideally the algorithm should be apt enough to find all four. I imagine the issue may either be that it prematurely ends before working through all the possible shifting permutations of some of the more incomplete squares OR there really only should be one solution by this method. 

The image here shows a few mostly complete squares. It also attempts to take the latest filled square and check against the original square's hashing. As we can see, it leaves considerable room for improvement.

I hope to continue working at the shifting operation to check that it covers as many relevant permutations as possible. It also seems that the hash generation function has a bug, given that it shows consecutive "bbb" which cannot appear in a square.

No comments:

Post a Comment