Distribution by KDC, Encryption by Sender, dan Descryption by Receiver . Berikut
adalah detail prosesnya :
2.7.1 System Initialization
Pilih sebuah prime q, bangkitkan g dari G , kelompokan G
dan G
T
dari permintaan q, petakan sebuah e: G
x G G
T
, dan gabungan fungsi H: {0,1} G
dimana pemetaan itu mengidentifikasi user untuk G . Fungsi yang digunakan
disini adalah SHA-1. Setiap KDC A
j
ϵ A memiliki sebuah set atribut L
j
. Atribut menguraikan L
i ∩
L
j
= ø for i ≠ j. Setiap KDC juga memilih dua exponen acak α
i
, y
i
ϵ ʑ
q
. Private Key dari KDC A
j
adalah SK[j] = {
α
i,
y
i
, i ϵ L
j
}. Public Key
dari KDC A
j
diterbitkan PK[j] = {eg,g
αi,
g
yi,
i ϵ L
j
}. 2.7.2
Key Generation and Distribution by KDC
User U
u
menerima sebuat set atribut I[j,u] dari KDC A
j
, dan sesuai dengan Private Key
sk
i,u
untuk setiap i ϵ I[j,u]
sk
i,u
= g
αi
Hu
yi
, dimana
αi , yi ϵ SK[j]. Perhatikan bahwa semua key yang dikirimkan ke user aman menggunakan Public Key dari user, sehingga hanya user tersebut yang bisa
melakukan deskripsi menggunakan Private Key.
2.7.3 Encryption by Sender
Fungsi enkripsinya adalah ABE.EncryptMSG,X. Pengirim memutuskan tentang access tree X. Penerima mengenkripsi pesan MSG sebagai berikut:
1. Pilih sebarangan sumber s ϵ ʑ
q
sebuah random vektor ⱴ ϵ ʑ
h q
, dengan s sebagai masukan pertama; h adalah jumlah leaves di access tree sama dengan jumlah
baris pada koresponden matrik matrix R. 2.
Hitung λ
x =
R
x
.
ⱴ, dimana R
x
adalah baris dari R. 3.
Pilih sebuah random vector w ϵ ʑ
h q
dengan 0 sebagai masukan pertama. 4.
Hitung w
x
= R
x
.
w. 5.
Untuk setiap bari R
x
dari R, pilih sembarang ρ
x
ϵ ʑ
q
. 6.
Hitung parameter berikut: C
= MSGeg,g
s
, C1,x = eg,g
λx
eg,g
απxρx
, Áχ; C2,x = g
ρ
Áχ; C3,x = g
yπxρx
g
wx
Áχ, dimana
πx adalah pemetaan dari R
x
untuk atribut i yang terletak pada koresponden leaves dari access tree.
7. Untuk ciphertext C dikirim oleh pengirim dan juga termasuk access tree
melalui matrik R: C = ‹R, π, C
, {C
1,x
, C
2,x
, C
3,x
,
Áχ }›
2.7.4 Descryption by Receiver
Fungsi deskripsi adalah ABE.DecryptC,{sk
i,u
}. Penerima U
u
mengambil sebagai masukan ciphertext C, private key ,{sk
i,u
}, kelompok G , dan pesan
keluaran msg. Fungsi menerima akses matrik R dan pemetaan π dari C. Fungsi
kemudian mengeksekusi langkah-langkah sebagai berikut:
1.
U
u
menghitung kebutuhan sebagai input dari set atribut {πx : x ϵ X} ∩ I
u
yang umum untuknya dan matrik akses. X adalah set baris dari R.
2.
Untuk setiap atribut ini, cek jika ada Ẋ subset dari R, sehingga vector
1,0,...,0 merupakan kombinasi mereka. Jika tidak, deskripsi mustahil dilakukan. Jika ya, akan menghitung konstanta c
x
ϵ ʑ
q
, seperti ∑
x
ϵẊ c
x
R
x
= 1,0,...,0.
3.
Hasil deskripsinya sebagai berikut:
a.
Untuk setiap x ϵ Ẋ, decx =
� χe H u ,C ,x � ��π x ,u,C ,x
.
b.
U
u
hitung MSG = C II
x
ϵ Ẋdecx.
2.8 Atributt Based Signature ABS