BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA

advertisement
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
BAB III
PEMBENTUKAN
SKEMA
PEMBAGIAN
RAHASIA
3.1 Pengkodean Matriks Ketetanggaan
Matriks ketetanggaan A adalah matriks simetri, sehingga, dengan memilih semua
elemen pada diagonal utama dan elemen-elemen dibawah diagonal utama, maka
akan didapatkan gambaran matiks secara keseluruhan. Karena itu, dapat ditulis
sebagai suatu barisan bilangan a21a31a32a41a42a43...am(m-1)a11a22a33...amm dimana
bagian pertama (a21a31a32a41a42a43...am(m-1)) berkorespondensi pada semua elemen
dibawah
diagonal
utama,
dan
bagian
selanjutnya
(a11a22a33...amm)
berkorespondensi dengan diagonal utama. Sebagai contoh perhatikan graf dan
pewarnaannya pada Gambar 3.
v1 warna 0
v4 warna 1
v2 warna 0
v3 warna 2
Gambar 3.1
Karena a21 a31 a32 a41 a42 a43 a11a22 a33 a44 = 0 1 1 1 0 1 0 0 2 1, diperoleh
m = 0111010021.
10
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
3.2 Pengelompokan Titik Pada Graf Terwarnai
Mewarnai suatu graf G menjadi graf n-terwarnai ekivalen dengan mempartisi
titik-titik pada graf G menjadi n himpunan, sedemikian sehingga setiap titik di
satu himpunan tidak terhubung.
Definisi 3.1 Derajat kebebasan suatu titik pada graf G untuk suatu pewarnaan
tertentu adalah jumlah warna minimal yang dapat digunakan untuk mewarnai titik
tersebut sehingga tidak ada dua titik yang bertetangga menggunakan warna yang
sama.
Setiap titik-titik pada graf G dengan χ (G ) = n dapat dikelompokkan ke dalam
jenis berikut ini :
1. Titik jenis pertama
Merupakan titik dengan derajat kebebasan sama dengan 1. Pada setiap
kemungkinan pewarnaan graf, titik jenis pertama ini selalu memiliki
derajat kebebasan yang tetap, yaitu 1. Sebagai contoh yaitu titik-titik pada
graf lengkap Kn.
2. Titik jenis kedua
Merupakan titik-titik dengan derajat kebebasan sama dengan y, dimana
1 < y < n ; y ∈ , pada setiap pewarnaan graf tersebut.
warna-2
v2
v4
v1
v3
warna-2/3
warna-1
warna-3
Gambar 3.2
11
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
Graf G pada Gambar 3.2 diatas mempunyai titik jenis kedua, yakitu v4
dengan derajat kebebasan 2. Karena itu, matriks ketetanggaan spesial A*
dari graf G diatas adalah
v1
v2
v3
v4
v1 v2
1 1
1 2
1 1
1 0
v3
1
1
3
0
v4
1
0
0
2/3
3. Titik jenis ketiga
Merupakan titik dengan derajat kebebasannya berubah, sesuai dengan pola
pewarnaan yang diberikan.
warna 1
v1
warna3
v3
warna1
v1
warna1
v3
warna 2
warna 2
v2
v2
warna 3
warna 1
v4
v6
warna 3
warna 3
v6
v4
v5
warna 1/2
v5
warna 2
(a)
(b)
Gambar 3.3
Pada graf diatas, titik v5 merupakan titik jenis ketiga, karena derajat
kebebasan titik tersebut berubah sesuai dengan pola pewarnaan yang
diberikan. Pada Gambar 3.3 (a) derajat kebebasan v5 adalah 1, sedangkan
pada gambar 3.3 (b) derajat kebebasan v5 adalah 2.
12
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
Matriks ketetanggaan spesial A* dari graf diatas adalah
v1
v2
v3
v4
v5
v6
v1 v2
1 1
1 2
0 1
0 1
0 0
1 1
v3
0
1
3
1
0
0
v4
0
1
1
1
1
0
v5
0
0
0
1
2
1
v6
1
1
0
0
1
3
v1
v2
v3
v4
v5
v6
v1 v2
1 1
1 2
0 1
0 1
0 0
1 1
v3
0
1
1
1
0
0
v4 v5 v6
0
0
1
1
0
1
1
0
0
3
1
0
1 1/ 2 1
0
1
3
(b)
(a)
3.3 Graf Tereduksi
Untuk setiap graf G, dapat dibentuk subgraf yang hanya terdiri atas titik-titik jenis
pertama. Untuk setiap subgraf , kita dapat memperoleh himpunan titik minimal
yang menentukan n-terwarnai dari subgraf tersebut. Oleh karena itu, titik-titik ini
dapat direduksi menjadi himpunan yang lebih kecil. Struktur (bagian) dari graf
yang tereduksi merupakan sebuah himpunan titik jenis pertama minimal yang
menentukan n-terwarnai pada graf terhubung yang dibentuk oleh titik-titik jenis
pertama.
warna 3
v4
warna 1
v1
warna 1
v1
v3
v6
warna 2 warna 3
warna 2
v2
warna 2
v2
direduksi menjadi
v3
warna 3
v5
warna 1
Gambar 3.4
13
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
3.4 Menetukan Rahasia (encoding) dari Graf Terwarnai
Graf yang akan digunakan dalam membentuk skema pembagian rahasia yang
diinginkan adalah graf yang terdiri atas titik jenis pertama dan kedua. Dengan
menentukan suatu pewarnaan-n dari graf tersebut, diperoleh n himpunan titik
dimana titik-titik dalam satu himpunan tidak terhubung.
Terdapat dua bagian terpisah dari rahasia yang dapat dibagi, yaitu bagian yang
dibentuk oleh titik-titik jenis pertama dan bagian yang dibentuk oleh titik-titik
jenis kedua. Jika hanya satu bagian yang diketahui, maka sisanya masih tetap
merupakan suatu rahasia, meskipun peluang untuk memecahkan rahasia tersebut
akan semakin besar.
3.4.1 Membagi titik-titik jenis pertama
Sebagai langkah awal, tentukan bagian tereduksi untuk titik-titik jenis pertama
dari graf G. Masing-masing titik vi , i = 1, 2,..., n dari bagian tereduksi ditandai
dengan warna s dimana s ∈ k , k > χ ( G ) = n . Tentu, hanya n buah dari k warna
yang dapat digunakan. Dalam hal ini, rahasia yang akan dibagi menggunakan satu
⎛k ⎞
dari ⎜ ⎟ n ! pola pewarnaan yang mungkin.
⎝n⎠
Bagian tereduksi dapat dituliskan dalam bentuk suatu vektor dari n bilangan,
S n = {s1 , s2 ,..., sn }
dimana
s j ∈ k , j = 1, 2,..., n
adalah warna-warna yang
digunakan untuk mewarnai titik-titik pada bagian tereduksi, titik-titik ditulis
berurutan sesuai dengan indeks i.
Algoritma 1: Enkripsi titik-titik jenis pertama.
1. Diketahui pewarnaan-n titik dari graf G
2. Tentukan bagian tereduksi untuk titik-titik jenis pertama dari graf G.
3. Susun warna-warna yang digunakan secara berurutan sesuai dengan
bilangan asli . Kemudian, nomori dengan bilangan dari himpunan
14
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
{0,1,..., n − 1} .
Ini dilakukan mulai dari elemen terkecil pada himpunan
⎛k ⎞
⎜ ⎟ kombinasi warna yang digunakan. Dengan demikian,
⎝n⎠
diperoleh
pemetaan dari k ke n .
4. Selesai.
3.4.2 Membagi titik-titik jenis kedua
Jika pola pewarnaan titik-titik jenis kedua (satu bagian dari rahasia) diketahui,
maka n warna yang digunakan dari k warna yang tersedia dapat diketahui. Untuk
menghindari ini, warna-warna dari k harus digantikan oleh warna-warna dari
n . Ini dilakukan dengan menggunakan pemetaan k pada n yang diperoleh
untuk titik jenis pertama sebelumnya.
Untuk titik-titik jenis kedua, definisikan:
a. ni adalah jumlah warna yang tidak boleh digunakan oleh titik tertentu vi .
Ini ditentukan dengan memeriksa titik-titik jenis pertama yang bertetangga
dengan vi . Dengan jelas, setiap warna yang digunakan untuk menandai
setiap titik yang bertetangga dengan vi tidak terdapat pada daftar warna
yang tersedia.
b. li adalah banyaknya warna yang tersedia untuk mewarnai titik-titik vi ,
li = n − ni
c. li = {0,1, 2,..., li − 1}
d. Ci adalah himpunan li warna dari n yang tersedia untuk titik vi .
e. w adalah banyaknya titik-titik jenis kedua di graf G.
Sesuai dengan kenyataan bahwa graf G adalah n-terwarnai dengan menggunakan
warna-warna di n , maka masing-masing titik vi telah diwarnai oleh salah satu
15
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
warna dari Ci . Catat bahwa Ci = li sehingga pemetaan satu-satu antara li dan
Ci dapat didefinisikan.
Algoritma 2: pemetaan satu-satu antara li dan Ci .
Untuk setiap titik jenis kedua vi lakukan:
1. Susun elemen dari li dan Ci secara monoton naik sesuai dengan
bilangan asli .
2. Setelah elemen di
li
dan
Ci
disusun, mereka dapat dilabeli
(enumerated). Ini dilakukan dengan diawali dari elemen terkecil di Ci dan
menggunakan bilangan berurutan dari
{0,1, 2,..., li − 1} untuk
menyusun
elemen Ci secara berurutan.
3. Dengan melakukan langkah 2, pemetaan antara Ci dan {0,1, 2,..., li − 1}
diketahui, sehingga pemetaan antara Ci dan li juga diketahui. Kemudian
masing-masing titik vi dapat dapat diwarnai oleh warna-warna dari li .
4. Selesai.
Perhatikan bahwa sebuah warna yang digunakan untuk mewarnai titik-titik jenis
kedua tertentu vi , dapat dikodekan dengan sebarang bilangan dari li dengan
peluang yang sama. Sehingga, titik jenis kedua yang diwarnai dengan
menggunakan li tidak memberikan informasi tentang pengkodean n untuk graf
G.
Sebagaimana yang disampaikan sebelumnya, jika satu bagian dari rahasia
diketahui, maka sisanya masih tetap merupakan suatu rahasia. Akan tetapi,
peluang untuk memecahkan rahasia tersebut akan semakin besar. Berikut akan
dibahas besarnya kemungkinan seseorang dapat mengetahui rahasia secara
keseluruhan ketika salah satu bagiannya (pola pewarnaan untuk salah satu jenis
titik) diketahui.
16
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
1. Jika informasi rahasia untuk titik jenis kedua ditemukan, maka terdapat
⎛k ⎞
setidaknya ⎜ ⎟ n ! kemungkinan pola pewarnaan untuk titik jenis pertama.
⎝n⎠
Hal ini disebabkan karena tidak ada informasi tentang pemilihan n warna
dari k warna yang tersedia untuk graf G yang dapat diambil dari pola
pewarnaan titik jenis kedua yang diketahui.
2. Jika informasi rahasia untuk titik jenis pertama diketahui, maka terdapat
n
∏ a kemungkinan pola pewarnaan titik jenis kedua, dimana a
i =1
i
i
= li untuk
titik jenis kedua dan ai = 1 untuk lainnya. Dengan mengetahui pola
pewarnaan titik jenis pertama seseorang dapat menentukan warna-warna
yang dapat digunakan oleh masing-masing titik jenis kedua, tapi tidak ada
informasi tentang warna mana yang dipilih.
Berikut ini akan diberikan contoh mengenkripsi pola pewarnaan dari suatu graf.
Graf 3-terwarnai dengan warna-warna yang digunakan berasal dari 10
5 v1
2 v2
2 v3
5 v4
5 v6
6 v7
5 v8
6 v5
matriks
v1
v1 5
v2 0
v3 1
v4 0
v5 0
v6 0
v7 0
v8 0
A*
v2
0
2
0
1
0
0
0
0
v3
1
0
2
1
0
1
1
0
v4
0
1
1
5
1
0
1
0
v5
0
0
0
1
6
0
0
0
v6
0
0
1
0
0
5
1
0
v7
0
0
1
1
0
1
6
1
v8
0
0
0
0
0
0
1
5
Gambar 3.5
Matriks A* memberikan barisan 010011000100100001101000000152256565.
17
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
Langkah 1.
Titik-titik jenis pertama: v3, v4, v6, v7 memberikan bentuk tereduksi v3, v4, v7.
pemetaan 10 pada 3 didefinisikan sebagai v3 = 0, v4 = 1, v7 = 2 (semuanya dari
3 ), mengakibatkan 2 → 0,5 → 1, 6 → 2 . Sehingga pengkodean 3 untuk graf G
adalah v3v4 v7 → 012 .
Langkah 2.
Titik jenis kedua: v1, v2, v5, v8, penempatan warna dari 10 ke 3 adalah
v1 = 5 → 1, v2 = 2 → 0, v5 = 6 → 2, v8 = 5 → 1 . Karena itu, v1v2 v 5 v8 berkorespondensi dengan 1021 di pengkodean 3 .
Himpunan bilangan anggota 3 yang tidak boleh digunakan oleh masing-masing
titik adalah v1 {0} , v2 {1} , v5 {1} , v8 {2} . Himpunan bilangan anggota 3 yang dapat
digunakan oleh masing-masing titik adalah v1 ∈ C1 = {1, 2} , v2 ∈ C2 = {0, 2} ,
v5 ∈ C5 = {0, 2} , v8 ∈ C8 = {0,1} . Pada contoh ini l i = 2 untuk masing-masing titik
v1, v2, v5, v8 sehingga l i = 2 .
Langkah 3.
•
Pemetaan 3 → 2
untuk v1 mendefinisikan
2
untuk v2
{1, 2} → {0,1}
sehingga
1 → 0, 2 → 1 ,
•
Pemetaan 3 → dan v5 mendefinisikan
{0, 2} → {0,1}
sehingga 0 → 0, 2 → 1 ,
•
Pemetaan 3 → 2
untuk v8 mendefinisikan
{0,1} → {0,1}
sehingga
0 → 0,1 → 1 .
Akhirnya, v1v2 v 5 v8 berkorespondensi dengan 0011 dalam pengkodean 2 . Oleh
karenanya, untuk graf G yang diketahui diatas, rahasia yang akan dibagi adalah
18
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
0011256, dengan 0011 berkorespondensi dengan titik-titik jenis kedua dan 256
berkorespondensi dengan titik-titik jenis pertama.
Banyaknya cara yang harus dilakukan seseorang untuk mengetahui rahasia secara
keseluruhan ketika salah satu bagiannya diketahui adalah:
⎛10 ⎞
Kasus I ⎜ ⎟ 3! = 6! = 720
⎝3⎠
Kasus II, terdapat empat titik jenis kedua v1, v2, v5, v8 dengan l i = 2 untuk setiap
8
titik, sehingga
∏a
i =1
i
= 24 = 16 .
Pada kedua kasus tersebut, banyaknya cara yang harus dilakukan seseorang untuk
mengetahui rahasia tidak terlihat terlalu mengesankan. Akan tetapi, pada kasus
secara umum nilai tersebut dapat diperbesar sesuai dengan banyaknya warna serta
graf yang digunakan.
3.5 Pembuatan Skema Pembagian Rahasia
Rahasia yang akan dibagi dengan menggunakan skema pembagian rahasia
merupakan pola pewarnaan dari graf yang telah dienkripsi sebelumnya.
Sebagaimana yang telah disampaikan pada bab sebelumnya, skema pembagian
rahasia yang akan digunakan adalah KGH (Karnen-Greene-Hellman). Pada
metode KGH ini, rahasia yang akan dibagi merupakan suatu vektor dengan
panjang η.
Berdasarkan proses enkripsi yang telah dilakukan sebelumnya, vektor rahasia
yang akan kita bagi pada kasus ini diperoleh dari titik-titik jenis kedua serta titiktitik pada bagian tereduksi dari graf. Panjang vektor rahasia, η, merupakan jumlah
titik-titik jenis kedua dan titik-titik tereduksi tersebut. Share yang akan dibagikan
kepada partisipan adalah vektor dengan panjang yang sama dengan vektor rahasia
19
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
dimana elemen-elemennya merupakan anggota himpunan
k
dengan k
merupakan bilangan yang lebih besar dari elemen terbesar pada vektor rahasia.
Misalkan banyaknya partisipan yang akan memperoleh share adalah t. Untuk t-1
buah share dapat diperoleh dengan membentuk vektor panjang η yang elemenelemennya anggota k secara acak. Sedangkan untuk share yang ke t dapat
diperoleh dengan mengurangi vektor rahasia dengan jumlah t-1 buah share yang
telah ada dalam modulo k.
Untuk contoh yang dibahas sebelumnya, vektor rahasia yang diperoleh adalah
S = ( 0, 0,1,1, 2,5, 6 ) . Dapat dipilih nilai k = 9 > max ( 0, 0,1,1, 2,5, 6 ) . Misalkan
banyaknya pertisipan yang akan memperoleh share adalah t = 10, maka
S1 =(1,2,6,2,1,3,3), S2 =(0,4,0,7,0,2,8), S3 =(3,6,2,6,7,6,2), S4 =(1,2,4,2,7,2,4),
S5 =(1,7,2,6,8,4,7), S6 =(7,0,1,1,4,0,5), S7 =(0,6,5,6,6,5,1), S8 =(6,4,3,7,8,4,1),
S9 =(6,5,8,5,8,2,6), S10 =(2,0,6,4,7,4,5),
dapat menjadi salah satu skema pembagian rahasia KGH, kerena jumlah dari
semua vektor tersebut dalam 9 adalah S = ( 0, 0,1,1, 2,5, 6 ) .
3.6 Proses Memecahkan Rahasia (decoding)
Untuk memecahkan rahasia, algoritma dibawah ini dapat diterapkan.
Algoritma 3 : memecahkan rahasia
1. Partisipan yang berhak mengetahui rahasia mengumpulkan share mereka,
sehingga rahasia dari graf G (0011256 untuk contoh diatas) diketahui.
2. Rahasia digunakan untuk:
a. menetapkan warna-warna dari k untuk bagian tereduksi. Ini juga
dapat memberikan pola pewarnaan dengan menggunakan n
(ingat bahwa kedua himpunan berurutan sesuai bilangan asli).
20
BAB III PEMBENTUKAN SKEMA PEMBAGIAN RAHASIA
b. Setelah
pola
pewarnaan
bagian
tereduksi
diketahui,
pola
pewarnaan semua titik jenis pertama diketahui.
c. Tetapkan warna-warna dari li untuk titik-titik jenis kedua.
3. Dengan menggunakan pola pewarnaan pada titik jenis pertama, Ci untuk
setiap titik jenis kedua dapat diketahui.
4. Untuk masing-masing titik jenis kedua, tentukan warna n nya, dengan
menggunakan li dan Ci. Ingat bahwa keduanya terurut sesuai dengan
bilangan asli.
5. Untuk setiap titik jenis kedua, periksa pemetaan k → n
dan warna-
warna yang digunakan yang berasal dari k .
Dengan menjalani prosedur secara lengkap, rahasia dapat diketahui..
21
Download