Symmetric Cryptography and Hashes Flashcards

1
Q

Symmetric Key Cryptography

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Information Theory

A

Modern cryptography began in 1949 when Claude Shannon published a paper about the Mathematical Theory of Communication. This idea improved cryptography.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Diffusion

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Confusion

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Avalanche

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Kerckhoff’s Principle

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How is symmetric algorithm encryption is expressed mathematically

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How is symmetric algorithm decryption is expressed mathematically

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Substitution

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Two things all modern block cipher algorithms use

A

Substitution and Transposition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Two types of symmetric algorithms

A

Block Ciphers and Stream Ciphers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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

A

XORing the plain text message with the key

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

This is how transposition is done symmetric key cryptography

A

Swapping blocks of text

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What single-key encryption means

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

List of popular symmetric block cipher algorithms

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Facts about the Feistel Function

A

Larger Block sizes increase security
A larger Key size increases security
If the round function is secure then more rounds increase security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cipher

A

The algorithms needed to encrypt and decrypt a message

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Key

A

Random bits used to encrypt a message

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Algorithm

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

The Feistel Function

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Unbalanced Feistel Cipher

A

Uses a modified structure where L0 and R0 are not equal lengths. This variation is used with the Skipjack algorithm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Data Encryption Standard (DES)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

3DES

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

DESx

A

Variation of DES that uses a technique called Key Whitening. XORs a key with text before or after the round function or both.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Advanced Encryption Standard (AES)

A

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.

26
Q

Blowfish

A

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 of 32bits to 448bits.

27
Q

Some products Blowfish is used in:

A

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

28
Q

Serpent

A

Symmetric key block cipher, created by Ross Anderson, Eli Biham, and Lars Knudsen. Block size of 128bits. Can have key sizes 128, 192, or 256bits. Uses 32 rounds working with a block of four 32bit words.

29
Q

Twofish

A

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 Wagener, Chris Hall, and Niels Ferguson.

30
Q

SkipJack

A

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.

31
Q

International Data Encryption Algorithm (IDEA)

A

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.

32
Q

CAST-128 and CAST-256

A

This block cipher was created by Carlisle Adams and Stafford Tavares. There are two popular versions. The 128 version can use 12 or 16 rounds working on a 64bit block with key sizes ranging from 40bits to 128bits in 8 bit increments. This version is also used in some versions of PGP.

33
Q

Tiny Encryption Algorithm (TEA)

A

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.

34
Q

SHARK

A

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.

35
Q

Electronic Codebook (ECB)

A

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.

36
Q

Cipher-Block Chaining (CBC)

A

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.

37
Q

Propagating Cipher-Block Chaining (PCBC)

A

Designed to cause small changes in the cipher text to propagate indefinitely when decrypting, as well as encrypting, a variation of the CBC mode of operation, has not been published as a federal standard.

38
Q

Cipher Feedback (CFB)

A

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.

39
Q

Output Feedback (OFB)

A

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.

40
Q

Counter (CTR)

A

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.

41
Q

Initialization Vector (IV)

A

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.

42
Q

ECB Mode

A

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.

43
Q

Symmetric Stream Ciphers

A

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

44
Q

Synchronous Stream Cipher

A

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

45
Q

Self-synchronizing Stream Cipher

A

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

46
Q

RC4

A

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.

47
Q

FISH

A

A symmetric Stream Cipher published by the German engineering firm Seimans in 1993. A software based stream cipher that uses a Lagged Fibonacci generator along with concepts borrowed from shrinking generator ciphers.

48
Q

Hash Function

A

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,

49
Q

Salt

A

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

50
Q

MD5

A

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.

51
Q

MD6

A

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.

52
Q

Secure Hash Algorithm

A

Most widely used hash algorithm.

53
Q

SHA-1

A

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

54
Q

SHA-2

A

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

55
Q

SHA-3

A

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

56
Q

FORK-256

A

This hash is in analysis phase and not in widespread use. Uses 512bit blocks and implements preset constants that change after each repetition. Each block is hashed into a 256bit block through four branches that divides each 512 block into sixteen 32bit words that are further encrypted and rearranged. Branches are used in parallel making it hard to analyze.

57
Q

RIPEMD-160

A

RACE Integrity Primitives Evaluation Message Digest is a 160bit hash algorithm created by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. Also has 128, 256, and 320bit versions which replace the original version because of collision issues. Doesn’t follow any standard security policies or guidelines.

58
Q

GOST

A

Hash algortihm created by the Russians. Produces a fixed length output of 256bits. Input message is broken up into 256 bit blocks. If block is less than 256 bits then it is padded with 0s.

59
Q

Tiger

A

192bit hash function created by Ross Anderson and Eli Biham in 1995. Designed using the Merkle-Damgard construction (collision resistant hash functions). One way compression function operates on 64bit words, maintaining 3 words of state and processing 8 words of data. 24 rounds and 8 input words.

60
Q

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

A

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

61
Q

CryptoBench

A

An app that allows you to see the output of a number of hashes. Enter the text you wish to encrypt, select an algorithm, then enter a key.