Apr 12, 2008

Practice Problem: Columnar Transposition

A Programing Practice Problem where the user request that a coded string is translated into plain text.

After reading about the transposition cypher Columnar, create an application that can read input text and a key to both encrypt and decrypt text to an output field. (Hint: Char arrays are your friend. If your still having difficulty with this transposition cypher, try ROT13 first (see link below).)

Keyword: alphacentauri
ieeowtfro ueeootsii donfilhat weiatcsoo omtdlolnn osdldoett kcdmthcpp ftcwwsiys uyceematd yoonwdlpi ireoasnsi lsadvssro lubrwaenz

Note: My app isn't perfect by any means. It considers spaces and symbols as chars in the cyphertext, which Columnar drops. It also shows extra spaces instead of nulls (note, in this context, null is a reference to a false letter in the cyphertext, not the programming null). This extra white space will cause the decrypt to fail if they are removed.

Once you have completed the app to allow for the cyphering and decyphering of Columnar transposition, include a dropdown list that allows the user to choose other cyphers:
ROT13 - As a keyword isn't necessary, and encryption is identical to decryption, the keyword and decryption options should be disabled.
Simple Substitution - Similar to ROT13, but does need a keyword and decrypt action.
Double transposition - Another textbox should be provided to have a second keyword.