MAC & MDC Flashcards

1
Q

What are the main categories of modification check values?

A

Modification Detection Code (MDC) and Message Authentication Code (MAC)

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

What does MDC stands for?

A

It stands for Modification Detection Code

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

What does MAC stands for?

A

It stands for Message Authentication Code

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

Why not use traditional methods (as CRC; Parity; etc) to check if a message was modified?

A

Messages modified on purpose cannot be detected using those tecniches - intentional modification can’t be detected.

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

What are hash functions?

A

Hash functions are functions which compress input to a shorter output.

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

What are the main requirements for hash functions?

A

Easy computation - compression level - collision resistance - locality-sensitivity

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

What are cryptographic hash functions?

A

Cryptographic hash functions are a special class of hash functions which have certain properties which make them suitable for security applications and can be used to compute modification detection codes.

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

What are the extra propreties which a cryptographic hash function have to additionally satisfy?

A

Pre-image resistance; 2nd pré-image resistance and collision resistance

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

What is pre-image resistance?

A

It is computionally infeasible to find an x such that h(x) = y for essentially all pre-specified outputs y.

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

What is second pre-image resistance?

A

Given x it is computionally infeasible to find any second input x’ with x not equal to x’ such that h(x) = h(x’)

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

What is collision resistance?

A

It is computationally infeasible to find any pair (x;x’) with x different from x’ such that h(x)=h(x’)

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

Why messages authentication codes are important?

A

It is not only important to know that data changed because it is as important to know where it is from.

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

What is Message authentication code?

A

A message authentication code algorithm is a familly of functions hk parameterized by a secret key k with the following properties: compression; ease of computation; and computation-resistance.

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

What is compression in the scope of MAC algorithms?

A

Is the property which says that hk maps an input x of arbitrary finite bitlength to an output hk(x) of fixed bitlength - called MAC

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

What is Ease of computation in the MAC scope?

A

is the property that given k and x and a known function family hk the value hk(x) is easy to compute

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

What is Computation-resistance in the MAC scope?

A

it is a property that says that for every fixed allowed but unknown value of K; given zero or more text-MAC pairs (xi;hk(xi)) it is computationally infeasible to compute a text-mac pair (x;hk(x)) for any new input x different from xi

17
Q

Does computational-resistance implies the property of key non-recovery?

A

Yes since k cannot be recovered from pairs (xi;hk(xi)

18
Q

Does key non-recovery implies computational-resistance?

A

No as the key k need not always to be recovered to forge message authentication code.

19
Q

Is XOR of 64-bit values a secure message authentication code?

A

No since it requires only the brute force effort of 2^(55) operations to obtain the key. Also if an attacker can get a pair (m;Ck(m)) it can compute a valid message computing yn = [y1 xor y2 xor … xor x(n-1) xor delta(m) ] and m’ = (y1…yn) and sending (m’;Ck(m)) and the receiver will accept this as a valid MAC

20
Q

What is the main application of modification detection code?

A

Modification detection code (MDC) represents a digital fingerprint [which can be signed with a private key e.g. RSA or ElGamal algorithm] and it is not possible to construct two messages with the same fingerprint so that given signed fingerprint cannot be reused by an attacker

21
Q

What is the mais application os message authentication code?

A

A message authentication code over a message m directly certifies that the sender of the message possesses the secret key k and the message could not have been modified without knowledge of that key.

22
Q

Depending on the application which further requirement have to be met despite pre-image resistance and second image resistance and collision resistance?

A

partial pre-image resistance.

23
Q

What is partial pre-image resistance?

A

Even if only a part of the input (say t bits) is unknown it should take on the avarage 2^(t-1) operations to find these bits

24
Q

What does the birthday phenomenon have to do with modification detection codes (MDCs)?

A

the number k of values one needs to randomly choose in order to obtain at least one pair of identical values is on the order of sqr(n) if there are n possible different values.

25
Q

Explain how can one attack a modification detection codes (MDCs) if he/she know a pair m1 and mdc(m1).

A

He/she can calculate the mdc(m2) of a message m2 and then start to change the message m2 and m1 to m2’ and m1’ (adding spaces or non-important signals) and once he or she could find the same mdc it ask to sign m1’ and then use it to sign m2’ [this would need an effort of sqr(number of possible values).