Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Science CSC 774 Advanced Network Security Topic 2.6 ID Based Cryptography #2 Slides by An Liu.

Similar presentations


Presentation on theme: "Computer Science CSC 774 Advanced Network Security Topic 2.6 ID Based Cryptography #2 Slides by An Liu."— Presentation transcript:

1 Computer Science CSC 774 Advanced Network Security Topic 2.6 ID Based Cryptography #2 Slides by An Liu

2 Computer Science Outline Applications Elliptic Curve Group over real number and F p Weil Pairing BasicIdent FullIdent Extensions Escrow ElGamal Encryption

3 Computer Science Identity-Based Encryption M encrypted using bob@ncsu.edu Authentication Private key for bob@ncsu.edu global parameters master key global parameters setup extractencryptdecrypt

4 Computer Science Applications Revocation of public keys –bob@ncsu.edu || 2006 –bob@ncsu.edu || 2006-10-20 –Send message into the future Delegation of decryption keys –Delegation to a laptop (use date as public key) –Delegation of duties (use subject as public key)

5 Computer Science Elliptic Curve Group over Real Numbers y 2 = x 3 + ax + b –x, y, a, b are real numbers If 4a 3 + 27b 2 ≠ 0, a group can be formed. –points on curve and infinity point –Additive group

6 Computer Science Elliptic Curve Addition: A Geometric Approach Adding distinct points P and Q * The negative of a point P is its reflection in the x-axis.

7 Computer Science Adding the points P and -P

8 Computer Science Doubling the point P

9 Computer Science Elliptic Curve Addition: An Algebraic Approach Adding distinct points P and Q (P+Q=R)  P(x P,y P ) and Q(x Q,y Q ) are not negative each other  s = (y P – y Q ) ∕ (x P – x Q )  x R = s 2 – x P – x Q, y R = – y P + s(x P – x R ) Doubling the point P (2P=R)  y P ≠ 0  s = (3x P 2 + a) ∕ 2y P  x R = s 2 – 2x P, y R = – y P + s(x P – x R )

10 Computer Science Elliptic Curve Groups over Fp Calculations over real number are slow and inaccurate. y 2 mod p = x 3 + ax + b mod p –x, y, a, b are in F p finite set of points no geometric approach

11 Computer Science Elliptic Curve Groups over Fp (Cont’d) Adding distinct points P and Q (P+Q=R)  P(x P, y P ) is not − Q = (x Q, − y Q mod p)  s = (y P – y Q ) ∕ (x P – x Q ) mod p  x R = s 2 – x P – x Q mod p  y R = – y P + s(x P – x R ) mod p Doubling the point P (2P=R)  y P ≠ 0  s = (3x P 2 + a) ∕ 2y P mod p  x R = s 2 – 2x P mod p, y R = – y P + s(x P – x R ) mod p

12 Computer Science Elliptic Curve Discrete Logarithm Problem (ECDLP) Discrete Logarithm Problem –For multiplicative group Z p *, given r, q, p, find k such that r = q k mod p. –Foundation of many cryptosystems. Scalar multiplication –P, 2P, 3P=2P+P, 4P=3P+P,…, kP (additive notation) ECDLP –Given points Q, P, find k such that kP=Q

13 Computer Science Weil Pairing Bilinear map –A map e: G 1 ×G 1 →G 2 –∀ P,Q ∈ G 1, ∀ a,b ∈ Z, e(aP, bQ) = e(P, Q) ab Weil Pairing –bilinear map G 1 is the group of points of an elliptic curve over F p G 2 is a subgroup of F p 2 * –efficiently computable Miller’s algorithm

14 Computer Science Weil Pairing (Cont’d) Elliptic Curve Group in this paper –p, q are primes, p = 2 mod 3, p = 6q – 1 –E is the elliptic curve defined by y 2 = x 3 + 1 over F p –G q is the group with order q = (p+1)/6 generated by P ∈ E/F p Modified Weil pairing –ê: G q ×G q →μ q –μ q is the subgroup of F p 2 * containing all elements of order q –Non-degenerate: ê(P, P) ∈ F p 2 is generator of μ q

15 Computer Science Weil Diffie-Hellman Assumption (WDH) Given for random a,b,c ∈ Z q *, P ∈ E/F p, compute W = ê(P,P) abc ∈ F p 2 When p is a random k-bit prime, there is no probabilistic polynomial time algorithm for the WDH problem.

16 Computer Science MapToPoint algorithm Convert arbitrary string ID ∈ {0,1} * to a point Q ID ∈ E/F p of order q hash function G: {0,1} * →F p Steps: –y 0 = G(ID), x 0 = (y 0 2 – 1) 1/3 = (y 0 2 – 1) (2p – 1)/3 –Q = (x 0, y 0 ) ∈ E/F p, Q ID = 6Q

17 Computer Science BasicIdent – Setup Use the elliptic curve group we already defined Choose arbitrary P ∈ E/F p of order q Pick random s ∈ Z q * and set P pub = sP Choose hash functions –H: F p 2 →{0,1} n –G: {0,1} * →F p Message space M = {0,1} n, ciphertext space is C = E/F p ×{0,1} n System parameters are. Master- key is s.

18 Computer Science BasicIdent (Cont’d) Extract (get private key from ID) 1.Use MapToPoint to map ID to a point Q ID 2.Private key corresponding to ID is d ID = sQ ID Encrypt (encrypt M with ID) 1.Use MapToPoint to map ID to a point Q ID 2.Choose random r ∈ Z q 3.C = where g ID = ê(Q ID,P pub ) ∈ F p 2

19 Computer Science BasicIdent (Cont’d) Decrypt (decrypt C = ) –If U is not a point of order q, reject the ciphertext –Otherwise, M = V ⊕ H(ê(d ID, U)) Why M can be recovered? ê(d ID, U) = ê(sQ ID, rP) = ê(Q ID, P) sr = ê(Q ID, P pub ) r = g ID r V ⊕ H(ê(d ID, U)) = M ⊕ H(g ID r ) ⊕ H(g ID r ) = M

20 Computer Science FullIdent BasicIdent is not chosen ciphertext secure. Setup –In addition to BasicIdent, pick another two hash functions: H 1 : {0,1} n ×{0,1} n →F q G 1 : {0,1} n → {0,1} n Extract –Same as BasicIdent

21 Computer Science FullIdent (Cont’d) Encrypt (encrypt M using ID) 1.Use MapToPoint to convert ID into point Q ID 2.Choose random σ ∈ {0,1} n 3.Set r = H 1 (σ, M) 4.C = where g ID = ê(Q ID, P pub ) ∈ F p 2

22 Computer Science FullIdent (Cont’d) Decrypt (decrypt C= ) 1.Compute V ⊕ H(ê(d ID, U)) = σ 2.Compute W ⊕ G 1 (σ) = M 3.Set r = H 1 (σ, M) 4.If U ≠ rP, reject.

23 Computer Science Extensions & Observations Tate pairing and other curves can improve the speed Distributed PKG IBE implies signatures –Master-key s is private key (sign) –Global system parameters is public key (verify) –Signature of M: sQ M –Verification: encrypt random M’ use ID=M, then decrypt use sQ M

24 Computer Science Escrow ElGamal Encryption Setup –Use same elliptic curve –Pick a random s ∈ Z q, Q = sP –Choose hash function: F p 2 → {0,1} n –System parameters: –s is the escrow key Keygen –User randomly choose x ∈ Z q as private key –Public key is P pub = xP

25 Computer Science Escrow ElGamal Encryption (Cont’d) Encrypt –Pick random r ∈ Z q –C = where g = ê(P pub, Q) ∈ F p 2 Decrypt (C = ) –V ⊕ H(ê(U, xQ)) = M Escrow-decrypt –V ⊕ H(ê(U, sP pub )) = M


Download ppt "Computer Science CSC 774 Advanced Network Security Topic 2.6 ID Based Cryptography #2 Slides by An Liu."

Similar presentations


Ads by Google