Group theory exercise.

Slides:



Advertisements
Similar presentations
Trusted 3rd parties Basic key exchange
Advertisements

CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
CIS 5371 Cryptography 3b. Pseudorandomness.
Lecture 3.3: Public Key Cryptography III CS 436/636/736 Spring 2012 Nitesh Saxena.
7. Asymmetric encryption-
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
A Designer’s Guide to KEMs Alex Dent
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
Public Key Model 8. Cryptography part 2.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
Cryptography Lecture 8 Stefan Dziembowski
Key Management and Diffie- Hellman Dr. Monther Aldwairi New York Institute of Technology- Amman Campus 12/3/2009 INCS 741: Cryptography 12/3/20091Dr. Monther.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Public Key Encryption with keyword Search Author: Dan Boneh Rafail Ostroversity Giovanni Di Crescenzo Giuseppe Persiano Presenter: 陳昱圻.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Introduction to Pubic Key Encryption CSCI 5857: Encoding and Encryption.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Topic 36: Zero-Knowledge Proofs
최신정보보호기술 경일대학교 사이버보안학과 김 현성.
Basics of Cryptography
Encryption and Integrity
Key Exchange References: Applied Cryptography, Bruce Schneier
Protocol Analysis.
Boneh-Franklin Identity Based Encryption Scheme
B504/I538: Introduction to Cryptography
Public-Key Cryptography and RSA
Quick reviews / corrections
Authenticated encryption
Encryption
Modern symmetric-key Encryption
Digital signatures.
Efficient Public-Key Distance Bounding
Introduction to modern cryptology
Topic 11: Authenticated Encryption + CCA-Security
Cryptography Lecture 12.
B504/I538: Introduction to Cryptography
Public Key Infrastructure
Cryptography and Security Fall 2009 Steve Lai
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Topic 30: El-Gamal Encryption
Man in the Middle Attacks
Topic 3: Perfect Secrecy
Asymmetric Cryptography
Foundations of Network and Computer Security
Cryptography Lecture 25.
Cryptographic protocols 2015, Lecture 3 Key Exchange, CDH, DDH
Chapter 4 Cryptography / Encryption
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Key Management Network Systems Security
Efficient Short-Password Key Exchange (ESP-KE)
Appendix 5: Cryptography p
CS 115: COMPUTING FOR The Socio-Techno Web
El Gamal and Diffie Hellman
Diffie-Hellman key exchange/agreement algorithm
El Gamal and Diffie Hellman
Public-Key, Digital Signatures, Management, Security
The power of Pairings towards standard model security
Cryptography Lecture 21.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography Lecture 24.
Cryptography Lecture 23.
Lecture 6.2: Protocols - Authentication and Key Exchange II
Presentation transcript:

Group theory exercise

Group A group Consists Extra property Set 𝑆 Operation ⋅ :𝑆×𝑆→𝑆 Identity-element Properties Closure 𝑥,𝑦∈ 𝑆⇒ 𝑥⋅𝑦∈𝑆 Identity ∃ 𝑒∈𝑆 : 𝑥∈𝑆⇒ 𝑒⋅𝑥=𝑥 (we use e to denote the identity element) Associativity 𝑥,𝑦,𝑧∈ 𝑆⇒ x⋅𝑦 ⋅𝑧⇒𝑥⋅(𝑦⋅𝑧) Inverse: 𝑥∈𝑆⇒∃ 𝑦∈𝑆 :𝑥⋅𝑦=𝑒 Extra property Commutativity: 𝑥,𝑦∈ 𝑆⇒ 𝑥⋅𝑦=𝑦⋅𝑥

Uniqueness of multiplication For every group 𝐺 and 𝑥,𝑦,𝑧∈𝐺 , if 𝑥⋅𝑦=𝑥⋅𝑧 then 𝑦=𝑧 Proof 𝑥⋅𝑦=𝑥⋅𝑧 𝑥 −1 ⋅ 𝑥⋅𝑦 = 𝑥 −1 ⋅ 𝑥⋅𝑧 (𝑥 −1 ⋅𝑥)⋅𝑦 = (𝑥 −1 ⋅𝑥)⋅𝑧 (associativity) 1⋅𝑦 =1⋅𝑧 (inverse) 𝑦=𝑧 (identity)

Sampling games For any group G, for any 𝑥∈ 𝐺, the following two games are indistinguishable 𝑤 𝑟∈𝐺 𝑤 𝑟∈𝐺 w←𝑟 w←𝑥⋅𝑟 Follows that For every group 𝐺 and 𝑥,𝑦,𝑧∈𝐺 , 𝑥⋅𝑦=𝑥⋅𝑧 then 𝑦=𝑧

Inverse of product For every group 𝐺 and a,b∈𝐺, 𝑎𝑏 −1 = 𝑏 −1 ⋅ 𝑎 −1 Proof: 𝑎𝑏 ⋅ 𝑏 −1 𝑎 −1 𝑎⋅ 𝑏⋅ 𝑏 −1 ⋅ 𝑎 −1 (associativity) 𝑎⋅1⋅ 𝑎 −1 (inverse) 𝑎⋅ 𝑎 −1 (neutral) 1 (inverse)

Public-key cryptography

Topics in public cryptography for today Key-exchange Public-key encryption

Key-exchange When Alice and Bob want to exchange keys Adversary should learn no information about the keys

Key-exchange 𝑘 𝑘 𝐹 𝑘𝑒𝑦−𝑒𝑥𝑐ℎ𝑎𝑛𝑔𝑒 |𝑘| ≔ secure channel

Merkle puzzle “Key-exchange” protocol published in 1978 Alice effort small Bob’s effort 𝑂 1 Adversary’s effort 𝑂(𝑛) Gap in effort between Bob and adversary

Merkle puzzle Puzzle Algorithm for key-exchange Easy to produce, some difficulty to solve Solving the puzzle produces an identifier and a key Sending the identifier does not help solve the puzzles Algorithm for key-exchange Alice creates n puzzles with different identifiers and sends them to Bob Bob solves one of them and sends the resulting identifier to Alice Alice and Bob uses the key for the one that Bob solved.

Diffie-Hellman assumption Group G Generator g (𝑔 𝑦 ) 𝑥 = (𝑔 𝑥 ) 𝑦 The following two games are indistinguishable 𝑥,𝑦 ∈ 𝑅 𝐺 𝑥,𝑦 ∈ 𝑅 𝐺 (𝑎,𝑏,𝑐) ≈ (𝑎,𝑏,𝑐) a← 𝑔 𝑥 a← 𝑔 𝑥 𝑏← 𝑔 𝑦 𝑏← 𝑔 𝑦 𝑐← 𝑔 𝑥𝑦 𝑐 ∈ 𝑅 𝐺

Security of DH-Key exchange Need a group 𝐺 such that Generator g ∀𝑥,𝑦∈𝐺 : (𝑔 𝑦 ) 𝑥 = (𝑔 𝑥 ) 𝑦 Diffie-Hellman assumption holds Assumption Adversary will not tamper with communication Channel is authenticated between Alice and Bob

Diffie-Hellman key-exchange 𝑥 ∈ 𝑅 𝐺 𝑔 𝑥 y ∈ 𝑅 𝐺 𝑔 𝑦 𝑘= ( 𝑔 𝑦 ) 𝑥 = 𝑔 𝑥𝑦 𝑘= ( 𝑔 𝑥 ) 𝑦 = 𝑔 𝑥𝑦

Security of Diffie-Hellman key-exchange 𝑥 ∈ 𝑅 𝐺 𝑘 𝑘 y ∈ 𝑅 𝐺 𝑘← 𝑔 𝑥𝑦 𝑔 𝑥 , 𝑔 𝑦 , |𝑘|

Security of Diffie-Hellman key-exchange ≈ ≔ secure channel

Insecurity against man-in-the-middle adversary 𝑔 𝑥 𝑔 𝑥 𝑥 ∈ 𝑅 𝐺 y ∈ 𝑅 𝐺 𝑥 ∈ 𝑅 𝐺 𝑦 ∈ 𝑅 𝐺 𝑔 𝑦 𝑔 𝑦 𝑘 1 = 𝑔 𝑥 𝑦 𝑘 1 = 𝑔 𝑥 𝑦 𝑘 2 = 𝑔 𝑥 𝑦 𝑘 2 = 𝑔 𝑥 𝑦

Public key-encryption How can people send encrypted messages to google, steam, your bank, even though they have never exchanged secret keys with those companies? Public-key encryption allows you to do it Public key is revealed publicly so that everyone can encrypt messages Secret key is kept hidden and only the owner is allowed is able to decrypt the ciphertext

Public-key encryption The Gen algorithm takes security parameter 1 𝑠 and outputs both a secret key and a public key The encrypt algorithm takes a public key 𝑝𝑘 and a message 𝑚 and outputs a ciphertext 𝑐 The decrypt algorithm takes a secret key 𝑠𝑘 and a ciphertext 𝑐 and outputs the message m

Formal definition 𝐺𝑒𝑛 1 𝑠 →(𝑠𝑘,𝑝𝑘) 𝐸𝑛 𝑐 𝑝𝑘 𝑚 →𝑐 where 𝑚∈𝑀, 𝑐∈𝐶 𝐺𝑒𝑛 1 𝑠 →(𝑠𝑘,𝑝𝑘) 𝐸𝑛 𝑐 𝑝𝑘 𝑚 →𝑐 where 𝑚∈𝑀, 𝑐∈𝐶 𝐷𝑒 𝑐 𝑠𝑘 𝑐 →𝑚 where 𝑚∈𝑀, 𝑐∈𝐶 Correctness: Pr[ Dec sk 𝐸𝑛 𝑐 𝑝𝑘 𝑚 =𝑚 | 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛 1 𝑠 ]=1

Chosen-plaintext security 𝑝𝑘 𝑝𝑘 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛( 1 𝑠 ) 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛( 1 𝑠 ) 𝑚 0 , 𝑚 1 𝑚 0 , 𝑚 1 c←𝐸𝑛 𝑐 𝑝𝑘 ( 𝑚 0 ) c←𝐸𝑛 𝑐 𝑝𝑘 ( 𝑚 1 ) c c ≈ m m c←𝐸𝑛 𝑐 𝑝𝑘 (𝑚) c←𝐸𝑛 𝑐 𝑝𝑘 (𝑚) c c Repeat as many times as the distinguisher wants Repeat as many times as the distinguisher wants 𝐺 0 𝐺 1

Multi-message indistinguishability p𝑘 p𝑘 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛( 1 𝑠 ) 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛( 1 𝑠 ) 𝑚 0 1 ,…, 𝑚 0 𝑛 𝑚 0 1 ,…, 𝑚 0 𝑛 c i ←𝐸𝑛 𝑐 𝑝𝑘 ( 𝑚 0 ) c i ←𝐸𝑛 𝑐 𝑝𝑘 ( 𝑚 1 ) 𝑚 1 1 ,…, 𝑚 1 𝑛 𝑚 1 1 ,…, 𝑚 1 𝑛 ≈ 𝑐← 𝑐 1 ,…, 𝑐 𝑛 𝑐← 𝑐 1 ,…, 𝑐 𝑛 𝑐 𝑐 𝐺 0 𝐺 1

Security relationship Multi-message security of public-key encryption => CPA-security of public-key Reason: public-key encryption allows adversary to encrypt any message of his choice

Validation oracles / error oracles When encrypting message using public-key encryption, it might be that the website sends you an error if the message is not valid. Homomorphic properties of certain encryption schemes 𝐸𝑛 𝑐 𝑝𝑘 ( 𝑚 1 ) ∗ 𝐸𝑛 𝑐 𝑝𝑘 ( 𝑚 2 ) = 𝐸𝑛𝑐 𝑝𝑘 ( 𝑚 1 + 𝑚 2 )

Validation oracle attack using homomorphism 𝑀 = 𝑥 | 𝑥 𝑚𝑜𝑑 3=0, 𝑥<𝑛 ∪ 𝑥 | 𝑥 𝑚𝑜𝑑 3=1, 𝑥<𝑛 𝐷𝑒 𝑐 𝑠𝑘 𝐸𝑛 𝑐 𝑝𝑘 𝑥 ∗𝐸𝑛 𝑐 𝑝𝑘 1 ∈𝑀 ⇔ 𝐷𝑒 𝑐 𝑠𝑘 𝐸𝑛 𝑐 𝑝𝑘 𝑥+1 ∈𝑀 ⇔ 𝑥 𝑚𝑜𝑑 3=0

Require CCA-security Distinguisher loses automatically if 𝑐 = 𝑐′ 𝐺 0 𝑝𝑘 𝑝𝑘 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛( 1 𝑠 ) 𝑠𝑘,𝑝𝑘 ←𝐺𝑒𝑛( 1 𝑠 ) 𝑚 0 , 𝑚 1 𝑚 0 , 𝑚 1 c←𝐸𝑛𝑐( 𝑚 0 ) c←𝐸𝑛𝑐( 𝑚 1 ) c c 𝑐′ 𝑐′ m←𝐷𝑒𝑐(𝑐′) m m m←𝐷𝑒𝑐(𝑐′) Repeat as many times as the distinguisher wants Repeat as many times as the distinguisher wants 𝐺 0 𝐺 0

Key-encapsulation Why not use public-key encryption to encrypt long messages? Public-key encryption is hundreds to thousand of times slower than private key-encryption Key-encapsulation attempts to combine the properties of a public key encryption with the speed of private key-encryption

Key-encapsulation (hybrid-encryption) 𝐺𝑒𝑛,𝐸𝑛 𝑐 𝑝𝑘 ,𝐷𝑒 𝑐 𝑠𝑘 is a public-key encryption 𝐸𝑛 𝑐 𝑘 ,𝐷𝑒 𝑐 𝑘 is a private key encryption 𝑘 ∈ 𝑅 0,1 𝑛 𝑚 ( 𝑐 1 , 𝑐 2 ) ( 𝑐 1 , 𝑐 2 ) 𝑘←𝐷𝑒 𝑐 𝑠𝑘 ( 𝑐 1 ) 𝑚 c 1 ←𝐸𝑛 𝑐 𝑝𝑘 (𝑘) 𝑚←𝐷𝑒 𝑐 𝑘 ( 𝑐 2 ) c 2 ←𝐸𝑛 𝑐 𝑘 (𝑚) 𝐸𝑛𝑐

Security of key-encapsulation ≈ 𝑘 ∈ 𝑅 0,1 𝑛 ≈ 𝑚 ( 𝑐 1 , 𝑐 2 ) c 1 ←𝐸𝑛 𝑐 𝑝𝑘 (𝑘) c 2 ←𝐸𝑛 𝑐 𝑘 (𝑚′) 𝐸𝑛𝑐

El-Gamal public-key encryption Group G |𝐺| = 𝑞 Generator 𝑔 𝐺𝑒𝑛 1 𝑠 𝑥∈ 𝑅 𝐺 ℎ= 𝑔 𝑥 𝑠𝑘←𝑥 𝑝𝑘←(𝐺,𝑞,𝑔,ℎ)

El-Gamal encryption/ decryption 𝑝𝑘=(𝐺,𝑞,𝑔,ℎ) 𝑚 𝑚 𝑦 ∈ 𝑅 𝐺 𝑐 𝑑← 𝑔 𝑦 𝑥 = 𝑔 𝑥𝑦 ( 𝑔 𝑦 , 𝑐 ′ ) 𝑚 𝑚 ℎ 𝑦 = 𝑔 𝑥𝑦 𝑐←( 𝑔 𝑦 , ℎ 𝑦 ⋅𝑚) 𝑚← 𝑐 ′ ℎ 𝑦 𝐸𝑛𝑐 𝐷𝑒𝑐

Sampling games For any group G, for any 𝑥∈ 𝐺, the following two games are indistinguishable 𝑤 𝑟∈𝐺 𝑤 𝑟∈𝐺 w←𝑟 w←𝑥⋅𝑟 Follows that For every group 𝐺 and 𝑥,𝑦,𝑧∈𝐺 , 𝑥⋅𝑦=𝑥⋅𝑧 then 𝑦=𝑧

Security of El-Gamal ≈ ≈ 𝑝𝑘=(𝐺,𝑞,𝑔,ℎ) 𝑝𝑘=(𝐺,𝑞,𝑔,ℎ) 𝑚 0 𝑚 𝑦 ∈ 𝑅 𝐺 𝑐 𝑚 𝑚 𝑟∈ 𝑅 𝐺 𝑐 𝑐←( 𝑔 𝑦 , ℎ 𝑦 ⋅ 𝑚 0 ) 𝑐←( 𝑔 𝑦 ,𝑟⋅ 𝑚 0 ) 𝐸𝑛𝑐 𝐸𝑛𝑐 𝑝𝑘=(𝐺,𝑞,𝑔,ℎ) 𝑝𝑘=(𝐺,𝑞,𝑔,ℎ) 𝑚 1 𝑚 𝑟∈ 𝑅 𝐺 𝑐 𝑚 1 ≈ 𝑦 ∈ 𝑅 𝐺 𝑐 𝑐←( 𝑔 𝑦 ,𝑟⋅ 𝑚 1 ) 𝑐←( 𝑔 𝑦 , ℎ 𝑦 ⋅ 𝑚 1 ) 𝐸𝑛𝑐 𝐸𝑛𝑐