2.b. Cryptography Flashcards
Cryptography
The science of protecting the confidentiality and integrity of data
Cryptographic algorithms
Convert plain text into cipher text. Some work in both directions and some act as an integrity check (1 way function)
Cryptanalysis
Breaking and finding a weakness in the algorithm
Ceasar Cipher
Shifting each letter of plaintext by a certain number of spaces in the alphabet (3)
ROT13 Cipher
Variation of the Ceasar Cypher where each letter in the alphabet is shifted 13 spaces. If you run the code through the ROT13 cipher 2X, you get the original message.
Cryptographic Machine examples
Jefferson Disk (purely mechanical 36 disks) and the German Enigma Machine (series of rotors each with 26 letters and 26 electrical contacts on them)
Kerckhoffs’s Principles (6) - Bases for cryptographic systems
- System must be substantially, if not mathematically, undecipherable
- System must not require secrecy (secure even if stolen)
3.Keys must be easy to communicate and remember w/o written notes, and must be easy to change/modify - System ought to be compatible w/ communication via telegraph
- System must be portable and must not require more than 1 person
- System must be easy to use
Open Algorithms - One-way problems
Depends on complex mathematical problems
Keyword Ciphers - Substitution Ciphers
ABCDEFGHIJKLMNOPQRSTUVWXYZ
MYSECRTABDFGHIJKLNOPQUVWXZ
One-Time-Pad - Vernam Cipher
2 copies of the same pad containing a random set of numbers (shifts) which are the key. Each shift is the number of letters forward in the alphabet you’d shift the plaintext letter.
Block Cipher
Takes a predetermined number of bits (block) and encrypts that block (typically 1 block = 64 bits)
Stream Cipher
Encrypts each bit of plaintext one bit at a time A block cipher with block size set to 1 bit acts as a stream cipher
Symmetric Cryptography
PRIVATE KEY cryptography uses a single key to encrypt and decrypt (uses key exchange)
Symmetric key algorithms Exs
DES, 3DES, AE5
DES
(Symmetric) Block cipher that uses 56 bit key (keyspace 2^56)