intro-to-cryptography (week 5) Flashcards

1
Q

vignere cipher

A

1586
the idea is to use a collection of substitution cyphers - if there are n different ciphers then the first letter of the plaintext is encoded with the first cipher, the second with the second cipher, the nth with the nth cipher, and the n+1st letter is again encoded with the first cipher
the key is usually a word or a phrase of n letters, and the ith substitution cipher is obtained by shifting each letter ki positions in the alphabet
this flattens the frequencies and makes it much harder to do frequency analysis

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

enigma cipher

A

mechanical cipher where each letter typed would get mapped into a different letter depending of the key and current state of the machine which had several rotors that rotated at different paces

an identically wired machine at the other end could be used to decrypt

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

encryption scheme

A

clearly we can encode every message as a string of bits, i.e., an element of {0,1}^l for some l. and we can encode the key as a string of bits as well, i.e., an element of {0,1}^n.

thus, we can think of an encryption scheme as composed of two functions.

the encryption function E maps a secret key k E {0,1}^n and a message (known as plaintext) E {0,1}^l.

the decryption function D does the reverse operation, mapping the secret key k and the cypertext c back into the plaintext message m, which we write as m = D_k(c).

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

What is Auguste Kerckhoffs principle?

A

A cryptosystem should be secure even if everything about the system, except the key, is public knowledge.

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

How should we restate Kerckhoff’s principle?

A

There is no secrecy without randomness.

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

two statements about probability that will get you much of what you need for cryptography

A
  • for every fixed string x E {0,1}^n, if you toss a coin n times, the probability that the heads/tails pattern will be exactly x is 2^-n
  • a probaility of 2^-128 is really really small
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

what are the two steps in generating randomness in actual cryptographic systems?

A
  1. first, we need to get some data that is unpredictable from the point of view of an attacker on our system (thermal noise / nuclear decay, for e.g.)
  2. estimate the entropy in it: roughly X has k bits of entropy if the probability that an attacker can guess X is at most 2^-k. then use a hash function to map X into a string of length k which is hopefully distributed uniformly at random.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

digital signatures

A

goal: sign a message but prevent forgeries (copy pasting of a signature onto a different message)

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

digital cash

A

goal: prevent double spending (so i can’t copy a coin and spend it twice)

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

homomorphic encryptions

A

goal: compute on encrypted data without revealing inputs or outputs (confidentiality)

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

verifiable computation

A

goal: outsource a computation and quickly verify that the result is correct (integrity)

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

secure multiparty computation

A

goal: compute some function on inputs provided by multiple parties, such that no party learns the other’s inputs, on the final output (confidentiality)

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

cryptograph requires

A
  1. formal definitions of the property / guarantee
  2. mathematically precise threat models
  3. construction of a cryptosystem
  4. math proof showing correctness and security of constructions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

kasiki test

A
  1. look for repeated sequences of characters
  2. english has a large repetition of bigrams or trigrams and over a long enough string of text these are likely to match up the same two or three letters in the key every so often
  3. by examining the distance between two repeated sequences we can guess the length of the keyword
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

plaintext space

A

set of all valid messages
{a,…,z}*: set of all strings with characters in “a” through “z”
Z_7: set of integers modulo 7

ciphertext space: set of all valid ciphertexts

key space: set of all valid keys

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

affine cipher

A

alphabet of N elements
key space tuple of two integers in Z_n

k = (a,b) E_R (Z_n, Z_n)

17
Q

When does a multiplicative inverse exist?

A

x has a multiplicative inverse in Z_N iff x and N are coprime

gcd(x,N) = 1

18
Q

substitution cipher

A

idea: key is not an integer but a map
derive a random mapping between elements of the alphabet
for example, if alphabet is letters “a” through “z”

19
Q

why is the substitution cipher vulnerable even though it has a very large key space?

A

vulnerable against cipher-text only attack (wherein attacker only needs the ciphertext to decrypt)

(also true of shift and affine)

frequency analysis!

20
Q

vigenere cipher

A

idea: key is a variable length word

key is a secret word k from alphabet with N symbols

encryption: replicate key to match length of plaintext m, call it k’