# data[].attributes.body
The machine came with rotors each rotor had within a random substitution alphabet, the user would choose between 3-5 rotors at any one time (depending on the size of the size if the machine) and the plug board is another type of the machine, certain letters would be connected reciprocally to each other

# data[].attributes.body
As long as the OTT is random and is destroyed after use, the cipher text cannot be deciphered by a spy.

# data[].attributes.body
Every month, a German code sender would receive a code book outlining the key used for each day, which might look like this one.

# data[].attributes.headline
Counting the Possible Plugboard Settings

# data[].attributes.subject
Counting the Possible Plugboard Settings

# data[].attributes.attachment_link.description
To see how this is worked out you must know some basic facts about permutations and combinations.

# data[].attributes.body
practically just a complicated substitution cipher machine.

# data[].attributes.body
If the resulting cipher text is random, the cipher text can be sent over the air without anybody being able to decipher it. For the cipher text to be deciphered, the receiver needs the OTT in order to mix it with the cipher text to reveal the plaintext.

# data[].attributes.body
One-Time Tape, or OTT, is an automated digital variant of the so-called One Time Pad

# data[].attributes.body
Most possibly the most famous cipher of recent years, the Enigma cipher, this machine was developed in 1918 and used in German intelligence in World War II to stop the allied forces from knowing what they were talking about.

# data[].attributes.headline
The number of ways of choosing m pairs out of n objects is

# data[].attributes.subject
The number of ways of choosing m pairs out of n objects is

# data[].attributes.body
n! /((n-2m)! m! 2m)

# data[].attributes.body
If a random key stream is used, the resulting cipher text will be random and have no resemblance to the plain text.  This makes the Vernam cipher similar to the One Time Pad cipher

# data[].attributes.body
Since any English plaintext could have been used to create a ciphertext with equal number of letters, it is completely impossible to hack a message encrypted with a one-time pad

# data[].attributes.body
Army issue Enigma machines had three revolving "wheels" or "rotors" that could be taken out and changed about.The first task for an Enigma operator would be to decide which rotor went in which position. There were five rotors to choose from and they could be inserted into three positions on the Enigma machine.

# data[].attributes.body
You don't have to use  a new program because the Vigenère program can implement this cipher without any changes. But this cipher is so inconvenient to use on a regular basis that it is often only used for the most top-secret of messages.

# data[].attributes.body
plaintext + key = Ciphertext(text encryted ready for transmission)

Ciphertext + key = Plaintext

# data[].attributes.body
The key for the one-time pad cipher is called a pad because they were printed on pads of paper. The top sheet of paper would be torn off the pad after it was used to reveal the next key to use.

# data[].attributes.body
It is a Vigenère cipher where:

1.      The key is exactly as long as the message that is encrypted.

2.      The key is made up of truly random symbols.

3.      The key is used one time only, and never used again for any other message.

# data[].attributes.body
The Vernam Cipher is based on the principle that each plaintext character from a message is 'mixed' with one character from a key stream

# data[].attributes.body
This cipher is impossible to crack:
* no matter how powerful your computer is
* how much time you have to crack it
* or how clever of a hacker you are.

# data[].attributes.headline
Total number of possible ways in which a standard army-issue Enigma machine could be set up was 158,962,555,217,826,360,000

# data[].attributes.subject
Total number of possible ways in which a standard army-issue Enigma machine could be set up was 158,962,555,217,826,360,000

# data[].attributes.body
60 x 17,576 x 676 x 150,738,274,937,250

# data[].attributes.headline
Capital V because it's the name of a person

# data[].attributes.subject
Capital V because it's the name of a person

# data[].attributes.body
Use this link to try to explain the complexity of the coding system

# data[].attributes.attachment_link.title
Count On :: Codebreaking :: The Enigma Cipher

# data[].attributes.attachment_link.description
The machine itself looked like an old fashioned typewriter. When the user pressed the letter to be encoded, it would first pass through the plug board, then through the 3 rotors, the reflector, and back through the rotors in reverse. The encrypted letter would then be lit up on the display.

# data[].attributes.body
How is this robust?

# data[].attributes.body
Check out the Vigenere Cipher code - Analyse it and be ready to explain how it works

# data[].attributes.attachment_link.description
Hacking Secret Ciphers with Python teaches complete beginners how to program in the Python programming language. The book features the source code to several ciphers and hacking programs for these ciphers. The programs include the Caesar cipher, transposition cipher, simple substitution cipher, multiplicative & affine ciphers, Vigenere cipher, and hacking programs for each of these ciphers.

# data[].attributes.attachment_link.description
The Vernam Cipher can also be implemented with modern computer technology. Instead of the 5-bit word of a teletype system, computer words consist of 8 or even more bits. The principle, however, remains the same as the XOR-operation is applied to the individual bits of the data word.

# data[].attributes.body
Why the Capital V? How does it work?