Uploaded by kimberlyfrancisco2022

3-30 Short Group Signature - Long & Brisaac (1)

advertisement
Short Group Signatures
Brisaac Johnson
Long Li
Overview
1.
2.
3.
4.
Motivation & Application
A zero-knowledge protocol for SDH
Short Group Signature
Code result
2
1. Motivation & Application
1. Motivation & Application
 A scheme could be used by an employee of a large company where it is sufficient for a
verifier to know a message was signed by an employee, but not which particular
employee signed it.
 The group manager are able to reveal the original signer in the event of disputes.
 The author construct short group signatures whose length is 192 bytes but provide same
level of security as a regular RSA signatures of 128 bytes.
4
2. A zero-knowledge protocol for SDH
2. A zero-knowledge protocol for SDH
 What is zero-knowledge proof?
Alice randomly picks a path
Bob select a path
Alice exit from that path
6
2. A zero-knowledge protocol for SDH
 Linear Encryption: u, v, h ∈ 𝐺1 and 𝑥, 𝑦 ∈ 𝒁p . 𝑆𝑢𝑐ℎ 𝑡ℎ𝑎𝑡 𝑢 𝑥 = 𝑣 𝑦 = ℎ
To encrypt a message M ∈ 𝐺1 , choose random value 𝑎, 𝑏 ∈ 𝒁p and output
(𝑇1 , 𝑇2 , 𝑇3 ) = (𝑢𝑎 , 𝑣 𝑏 , 𝑀 ⋅ ℎ𝑎+𝑏 )
 Linear Decryption: To recover message M, compute
𝑇3
𝑦
(𝑇1𝑥 ⋅𝑇2 )
=
𝑀⋅h𝑎+𝑏
𝑢𝑎𝑥 ⋅ 𝑣 𝑏𝑦
=
𝑀⋅h𝑎+𝑏
ℎ𝑎+𝑏
=M
7
2. A zero-knowledge protocol for SDH
 Public value: 𝒈𝟏 and 𝒈𝟐 are random generator of 𝐺1 𝑎𝑛𝑑𝐺2 , and 𝑔1 =𝜓(𝑔2 ).
u, v, h are ramdom i𝑛 𝐺1 and 𝒘 ∈ 𝐺2 .
𝜸
W =𝒈𝟐 for secret value 𝜸 ∈ 𝒁p
 Private value: 𝑨 ∈ 𝐺1 and x ∈ 𝒁p , such that 𝐴𝑥+𝛾 = 𝑔1 and e(A, ω𝑔2𝑥 ) = e(𝑔1 , 𝑔2 )
 Alice randomly selects exponents 𝛼, 𝛽 from 𝒁p and compute a Linear encryption of A:
𝑇1 ← 𝑢𝛼
and two helper values
𝛿1 ← 𝑥𝛼
𝑇2 ← 𝑣 𝛽
𝑇3 ← 𝐴ℎ𝛼+𝛽
𝛿2 ← 𝑥𝛽
8
2. A zero-knowledge protocol for SDH
 Alice want to prove she has knowledge of values (𝛼, 𝛽, 𝑥, 𝛿1 , 𝛿2 ) satisfying the following
five relations:
 To prove Alice has knowledge of values (𝛼, 𝛽, 𝑥, 𝛿1 , 𝛿2 ), she randomly pick blinding value
𝑟𝛼 , 𝑟𝛽 , 𝑟𝑥 , 𝑟𝛿1 ,𝑟𝛿2 from 𝒁p . Then compute R1~R5:
𝑅1 ← 𝑢𝑟𝛼
𝑅3 ← 𝑒 𝑇3 , 𝑔2
𝑟
𝑅2 ← 𝑢𝑟𝛽
𝑟𝑥
𝑅4 ← 𝑇1 𝑥 ⋅ 𝑢−𝑟𝛿1
⋅ 𝑒(ℎ, 𝜔)−𝑟𝛼−𝑟𝛽 ⋅ 𝑒(ℎ, 𝑔2 )−𝑟𝛿1 −𝑟𝛿2
𝑟
𝑅5 ← 𝑇1 𝑥 ⋅ 𝑣 −𝑟𝛿2
9
2. A zero-knowledge protocol for SDH
 Alice sends (𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 ) to Bob. And Bob sends a challenge value c at
random from 𝒁p . Alice then compute and sends back the values:
𝑆𝛼 ← 𝑟𝛼 + 𝑐𝛼
𝑆𝛽 ← 𝑟𝛽 + 𝑐𝛽
𝑆𝛿1 ← 𝑟𝛿1 + 𝑐𝛿1
𝑆𝑥 ← 𝑟𝑥 + 𝑐𝑥
𝑆𝛿2 ← 𝑟𝛿2 + 𝑐𝛿2
 Finally, Bob verifies the following equations and accepts if all five hold:
𝑢 𝑠𝛼 = 𝑇1𝑐 ⋅ 𝑅1
𝑒 𝑇3 , 𝑔2
𝑠
𝑠𝑥
𝑣 𝑠𝛽 = 𝑇2𝑐 ⋅ 𝑅2
⋅ 𝑒(ℎ, 𝜔)−𝑠𝛼−𝑠𝛽 ⋅ 𝑒(ℎ, 𝑔2 )−𝑠𝛿1 −𝑠𝛿2 = 𝑒(𝑔1 , 𝑔2 )/𝑒(𝑇3 , 𝜔)
𝑇1 𝑥 ⋅ 𝑢−𝑠𝛿1 = 𝑅4
𝑐
⋅ 𝑅3
𝑠
𝑇2 𝑥 ⋅ 𝑣 −𝑠𝛿2 = 𝑅5
10
2. A zero-knowledge protocol for SDH
11
3. Short Group Signature
3. Short Group Signature
 The short group signature include 4 algorithms:
1. KeyGen(n)
2. Sign(gpk, gsk[i], M)
3. Verify(gpk, M, 𝜎)
4. Open(gpk, gmsk, M, 𝜎)
1. KeyGen(n)




𝑔1 and 𝑔2 are random generator of 𝐺1 𝑎𝑛𝑑𝐺2 , and 𝑔1 =𝜓(𝑔2 ).
𝛾
Randomly select: h from 𝐺1 , 𝜉1 , 𝜉2 𝑎𝑛𝑑 𝛾 from 𝒁p and w = 𝑔2 .
Set u,v ∈ 𝐺1 and 𝑢𝜉1 = 𝑢𝜉2 = h
1/(𝛾+𝑥𝑖 )
Using 𝛾 generate private key (𝐴𝑖 , 𝑥𝑖 ) for user i. randomly select 𝑥𝑖 from 𝒁p and set 𝐴𝑖 = 𝑔1
n
KeyGen
gpk = ( 𝑔1 , 𝑔2 , h, u, v, w)
gmsk = (𝜉1 , 𝜉2 )
gsk[i] = (𝐴𝑖 , 𝑥𝑖 )
Key generator =𝛾
13
3. Short Group Signature
1. KeyGen(n)
 𝑔1 and 𝑔2 are random generator of 𝐺1 𝑎𝑛𝑑𝐺2 ,
and 𝑔1 =𝜓(𝑔2 ).
 Randomly select: h from 𝐺1 , 𝜉1 , 𝜉2 𝑎𝑛𝑑 𝛾 from
𝛾
𝒁p and w = 𝑔2 .
 Set u,v ∈ 𝐺1 and 𝑢𝜉1 = 𝑢𝜉2 = h
 Using 𝛾 generate private key (𝐴𝑖 , 𝑥𝑖 ) for user i.
1/(𝛾+𝑥𝑖 )
randomly select 𝑥𝑖 from 𝒁p and set 𝐴𝑖 = 𝑔1
14
3. Short Group Signature
2. Sign(gpk, gsk[i], M)
 Compute 𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 as introduced in previous protocol
 Compute challenge value c using hash function:
𝑐 ← 𝐻(𝑀, 𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 ) ∈ 𝒁p
 Using c construct 𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2
 Output the signature𝜎= (𝑇1 , 𝑇2 , 𝑇3 , c, 𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2 )
gpk = ( 𝑔1 , 𝑔2 , h, u, v, w)
gsk[i] = (𝐴𝑖 , 𝑥𝑖 )
M
Sign
𝜎= (𝑇1 , 𝑇2 , 𝑇3 , c, 𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2 )
15
3. Short Group Signature
2. Sign(gpk, gsk[i], M)
 Compute 𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5
as introduced in previous protocol
 Compute challenge value c using hash
function:
𝑐 ← 𝐻(𝑀, 𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 ,
𝑅3 , 𝑅4 , 𝑅5 ) ∈ 𝒁p
 Using c construct 𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2
 Output the signature𝜎= (𝑇1 , 𝑇2 , 𝑇3 , c,
𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2 )
16
3. Short Group Signature
3. Verify(gpk, M, 𝜎)
 Re-derive, 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 as follows:
𝑅1 = 𝑢 𝑠𝛼 ⋅ 𝑇1−𝑐
𝑅2 = 𝑇2−𝑐 ⋅ 𝑣 𝑠𝛽
𝑅3 = 𝑒 𝑇3 , 𝑔2
𝑠𝑥
⋅ 𝑒(ℎ, 𝜔)−𝑠𝛼 −𝑠𝛽 ⋅ 𝑒(ℎ, 𝑔2 )−𝑠𝛿1 −𝑠𝛿2 ⋅ 𝑒(𝑇3 , 𝜔)/𝑒(𝑔1 , 𝑔2 )
𝑠
𝑠
𝑅4 = 𝑇1 𝑥 ⋅ 𝑢−𝑠𝛿1
𝑅5 = 𝑇2 𝑥 ⋅ 𝑣 −𝑠𝛿2
 Check the following equation, accept if it’s hold, otherwise reject:
𝑐 ← 𝐻(𝑀, 𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 )
gpk = ( 𝑔1 , 𝑔2 , h, u, v, w)
𝜎= (𝑇1 , 𝑇2 , 𝑇3 , c, 𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2 )
M
Verify
𝐴𝑐𝑐𝑒𝑝𝑡/𝑅𝑒𝑗𝑒𝑐𝑡
17
𝑐
3. Short Group Signature
3. Verify(gpk, M, 𝜎)
 Re-derive, 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 :
 Check the following equation, accept
if it’s hold, otherwise reject:
𝑐 ← 𝐻(𝑀, 𝑇1 , 𝑇2 , 𝑇3 , 𝑅1 , 𝑅2 , 𝑅3 , 𝑅4 , 𝑅5 )
18
3. Short Group Signature
4. Open(gpk, gmsk, M, 𝜎)
 Verify that σ is a valid signature on M.
 Recover 𝐴𝑖 from Linear encryption 𝑇1 , 𝑇2 , 𝑇3 . 𝐴𝑖 ←
 Look up the signer id from index book of 𝐴𝑖
gpk = ( 𝑔1 , 𝑔2 , h, u, v, w)
𝜎= (𝑇1 , 𝑇2 , 𝑇3 , c, 𝑠𝛼 , 𝑠𝛽 , 𝑠𝑥 , 𝑠𝛿1 , 𝑠𝛿2 )
M
gmsk = ( 𝜉1 , 𝜉2 )
Open
𝑇3
𝜉1 𝜉2
𝑇1 ⋅𝑇2
𝑆𝑖𝑔𝑛𝑒𝑟 𝑖𝑑
19
3. Short Group Signature
4. Open(gpk, gmsk, M, 𝜎)
 Verify that σ is a valid signature on M.
 Recover 𝐴𝑖 from Linear encryption 𝑇1 , 𝑇2 , 𝑇3 . 𝐴𝑖 ←
 Look up the signer id from index book of 𝐴𝑖
𝑇3
𝜉1 𝜉2
𝑇1 ⋅𝑇2
20
4. Code Result
4. Code result
22
4. Code result
23
Thanks & Questions?
Download