over an insecure channel.
Problem
A and B communicate, E evesdrops. E should not know what is communicated, and E should not be able to cause miscommunication between A and B.
Unbounded adversary
(Shannon) Theory of perfect secrecy. Adversary assumed to have unlimited computational resources. Secure encryption system exists only if
One time pad
Bounded adversary
Often parametrized by security parameter k.
Passive adversary
Possibly randomized algorithm which runs in poly(k) time, has passive access to everything on the insecure channel. May know probability distribution over messages.
Is said to break cryptosystem if it succeeds with non negligible probability:
Active adversary
Passive adversary with extra powers. Can alter or stop messages, request polynomial number of cyphertexts to be decyphered.
A common active adversary attack is the replay attack.
Collusion attacks
Multiple adversaries share info and attack.
Proving security/ vulnerability
Security from evesdropping
Prob of predicting m given c = Prob of predicting m without c: seeing c gives no ‘information’.
Specify scheme
Describe Setup(l), encrypt, decrypt, keygen etc.. algs.
General strategy
Show security of B based on security of A:
Make security game
Take polytime B attacker, call it Z. Make B challenger/ A attacker, call it Y. Take A challenger, call it X. Visualization: use boxes and arrows to see how Y uses Z to respond to X’s challenge.
Show success of attack wnnp
Security parameter l: All probabilities and running time are in terms of this. Use cases to analyze probability of success of attack.
Show equivalence of 2 models of security
Show that a successful attacker in one can be used to build a successful attacker in another.
Using hardness assumptions to prove security
Take hardness assumption H. Use this as A.
Tightness of assumption
Cryptosystem B, assumption A. Show that you can break A given attacker for B. Show that you can break B given attacker for A.
Security from weaker adversaries
Sometimes, proof of security against CPA is not known. So, security is proved against weaker adversaries. Eg: Security in random oracle model, selective security etc..
A stepping stone in finding proof of security against unhindered adversary.
Private key encryption
Communicators A and B; Encryption and decryption algorithms E, D; common secret key S; adversary may know (E, D), but not S; cleartext or plaintext message m; ciphertext c = E(m,S).
Substitution cipher
S = the permutation f. Easy to break by adversary who sees moderately many ciphertexts. \why
Public key cryptography
Aka assymetric key cryptography.
Weak definition
Uses trapdoor one way functions. Setup(l) = (PK, SK). Weak defn: E(m, PK) = c; D(c, SK) = m: If A transmits only 2 messages, Attacker could encrypt both messages and say what is being transmitted.
Strong defnition: blinding messages
So, random r is chosen, m is blinded using r to get m’,
Blinding and unblinding is often done by computing a blinding factor (bf). Agents agree on bf in a way similar to key exchange protocols.
Hybrid cryptography
In practice, this is used, rather than pure public key cryptography as it is slow. Public key crypto is used only to share a common secret ‘session key’ S. S is then used to actually encrypt messages.
Semantic security: chosen plaintext attack (CPA)
Take challenger C and attacker A.
C sends PK to A. A sends plaintexts
If A has non negligible advantage over random guessing, the crypto scheme is broken by A.
Semantic security from CCA
Same as CPA security game, with extra powers to the attacker: The attacker A can ask for decryption of poly num of cyphertexts in two phases: one before challenger C sends
Hybrid proofs
Eg: two public key schemes: X1, X2; new PK scheme X encrypts m to users using both; show
RSA
Choose random N=pq with p, q large primes : use rand alg; pick PK: exponent
Security from RSA hardness assumption. Vulnerable to CCA.
This is the fastest PK scheme.
ElGamal
Security from CPA if DDH hard
If DDH is hard, ElGamal is secure: Consider DDH Challenger DC, DDH attacker DA, El Gamal attacker A. DC picks random t, sets
Vulnerability when DDH broken
Can use any DDH atatcker to break ElGamal: show with a security game.
True if there are efficiently computable bilinear maps.
CCA vulnerability
Attacker demands decryption of
CCA secure scheme from IBE scheme
PK = PP; SK = MSK, SigSK (Signature SK), SigPK. Enc(m) : choose random id, find \
Speed
1 pairing costs approximately as much as 8 large exponentiations.
DLA based cryptosystem
Setup(l):
Applications
Public key cryptography is highly secure. But, it is often slower compared to symmetric key encryption.
SSL uses public key cryptography for key exchange and symmetric encryption for privacy.
Key exchange
Diffie Hellman (DH)
A chooses generator g, prime p, random
3 party key exchange
A, B, C pick x, y, z; have bilinear map
Access control
Server based vs encryption based.
Role based access control
Functional encryption: Specify access policy (a bool formula) as part of ct.
Sharing a secret
Want people with 2 attributes to access something: Share secret info
Broadcast encryption
Bandwidth limited. Eg: Direct TV, radio, GPS.
Like IBE. Setup(l,n):
Want collusion resistance. t-collusion resistance:
CPA Security
Challenger A, attacker B. A to B: PP; B to A: keygen requests, get
Static security: announce S’ first.
BB IBE based scheme
(BGW) Setup(l,n): Pick random a, g,
Dec: Want to find bf:
Security against q-BDHE
A q-BDHE challenger, B q-BDHE attacker, C BGW attacker.
A to B:
C to B: S’. B sets
Piracy of broadcast system
DRM impossibility argument: Can’t protect content from leaking out. Can only protect original broadcast stream. Traitor tracing: Who pirated the original stream?