Key exchange Flashcards
How to attack a protocol that has a key establishment with a trusted third party?
- Eve can record the particular message, and also record the token sent
- Eve can store all of these messages and then spend computational power on breaking the session key which breaks integrity and confidentiality
- could be computational or break the system
- If Eve manages, Bob would believe he’s talking to Alice
- You can have adversaries impersonating users
How do we securely exchange a key without a trusted third party?
The output of the protocol are session keys kA and kB, generated by Alice and Bob respectively. These keys a re strings of bits (0 or 1), and the length of these strings is determined by the security parameter n. if Alice and Bob execute the protocol honestly, they will end up with the same key. This shared key K can then be used for secure communication between Alice and Bob, ensuring that even if the communication channel is observed by others, only Alice and Bob can decrypt the messages sent between them. The use of a probabilistic protocol makes it difficult for an attacker to predict or reproduce the key, thereby providing security for the key exchange process.
How do we establish the security of a key exchange protocol?
A key exchange protocol is secure in presence of an eavesdropper, if for all probabilistic polynomial-time* adversaries A their success probability is only negligibly* better than ½ to guess if a random number of bits is the key between two random bits.
If we want to brute force a merkle puzzle key exchange, how many brute force decryption attempts do we need to solve the puzzle? Is the Merkle puzzle key exchange actually secure?
- Needs 2^l brute force decryption attempts to solve
- l = actual length of the random bits in the key
Its only secure against eavesdropping
Give an example of a symmetric approach to key exchange and an asymmetric approach
Symmetric: Merkle Puzzle Key Exchange
Asymmetric: Diffie Hellman Key Exchange
Briefly explain the Merkle Puzzle Key Exchange
- Alice generates a large number of cryptographic puzzles, making it impractical for an eavesdropper to solve all of them within a reasonable time frame.
- The structure of the puzzle ensures that each puzzle is unique and that the key is securely embedded within it.
- Alice sends all puzzles to Bob, Bob randomly selects one puzzle, solves it, sends x as the identifier. Alice, because she can solve all of the puzzles quickly because she generated them looks up x
In Merkle Puzzle Key Exchange, what is the workload for Alice and Bob and what is the workload for Eve?
For alice and bob: O(n) = 2^32 because thats the amount of puzzles generated.
For Eve: O(n^2) = 2^64
Quadratic Gap best known for black-box symmetric block ciphers
What is the order of a generator?
Order of g in (Z_p)^* is the size of the generated group <g> (the group generated by g)</g>
p = 5, g = 3: {1, 3, 3^2, 3^3}. What is the order of <g></g>
ord(g) = 4
What is the difficult algebraic expression that makes the Diffie-Hellman problem intractable?
given g^a and g^b, its computationally unfeasible for the adversary to compute g^{ab}
Given
p = 1013
g = 3
a = 372
b = 268
can you compute the session key for the Diffie hellman key exchange?
417
sagemath:
A = (ga) % p
B = (gb) % p
sesh_key = (Ba) % p
sesh_key1 = (Ab) % p
In order for a Diffie-Hellman key to be secure, what should the bit size be?
Use at least 3072-bit keys for DH/RSA.
What is the best known algorithm to break DH/RSA? What is the expected running time?
General Number Field Sieve
Expected running time O(exp(log(n)^{1/3}))
What type of attack is Diffie-Hellman vulnerable against?Why? and how can we prevent against it?
Man -in -the-Middle Attack
This can happen because Diffie Helman does not have authentication/ its secure against eavesdroppers but needs additional security against active adversaries.
We can protect against it by having message confidentiality and message integrity
how can you create a secure channel?
Extract-then-Expand: Takes the session key and extracts the symmetric cipher keys and mac keys from random salt, Generate one separate key per use and direction