E-CES, 212-81, Module 2, Symmetric Cryptography and Hashes

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/44

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

45 Terms

1
New cards

Symmetric Key Cryptography

The same key is used to encrypt and decrypt the message, faster than asymmetric but have an issue with key exchange

2
New cards

Diffusion

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.

3
New cards

Confusion

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.

4
New cards

Kerckhoff's Principle

A cryptosystem should be secure, even if everything about the system is publicly known.

5
New cards

Substitution

Changing some part of the plain text for some matching part of cipher text. Historical algorithms typically use this.

6
New cards

Two things all modern block cipher algorithms use

Substitution and Transposition

7
New cards

Two types of symmetric algorithms

Block Ciphers and Stream Ciphers

8
New cards

This is how the substitution portion of symmetric key cryptography is accomplished

XORing the plain text message with the key

9
New cards

This is how transposition is done in symmetric key cryptography

Swapping blocks of text

10
New cards

What single-key encryption means

The same key is used to both encrypt and decrypt a message

11
New cards

List of popular symmetric block cipher algorithms

The Feistel Network, DES, 3DES, AES, Blowfish, Serpent, Twofish, Skipjack, IDEA, CAST, TEA, SHARK

12
New cards

Facts about the Feistel Function

Larger Block sizes increases security, Larger key size increases security, if the round function is secure then more rounds increase security

13
New cards

Cipher

The algorithm(s) needed to encrypt and decrypt a message

14
New cards

Key

Random bits used to encrypt a message

15
New cards

Algorithm

The mathematical process used to alter a message and make it unintelligible to any but the intended party

16
New cards

Data Encryption Standard (DES)

Was the premier block cipher for many years but is now considered outdated. Was selected a the Federal Information Processing Standard (FIPS) for the U.S. in 1976. This is a Feistel Cipher with 16 rounds and a 48bit key for each round. To generate round keys a 56bit key is slit into two 28bit halves. This Feistel Cipher uses 8 s-boxes.

17
New cards

3DES

Interim replacement for DES. Performs DES three times with three different 56bit keys.

18
New cards

Advanced Encryption Standard (AES)

Also known as Rijndael block cipher. Chosen as a replacement for DES in 2001. Designated as FIPS197. Can have three different key sizes; 128, 192, and 256. All three operate on a block size of 128 bits. Not based on a Feistel network. Operates on a 4x4 column-major order matrix of bytes called the state.

19
New cards

Blowfish

A symmetric block cipher designed in 1993 by Bruce Schneier. Was intended as a replacement for DES. Like DES it is a 16 round Feistel working on 64bit blocks. Can have bit sizes 32bits to 448bits.

20
New cards

Some products Blowfish is used in:

BCrypt, CryptoDisk, DriveCrypt, Password Safe, Password Wallet, Backup for Workgroups, Crashplan

21
New cards

Twofish

Finalist to replace DES. Block size of 128bits and key sizes up to 256bits, it's a Feistel cipher. Designed by Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson.

22
New cards

Skipjack

Developed by the NSA and was designed for the clipper chip, a chip with built in encryption. Decryption key was kept in escrow for law enforcement to decrypt the data without the owner's cooperation, made this algorithm highly controversial. Uses an 80bit key to encrypt and decrypt 64bit data blocks. An unbalanced Feistel network with 32 rounds.

23
New cards

International Data Encryption Algorithm (IDEA)

A block cipher designed as a replacement for DES. Designed by James Massey and Xuejia Lai in 1991. 64bit blocks and a 128bit key. Uses a series of eight identical transformations.

24
New cards

Tiny Encryption Algorithm (TEA)

A simple algorithm that is easy to implement in code, a Feistel Cipher that uses 64 rounds. Created by David Wheeler and Roger Needham in 1994.

25
New cards

SHARK

Created by Vincent Rijmen, Joan Daemen, Bart Preneel, Antoon Bosselaers, and Erik De Win. Uses a 64bit block with a 128bit key in six rounds. Shares similarities with the Rijndael cipher such as the use of S-boxes.

26
New cards

Electronic Codebook (ECB)

This is the most basic encryption mode. The message is divided into blocks and each block is encrypted separately. A weakness of this is that the same plain text always equals the same cipher text which gives the attacker a way to begin analyzing the cipher to derive the key.

27
New cards

Cipher-Block Chaining (CBC)

Each block of plaintext is XORed with the previous cipher text block before being encrypted. This creates significantly more randomness in the final cipher text. More secure than electronic codebook mode.

28
New cards

Cipher Feedback (CFB)

In this mode the previous cipher text block is encrypted, the cipher text is XORed back with the plain text to produce the current cipher text block, essentially it loops back on itself increasing the randomness of the cipher text.

29
New cards

Output Feedback (OFB)

Makes a block cipher into a synchronous stream cipher, generates keystream blocks, which are then XORed with the plain text blocks to get the cipher text.

30
New cards

Counter (CTR)

Used to turn a block cipher into a stream cipher, much like OFB mode. Generates the next keystream block by encrypting successive values of a "counter". The counter can be any simple function that does not repeat for a long time.

31
New cards

Initialization Vector (IV)

Fixed size input to a cryptographic primitive that is random or pseudorandom. Called a 'nonce' if it is non-repeating and not truly random. Used along with a secret key for encryption.

32
New cards

ECB Mode

Encryption of the same plain text with the same key results in the same cipher text. Use of an IV that is XORed with the first block of plain text solves this problem.

33
New cards

Symmetric Stream Ciphers

Sometimes called a state cipher. Random key is XORed with stream of plain text.

34
New cards

Synchronous Stream Cipher

A stream of pseudorandom digits is generated independently. That stream is then combined with the plain text (encrypt) or the cipher text (decrypt).

35
New cards

Self-synchronizing Stream Cipher

Uses several of the previous N cipher text digits to compute the key stream.

36
New cards

RC4

A Symmetric Stream Cipher created by Ron Rivest in 1987. Most widely used software stream cipher. Identically used for encryption and decryption, the data stream is simply XORed with the key. Uses a variable length key from 1 to 256 bytes.

37
New cards

Hash Function

Uses an H function that takes a variable size input (m) and returns a fixed size string. The value that is returned is called the **** value or the, or the h, or the digest. Can be expressed mathematically as h=H(m)
Has a variable length input with fixed length output, same sized output is produced regardless of what you put into the algorithm.
H(x) is one way. You can't undo it. It is also collision resistant,

38
New cards

Salt

Random bits that are used as one of the inputs to a hash. Complicates dictionary attacks.

39
New cards

MD5

128bit hash specified by RFC1321. In 1996 a flaw was found in this hash function that was created by Ron Rivest in 1991 to replace an earlier, similarly named, hash function. This hash is also not collision resistant. Recommended to use SHA-1 instead.
Breaks down message into 512 byte chunks, padded with 0s if needed to reach 512.
Length of the message is appended as the last 64bits.
Operates on a 128bit state, divided into 4 32bit words.
Four nonlinear function (F) rounds.

40
New cards

MD6

This hash uses a Merkle Tree like structure to allow for immense parallel computation of hashes for very long inputs. Was submitted to the NIST SHA-3 competition. In 2009 Rivest stated that this hash is not ready to be a candidate for SHA-3 because of speed issues and other concerns.

41
New cards

Secure Hash Algorithm

Most widely used hash algorithm.

42
New cards

SHA-1

A 160bit hash function that resembles earlier MD5 algorithm. Designed by the NSA to be part of the Digital Signature Algorithm.

43
New cards

SHA-2

Two similar hash functions with different block sizes, known as SHA-256 and SHA-512. Uses 64 byte (512bit) words.

44
New cards

SHA-3

A proposed hash function still in development. Will be given name in 2012 by NIST.

45
New cards

MAC and HMAC (Message Authentication Mode) and (Hash Message Authentication Mode)

One uses a block cipher in in CBC mode to improve integrity. The other adds a key to a hash to improve integrity.