So, I wrote a class project a ways back, it was probably the only thing I've coded that didn't have a list of instructions attached to it.
I'm not terribly proud, I found it fun and wanted to expand on it, but I've never gotten any idea of how much of a rook I am.
So basically its a text scrambler I wrote in C++, I'm working on finding the source code, but I have the .exe if anyone is willing to try. I'm not gonna post it outright because it'd be suspicious of a newbie to try to send an undocumented .exe to a forum. If approved I'll put it up and any nerds who want to try it out can give it a poke.
The program generates a series of alphabets(tumblers, explained in a minute), one for each letter in the password. The tumblers are offset by a number corresponding to the "distance from A" for the letter in the password it represents. The program steps through the document and changes each letter to the letter occupying it's position on the tumbler, so a tumbler offset for B would render a C unto D. All digits are subtracted from 9(really lazy-ass way to make sure they were all changed) and spaces are ignored as yet. The process can indeed be reversed, and the program does just that if set to do so.
The concept of tumblers is based on a terribly weak understanding of Enigma, and then simplified to fit my class deadline. Imagine a wheel with every letter of the alphabet on the outside edge, Z and A adjacent so the ring is complete. By offsetting the wheel, we reset the entire alphabet's position. Because it steps through the document as it does, this project does not normally render the same letter the same way in all places. Distorting common flags for cracking, such as the presence of repeating 3 letter patterns for THE and AND.
I ponder an expansion of the project that would start rotating the tumblers as the program progressed, thereby further distorting the text. I suspect, however, that conventional cryptography renders any efforts I make laughably easy to destroy, and so I kinda fear investing any pride in it.
Currently it is command-line only, because I don't know a damn thing about C++ graphical interfaces.
As I remember it doesn't handle any non-alphabet characters in the password(including spaces) and it was designed for .txt when created, but if I got the idea it was even really good practice I'd play with it more.
Still scrounging for the source, report back on that when I know something.
EDIT: HUZZAH! I found a copy of the source I stored in my Gmail files. It may actually be older than my .exe build, but at least it isn't gone. If I'm authorized, I'll put up the .cpp file and let folks see it, they can compile it themselves for security.
Edited by HemoGoblin, 30 June 2013 - 11:07 PM.