Module 2- Applications of Cryptography Flashcards
The same key is used to encrypt and decrypt the message, faster than asymmetric but have an issue with key exchange
Symmetric Key Cryptography
Modern cryptography began in 1949 when Claude Shannon published a paper about the Mathematical Theory of Communication. This idea improved cryptography.
Information Theory
Changes to one character in the plain text affect multiple characters in the cipher text, unlike in historical algorithms where each plain text character only affect one cipher text character.
Diffusion
Occurs by using a complex substitution algorithm. Attempts to make the relationship between the statistical frequencies of the cipher text and the key as complex as possible.
Confusion
A desirable effect where a change to one bit leads to large change in output. This is Fiestel’s take on Claude Shannon’s concept of diffusion. Fiestel’s ideas are important when discussing block ciphers.
Avalanche
A cryptosystem should be secure, even if everything about the system is publicly known.
Kerckhoff’s Principle
How 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.
Changing some part of the plain text for some matching part of cipher text. Historical algorithms typically use this.
Substitution
Two things all modern block cipher algorithms use
Substitution and Transposition
Asks if there is a one in both the first and second number. Numbers are compared one digit at a time.
Example: Number A 1101 Number B 0110 returns a result of Number C 0100
Binary AND
Asks if there is a one in the first number, or the second, or in both numbers. Each place is compared one at a time.
Example: Number A 1101 Number B 1001 returns a result of Number C 1101
Binary OR
Important because it reversible. Asks if there is a 1 in one of the numbers but not both. Each place is compared one at a time. To reverse your result back with your second number and you will get the first number.
Example: Number A 1101 Number B 0110 returns a result of Number C 1011
Binary XOR (exclusive OR)
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 in symmetric key cryptography
Swapping blocks of text
The same key is used to both encrypt and decrypt a message
single-key encryption
List of popular symmetric block cipher algorithms
The Feistel Network, DES, 3DES, AES, Blowfish, Serpent, Twofish, Skipjack, IDEA, CAST, TEA, SHARK
Larger Block sizes increase security, Larger key size increases security, if the round function is secure then more rounds increase security
Feistel Function
The algorithm(s) needed to encrypt and decrypt a message
Cipher
Random bits used to encrypt a message
Key
The mathematical process used to alter a message and make it unintelligible to any but the intended party
Algorithm
Named after a German physicist named Horst ***. Forms the basis for most block ciphers. Splits a block of plain text data into two parts (L0 and R0). Round function is applied to one half. Output of each round function is XORed with the other half.
The Feistel Function
Uses a modified structure where L0 and R0 are not equal lengths. This variation is used with the Skipjack algorithm.
Unbalanced Feistel Cipher
Was the premier block cipher for many years but is now considered outdated.
Data Encryption Standard (DES)