Notice: Undefined index: HTTP_ACCEPT_ENCODING in /home/mizahar/public_html/w/includes/GlobalFunctions.php on line 1012
Cryptography - Roleplay Lore
Personal tools
Search

Cryptography

From Mizahar Lore

Jump to: navigation, search

Cryptography is the art of ciphering and deciphering secret codes used to protect sensitive messages. Much like lockpicking and locksmithing, the two activities are deeply entwined, in that knowledge of how codes work is necessary to break them, and knowing how to break codes is crucial in devising new and better codes.

Contents

History

Cryptography is almost as old as writing itself. Believed to be a gift of Akajia, goddess of secrets, it has existed for many millennia for various purposes, most notably preservation of magical and trade secrets and military communication. Early codes tended to be very simplistic, though in the late pre-Valterrian age they had reached a considerable level of sophistication, with inventors building machines for bringing a degree of automation to the making of ciphered messages.

Most high-level wizards make use of ciphers to protect their research. While popular myth believes that wizards do so to prevent later adventurers from getting access to their power, this measure is usually a deterrent against the wizard's own apprentices. Being killed by one's apprentice is the second cause of wizard mortality after magical incidents and miscasts; having a code ensures that there is very little knowledge to be gained from killing the wizard.

Terminology

  • Key - An item or concept whose possession and understanding allows someone to decipher a code. Anything can serve as a key, from a series of glyphs on a stone to an idea such as "all A's become Z's." A code with a physical key is a 'keyed' code, one with a purely conceptual key is a 'keyless' code, though this is something of a misnomer.
  • Shift code - Possibly the simplest code type, this code merely shifts all letters by a fixed number of places. For example, in a "right shift 3" code, A becomes D, B becomes E, and so on. While extremely simple, these codes are enough to fool uncivilized barbarians that do not know the alphabet.
  • Transformation code - A generalization of the shift code, these codes consistently turn a letter into another letter. For example, one might decide that A becomes P, B becomes E, and so on. The correspondences can be noted on a piece of paper serving as the key, though this code is still simple enough that it can be memorized by heart. This code is much more effective than a shift code, but it can be broken if one knows or suspects the language the message is written in, and if the message is long enough. Basically, the breaker knows which letters are the most frequent in that language, and uses this fact to make conjectures, thus reconstructing the message. Knowing what the message is about makes the task much easier.
  • Trans-alphabetic code - A variant of the transformation code in which other symbols are used in place of letters, each symbol corresponding to a letter. Glyphing runes are a popular choice. This may look more confusing to the profane, but is no harder to decipher than a transformation code. Its advantage is that others may not even realize they are looking at a message.
  • Multi-letter code - A more advanced code in which letter sequences are replaced instead of single letters, for example "tr" becomes "al". A more effective code, though much harder to memorize, probably requiring the users to keep the instructions around as a key.
  • Spaceless code - In order to make things more difficult, some codes remove all spaces and punctuation between words. Deciphering a single block of text without knowing where one word ends and the next word starts is considerably harder, though it also makes it harder for legitimate readers.
  • Allegorical code - Also called 'pun codes' these are riddle-like codes where substitutions are not mechanical as in the previous types. Instead, different concepts are used to replace the original concepts. Extensively employed in Alchemy, these codes are entirely symbolic - the text will mention animals, colors, items, with each term having several hidden meanings. If the symbols are somewhat related to the concept they mask, a breaker might be able to infer things from the text, otherwise a key will be necessary.
  • Escrow code - A keyed code in which the message can only be recovered by collecting separate key parts.

Perfect codes

Perfect codes do exist, however they are rarely encountered in practice because of their limitations. For a code to be perfect, the key must be at least as long as the message and can only be used once. Even a trivial shift code can become perfect in this fashion. For example, if the key is "1-0-2" and the encrypted message is "BAR", the key might indicate that the first letter is to be shifted by one, the second by zero and the third by two places, thus deciphering the original message, "CAT". No breaker, no matter how skilled, could derive "CAT" without the key or some context information on the message. However, if the same key "1-0-2" was used to encrypt multiple messages, a very skilled breaker could notice patterns in different messages and use those to reconstruct the key.

Progression

Novice (1-25)
The cryptographer is a novice at making and breaking codes. They will probably notice when a code is being used, but will only be able to break very simple codes, and their own repertoire of codes will likewise be very limited.
Competent (26-50)
Having grown more confident with the subject, the user has considerably experience with codes and will be able to crack a majority of standard unkeyed codes in a relatively short time. Unique codes may or may not be deciphered.
Expert (51-75)
A true expert, the cryptographer can devise unique codes that will give even experienced crackers a run for their money. They can also guess at least a few words in the content of encrypted messages with just a little information.
Master (76-100)
Masters of the art, these cryptographers can decipher anything that can be deciphered. Short of perfect codes, there is nothing that will stop them, and even then they can work around a perfect code with enough context information. Their own codes are a nightmare for all but other masters.