Here's a quick run-down:
There exists a set of three "rotors." After each letter is encoded, Rotor 1 increments forward. After the first rotor reaches its maximum value, it wraps around and increments the next rotor. So on and so forth for Rotor 2 and Rotor 3... Essentially, these act as the rotors from the Enigma machine. In my implementation, I would add the value of these three wheels to obtain a Shift value.
Example:
Starting wheel value with max of 5 per each wheel: (5) (1) (2) [Added together, the Shift value = 8]
Message is defined as: ABCD
Step 1: A = 1 (+ 8) = 9 = (I) [Increment: (1) (2) (2) = 5]
Step 2: B = 2 (+ 5) = 7 = (G) [Increment: (2) (2) (2) = 6]
Step 3: C = 3 (+ 6) = 9 = (I) [Increment: (3) (2) (2) = 7]
Step 4: D = 4 (+ 7) = 11 = (K)
So here's my question: Is this basically a modified Caesar cipher? The only difference seems to be that after each letter is encoded, the shift value changes. As long as the three "rotors" are in the correct starting position as when encrypted, the message can be decrypted by subtracting the Shift Value from the message letter value, correct? e.g., IGIK -> I=9 -> 9-8 = 1 -> 1=A Is there another term for this style of encryption so that I can understand it better, or the mathematics involved?
I should note I'm not going for a high-security encryption - I understand this cipher has certain weaknesses - this is just a programming exercise to practice and learn a bit of C#, cryptographic basics, etc in the process.
Thanks! Feel free to ask for clarification on anything if I didn't make sense.

New Topic/Question
Reply


MultiQuote








|