Scalable RSA Modulus Generation with a Dishonest Majority
Muthu Venkitasubramaniam
Ligero Inc. & University of Rochester
Megan Chen, Carmit Hazay, Yuval Ishai, Yuriy Kashnikov, Daniele Micciancio, Tarik Riviere, abhi shelat, Ruihan Wang
Scalable RSA Modulus Generation with a Dishonest Majority Muthu - - PowerPoint PPT Presentation
Scalable RSA Modulus Generation with a Dishonest Majority Muthu Venkitasubramaniam Ligero Inc. & University of Rochester Megan Chen, Carmit Hazay, Yuval Ishai, Yuriy Kashnikov, Daniele Micciancio, Tarik Riviere, abhi shelat, Ruihan Wang
Scalable RSA Modulus Generation with a Dishonest Majority
Muthu Venkitasubramaniam
Ligero Inc. & University of Rochester
Megan Chen, Carmit Hazay, Yuval Ishai, Yuriy Kashnikov, Daniele Micciancio, Tarik Riviere, abhi shelat, Ruihan Wang
Biprime - product of exactly two primes
NIST Randomness Beacon
Source: https://csrc.nist.gov/projects/interoperable-randomness-beacons
Sequential functions (ISH)
Wesolowski
Sample a biprime N where factorization “hidden”
2048 bits
n-1 corruption
> 1000
“Lightweight”
< 5 Mbps
60-bit statistical security 128-bit computational security
Step 1: Design protocol for
PASSIVE corruptions
Step 2: Upgrade security to tolerate
ACTIVE corruptions
Milestone Work Adversary Parties Corruption Threshold First Work [BF97] Passive n >= 3 t < n/2 [FMY98] Active n t < n/2 [PS98] Active 2 t = 1 Based on OT [Gil99] Passive 2 t = 1 [ACS02] Passive n t < n/2 [DM10] Active 3 t = 1 [HMRT12] Active n t < n [FLOP18] Active 2 t = 1 [CCD+20] Active n t < n
[BF97]
Trial division
N
0,1
Testing
pi, qi
[BF97]
Trial division
N
0,1
Testing
pi, qi
Parties choose pi, qi randomly
[BF97]
Trial division
N
0,1
Testing
pi, qi
Parties choose pi, qi randomly
[BF97]
Trial division
N
0,1
Testing
pi, qi
Is N the product
Parties choose pi, qi randomly
N
0,1 pi, qi
Is N the product
Parties choose pi, qi randomly
Testing
Trial division
N
0,1 pi, qi
Is N the product
Parties choose pi, qi randomly
Testing
CANDIDATES
candidates
testing Secure Multiplication Secure Multiplication Secure Multiplication Jacobi test [BF97]
a1,b1 ∈ 𝔾 c1 cn
MUL
a𝑜, bn ∈ 𝔾 a2,b2 ∈ 𝔾
c2
Implementing Secure Multiplication
– Scales quadratic in # parties
[CDN01] – Scales linearly in # parties
coordinator
– per-party comm. scales logarithmically in # parties
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q)
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p) p ⋅ q
Parties’ secret shares Key Generation Encrypt pi
Receive Enc(p) from Coord. Multiply by qi
Receive Enc( pq ) from Coord. Decrypted product
Pi
pi, qi ski EncPK(pi) EncPK(p) qi ⋅ EncPK(p) EncPK(p ⋅ q) p ⋅ q
C
PK ∑EncPK(pi) ∑qi ⋅ EncPK(p)
Testing
[BF97]’s Distributed Biprimality Test
Trial division
Test whether N is the product of two primes [BF97]
[BF97]’s Distributed Biprimality Test
Test whether N is the product of two primes [BF97]
[BF97]’s Distributed Biprimality Test
Test whether N is the product of two primes [BF97]
[BF97]’s Distributed Biprimality Test
Test whether N is the product of two primes [BF97]
GMW Paradigm
P1 P2
x1,r1 x2,r2
. . .
m1 mk
P1 P2
x1,r1 x2,r2
Commit Commit
m1 mk
ZK ZK
. . .
GMW Paradigm
P1 P2
x1,r1 x2,r2
Commit Commit
m1 mk
ZK ZK
. . .
Our Approach
P1 P2
x1,r1 x2,r2
Commit Commit
m1 mk
. . .
Our Approach
ZK
Key Setup Generate Candidates Compute Products Biprimality test
Generate threshold keys Sample pre-sieved primes Use TAHE to compute candidates Jacobi test
Certification
Zero-knowledge proof
Commitment
Commit to randomness
Verifiable Coordinator
bulletin board
Modular Proof (UC-security)
Generate Beaver triples Passive Protocol (with triples) Certify triples
Modular Proof (UC-security) ℱ𝑑𝑓𝑠𝑢−𝑢𝑠𝑗𝑞𝑚𝑓
Passive Protocol (with triples)
ℱ𝑑𝑓𝑠𝑢−𝑢𝑠𝑗𝑞𝑚𝑓
Certified Beaver Triples Functionality
ℱ𝑑𝑓𝑠𝑢−𝑢𝑠𝑗𝑞𝑚𝑓
Relation 𝑆
Pi
Generate 𝑏𝑘
𝑗, 𝑐𝑘 𝑗, 𝑑𝑘 𝑗 𝑘
𝑦, 𝑥
𝑦, 𝑆 𝑦, 𝑥, 𝑏𝑘
𝑗,𝑐 𝑘 𝑗, 𝑑 𝑘 𝑗 𝑘
Realizing Certified Beaver Triples Functionality
ℱ
𝑑𝑞 (commit)
Generate triples using TAHE
ℱ
𝑑𝑞 (prove)
Commit and Prove Semi-malicious security
Paillier?
El Gamal?
LWE?
Ring-LWE more efficient, flexible
= 𝑞1 × 𝑞2 ×∙ ∙ ∙× 𝑞𝑜 and each 𝑞𝑗 is a 62-bit prime.
that is a product of (a different set of) primes
∗ where 𝑂 is the
2048-bit candidate modulus
[Sho00]
Ligero
Sigma
1 party ty corrupti tions
and the coordinato
tor by an active adversary
– Verifiable coordinator
– AWS t3.small (2 vcpu, 2GB RAM)
– AWS r5dn24x.large (96 vcpu, 768 GB RAM)
– FHE Standardization (based on best attacks)
– Sign every message
Threshold AHE with Ring-LWE: Parameters
– Run a throughput test and deny entry for parties with insufficient bandwidth
– If protocol aborts, identify and kickout failing party – What does n-1 security imply here?
Performance Metrics
GMW paradigm – 4-8x computation overhead – <2x communication overhead
– Bottl tleneck ck is coord rdinato tor r spec