Online Cryptography Guide: A Deciphering Look
Cryptography is the science of studying and analyzing hidden information within a text, specifically deciphering ciphers, codes, and cryptograms. Cryptography is used in many areas, includes computer passwords, ATM cards, and electronic commerce. The two key terms in the cryptographic process are encryption and decryption. Encryption is the process of converting plain text into cipher text, while decryption is the process of converting the cipher text into plain text.
Simple Cipher
A simple cipher is one in which one letter is replaced with another and the classic example for this type is the Caesar cipher. In this Caesar cipher, cipher letter are rotated either right or left by some number of positions. For example, if the plain text reads “red apple”, than the cipher text will read “ple redap”; in this example, all of the letters were shifted three positions to the right.
-
Caesar Cipher: A good resource to understand Caesar cipher and frequency analysis to break this cipher.
Enciphering
Enciphering is a process of converting a normal data into cipher text that cannot be easily identified by an unauthorized person. Encryption plays an important role in the wireless communication, especially to protect data in transit. Algorithms are used for encrypting data and a key is used to retrieve the encrypted data.
-
Enciphering Messages: A simple enciphering technique is clearly explained with a good illustration.
Deciphering
In the deciphering process, the encrypted data are retrieved back to the original form. Deciphering is exactly the opposite process of enciphering, and one should know the key or password used in their specific encryption. The process of encrypting and deciphering can so a long way in protecting documents and to sending sensitive information over the Internet in a secured form.
-
Simple Encryption and Decryption: An example of an encrypting and decrypting data system that explains who the system can effectively serve the user.
The Single Transformation
The single transformation is a type of simple substitution cipher in which letter-by-letter repetition is done on the same transformation. Transformation refers to an alteration in the arrangement of letters in any given cipher setting. By altering a transformation, the information is subsequently changed and disguised as well. In cryptography, arrangement denotes key used for ciphering.
-
Simple Transformation: A description of how the single transformation is preformed, includes examples.
Many Transformations
In the many transformations method, different arrangements will be made in the second column of a matrix. Key is used to encipher a letter in all the arrangement and therefore, it becomes increasingly difficult for an unauthorized person to decipher the entire message without the use of the proper key.
-
Multiple Transformations: A resource to aid in understanding rules based on the multiple transformation principles.
Weak and Strong Transformations
The simple substitution is very susceptible to being decoded, as it is very easy to decipher the code with only a small amount of information. Developing the key to break the coded messages is called the “codebook attack”. To protect the information and to reduce the risk of unauthorized decryption, one can increase the size of the ciphering. Rather than doing the transformation with 26 letters, it is better to go for combination cipher, like 26 × 26 = 676 cipher combination. This type of transformation makes the code real harder to break.
-
Brute Force Attack: A basic resource to help users understand the description, risk factor, and examples of “brute force attack”.
Keyspace
Cryptography rests on the idea that if a message has large number of keys and one could select a key at random; which would force the opponent to try at least half the number of key combination to find out the right key. This type of key transformation is called the “brute force attack”. The keyspace is normally described in terms of bits. The value for this key is given by the base-2 logarithm, provided only if the keys are equally probable.
-
Keyspace: An introduction to cryptography and keyspace will help armature decoders better understand the complex system and algorithms put into place.
-
Keyspace Architecture: A complete description of architecture and design of the keyspace is clearly explained.
Digital Electronic Ciphering
Digital electronic ciphering is a faster method of decoding cipher text, with this method one can easily try out a lot of possibilities in just a few seconds. Therefore, the current recommended strength of the cipher text is 128 bits. A key with 128 bits encryption is strong enough to defeat any attack.
-
Timeline of Digital Electronic Cipher Machine: An excellent resource to better understand the history and advancements of digital electronic ciphering.
-
Cipher Machines: Addresses a number of different cipher machines, with separate links to each digital machine.
Naive Ciphers
In this method, innovative and different rules are used to cipher each letter in a message. This method is not preferred by many decoders, because each ciphered text must be decipherable and should follow similar rules to provide consistent principles in the general science. It becomes very difficult to remember the keys when different rules are followed without any strict pattern. This cipher can be used for small messages, but for longer messages this method is rally inconvenient. Another problem is that the rule section takes more information than the original message.
-
Naive Ciphers: The pros and cons of naive ciphers method are clearly given.
Cryptography with Keys
In cryptography using keys, the plain text is normally encrypted with some key combination. This reduces the problem of securing data to perform transformations and secure keys. The problem with this method is that one who has the original key can easily decipher the original text, which may create a security breach for the user of the encrypted material.
-
Cryptography Keys: An excellent resource to help users gain an understanding of the importance of the keys in cryptography.
Cryptography without Keys
In this method, a difficult cipher program is created, which in turn becomes the key used to code the encrypted text. This means that the complex programs have access to the protected data, users should be cautious and carefully monitor their encrypting systems and frequently change the key used to encrypt information. The problem with this method is that if someone has access to the system, they can easily access all the secured information as it is not protected with keys.
-
Strings and Ciphers: A good resource to understand various cryptography methods without keys.
Cryptanalysis versus Subversion
Cryptanalysis is repetitive and expensive, and moreover, success is not assured in this method. On the other hand, other methods for obtaining the hidden text are much more effective and reliable. In general, cryptanalysis is the technique used to break the code.
-
Cryptanalysis: A basic definition for cryptanalysis is given with examples.
Block Ciphers
A block cipher is a cipher in which the larger data characters are accumulated in a block before starting the ciphering process. This means storage is required to hold the data and time is needed to perform the accumulation. Block ciphers, or code-book style ciphers, are largely used for multiple encryption. The fixed length for the block ciphers is 64 bits.
-
Block Ciphers: A quick introduction to know what is a block cipher.
-
Understand Block Ciphers: An excellent resource to understand all about block ciphers.
Stream Ciphers
In the stream cipher, or state cipher, the plain text bits are added with keystream, or pseudorandom cipher, bit stream. The digits in the plain text are encrypted one at a time and the transformation rate of the digit varies during the process of encryption. Stream cipher functions work at a higher speed than the block cipher.
-
Stream Cipher: This page is a good resource to understand stream cipher and various algorithms.
-
Stream Cipher vs. Block Cipher: A great resource to understand the difference between stream cipher and block cipher.
Coding Theory
Coding theory is a method used in various disciplines of science to design reliable and efficient data transmission methods, so that the possibilities of error is decreased. In general, there are several different types of codes, including source coding, channel coding, joint source coding, and channel coding. The codes are designed to be used in mobile phone systems and synchronization.
-
Coding Theory Tutorial: Coding theory is clearly explained with examples, simulations, and notations.
-
Application: A simple guide to understand the applications of coding theory.
