Symmetric Cryptography and Hashes Flashcards
Symmetric Key Cryptography
The same key is used to encrypt and decrypt the message, faster than asymmetric but has an issue with key exchange.
Information Theory
Modern cryptography began in 1949 when Claude Shannon published a paper about the Mathematical Theory of Communication. This idea improved cryptography.
Diffusion
Changes to one character in the plain text affect multiple characters in the ciphertext, unlike in historical algorithms where each plain text character only affects one ciphertext character.
Confusion
Occurs by using a complex substitution algorithm. Attempts to make the relationship between the statistical frequencies of the ciphertext and the key as complex as possible.
Avalanche
A desirable effect where a change to one bit leads to a large change in output. This is Fiestel’s take on Claude Shannon’s concept of diffusion. Feistel’s ideas are important when discussing block ciphers.
Kerckhoff’s Principle
A Cryptosystem should be secure, even if everything about the system is publicly known.
How is symmetric algorithm encryption is expressed mathematically
C=E(k,p)
Cipher Text (C) is equal to the encryption function (E) with the key (k) and plain text (p) being passed as parameters to that function.
How is symmetric algorithm decryption is expressed mathematically
P=D(k,c)
The plain text (P) is equal to the encryption function (E) with the key (k) and the ciphertext (c) being passed as parameters to that function.
Substitution
Changing some parts of the plain text for some matching part of the ciphertext. Historical algorithms typically use this.
Two things all modern block cipher algorithms use
Substitution and Transposition
Two types of symmetric algorithms
Block Ciphers and Stream Ciphers
This is how the substitution portion of symmetric key cryptography is accomplished
XORing the plain text message with the key
This is how transposition is done symmetric key cryptography
Swapping blocks of text
What single-key encryption means
The same key is used to both encrypt and decrypt a message
List of popular symmetric block cipher algorithms
The Feistel Network, DES, 3DES, AES, Blowfish, Serpent, Twofish, Skipjack, IDEA, CAST, TEA, SHARK
Facts about the Feistel Function
Larger Block sizes increase security
A larger Key size increases security
If the round function is secure then more rounds increase security
Cipher
The algorithms needed to encrypt and decrypt a message
Key
Random bits used to encrypt a message
Algorithm
The mathematical process used to alter a message and make it unintelligible to any but the intended party
The Feistel Function
Named after a German Physicist named Horst.
Forms a basis for most block ciphers. Splits a block of plain text data into two parts (L0 and R0). The round function is applied to one-half. The output of each round function is XORed with the other half.
Unbalanced Feistel Cipher
Uses a modified structure where L0 and R0 are not equal lengths. This variation is used with the Skipjack algorithm.
Data Encryption Standard (DES)
Was the premier block cipher for many years but is now considered outdated. Was selected at the Federal Information Processing Standard (FIPS) for the U.S. in 1976. This is a Feistel Cipher with 16 rounds with a 48 bit key for each round. To generate round keys a 56-bit key is split into two 28 bit halves. This Feistel Cipher uses 8 s-boxes.
3DES
An interim replacement for DES. Performs DES three times with three different 56bit keys.
DESx
Variation of DES that uses a technique called Key Whitening. XORs a key with text before or after the round function or both.