What is authenticated encryption?
In the decryption algorithm, we either output the message or an error message (if the message was tampered with).
two guarantees:
Describe the integrity security game
A ciphertext E guarantees INT-CTXT if for all PPT A:
the probability that the adversary manages to construct a forgery a fake cipher text that it hasn’t seen before the decrypted properly. And we’re going to say that a cipher is secure if that is negligible. If the probability that the adversary can trick the Challenger can construct forgery is negligible.
What are the options for combining MAC and encryption?
Option 1 (SSH): Encrypt and MAC Option 2 (SSL): MAC then encrypt Option 3 (IPSec): Encrypt then MAC
What are pros and cons of each option?
SSH: Encrypt AND MAC
-MAC does not guarantee confidentiality so it is possible for the tag to reveal one or more bits about the message; so the combination would no longer be semantically secure; even though ssh itself is not broken, it is problematic and shouldn’t be used
SSL: MAC then encrypt
-does not have the issue of SSH because the ciphertext hides the message; but there are some examples where even though the MAC and encryption are secure the combination is not; this method is also discouraged
IPSec: Encrypt then MAC
describe the goal and threat model of the key exchange protocol.
goal: for alice and bob to agree on a shared secret even though they’ve never had a prior interaction before
threat model:
describe the goal and threat model of the key exchange protocol.
goal: for alice and bob to agree on a shared secret even though they’ve never had a prior interaction before
threat model:
Describe the Diffie-Hellman Key exchanage
both compute the same thing with different components
Why is Diffie-Hellman Key exchange secure?
true/false: DHKE protocol can be non-interactive
true.
the way alice and bob compute the key are independent of A and B
What is the drawback of Diffie-Hellman?
It is not secure against active attacks.
The attacker can replace sent messages with a message of her choosing.
Attacker can intercept read, reencrypt and send to bob.
Describe the public key encryption scheme?
What’s a key difference between the public key encryption scheme described here and the DHKE?
it’s very interactive. the messages depend on each other.
what is a trapdoor function?
Why is this a BAD way to use trapdoor functions?
Not semantically secure because the decryption function is deterministic. The adversary has access to pk and in the IND-CPA game the adversary picks the messages and then can figure out decryption
What do we need to build a public key cryptosystem?
Describe a secure construction of a public key encryption cryptosystem?
trapdoor function (KeyGen)
encryption:
decryption:
why is that construction secure?
First of all, this is a randomized algorithm now because we’re sampling randomness, and this is deterministic. There is no randomness here. We have the two features that we wanted, so randomized deterministic and this encryption scheme is going to be semantically secure because observe that c is itself semantically secure and y is just the trapdoor function evaluated at some random input. By the security definition of the trapdoor function, it’s going to be very hard to invert. It’s going to be very hard for an adversary to reconstruct x from y unless they know the secret key. That’s what it means for f to be a trapdoor function. Whereas the entity when the decryption will know the secret key, so they will be able to reverse it.
What is a common way to build public encryption out of the RSA trapdoor function?
RSA-PKCS#1 v1.5 mode 2
this solves the problem of the trapdoor function being deterministic by first adding a randomized padding to the message.
What is a padding oracle attack?
the attacker exploits the fact that the server sends back information to the user about malformed messages. so the attacker can continuously send “corrupted” ciphertexts to the server and bit by bit she can learn the message/password.
What is IND-CCA? (security for chosen-ciphertext attacks)
How is it stronger than IND-CPA?
the adversary can send a ciphertext test and ask for the challenger to send back the decryption. this accounts for the possible attack in the RSA encryption.
RSA-PKCS#1 v.1.5 mode 2 - is it secure?
IND-CPA secure (as far as we know)
NOT IND-CCA secure (see padding oracle attack)
Is symmetric key encryption immune to oracle padding attacks?
IND-CCA RSA Encryption
two ways to do it:
RSA-KEM (key encapsulation mechanism) / option 1
3 assumptions for security of RSA-KEM