Wednesday, April 11, 2018

Introductory Post

My project will involve examining the OffTheGrid Latin Square password storage system. In this case, a Latin Square is an arrangement of N letters in an N by N matrix where no letter is in a row or column with itself. It was first brought to my attention by my CSIT advisor about a year ago and it seems ready for a round two. The exact approach here is somewhat multidimensional in that there are a few different avenues to reach the same goal. Ultimately it would be ideal to examine the strength of this grid system given a few different factors such as grid size, domain name length, amount of password/domain pairs, etc. Also, attempting different algorithms and environments for improved code runtime would be interesting. 

In this particular case, my goal will be to first find a working algorithm to generate a valid Latin Square of arbitrary grid size. Second, I will need to be able to generate the password "hash" from the given table. Finally, though this is a large jump, I can look into what information is afforded by having those tiny pieces of information about the original grid and consider the viability of piecing it back together. My predilection is that the branching factor is too high to have much luck with a search algorithm but we shall see.

For me, round one involved a rather iterative approach involving a straightforward loop choosing whatever random characters were available for a cell. This quickly hit a wall as the particular row wouldn't always agree with the column for a cell. 

At this point I hope to apply backtracking to finish that aspect of the project. I'll be starting with Java and moving from there.

No comments:

Post a Comment