SlideShare a Scribd company logo
1 of 30
Download to read offline
1/30
CPDA Lecture 12 Attribute-Based Encryption
曾一凡
林彥賓
2020 年 8 月 12 日
2020 年 8 月 12 日
2/30
Outline
Introduction
KP-ABE
Definition
Security Model
Access Tree To LSSS
Scheme
Correctness
Security Proof
CP-ABE
Definition
Security Model
Waters Scheme
Correctness
Security Proof
2020 年 8 月 12 日
3/30
Introduction
Key-Policy Attribute-Based Encryption (KP-ABE): an attribute set is
associated with a ciphertext, and an access structure(Policy) is
associated with private key
Ciphertext-Policy Attribute-Based Encryption (CP-ABE): a user’s
private key is associated with a set of descriptive attributes, and a
ciphertext is associated with an access structure(Policy)
2020 年 8 月 12 日
4/30
KP-ABE Definition
Setup(1λ): Taking as input the security parameter, the algorithm
outputs the system parameter params and the master secret key msk
Encrypt(S, M): Taking as inputs a set of attributes S and a message
M, the algorithm outputs a ciphertext CT
KeyGen(msk, A): Taking as inputs the master secret key msk and an
access structure A, the algorithm outputs a private key D
Decrypt(CT, D): Taking as inputs a ciphertext CT and a private key
D, the algorithm outputs a message
define |=
S |= A denote “S satisfies A”
correctness
For CT ←− Encrypt(S, M), D ←− KeyGen(msk, A), we have
M ←− Decrypt(CT, D) if S satisfies A
2020 年 8 月 12 日
5/30
KP-ABE Security Model
Setup: The challenger C runs the Setup algorithm and sends params
to the adversary A
Phase 1: The adversary A makes polynomially many queries to the
following oracles
KeyGen(Ai): Upon inputting an access structure Ai, the oracle returns
the corresponding private key DAi
Decrypt(CT, Ai): Upon inputting a ciphertext CT and an access
structure Ai, the oracle returns the output of Decrypt(CT, DAi
)
Challenge: The adversary A submits two distinct message (M0, M1)
of the same length, and a target attribute set S∗, where S∗ does not
satisfy the access structures queried in Phase 1. Then the challenger
C chooses a bit b ←− {0, 1}, and returns CT ←− Encrypt(S∗, Mb)
Phase 2: It is the same as Phase 1 except Decrypt(CT∗, Aj) and
KeyGen(Aj) such that S∗ |= Aj are not allowed
2020 年 8 月 12 日
6/30
KP-ABE Security Model
Guess: The adversary A outputs a bit b, and wins the game if b = b.
The advantage of the adversary A in winning the game is defined as
Adv(A) = Pr[b = b]−1/2
We say that an ABE scheme is CCA secure if for all PPT adversary
A, Adv(A) is negligible
2020 年 8 月 12 日
7/30
Access Tree To LSSS
1 label the root with [1] and label each node from the root to leaves
2 If an internal node is “∧”labelled with a vector v, then we label its left
son with [v, 1], and the right son with [0, ..., 0, −1]. The sum of left
and right should be [v, 0]
3 If an internal node is “∨”then we label the two sons with the same
vector as their parent
4 pad 0 to the shorter vectors to make all the vectors the same length
2020 年 8 月 12 日
8/30
Access Tree To LSSS
example
A ∧ (B ∨ (C ∧ D))
2020 年 8 月 12 日
9/30
KP-ABE Scheme
Setup(1λ): Define the universe U = {1, 2, ..., k}
1 Randomly choose ti ←− Zp, i = 1, 2, ..., k
2 Compute Ti = gti
, i = 1, 2, ..., k
3 Randomly choose y ←− Zp and compute Y = e(g, g)y
4 Set params = (T1, T2, ..., Tk, Y), msk = (t1, t2, ..., tk, y)
5 Output (params, msk)
Encrypt(S, M): To encrypt a message M ∈ GT for an attribute set
S ∈ U
1 Randomly choose s ←− Zp
2 Compute C = MYs
3 For x ∈ S, compute Cx = Ts
x
4 Output CT = (C, {Cx}x∈S)
KeyGen(msk, A): To generate the private key for access structure
A = (MZℓ×n
p , ρ)
1 Randomly choose v2, v3, ..., vn ←− Zp and set v = (y, v2, ..., vn)
2 Let Mi denote the i-th row of M. For i = 1 to ℓ, compute Di = g
Mi,v
tρ(i)
3 output private key D = ({Di}i=1,...,ℓ)
2020 年 8 月 12 日
10/30
KP-ABE Scheme
Decrypt(CT, D): Assume that CT and D are associated with an
attribute set S and an access structure A = (M, ρ), respectively. Let
I ⊂ {1, ..., ℓ} be defined as I = {i : ρ(i) ∈ S} If S |= A, then by the
property of LSSS, there must exist a set of constant {wi}iI such that
i wiMi = (1, 0, ..., 0)
n
. Output
M =
C
i∈I e(Di, Cρ(i))wi
Since i∈I wiMi = (1, 0, ..., 0)
n
, we have that
i∈I
wi  Mi, v =
i∈I
wiMi, v = (1, 0, ..., 0), (y, v2, ..., vn) = y
2020 年 8 月 12 日
11/30
KP-ABE Correctness
i∈I
e(Di = g
Mi,v
tρ(i) , Cρ(i) = (T = gt
)s
ρ(i))wi
=
i∈I
e(g, g)wiMi,vs
= e(g, g)s
∏
i∈I wiMi,v
= e(g, g)sy
= Ys
(1)
C
i∈I e(Di, Cρ(i))wi
=
MYs
Ys
= M
2020 年 8 月 12 日
12/30
KP-ABE Security Proof
Theorem
GPSW KP-ABE is selectively secure against the chosen-plaintext attacks
under the DBDH assumption
Given the instance (g, ga, gb, gc, Z = e(g, g)a,b,c) of the DBDH problem
Init: The adversary A submits a target attribute set S∗
Setup:The challenger C performs as follows.
1 Y = e(ga
, gb
), which means we implicitly set y = ab
2 For i ∈ S∗
, random choose fi ←− Zp and compute Ti = gfi
(thus ti = fi)
3 For i ∈ U/S∗
random choose hi and compute Ti = (gb
)hi
(thus
ti = bhi)
4 Return params = ({Ti}i∈U, Y)
2020 年 8 月 12 日
13/30
KP-ABE Security Proof Phase 1 KeyGen Query
let l = (1, 0, ..., 0)
n
,
Ms be the submatrix whose rows correspond to the attribute in S∗
goal
find a vector v such that l · v = y = ab, and g
Mi,v
tρ(i) can be computed no
matter ρ(i) ∈ S∗ or not
Proposition 1
A vector x is independent of a set of vector represented by a matrix N, if
and only if there is a vector w such that N · w = 0 while x · w ̸= 0
Since S∗ does not satisfy A, the rows of MS∗ do not generate l, i.e., l is
independent of MS∗
2020 年 8 月 12 日
14/30
KP-ABE Security Proof Phase 1 KeyGen Query
define
v = u + ψw, MS∗ · wT = 0 and l · wT = δ ̸= 0
random choose k = (k1, k2, ..., kn) and set u = bk = (bk1, bk2, ..., bkn)
l · vT
= ab
⇒ l · (u + ψw)T
= ab
⇒ bk1 + ψδ = ab
⇒ ψ = b(
a − k1
δ
)
2020 年 8 月 12 日
15/30
KP-ABE Security Proof Phase 1 KeyGen Query
For ρ(j) ∈ S∗, tρ(j) = fρ(j)
 Mj, v 
tρ(j)
=
 Mj, u  +(ψ  Mj, w = 0)
fρ(j)
= b(
 Mj, y 
fρ(j)
)
Di = (gb
)
Mj,y
fρ(j)
For ρ(j) /∈ S∗, tρ(j) = bhρ(j)
 Mj, v 
tρ(j)
=
 Mj, (u = bk)  +(ψ = b(a−k1
δ ))  Mj, w 
bhρ(j)
=
 Mj, k  +(a−k1
δ )  Mj, w 
hρ(j)
=
δ  Mj, k  −ki  Mj, w 
δhρ(j)
+ a(
 Mj, w 
δhρ(j)
)
Di = g
δMj,k−kiMj,w
δhρ(j) · (ga
)
Mj,w
δhρ(j)
2020 年 8 月 12 日
16/30
KP-ABE Security Proof
Challenge: A submits two messages M0, M1, and C performs as
follows
1 Randomly choose b ←− {0, 1} and compute C = MbZ
2 Compute C = Mbe(g, g)abc
= MbYc
3 For i ∈ S∗
, compute Tc
i = gfic
= (gc
)fi
4 Return CT∗
= (C, {Ci}i∈S∗ )
Phase 2: same as Phase 1
Guess: since C = Mbe(g, g)abc = MbYc the challenger is able to solve
the DBDH problem if there is an adversary wins the game with
non-negligible advantage
2020 年 8 月 12 日
17/30
CP-ABE Definition
Setup(1λ): Taking as input the security parameter, the algorithm
outputs the system parameter params and the master secret key msk
Encrypt(A, M): Taking as inputs an access structure A and a
message M, the algorithm outputs a ciphertext CT
KeyGen(msk, S): Taking as inputs the master secret key msk and an
attribute set S, the algorithm outputs a private key D
Decrypt(CT, D): Taking as inputs a ciphertext CT and a private key
D, the algorithm outputs a message
correctness
For CT ←− Encrypt(A, M), D ←− KeyGen(msk, S), we have
M ←− Decrypt(CT, D) if S satisfies A
2020 年 8 月 12 日
18/30
CP-ABE Security Model
Setup: The challenger C runs the Setup algorithm and sends params
to the adversary A
Phase 1: The adversary A makes polynomially many queries to the
following oracles
KeyGen(Si): Upon inputting an attribute set Si, the oracle returns the
corresponding private key DSi
Decrypt(CT, Si): Upon inputting a ciphertext CT and an attribute set
Si, the oracle returns the output of Decrypt(CT, DSi
)
Challenge: The adversary submits two distinct message (M0, M1) of
the same length, and a target access structure A∗, where A∗ does not
satisfy the access structures queried in Phase 1. Then the challenger
C chooses a bit b ←− {0, 1}, and returns CT ←− Encrypt(S∗, Mb)
Phase 2: It is the same as Phase 1 except Decrypt(CT∗, Sj) and
KeyGen(Sj) such that Sj |= A∗ are not allowed
2020 年 8 月 12 日
19/30
CP-ABE Security Model
Guess: The adversary A outputs a bit b, and wins the game if b = b.
The advantage of the adversary A in winning the game is defined as
Adv(A) = Pr[b = b]−1/2
We say that an ABE scheme is CCA secure if for all PPT adversary
A, Adv(A) is negligible
2020 年 8 月 12 日
20/30
Waters CP-ABE
additional restriction
Let e : G × G −→ GT be a bilinear map, where G and GT are multiplicative
groups with prime order p. Let g be a generator of G
Setup(1λ): Define the universe U = 1, 2, ..., k
1 Randomly choose h1, h2, ..., hk ←− G
2 Randomly choose α, a ←− Zp
3 Compute Y = e(g, g)α
, h = ga
4 Set params = (g, h, Y, {hi}k
i=1), msk = gα
5 Output (params, msk)
Encrypt(A = (L, ρ), M): Let the LSSS access structure L be an ℓ × n
matrix
1 Choose a random vector v = (s, y2, ..., yn) ←− Zn
p
2 For i = 1 to ℓ, compute λi = Li, v 
3 Compute C = MYs
, C′
= gs
4 For i = 1 to ℓ, compute Ci = hλi
h−s
ρ(i)
5 Output CT = (C, C′
, {Ci}ℓ
i=1 to ℓ)
2020 年 8 月 12 日
21/30
Waters CP-ABE
KeyGen(msk, S)
1 Randomly choose t ←− Zp
2 Compute K = gα
ht
, L = gt
3 For x ∈ S , compute Kx = ht
x
4 Output D = (K, L, {Kx}x∈S)
Decrypt(CT, D) Let CT and D be associated with an access
structure (M, ρ) and an attribute set S, respectively. Suppose that
S |= A and let I ∈ {1, ..., ℓ} be defined as I = {i : ρ(i) ∈ S}
1 Find {wi}i∈I such that i∈I wiMi = (1, 0, ..., 0)
2 Compute
M =
C
ω
, ω =
e(C′
, K)
i∈I(e(Ci, L)e(C′, Kρ(i)))wi )
2020 年 8 月 12 日
22/30
Waters CP-ABE Correctness
e(C′
, K) = e(gs
, ga
ht
) = e(g, g)αs
e(g, g)ast
i∈I
(e(Ci = gaλi
h−s
ρ(i), L = gt
)e(C′
= gs
, Kρ(i) = ht
ρ(i)))wi
)
=
i∈I
(e(g, g)atλi
e(hρ(i), g)−st
e(g, hρ(i))st
)wi
=
i∈I
e(g, g)atwiλi
= e(g, g)at
∑
i∈I wiλi
= e(g, g)at
∑
i∈I wiMi,V
= e(g, g)ats
C
ω
=
Me(g, g)αs
e(g,g)αse(g,g)ast
e(g,g)ast
= M
2020 年 8 月 12 日
23/30
Waters CP-ABE Security Proof
Definition: q-DBDHE Problem
Let a, s ←− Zp and gi = gai
. Given x= (g, g1, ..., gq, gq+2, ..., g2q, gs) and
Z ∈ GT decide if Z
?
= e(g, g)saq+1
Theorem
Waters’CP-ABE is selectively secure against chosen-plaintext attacks if the
q-DBDHE problem is hard
Given x = (g, ga, ..., gaq
, gaq+2
, ..., ga2q
, gs), Z ∈ GT , the challenger C
simulates the following CPA game for an adversary A
Init: The adversary A submits a target access structure
A∗ = (M∗, ρ∗) where M∗ ∈ Zℓ∗×n∗
p and n∗ ≤ q
2020 年 8 月 12 日
24/30
Waters CP-ABE Security Proof
Setup:
1 Randomly choose α′
and set Y = e(ga
, gaq
)e(g, g)α′
, which means
α = αq+1
+ α′
2 Set h = ga
3 For x ∈ U choose randomly zx ←− Zp
4 For x /∈ U, if there is an i such that ρ∗
(i) = x, set
hx = gzx
gaMi[1]
ga2
Mi[2]
, ..., gan∗
Mi[n∗
]
where Mi[j] denotes the j-th entry of Mi; otherwise set hx = gzx
5 Return params = (g, h, Y, {hx}x∈U)
2020 年 8 月 12 日
25/30
Waters CP-ABE Security Proof Phase 1 KeyGen Query
1 Find a vector w = (w1, ..., wn∗ ) such that M∗ · w = 0 and
(1, 0, ..., 0) · w ̸= 0
2 Set w1 = −1
3 Randomly choose r ←− Zp
4 Set
It can be achieved by computing
2020 年 8 月 12 日
26/30
Waters CP-ABE Security Proof Phase 1 KeyGen Query
for x ∈ S
If x is not used in A∗ i.e. no ρ∗(i) = x, i ∈ {1, ..., ℓ}.
Kx = Lzx = gtzx = (gzx )t = ht
x
f x is used in A∗ i.e. exists ρ∗(i) = x, i ∈ {1, ..., ℓ}
2020 年 8 月 12 日
27/30
Waters CP-ABE Security Proof Phase 1 KeyGen Query
when j = m, there is no problem of unknow gaq+1
. since
2020 年 8 月 12 日
28/30
Waters CP-ABE Security Proof Challenge
1 The adversary submits two messages M0, M1
2 Randomly choose b ←− {0, 1}
3 Set C = gs
4 Compute C = MbZe(gs, gα′
)
5 Choose y′
2, ..., y′
n∗ ←− Zp
6 Set v = (s, sa + y′
2, sa2 + y′
3, ..., san∗−1 + y′
n∗ )
2020 年 8 月 12 日
29/30
Waters CP-ABE Security Proof Challenge
Ci = gaλi
h−s
ρ∗(i), hρ∗(i) = gzρ∗(i)+
∑n∗
j=1 ajMi[j]
2020 年 8 月 12 日
30/30
Waters CP-ABE Security Proof
if there is an adversary winning the game with non-negligible advantage,
then the challenger is able to solve the q-DBDHE problem with the same
advantage
2020 年 8 月 12 日

More Related Content

What's hot

Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes acijjournal
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysisrik0
 
Improved security system using steganography and elliptic curve crypto...
Improved  security  system using  steganography  and  elliptic  curve  crypto...Improved  security  system using  steganography  and  elliptic  curve  crypto...
Improved security system using steganography and elliptic curve crypto...atanuanwesha
 
An Introduction to Coding Theory
An Introduction to Coding TheoryAn Introduction to Coding Theory
An Introduction to Coding TheoryAlexanderWei11
 
Complex and Social Network Analysis in Python
Complex and Social Network Analysis in PythonComplex and Social Network Analysis in Python
Complex and Social Network Analysis in Pythonrik0
 
The International Journal of Engineering and Science
The International Journal of Engineering and ScienceThe International Journal of Engineering and Science
The International Journal of Engineering and Sciencetheijes
 
Data Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve CryptographyData Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve CryptographyIJCERT
 
Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)Alexander Litvinenko
 
Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cppAlamgir Hossain
 
Ee693 sept2014midsem
Ee693 sept2014midsemEe693 sept2014midsem
Ee693 sept2014midsemGopi Saiteja
 
An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)Hakeem Hunte
 
Deflection 2
Deflection 2Deflection 2
Deflection 2anashalim
 
Lecture8 multi class_svm
Lecture8 multi class_svmLecture8 multi class_svm
Lecture8 multi class_svmStéphane Canu
 
Presentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_PaperPresentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_PaperNithin Cv
 
Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007 Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007 Rohit Garg
 

What's hot (20)

Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes
 
Computing on Encrypted Data
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted Data
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysis
 
Improved security system using steganography and elliptic curve crypto...
Improved  security  system using  steganography  and  elliptic  curve  crypto...Improved  security  system using  steganography  and  elliptic  curve  crypto...
Improved security system using steganography and elliptic curve crypto...
 
An Introduction to Coding Theory
An Introduction to Coding TheoryAn Introduction to Coding Theory
An Introduction to Coding Theory
 
Complex and Social Network Analysis in Python
Complex and Social Network Analysis in PythonComplex and Social Network Analysis in Python
Complex and Social Network Analysis in Python
 
The International Journal of Engineering and Science
The International Journal of Engineering and ScienceThe International Journal of Engineering and Science
The International Journal of Engineering and Science
 
Triggering patterns of topology changes in dynamic attributed graphs
Triggering patterns of topology changes in dynamic attributed graphsTriggering patterns of topology changes in dynamic attributed graphs
Triggering patterns of topology changes in dynamic attributed graphs
 
Data Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve CryptographyData Security Using Elliptic Curve Cryptography
Data Security Using Elliptic Curve Cryptography
 
Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)
 
Lecture4 xing
Lecture4 xingLecture4 xing
Lecture4 xing
 
Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cpp
 
Ee693 sept2014midsem
Ee693 sept2014midsemEe693 sept2014midsem
Ee693 sept2014midsem
 
Lecture6 svdd
Lecture6 svddLecture6 svdd
Lecture6 svdd
 
An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)An Introduction to ECDSA and it's use in Bitcoin (1)
An Introduction to ECDSA and it's use in Bitcoin (1)
 
Elliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
Elliptic curvecryptography Shane Almeida Saqib Awan Dan PalacioElliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
Elliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
 
Deflection 2
Deflection 2Deflection 2
Deflection 2
 
Lecture8 multi class_svm
Lecture8 multi class_svmLecture8 multi class_svm
Lecture8 multi class_svm
 
Presentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_PaperPresentation on Cryptography_Based on IEEE_Paper
Presentation on Cryptography_Based on IEEE_Paper
 
Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007 Gate Computer Science Solved Paper 2007
Gate Computer Science Solved Paper 2007
 

Similar to NCCU CPDA Lecture 12 Attribute Based Encryption

Crypto cs36 39
Crypto cs36 39Crypto cs36 39
Crypto cs36 39sravanbabu
 
Novel encryption algorithm and software development ecc and rsa
Novel encryption algorithm and software development ecc and rsaNovel encryption algorithm and software development ecc and rsa
Novel encryption algorithm and software development ecc and rsaSoham Mondal
 
Convolution presentation
Convolution presentationConvolution presentation
Convolution presentationSoham Mondal
 
Signyourd digital signature certificate provider
Signyourd   digital signature certificate providerSignyourd   digital signature certificate provider
Signyourd digital signature certificate providerKishankant Yadav
 
Number theoretic-rsa-chailos-new
Number theoretic-rsa-chailos-newNumber theoretic-rsa-chailos-new
Number theoretic-rsa-chailos-newChristos Loizos
 
parameterized complexity for graph Motif
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph MotifAMR koura
 
The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)theijes
 
Quantum espresso G Vector distributon
Quantum espresso G Vector distributonQuantum espresso G Vector distributon
Quantum espresso G Vector distributonEric Pascolo
 
Efficient selective id secure identity based encryption without random oracles
Efficient selective id secure identity based encryption without random oraclesEfficient selective id secure identity based encryption without random oracles
Efficient selective id secure identity based encryption without random oraclesNational Chengchi University
 
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...Matt Moores
 
Security of Artificial Intelligence
Security of Artificial IntelligenceSecurity of Artificial Intelligence
Security of Artificial IntelligenceFederico Cerutti
 
Spreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape ProblemSpreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape ProblemAleksandr Yampolskiy
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoderijsrd.com
 
Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法Kai Katsumata
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysAleksandr Yampolskiy
 
Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...
Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...
Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...MASAYUKITEZUKA1
 
DISTANCE TWO LABELING FOR MULTI-STOREY GRAPHS
DISTANCE TWO LABELING FOR MULTI-STOREY GRAPHSDISTANCE TWO LABELING FOR MULTI-STOREY GRAPHS
DISTANCE TWO LABELING FOR MULTI-STOREY GRAPHSgraphhoc
 
Public Key Cryptography
Public Key CryptographyPublic Key Cryptography
Public Key CryptographyAbhijit Mondal
 

Similar to NCCU CPDA Lecture 12 Attribute Based Encryption (20)

Crypto cs36 39
Crypto cs36 39Crypto cs36 39
Crypto cs36 39
 
Novel encryption algorithm and software development ecc and rsa
Novel encryption algorithm and software development ecc and rsaNovel encryption algorithm and software development ecc and rsa
Novel encryption algorithm and software development ecc and rsa
 
Convolution presentation
Convolution presentationConvolution presentation
Convolution presentation
 
Signyourd digital signature certificate provider
Signyourd   digital signature certificate providerSignyourd   digital signature certificate provider
Signyourd digital signature certificate provider
 
Number theoretic-rsa-chailos-new
Number theoretic-rsa-chailos-newNumber theoretic-rsa-chailos-new
Number theoretic-rsa-chailos-new
 
parameterized complexity for graph Motif
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph Motif
 
The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)
 
Quantum espresso G Vector distributon
Quantum espresso G Vector distributonQuantum espresso G Vector distributon
Quantum espresso G Vector distributon
 
Efficient selective id secure identity based encryption without random oracles
Efficient selective id secure identity based encryption without random oraclesEfficient selective id secure identity based encryption without random oracles
Efficient selective id secure identity based encryption without random oracles
 
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
 
104 Icdcit05
104 Icdcit05104 Icdcit05
104 Icdcit05
 
Security of Artificial Intelligence
Security of Artificial IntelligenceSecurity of Artificial Intelligence
Security of Artificial Intelligence
 
Spreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape ProblemSpreading Rumors Quietly and the Subgroup Escape Problem
Spreading Rumors Quietly and the Subgroup Escape Problem
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoder
 
Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keys
 
Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...
Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...
Improved Security Proof for the Camenisch- Lysyanskaya Signature-Based Synchr...
 
DISTANCE TWO LABELING FOR MULTI-STOREY GRAPHS
DISTANCE TWO LABELING FOR MULTI-STOREY GRAPHSDISTANCE TWO LABELING FOR MULTI-STOREY GRAPHS
DISTANCE TWO LABELING FOR MULTI-STOREY GRAPHS
 
Public Key Cryptography
Public Key CryptographyPublic Key Cryptography
Public Key Cryptography
 
Primitives
PrimitivesPrimitives
Primitives
 

More from National Chengchi University

More from National Chengchi University (10)

3-Move Undeniable Signature Scheme
3-Move Undeniable Signature Scheme3-Move Undeniable Signature Scheme
3-Move Undeniable Signature Scheme
 
Distributed key generation protocol with hierarchical threshold access structure
Distributed key generation protocol with hierarchical threshold access structureDistributed key generation protocol with hierarchical threshold access structure
Distributed key generation protocol with hierarchical threshold access structure
 
A Threshold Cryptosystem without a Trusted Party
A Threshold Cryptosystem without a Trusted PartyA Threshold Cryptosystem without a Trusted Party
A Threshold Cryptosystem without a Trusted Party
 
One round threshold ecdsa with identifiable abort
One round threshold ecdsa with identifiable abortOne round threshold ecdsa with identifiable abort
One round threshold ecdsa with identifiable abort
 
Dynamic and verifiable hierarchical secret sharing
Dynamic and verifiable hierarchical secret sharingDynamic and verifiable hierarchical secret sharing
Dynamic and verifiable hierarchical secret sharing
 
User Account Access Graphs
User Account Access GraphsUser Account Access Graphs
User Account Access Graphs
 
Fast Multiparty Threshold ECDSA with Fast TrustlessSetup
Fast Multiparty Threshold ECDSA with Fast TrustlessSetupFast Multiparty Threshold ECDSA with Fast TrustlessSetup
Fast Multiparty Threshold ECDSA with Fast TrustlessSetup
 
Threshold-optimal DSAECDSA signatures and an application to Bitcoin wallet se...
Threshold-optimal DSAECDSA signatures and an application to Bitcoin wallet se...Threshold-optimal DSAECDSA signatures and an application to Bitcoin wallet se...
Threshold-optimal DSAECDSA signatures and an application to Bitcoin wallet se...
 
Pairing for beginneer
Pairing for beginneerPairing for beginneer
Pairing for beginneer
 
Identity based encryption from the weil pairing
Identity based encryption from the weil pairingIdentity based encryption from the weil pairing
Identity based encryption from the weil pairing
 

Recently uploaded

Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxyaramohamed343013
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzohaibmir069
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PPRINCE C P
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 

Recently uploaded (20)

Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docx
 
Engler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomyEngler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomy
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistan
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 

NCCU CPDA Lecture 12 Attribute Based Encryption

  • 1. 1/30 CPDA Lecture 12 Attribute-Based Encryption 曾一凡 林彥賓 2020 年 8 月 12 日 2020 年 8 月 12 日
  • 2. 2/30 Outline Introduction KP-ABE Definition Security Model Access Tree To LSSS Scheme Correctness Security Proof CP-ABE Definition Security Model Waters Scheme Correctness Security Proof 2020 年 8 月 12 日
  • 3. 3/30 Introduction Key-Policy Attribute-Based Encryption (KP-ABE): an attribute set is associated with a ciphertext, and an access structure(Policy) is associated with private key Ciphertext-Policy Attribute-Based Encryption (CP-ABE): a user’s private key is associated with a set of descriptive attributes, and a ciphertext is associated with an access structure(Policy) 2020 年 8 月 12 日
  • 4. 4/30 KP-ABE Definition Setup(1λ): Taking as input the security parameter, the algorithm outputs the system parameter params and the master secret key msk Encrypt(S, M): Taking as inputs a set of attributes S and a message M, the algorithm outputs a ciphertext CT KeyGen(msk, A): Taking as inputs the master secret key msk and an access structure A, the algorithm outputs a private key D Decrypt(CT, D): Taking as inputs a ciphertext CT and a private key D, the algorithm outputs a message define |= S |= A denote “S satisfies A” correctness For CT ←− Encrypt(S, M), D ←− KeyGen(msk, A), we have M ←− Decrypt(CT, D) if S satisfies A 2020 年 8 月 12 日
  • 5. 5/30 KP-ABE Security Model Setup: The challenger C runs the Setup algorithm and sends params to the adversary A Phase 1: The adversary A makes polynomially many queries to the following oracles KeyGen(Ai): Upon inputting an access structure Ai, the oracle returns the corresponding private key DAi Decrypt(CT, Ai): Upon inputting a ciphertext CT and an access structure Ai, the oracle returns the output of Decrypt(CT, DAi ) Challenge: The adversary A submits two distinct message (M0, M1) of the same length, and a target attribute set S∗, where S∗ does not satisfy the access structures queried in Phase 1. Then the challenger C chooses a bit b ←− {0, 1}, and returns CT ←− Encrypt(S∗, Mb) Phase 2: It is the same as Phase 1 except Decrypt(CT∗, Aj) and KeyGen(Aj) such that S∗ |= Aj are not allowed 2020 年 8 月 12 日
  • 6. 6/30 KP-ABE Security Model Guess: The adversary A outputs a bit b, and wins the game if b = b. The advantage of the adversary A in winning the game is defined as Adv(A) = Pr[b = b]−1/2 We say that an ABE scheme is CCA secure if for all PPT adversary A, Adv(A) is negligible 2020 年 8 月 12 日
  • 7. 7/30 Access Tree To LSSS 1 label the root with [1] and label each node from the root to leaves 2 If an internal node is “∧”labelled with a vector v, then we label its left son with [v, 1], and the right son with [0, ..., 0, −1]. The sum of left and right should be [v, 0] 3 If an internal node is “∨”then we label the two sons with the same vector as their parent 4 pad 0 to the shorter vectors to make all the vectors the same length 2020 年 8 月 12 日
  • 8. 8/30 Access Tree To LSSS example A ∧ (B ∨ (C ∧ D)) 2020 年 8 月 12 日
  • 9. 9/30 KP-ABE Scheme Setup(1λ): Define the universe U = {1, 2, ..., k} 1 Randomly choose ti ←− Zp, i = 1, 2, ..., k 2 Compute Ti = gti , i = 1, 2, ..., k 3 Randomly choose y ←− Zp and compute Y = e(g, g)y 4 Set params = (T1, T2, ..., Tk, Y), msk = (t1, t2, ..., tk, y) 5 Output (params, msk) Encrypt(S, M): To encrypt a message M ∈ GT for an attribute set S ∈ U 1 Randomly choose s ←− Zp 2 Compute C = MYs 3 For x ∈ S, compute Cx = Ts x 4 Output CT = (C, {Cx}x∈S) KeyGen(msk, A): To generate the private key for access structure A = (MZℓ×n p , ρ) 1 Randomly choose v2, v3, ..., vn ←− Zp and set v = (y, v2, ..., vn) 2 Let Mi denote the i-th row of M. For i = 1 to ℓ, compute Di = g Mi,v tρ(i) 3 output private key D = ({Di}i=1,...,ℓ) 2020 年 8 月 12 日
  • 10. 10/30 KP-ABE Scheme Decrypt(CT, D): Assume that CT and D are associated with an attribute set S and an access structure A = (M, ρ), respectively. Let I ⊂ {1, ..., ℓ} be defined as I = {i : ρ(i) ∈ S} If S |= A, then by the property of LSSS, there must exist a set of constant {wi}iI such that i wiMi = (1, 0, ..., 0) n . Output M = C i∈I e(Di, Cρ(i))wi Since i∈I wiMi = (1, 0, ..., 0) n , we have that i∈I wi Mi, v = i∈I wiMi, v = (1, 0, ..., 0), (y, v2, ..., vn) = y 2020 年 8 月 12 日
  • 11. 11/30 KP-ABE Correctness i∈I e(Di = g Mi,v tρ(i) , Cρ(i) = (T = gt )s ρ(i))wi = i∈I e(g, g)wiMi,vs = e(g, g)s ∏ i∈I wiMi,v = e(g, g)sy = Ys (1) C i∈I e(Di, Cρ(i))wi = MYs Ys = M 2020 年 8 月 12 日
  • 12. 12/30 KP-ABE Security Proof Theorem GPSW KP-ABE is selectively secure against the chosen-plaintext attacks under the DBDH assumption Given the instance (g, ga, gb, gc, Z = e(g, g)a,b,c) of the DBDH problem Init: The adversary A submits a target attribute set S∗ Setup:The challenger C performs as follows. 1 Y = e(ga , gb ), which means we implicitly set y = ab 2 For i ∈ S∗ , random choose fi ←− Zp and compute Ti = gfi (thus ti = fi) 3 For i ∈ U/S∗ random choose hi and compute Ti = (gb )hi (thus ti = bhi) 4 Return params = ({Ti}i∈U, Y) 2020 年 8 月 12 日
  • 13. 13/30 KP-ABE Security Proof Phase 1 KeyGen Query let l = (1, 0, ..., 0) n , Ms be the submatrix whose rows correspond to the attribute in S∗ goal find a vector v such that l · v = y = ab, and g Mi,v tρ(i) can be computed no matter ρ(i) ∈ S∗ or not Proposition 1 A vector x is independent of a set of vector represented by a matrix N, if and only if there is a vector w such that N · w = 0 while x · w ̸= 0 Since S∗ does not satisfy A, the rows of MS∗ do not generate l, i.e., l is independent of MS∗ 2020 年 8 月 12 日
  • 14. 14/30 KP-ABE Security Proof Phase 1 KeyGen Query define v = u + ψw, MS∗ · wT = 0 and l · wT = δ ̸= 0 random choose k = (k1, k2, ..., kn) and set u = bk = (bk1, bk2, ..., bkn) l · vT = ab ⇒ l · (u + ψw)T = ab ⇒ bk1 + ψδ = ab ⇒ ψ = b( a − k1 δ ) 2020 年 8 月 12 日
  • 15. 15/30 KP-ABE Security Proof Phase 1 KeyGen Query For ρ(j) ∈ S∗, tρ(j) = fρ(j) Mj, v tρ(j) = Mj, u +(ψ Mj, w = 0) fρ(j) = b( Mj, y fρ(j) ) Di = (gb ) Mj,y fρ(j) For ρ(j) /∈ S∗, tρ(j) = bhρ(j) Mj, v tρ(j) = Mj, (u = bk) +(ψ = b(a−k1 δ )) Mj, w bhρ(j) = Mj, k +(a−k1 δ ) Mj, w hρ(j) = δ Mj, k −ki Mj, w δhρ(j) + a( Mj, w δhρ(j) ) Di = g δMj,k−kiMj,w δhρ(j) · (ga ) Mj,w δhρ(j) 2020 年 8 月 12 日
  • 16. 16/30 KP-ABE Security Proof Challenge: A submits two messages M0, M1, and C performs as follows 1 Randomly choose b ←− {0, 1} and compute C = MbZ 2 Compute C = Mbe(g, g)abc = MbYc 3 For i ∈ S∗ , compute Tc i = gfic = (gc )fi 4 Return CT∗ = (C, {Ci}i∈S∗ ) Phase 2: same as Phase 1 Guess: since C = Mbe(g, g)abc = MbYc the challenger is able to solve the DBDH problem if there is an adversary wins the game with non-negligible advantage 2020 年 8 月 12 日
  • 17. 17/30 CP-ABE Definition Setup(1λ): Taking as input the security parameter, the algorithm outputs the system parameter params and the master secret key msk Encrypt(A, M): Taking as inputs an access structure A and a message M, the algorithm outputs a ciphertext CT KeyGen(msk, S): Taking as inputs the master secret key msk and an attribute set S, the algorithm outputs a private key D Decrypt(CT, D): Taking as inputs a ciphertext CT and a private key D, the algorithm outputs a message correctness For CT ←− Encrypt(A, M), D ←− KeyGen(msk, S), we have M ←− Decrypt(CT, D) if S satisfies A 2020 年 8 月 12 日
  • 18. 18/30 CP-ABE Security Model Setup: The challenger C runs the Setup algorithm and sends params to the adversary A Phase 1: The adversary A makes polynomially many queries to the following oracles KeyGen(Si): Upon inputting an attribute set Si, the oracle returns the corresponding private key DSi Decrypt(CT, Si): Upon inputting a ciphertext CT and an attribute set Si, the oracle returns the output of Decrypt(CT, DSi ) Challenge: The adversary submits two distinct message (M0, M1) of the same length, and a target access structure A∗, where A∗ does not satisfy the access structures queried in Phase 1. Then the challenger C chooses a bit b ←− {0, 1}, and returns CT ←− Encrypt(S∗, Mb) Phase 2: It is the same as Phase 1 except Decrypt(CT∗, Sj) and KeyGen(Sj) such that Sj |= A∗ are not allowed 2020 年 8 月 12 日
  • 19. 19/30 CP-ABE Security Model Guess: The adversary A outputs a bit b, and wins the game if b = b. The advantage of the adversary A in winning the game is defined as Adv(A) = Pr[b = b]−1/2 We say that an ABE scheme is CCA secure if for all PPT adversary A, Adv(A) is negligible 2020 年 8 月 12 日
  • 20. 20/30 Waters CP-ABE additional restriction Let e : G × G −→ GT be a bilinear map, where G and GT are multiplicative groups with prime order p. Let g be a generator of G Setup(1λ): Define the universe U = 1, 2, ..., k 1 Randomly choose h1, h2, ..., hk ←− G 2 Randomly choose α, a ←− Zp 3 Compute Y = e(g, g)α , h = ga 4 Set params = (g, h, Y, {hi}k i=1), msk = gα 5 Output (params, msk) Encrypt(A = (L, ρ), M): Let the LSSS access structure L be an ℓ × n matrix 1 Choose a random vector v = (s, y2, ..., yn) ←− Zn p 2 For i = 1 to ℓ, compute λi = Li, v 3 Compute C = MYs , C′ = gs 4 For i = 1 to ℓ, compute Ci = hλi h−s ρ(i) 5 Output CT = (C, C′ , {Ci}ℓ i=1 to ℓ) 2020 年 8 月 12 日
  • 21. 21/30 Waters CP-ABE KeyGen(msk, S) 1 Randomly choose t ←− Zp 2 Compute K = gα ht , L = gt 3 For x ∈ S , compute Kx = ht x 4 Output D = (K, L, {Kx}x∈S) Decrypt(CT, D) Let CT and D be associated with an access structure (M, ρ) and an attribute set S, respectively. Suppose that S |= A and let I ∈ {1, ..., ℓ} be defined as I = {i : ρ(i) ∈ S} 1 Find {wi}i∈I such that i∈I wiMi = (1, 0, ..., 0) 2 Compute M = C ω , ω = e(C′ , K) i∈I(e(Ci, L)e(C′, Kρ(i)))wi ) 2020 年 8 月 12 日
  • 22. 22/30 Waters CP-ABE Correctness e(C′ , K) = e(gs , ga ht ) = e(g, g)αs e(g, g)ast i∈I (e(Ci = gaλi h−s ρ(i), L = gt )e(C′ = gs , Kρ(i) = ht ρ(i)))wi ) = i∈I (e(g, g)atλi e(hρ(i), g)−st e(g, hρ(i))st )wi = i∈I e(g, g)atwiλi = e(g, g)at ∑ i∈I wiλi = e(g, g)at ∑ i∈I wiMi,V = e(g, g)ats C ω = Me(g, g)αs e(g,g)αse(g,g)ast e(g,g)ast = M 2020 年 8 月 12 日
  • 23. 23/30 Waters CP-ABE Security Proof Definition: q-DBDHE Problem Let a, s ←− Zp and gi = gai . Given x= (g, g1, ..., gq, gq+2, ..., g2q, gs) and Z ∈ GT decide if Z ? = e(g, g)saq+1 Theorem Waters’CP-ABE is selectively secure against chosen-plaintext attacks if the q-DBDHE problem is hard Given x = (g, ga, ..., gaq , gaq+2 , ..., ga2q , gs), Z ∈ GT , the challenger C simulates the following CPA game for an adversary A Init: The adversary A submits a target access structure A∗ = (M∗, ρ∗) where M∗ ∈ Zℓ∗×n∗ p and n∗ ≤ q 2020 年 8 月 12 日
  • 24. 24/30 Waters CP-ABE Security Proof Setup: 1 Randomly choose α′ and set Y = e(ga , gaq )e(g, g)α′ , which means α = αq+1 + α′ 2 Set h = ga 3 For x ∈ U choose randomly zx ←− Zp 4 For x /∈ U, if there is an i such that ρ∗ (i) = x, set hx = gzx gaMi[1] ga2 Mi[2] , ..., gan∗ Mi[n∗ ] where Mi[j] denotes the j-th entry of Mi; otherwise set hx = gzx 5 Return params = (g, h, Y, {hx}x∈U) 2020 年 8 月 12 日
  • 25. 25/30 Waters CP-ABE Security Proof Phase 1 KeyGen Query 1 Find a vector w = (w1, ..., wn∗ ) such that M∗ · w = 0 and (1, 0, ..., 0) · w ̸= 0 2 Set w1 = −1 3 Randomly choose r ←− Zp 4 Set It can be achieved by computing 2020 年 8 月 12 日
  • 26. 26/30 Waters CP-ABE Security Proof Phase 1 KeyGen Query for x ∈ S If x is not used in A∗ i.e. no ρ∗(i) = x, i ∈ {1, ..., ℓ}. Kx = Lzx = gtzx = (gzx )t = ht x f x is used in A∗ i.e. exists ρ∗(i) = x, i ∈ {1, ..., ℓ} 2020 年 8 月 12 日
  • 27. 27/30 Waters CP-ABE Security Proof Phase 1 KeyGen Query when j = m, there is no problem of unknow gaq+1 . since 2020 年 8 月 12 日
  • 28. 28/30 Waters CP-ABE Security Proof Challenge 1 The adversary submits two messages M0, M1 2 Randomly choose b ←− {0, 1} 3 Set C = gs 4 Compute C = MbZe(gs, gα′ ) 5 Choose y′ 2, ..., y′ n∗ ←− Zp 6 Set v = (s, sa + y′ 2, sa2 + y′ 3, ..., san∗−1 + y′ n∗ ) 2020 年 8 月 12 日
  • 29. 29/30 Waters CP-ABE Security Proof Challenge Ci = gaλi h−s ρ∗(i), hρ∗(i) = gzρ∗(i)+ ∑n∗ j=1 ajMi[j] 2020 年 8 月 12 日
  • 30. 30/30 Waters CP-ABE Security Proof if there is an adversary winning the game with non-negligible advantage, then the challenger is able to solve the q-DBDHE problem with the same advantage 2020 年 8 月 12 日