570 likes | 695 Views
Public-Key Cryptosystems Based on Composite Degree Residuosity Classes. EUROCRYPT'99, LNCS 1592, pp. 223-238, 1999. By Pascal Paillier. Efficient Public-Key Cryptosystem Provably Secure against Active Adversaries. Presenter: 陳國璋. ASIACRYPT'99, LNCS 1716, pp. 165-179, 1999.
E N D
Public-Key Cryptosystems Based on Composite Degree Residuosity Classes EUROCRYPT'99, LNCS 1592, pp. 223-238, 1999. By Pascal Paillier Efficient Public-Key Cryptosystem Provably Secure against Active Adversaries Presenter: 陳國璋 ASIACRYPT'99, LNCS 1716, pp. 165-179, 1999. By Pascal Paillier and David Pointcheval
Outline • Introduction • Notation and math. assumption • Scheme 1 • Scheme 2 • Scheme 3 • Properties • Conclusion
Introduction(1/2) • 兩個主要的Trapdoor技術 • RSA • Diffie-Hellman • 提出新的技術 • Composite Residuosity • 提出新的計算性問題 • Composite Residuosity Class Problem
Introduction(2/2) • 提出3個架構在上述假設的同態加密機制(Homomophic encryption schemes), 之中包含一個新的trapdoor permutation • 作者提出證明, scheme具有抵抗adaptive chosen-ciphertext attack(IND-CCA2) in the random oracle.
Outline • Introduction • Notation and math. assumption • Scheme 1 • Scheme 2 • Scheme 3 • Properties • Conclusion
Notation(1/3) • p, q are two large primes. • n = pq • Euler phi-function • ψ(n) = (p-1)(q-1)
Notation(2/3) • Carmichael function • λ(n) = lcm(p-1,q-1) • |Zn2*| = ψ(n2) = nψ(n) • By Carmichael theorem, Any w∈Zn2*, • wλ = 1 mod n • wnλ = 1 mod n2
Notation(3/3) • RSA[n,e] problem • c = me mod n • Extracting eth roots modulo n. • Relation P1 P2 (resp. P1≡P2) will denoted that problem P1 is polynomial reducible to the problem P2.
Deciding Composite Residuosity(1/5) • nth residue modulo n2 • A number z is the nth residue modulo n2 if there exist a number y such that z = yn mod n2
Deciding Composite Residuosity(2/5) • CR[n] problem • deciding nth residuosity. • Distinguishing nth residues from non nth residues. • The CR[n] problem of deciding quadratic or higher degree residuosity, it is a random-self-reducibility problem.
Deciding Composite Residuosity(3/5) • self-reducible • A function f evaluating any instance x can be reduced in polynomial time to the evaluation of f on one or more random instances yi.
Deciding Composite Residuosity(4/5) • Random-self-reducible • In the domain of f, an arbitrary worst-case instance x is mapped to a random set of instances y1,…,yk. • f(x) can be computed in polynomial time, and then f(y1),…,f(yk) are taking the average with respect to the induced distribution on yi. • The average case complexity of f is the same as the worse case randomized complexity of f. • All of its instances are polynomially equivalent.
Deciding Composite Residuosity(5/5) • There exists no polynomial time distinguisher for nth residues modulo n2, i.e. CR[n] is intractable.
Computing Composite Residuosity Class(1/13) • g∈Zn2* • εg: Zn × Zn* → Zn2* be a integer-valued function defined by • εg(x,y) = gx yn mod n2
Computing Composite Residuosity Class(2/13) • Bα⊂ Zn2* • The set of elements of order nα • Set B is their disjoint union for α=1,…,λ
Computing Composite Residuosity Class(3/13) • If the order of g is a nonzero multiple of n them εg is bijective. • εg: Zn × Zn* → Zn2* by εg(x,y) = gx yn mod n2 • Two groups Zn × Zn* and Zn2* have the same order nψ(n). i.e. εg is surjective.
Computing Composite Residuosity Class(7/13) • Class[n,g] problem • nth Residuosity Class Problem of base g • Computing the class function in base g • given w∈Zn2*, compute [w]g • random-self-reducible problem • the bases g are independent
Computing Composite Residuosity Class(8/13) • Class[n,g] problem is random-self-reducible problem over w∈Zn2* • Easily transform any w∈Zn2* into a random instance w’∈Zn2* with uniform distribution. • By w’=wgαβn mod n2where αandβ are taken uniform at random over Zn. • After [w’]g has been computed, it is so simply to return [w]g=[w’]g-α mod n.
Computing Composite Residuosity Class(9/13) • Class[n,g] is random-self-reducible over g∈B, i.e.∀g1,g2∈B,Class[n,g1]≡Class[n,g2] • For Class[n,g] problems, the bases g are independent. We can to look upon it as a computational problem which purely relies on n. • Class[n] problem • Computational composite residuosity class problem • given w∈Zn2* and g∈B, compute [w]g
Computing Composite Residuosity Class(11/13) • D-Class[n] problem • decisional Class[n] problem • given w∈Zn2*,g∈B, x∈Zn, decide whether x=[w]g or not
Computing Composite Residuosity Class(12/13) • Fact[n] • The factorization of n. • RSA[n] • c = me mod n • Extracting eth roots modulo n • CR[n] • deciding nth residuosity.
Computing Composite Residuosity Class(13/13) • Class[n] • Computational composite residuosity class problem • given w∈Zn2* and g∈B, compute [w]g • D-Class[n] • decisional Class[n] problem • given w∈Zn2*,g∈B, x∈Zn, decide whether x=[w]g or not
Notions of Security(1/3) • Indistinguishability of encryption(IND) • Non-malleability(NM) • Given the encryption of a plaintext x, the attack cannot produce the encryption of a meaningfully related plaintext x’.(For example, x’=x+1)
Notions of Security(2/3) • Chosen-plaintext attack (CPA) • Non-adaptive chosen-ciphertext attack (CCA1) • Adaptive chosen-ciphertext attack (CCA2) • IND-CCA2 and NM-CCA2 are strictly equivalent notions.
Random Oracle Model • Hash functions are considered to be ideal. i.e. perfect random. • From a security viewpoint, this impacts by giving the attacker an additional access to the random oracles of the scheme.
Outline • Background • Notation and math. assumption • Scheme 1 • Scheme 2 • Scheme 3 • Properties • Conclusion
Scheme 1(1/4) • New probabilistic encryption scheme
Scheme 1 (3/4) • One-way function • Given x, to compute f(x) = y is easy. • Given y, to find x s.t. f(x) = y is hard. • One-way trapdoor • f() is a one-way function. • Given a secret s, given y, to find x s.t. f(x) = y is easy. • Trapdoor permutation • f() is a one-way trapdoor. • f() is bijective.
Security Analysis(1/21) • Against an adaptive chosen-ciphertext attack.(IND-CCA2) • In the scenario, the adversary makes of queries of her choice to a decryption oracle during two stages.
Security Analysis(2/21) • The first stage, the find stage • Attacker chooses two messages. • Requests encryption oracle to encrypted one of them. • the encryption oracle makes the secret choice of which one.
Security Analysis(3/21) • The second stage, the guess stage • To query the decryption oracle with ciphertext of her choice. • Finally, she tell her guess about the choice the encryption oracle made.
Security Analysis(4/21) • Random oracle • A t-bit random number • Two hash functions • G, H: {0,1}* →{0,1}|n|
Security Analysis(5/21) • Provided t=Ω(|n|δ) for δ>0, Scheme 1 is semantically secure against adaptive chosen-ciphertext attacks (IND-CCA2) under the Decision Composite Residuosity assumption (D-Class assumption) in the random oracle. • D-Class[n] • decisional Class[n] problem • given w∈Zn2*,g∈B, x∈Zn, decide whether x=[w]g or not
Security Analysis(6/21) • An adversary A=(A1,A2) against semantic security of scheme 1. • A1: the find stage • A2: the guess stage • This adversary to efficiently decide nth residuosity classes.
Security Analysis(7/21) • Oracle G • Indistinduishability of encryption • Oracle H • Adaptive attack
Security Analysis(8/21) • Simulation of the Decryption Oracle • The attacker asks for aciphertext c to be decrypted. • The simulator checks in the query-history from the random oracle H. • Whether some entry leads to the ciphertext c and then return m; otherwise, it return “failure”.
Security Analysis(9/21) • Quasi-perfect simulation • The probability of producing a valid ciphertext without asking the query (m,r) to the random oracle H (whose answer a has to satisfy the test an = z mod n) is upper bounded by 1/ψ(n)≦2/n, which is clearly negligible.
Security Analysis(10/21) • Initialization • n=pq, g∈Zn2* • Public: n,g • Private: λ
Security Analysis(11/21) • Encryption • Plaintext: m < 2|n|-t-1 • Randomly select r < 2t • z=H(m,r)n mod n2 • M=m||r +G(z mod n) mod n • Ciphertext: c=gMz mod n2
Security Analysis(12/21) • Decryption • Ciphertext: c=gMz mod n2 ∈Zn2* • M=[L(cλmod n2)/L(gλmod n2)] mod n • z’=g-Mc mod n • m’||r’=M-G(z’) mod n • If H(m’,r’)n = z’ mod n, then the plaintext is m’ • Otherwise, output “failure”
Security Analysis(13/21) • Attacker A to design a distinguisher B for nth residuosity class. • (w,α) is a instance of the D-Class problem, where α is the nth residuosity class of w. • D-Class[n] • decisional Class[n] problem • given w∈Zn2*,g∈B, α∈Zn, decide whether α=[w]g or not
Security Analysis(14/21) • Distinguisher B(1/2) • Randomly chooses u∈Zn, v∈Zn*, 0≦r<2t. • Compute the follows • z=wg-αvn mod n • c=wguvn mod n2 • Run A1 and gets two messages m0,m1
Security Analysis(15/21) • Distinguisher B(2/2) • Chooses a bit b • Run A2 on the ciphertext c, supposed to the ciphertext of mb and using the random r.