100 likes | 225 Views
A Crash Course in Modern Crypto Tools. Dan Boneh Stanford University. S. 1. Aggregate sigs. [BGLS’02]. Anyone can aggregate n signatures into one. Aggregate S convinces verifier that M 1 , …, M n were properly signed by users 1, …, n. User 1: PK 1 , M 1 S 1.
E N D
A Crash Course in Modern Crypto Tools Dan Boneh Stanford University
S 1. Aggregate sigs [BGLS’02] • Anyone can aggregate n signatures into one. • Aggregate S convinces verifier that M1, …, Mn were properly signed by users 1, …, n. User 1: PK1 , M1 S1 User 2: PK2 , M2 S2 User n: PKn , Mn Sn
3,1 1 1 2,1 1 4,1 4,1 Sample applications • Secure routing protocols (SBGP) • # sigs in path attestationgrows linearly in length of path. • Aggregating sigs reducestraffic and memory. • Certificate chains (chains of trust) • Aggregate all sigs in chain into one. 5 3 2 1 8 8,2,1 4 6 9 7
Is sig from user 1 or 2? msg sig 2. Group Signatures • Simple solution: give all users same private key • … but, also need to: • revoke signers when needed, and • trace: trapdoor for undoing sig privacy. User 1 Key Issuer User 2
brake out of my way !! Ambulance Example: Vehicle Safety Comm. (VSC) Car 1 Car 2 Car 3 Car 4 1. Car 2. • Require authenticated (signed) messages from cars. • Prevent impersonation and DoS on traffic system. • Privacy problem: cars broadcasting signed (x,y, v). • Clean solution: group sigs. Group = set of all cars.
3. Broadcast Encryption [FN’93] • Encrypt to arbitrary subsets S. • Collusion resistance: • secure even if all users in Sc collude. K1 CT = E[M,S] K2 S {1,…,n} K3
EPKC[KF] Header< 256K Example: Encrypted File Systems • Broadcast to small sets: |S| << n • Best construction: trivial. |CT|=O(|S|) , |priv|=O(1) • Examples: EFS, Email. EPKB[KF] EPKA[KF] File FEKF[F]
Broadcast Encryption • Public-key BE system: • Setup(n): outputs private keys d1 , …, dn and public-key PK. • Encrypt(S, PK, M): Encrypt M for users S {1, …, n} Output ciphertext CT. • Decrypt(CT, S, j, dj, PK): If j S, output M. • Broadcast contains ( [S], CT )
Summary Surveyed: Aggragate sigs, groups sigs, broadcast enc. All implemented in PBC Library: http://crypto.stanford.edu/pbc Open source under GPL