Command lineHTML UIStrings
The Caesar cipher is a very simple cipher also known as a “shift cipher”. Implementing it is a good way to exercise your facility with strings and modular arithmetic. It is also a good early exercise for practicing breaking down code into small functions that each do one thing well.
You can read all the details on the Wikipedia page but the one sentence
summary of the Caesar cipher is you encrypt letters by moving a certain
number of steps into the alphabet, wrapping around to the beginning of
the alphabet if you come to the end. And you decrypt by moving backwards
the same number of steps. So with a key of 6, you’d encrypt ‘a’ as ‘g’
(six letters after ‘a’) and ‘y’ as ‘e’ (six letters after ‘y’, wrapping
around from ‘z’ to ‘a’.) Note that if you use a key of 13, i.e. half of
the number of letters in the alphabet, it doesn’t matter which direction
you shift so encrypting and decrypting are the same. This is sometimes
called rot13
, short for rotation 13 and is sometimes used
to lightly obscure things like spoilers in online posts.
If implementing the Caesar cipher is not challenging enough, you can also implement the Vigenère cipher which uses the same basic shift as the Caesar cipher but with the addition of a textual key which is used to determine how much to shift each letter.
And if you really want to go to town on ciphers, you can try to write program to crack Caesar and/or Vigenère ciphers. Figuring out the best way to this will probably require some research.