Afrikaans
Akan
Albanian
Amharic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1
- [Instructor] As we progress through the course,
2
we'll use our newly gained knowledge
3
to develop a file encryptor.
4
We'll base this on the World War II
5
three rotor Enigma machine.
6
As we can see, the Enigma has a plug board at the front
7
and a set of rotors located in slots.
8
There could be up to eight rotors and for any session,
9
three would be selected and placed in the machine.
10
The rotor consists of wires,
11
which connect two of the 26 characters of the alphabet,
12
therefore providing a full alphabet substitution.
13
For each rotor,
14
the alphabet wheel can be set to start character.
15
So a single rotor could be in one of 26 possible states.
16
The way the Enigma works
17
is that a character is entered on the keyboard,
18
it passes through the plug board,
19
and may be exchanged with another character.
20
Up to 10 characters of the alphabet could be exchanged.
21
The character that comes out of the plug board
22
is then passed to the first rotor.
23
When a character arrives at the first rotor,
24
it substitutes it, and then turns the rotor one position.
25
The substituted character is then passed
26
to the second rotor,
27
which does the same substitution using its coding.
28
It would only step after a complete rotation
29
of the first rotor.
30
After passing through the third rotor,
31
it'S reflected back through the rotors
32
and reverse substituted.
33
The final character is then passed
34
through the plug board,
35
where it may or may not be substituted
36
and becomes the next character in the cipher message.
37
The reflector was the cause of some weakness in Enigma,
38
but it did mean that decryption was very easy.
39
Just run the cipher through the machine
40
and plain text appears.
41
We can see then that our program will need to provide
42
for a set of rotors, which have coded settings,
43
a plug board, and a fixed reflector.
44
We'll allow the user to select three rotors,
45
set the alphabet start position for each rotor,
46
and enter two plug board connections.
47
We'll use an abbreviated alphabet of zero to F
48
to cover each of the hexadecimal characters,
49
and this will allow us to process readable messages
50
as four bit nibbles.
51
The program when run will read a file
52
and process it nibble by nibble,
53
passing each nibble through the plug board and three rotors,
54
and then returning it via the plug board to be written.
55
The first rotor will turn after each nibble,
56
the second one, every 16 nibbles,
57
and the third, once every 256 nibbles.
58
The point at which the second and third rotors turn
59
is determined by what is known
60
as a notch in the previous wheel,
61
which we'll simulate by configuring a notch position.
62
One of the advantages of this design
63
is that if you feed in the cipher using the same settings,
64
then it reverses the ciphering
65
and you get plain text out.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.