Analisis Keamanan Pada Kombinasi Protokol Secret Sharing Dan Three-Pass

BAB 2
TINJAUAN PUSTAKA

Dalam bab ini akan dibahas mengenai tinjauan pustaka yang berkaitan dengan
penelitian ini. Adapun yang akan dibahas antara lain: keamanan informasi, kriptografi,
protokol kriptografi, serangan terhadap kriptografi, dan penelitian terdahulu.
2.1.

Keamanan Informasi

Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting, kemampuan
dalam mengakses dan menyediakan sebuah informasi secara cepat dan akurat menjadi
sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan
maupun individual (Rahardjo, 2005). Karena pentingnya sebuah informasi, seringkali
informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak
penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang
tidak diinginkan akan berdampak kerugian pada pihak pengirim. Untuk itu diperlukan
sebuah pendekatan dalam melakukan pengamanan pada informasi, seperti melakukan
teknik kriptografi terhadap informasi tersebut.

2.2.


Kriptografi

Menurut Stallings (2012) kriptografi adalah studi yang mempelajari mengenai
banyaknya skema yang digunakan pada proses enkripsi dan dekripsi. Skema tersebut
dikenal sebagai sistem kriptografi.
Kriptografi terbagi atas dua kategori yaitu kriptografi klasik dan kriptografi
modern. Kriptografi klasik adalah sistem kriptografi yang menggunakan penyandian
kunci simetris dan menggunakan metode pergeseran huruf atau substitusi, misalkan
huruf A digeser satu kali kekanan, akan menjadi huruf B. Metode lainnya adalah
pertukaran huruf atau transposisi, misalkan huruf A ditukar dengan huruf Q.
Sedangkan kriptografi modern adalah sistem kriptografi yang menggunakan
penyandian kunci asimetris (Stallings, 2011).

Universitas Sumatera Utara

4

a)


Penyandian dengan kunci simetris

Penyandian dengan kunci simetris adalah penyandian yang pada proses enkripsi dan
dekripsinya menggunakan satu kunci yang sama. Kunci yang digunakan pada proses
enkripsi dan dekripsi bersifat rahasia yang diketahui oleh masing-masing pengirim
dan penerima. Beberapa jenis kriptografi dengan penyandian kunci simetris antara lain
One-Time Pad, Data Encryption Standard (DES), 3DES, Advance Encryption
Standard (AES), Blowfish dan International Data Encryption Algorithm (IDEA). Pada
penelitian ini akan digunakan One-Time Pad.

b)

Penyandian dengan kunci asimetris

Penyandian dengan kunci asimetris atau sering juga disebut dengan kunci publik
adalah penyandian yang pada proses enkripsi dan dekripsinya memiliki 2 (dua) kunci
yang berbeda. Pada kunci yang digunakan untuk enkripsi bersifat publik (public key).
Sedangkan kunci yang digunakan untuk dekripsi bersifat rahasia (private key).
Beberapa jenis kriptografi dengan penyandian kunci asimetris antara lain RSA, DiffieHelman, ELGamal, dan Knapsack.


2.2.1. One-Time Pad
One-Time Pad merupakan salah satu dari Sistem Kriptografi Klasik berbasis subtitusi,
ditemukan oleh Major Joseph Mauborgne pada tahun 1917. Proses kerja Sandi OneTime Pad menggunakan kunci dengan karakter acak untuk semua teks asli, kunci yang
acak tersebut hanya digunakan sekali saja dan panjang kuncinya sama dengan panjang
teks asli, sehingga akan semakin menyulitkan kriptoanalis (Kahn, 1967).
Formula dari Sandi One-Time Pad adalah (Kahn, 1967)
Enkripsi:
c i = (p i + k i ) mod 255

(1)

p i = (c i - k i ) mod 255

(2)

Dekripsi:

Penjelasan:
c


=

Ciphertext

p

=

Plaintext

k

=

Kunci enkripsi

Universitas Sumatera Utara

5


i

=

255 =

Karakter ke-i dari n panjang pesan.
Batasan, sehingga hasil enkripsi maupun dekripsi tidak melebihi
255. 255 adalah jumlah dari karakter ASCII (American Standard
Code for Information Interchange) dimana ASCII umumnya
digunakan dalam pertukaran pesan.

Berikut ini adalah contoh kriptografi One-Time Pad dalam mengenkripsi sebuah
pesan.
p = “CRYPTO”
Ubah p kedalam bentuk ASCII:
p = 67 83 89 80 84 79
k = 70 75 83 78 64 58

Enkripsi: c i = (p i + k i ) mod 255

c 1 = (67+70) mod 255 = 137

=

ë

c 2 = (83+75) mod 255 = 158

=

×

c 3 = (89+83) mod 255 = 172

=

¼

c 4 = (80+78) mod 255 = 158


=

×

c 5 = (84+64) mod 255 = 148

=

ö

c 6 = (79+58) mod 255 = 137

=

ë

p 1 = (137-70) mod 255 = 67

=


C

p 2 = (158-75) mod 255 = 83

=

R

p 3 = (172-83) mod 255 = 89

=

Y

p 4 = (158-78) mod 255 = 80

=

P


p 5 = (148-64) mod 255 = 84

=

T

p 6 = (137-58) mod 255 = 79

=

O

c = ë×¼× ö ë
ubah c kedalam bentuk ASCII:
c = 137 158 172 158 148 137
k = 70 75 83 78 64 58

Dekripsi : p i = (c i - k i ) mod 255

Universitas Sumatera Utara


6

Shannon (1949) menyatakan, One Time Pad dapat dikatakan sebagai kriptografi
simetris yang sangat aman jika menggunakan bilangan acak, yang hanya digunakan
sekali sebagai kunci pesan. Untuk memenuhi syarat tersebut, diperlukan sebuah
algoritma pembangkit bilangan acak, salah satunya adalah algoritma Linear
Congruential Generator.

2.2.2. Algoritma LCG (Linear Congruential Generators)
Algoritma LCG atau Linear Congruential Generators adalah algoritma yang
umumnya digunakan untuk pembangkit bilangan acak (Knuth, 1997), dengan formula
sebagai berikut:
X n+1 = (aX n + c) mod m

(3)

Penjelasan:
X


=

Bilangan awal.

a

=

Bilangan pengali.

c

=

Bilangan inkremen.

m

=

Modulus.

n

=

Sekuensial dari bilangan acak.

Terdapat beberapa syarat agar bilangan acak yang dihasilkan dapat digunakan
dalam kriptografi, yaitu sebagai berikut (Severance, 2001):
1.

Nilai pada variabel m dan c relatif prima.

2.

Misalkan p adalah faktor prima dari m. maka nilai a harus memenuhi a ≡ 1 (mod
p)
Keuntungan dari liniear congruential generators adalah proses pembangkitan

bilangan acak yang cepat, karena hanya membutuhkan beberapa operasi per bit
(Schneier, 1996). Namun, algoritma pembangkit bilangan acak ini akan menghasilkan
bilangan acak yang sama jika dilakukan kembali untuk membangkitkan bilangan acak,
sehingga membuat bilangan acak ini dapat ditebak.
Pada penelitian ini algoritma LCG akan dikombinasikan dengan waktu dalam
satuan milidetik, dimana untuk setiap bilangan acak yang dihasilkan akan
ditambahkan dengan milidetik saat ini. Dengan demikian hasil bilangan acak yang

Universitas Sumatera Utara

7

dihasilkan pada sekali proses akan berbeda dengan bilangan acak pada proses
berikutnya.
Berikut ini adalah formula dari LCG setelah ditambahkan variabel waktu:
X n+1 = (a * X n + c + t) mod m

(4)

Contoh:
m

=

25

a

=

11

c

=

17

X

=

1

t

=

Milidetik saat ini

Dimana:
-

25 dan 17 adalah relatif prima, karena faktor pembagi terbesar dari dua bilangan
tersebut adalah 1, maka nilai m dan c memenuhi syarat.

-

Faktor prima dari 25 adalah 5, sehingga 11 mod 5 ≡ 1, maka nilai a memenuhi
syarat.

Pengujian LCG dengan kombinasi waktu
X n+1 = (aX n + c + t) mod m
n=0, X 0 =1, X 0+1 = ((11 * 1) +17 + 514942 mod 25 = 20
n=1, X 1 =20, X 1+1 = ((11 * 20) +17 + 515020 mod 25 = 7
n=2, X 2 =7, X 2+1 = ((11 * 7) +17 + 515051 mod 25 = 20
n=3, X 3 = 20, X 3+1 = ((11 * 20) +17 + 515078 mod 25 = 15
n=4, X 4 =15, X 4+1 = ((11 * 15) +17 + 515103 mod 25 = 10

Berdasarkan pengujian, hasil pengujian jika dilakukan berulang kali dimulai dari awal
akan menghasilkan bilangan yang berbeda dikarenakan oleh variabel t yang selalu
berubah setiap milidetiknya.

2.3.

Protokol Kriptografi

Protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih yang
dirancang untuk menyelesaikan suatu tugas (Schneier, 1996). Protokol kriptografi
adalah suatu protokol yang menggunakan kriptografi. Protokol ini melibatkan
sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari

Universitas Sumatera Utara

8

sekedar kerahasiaan. Pihak-pihak yang berpartisipasi mungkin saja ingin membagi
rahasianya, menghitung sebuah nilai, menghasilkan urutan bilangan acak, atau pun
menandatangani kontrak secara bersamaan dimana diperlukan otentikasi identitas
dalam melakukan kontrak.
Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk
mencegah atau pun mendeteksi adanya upaya pencurian informasi dan kecurangan
oleh salah satu pihak yang terlibat (Schneier, 1996). Untuk mengenal suatu protokol
kriptografi, ada beberapa karakteristik yang harus dipenuhi. Adapun karakteristik
protokol menurut (Schneier, 1996) adalah sebagai berikut:
1.

Setiap pihak yang terlibat harus mengetahui protokol yang digunakan dan
mengikuti seluruh tahapannya.

2.

Setiap pihak yang terlibat harus setuju untuk mengikutinya.

3.

Protokol harus tidak ambigu, artinya setiap tahapannya jelas dan tidak ada celah
untuk terjadinya kesalahpahaman.

4.

Protokol harus sempurna, dimana harus ada langkah yang spesifik untuk setiap
situasi.

Schneier (1996) juga menyatakan, protokol kriptografi terbagi atas beberapa
sistem berdasarkan fungsinya dalam mengamankan sebuah informasi, antara lain:
1.

Key Exchange
Pada protokol ini setiap pengguna melakukan pertukaran kunci dengan
menerapkan sistem kriptografi, seperti kriptografi simetris, asimetris dan digital
signature terhadap kunci yang digunakan dalam pesan yang terenkripsi. Salah
satu algoritma yang digunakan dalam protokol ini adalah Three-Pass, dimana
algoritma ini akan melakukan pertukaran pesan tanpa melakukan pertukaran
kunci.

2.

Authentication
Pada protokol ini dilakukan pengujian terhadap pengguna sistem untuk
membuktikan bahwa pengguna tersebut memiliki hak atas sistem yang
digunakan.

Universitas Sumatera Utara

9

3.

Authentication and Key Exchange
Protokol ini adalah kombinasi dari key exchange dan authentication, protokol ini
berfungsi untuk melakukan pertukaran kunci antara dua pihak secara aman, serta
melakukan autentikasi terhadap pihak yang melakukan pertukaran kunci tersebut.

4.

Multiple-Key Public-Key Cryptography
Protokol ini hampir mirip dengan key exchange, perbedaanya adalah protokol ini
menggunakan lebih dari dua buah kunci, sedangkan key exchange hanya
menggunakan satu kunci public dan satu kunci private. Sehingga protokol ini
dapat digunakan oleh dua atau lebih penerima dimana setiap penerima memiliki
kunci publiknya masing-masing untuk membuka pesan terenkripsi.

5.

Secret Splitting
Andaikan Alice ingin membagikan pesan M kepada Bob dan Trent. Protokol ini
digunakan untuk membagi pesan dengan cara melakukan XOR terhadap pesan M,
dengan bilangan acak R yang panjangnya sama dengan M, dengan hasil XOR
adalah S. Kemudian Bob akan menerima S dan Trent akan menerima R. Untuk
dapat membaca pesan dari Alice, Bob dan Trent diharuskan untuk melakukan
XOR kembali atas S dan R yang mereka terima.

6.

Secret Sharing
Protokol ini hampir mirip dengan proses pada Secret Sharing, akan tetapi
protokol ini dapat digunakan oleh lebih dari dua penerima, dan protokol ini tidak
menggunakan XOR untuk membagikan pesan melainkan polinomial.

2.3.1. Secret Sharing
Suatu pesan atau informasi rahasia jika hanya dipegang oleh satu orang atau satu
pihak akan meningkatkan resiko keamanan. Salah satu cara untuk mengatasi
permasalahan ini adalah dengan melakukan pemecahan (split) pada informasi rahasia
tersebut kedalam beberapa bagian. Secret sharing merupakan suatu metode untuk
melakukan split informasi tersebut kedalam beberapa bagian yang disebut bagian
(shares), untuk dibagikan kepada beberapa penerima (participants), dengan suatu
aturan

tertentu

(Shamir,

1979).

Secret

sharing

juga

menangani

masalah

pendistribusian kunci rahasia yang telah dibagi dengan mengijinkan t dari n pengguna
dimana t ≤ n untuk melakukan kunci awal. Skema secret sharing diperkenalkan oleh
Blakley dan Shamir sebagai solusi untuk mengamankan kunci kriptografi. Secret

Universitas Sumatera Utara

10

sharing dapat juga digunakan untuk situasi apapun dimana akses kepada informasi
harus terbatas, atau harus memiliki izin terlebih dahulu.
Menurut Shamir (1979), secret sharing ideal untuk diaplikasikan pada sebuah
grup yang setiap anggotanya saling mencurigakan akan tetapi setiap anggota itu harus
dapat bekerja sama. Secret sharing memanfaatkan algoritma dari polinomial,
polinomial umumnya digunakan untuk mencari sebuah nilai P(x) yang dilalui oleh
sejumlah titik-titik data (x i , y i ), dimana x=0 adalah secret tersebut. Variabel yang
terdapat dalam protokol ini memiliki fungsinya masing-masing seperti berikut ini:
1.

t = jumlah bagian yang diperlukan agar pesan dapat dibaca. t harus lebih kecil
atau sama dengan n (t ≤ n).

2.

n = jumlah bagian dari pesan.

3.

k = koeffisien yang digunakan untuk membangkitkan polinomial, dengan jumlah
k = t-1 (k 1 , k 2 , ... , k t-1 ) dengan setiap k adalah bilangan acak.

4.

m = variebel pesan berupa bilangan desimal.

5.

p = bilangan prima yang lebih besar dari total varibel t, n dan m . Jika p yang
digunakan lebih kecil dari total variabel t, n dan m, maka hasil dari kalkulasi akan
salah.

Berikut ini adalah formula dari polinomial yang digunakan dalam protokol secret
sharing untuk melakukan pemecahan secret:
P n = m + k 1 (n) + k 2 (n)2 + ... + k t-1 (n)t-1 mod p

(5)

Proses kerja dari protokol ini adalah:
1.

Pesan dibagi menjadi n buah bagian (P 1 , P 2 , ... , P n ), yang disebut sebagai
bayangan (shadow) atau bagian (share).

2. Bagian-bagian tersebut dibagikan kepada n orang, dengan setiap orang
mendapatkan satu bagian yang berbeda-beda.
3.

Tentukan nilai t sehingga diperlukan t buah bagian pesan agar dapat menyusun
kembali pesan yang dirahasiakan.

Universitas Sumatera Utara

11

Contoh penerapan secret sharing:
Diberikan m = CRYPTO, yang akan dibagikan kepada 3 orang penerima, maka n = 3,
dan t = 3, dengan demikian share yang dibagikan pada ketiga orang tersebut saling
dibutuhkan agar pesan asli dapat diterima. Koeffisien yang dibutuhkan adalah
sejumlah n-1, yaitu 2 buah koeffisien, adapun k 1 = 7 dan k 2 = 3. Nilai p = 107.
Ubah m kedalam bentuk ASCII.
m = 67 83 89 80 84 79

Kemudian dibentuk polinomial P 1 , P 2 dan P 3 untuk m 1 = 67.
P 1 = 67 + 7(1) + 3(1)2 mod 107 = 77
P 2 = 67 + 7(2) + 3(2)2 mod 107 = 93
P 3 = 67 + 7(3) + 3(3)2 mod 107 = 8

Untuk m 2 = 83.
P 1 = 83 + 7(1) + 3(1)2 mod 107 = 93
P 2 = 83 + 7(2) + 3(2)2 mod 107 = 2
P 3 = 83 + 7(3) + 3(3)2 mod 107 = 24

Untuk m 3 = 89.
P 1 = 89 + 7(1) + 3(1)2 mod 107 = 99
P 2 = 89 + 7(2) + 3(2)2 mod 107 = 8
P 3 = 89 + 7(3) + 3(3)2 mod 107 = 30

Untuk m 4 = 80.
P 1 = 80 + 7(1) + 3(1)2 mod 107 = 90
P 2 = 80 + 7(2) + 3(2)2 mod 107 = 106
P 3 = 80 + 7(3) + 3(3)2 mod 107 = 21

Untuk m 5 = 84.
P 1 = 84 + 7(1) + 3(1)2 mod 107 = 94
P 2 = 84 + 7(2) + 3(2)2 mod 107 = 3
P 3 = 84 + 7(3) + 3(3)2 mod 107 = 25

Universitas Sumatera Utara

12

Untuk m 6 = 79.
P 1 = 79 + 7(1) + 3(1)2 mod 107 = 89
P 2 = 79 + 7(2) + 3(2)2 mod 107 = 105
P 3 = 79 + 7(3) + 3(3)2 mod 107 = 20

Kemudian dari setiap huruf yang dipecahkan untuk 3 orang penerima tersebut
digabungkan, sehingga masing-masing mendapatkan sebagai berikut:
Penerima pertama mendapatkan share berupa sekumpulan P 1 = 77, 93, 99, 90, 94, 89
Penerima kedua mendapatkan share berupa sekumpulan P 2 = 93, 2, 8, 106, 3, 105
Penerima ketiga mendapatkan share berupa sekumpulan P 3 = 8, 24, 30, 21, 25, 20
Untuk dapat membentuk kembali m, akan dilakukan pembentukan ulang share
yang didapat oleh setiap penerima kedalam bentuk awal fungsi polinomial
sebelumnya untuk setiap m i . seperti berikut ini.
m i = {(1, P 1) , (2, P 2) , (3, P 3 )}
m 1 = {(1, 77), (2, 93), (3, 8)}
m 2 = {(1, 93), (2, 2), (3, 24)}
m 3 = {(1, 99), (2, 8), (3, 30)}
m 4 = {(1, 90), (2, 106), (3, 21)}
m 5 = {(1, 94), (2, 3), (3, 25)}
m 6 = {(1, 89), (2, 105), (3, 20)}

(xi, yi ) .

Sehingga dapat dilihat setiap m i berupa titik-titik kordinat, dimana titik
kordinat ini disebut sebagai

Sekumpulan titik-titik kordinat tersebut akan

digunakan kedalam fungsi interpolasi lagrange untuk mendapatkan titik data pesan
awal, atau dalam hal ini adalah secret. Interpolasi polinomial lagrange diterapkan
untuk mendapatkan fungsi polinomial P(x) berderajat tertentu yang melewati sejumlah

(x1, y1), (x 2, y 2 ) .

titik data. Misalnya akan dicari P(x) berderajat satu yang melewati 2 buah titik, yaitu
Adapun formula dari interpolasi polinomial lagrange order n yang

digunakan dalam secret sharing adalah sebagai berikut (Shamir, 1979).

Universitas Sumatera Utara

13

Pn( x) = ∑ yiLi ( x) mod p
n

(6)

i =0

dengan

Li ( x ) = ∏
n

j =0
j ≠i

x − xj
xi − xj

(7)

Berdasarkan formula dari interpolasi polinomial diatas, diberikan titik-titik
untuk m 1 , sehingga terbentuk fungsi polinomial berderajat 2 sebagaimana berikut ini.
Untuk m 1 = {(1, 77), (2, 93), (3, 8)}
x 0 = 1, y 0 = 77
x 1 = 2, y 1 = 93
x 2 = 3, y 2 = 8
p = 107

L 0( x) = ( x − x1)( x − x 2)

L1( x) = ( x − x 0)( x − x 2)
L 2( x) = ( x − x 0)( x − x1)

 L 0( x)
L1( x)
L 2( x) 
 mod p
P( x) =  y 0
+ y1
+ y2
L1( x1)
L 2( x 2) 
 L 0( x 0)

( x − x1)( x − x 2)
( x − x 0)( x − x 2)
( x − x 0)( x − x1) 
 mod107
+ 93
+8
P( x) =  77
0
1
0
2
1
0
1
2
2
0
2
1
(
)(
)
(
)(
)
(
)(
)






x
x
x
x
x
x
x
x
x
x
x
x



 ( x − 2)( x − 3)
( x − 1)( x − 3)
( x − 1)( x − 2) 
 mod107
+ 93
+8
P( x) =  77
(2 − 1)(2 − 3)
(3 − 1)(3 − 2) 
 (1 − 2)(1 − 3)
( x − 1)( x − 3)
( x − 1)( x − 2) 
 ( x − 2)( x − 3)
+ 93
+8
P( x) =  77
 mod107
−1
2
2



Kemudian diketahui bahwasanya P(0) adalah nilai dari secret. Maka, bentuk
diatas dimasukkan nilai x=0.

Universitas Sumatera Utara

14

(0 − 1)(0 − 2) 
(0 − 1)(0 − 3)
 (0 − 2)(0 − 3)
+8
P(0) =  77
+ 93
 mod 107
−1
2
2


2
3
 6
P (0) =  77 + 93
+ 8  mod 107
−1
2
 2
P (0) = ((77 × 3) + (93 × (−3)) + (8 × 1)) mod 107
P (0) = (231 + (−279) + 8) mod 107
P(0) = −40 + 107 mod 107
P(0) = 67

Jika P(0) < 0, maka ditambah terlebih dahulu dengan p kemudian dimodulokan
dengan p. Dengan cara yang sama dilakukan juga untuk m 2 , m 3 , m 4 , m 5 , dan m 6 .

Untuk m 2 = {(1, 93), (2, 2), (3, 24)}

(0 − 1)(0 − 2) 
(0 − 1)(0 − 3)
 (0 − 2)(0 − 3)
P (0) =  93
+2
+ 24
 mod 107
−1
2
2


P (0) = 297 mod 107
P (0) = 83

Untuk m 3 = {(1, 99), (2, 8), (3, 30)}

(0 − 1)(0 − 3)
(0 − 1)(0 − 2) 
 (0 − 2)(0 − 3)
+8
P (0) =  99
+ 30
 mod 107
−1
2
2


P (0) = 303 mod 107
P (0) = 89

Untuk m 4 = {(1, 90), (2, 106), (3, 21)}

(0 − 1)(0 − 3)
(0 − 1)(0 − 2) 
 (0 − 2)(0 − 3)
+ 106
+ 21
P (0) =  90
 mod 107
2
2
−1


P (0) = −27 + 107 mod 107
P (0) = 80

Untuk m 5 = {(1, 94), (2, 3), (3, 25)}

(0 − 1)(0 − 3)
(0 − 1)(0 − 2) 
 (0 − 2)(0 − 3)
P (0) =  94
+3
+ 25
 mod 107
−1
2
2


P (0) = 298 mod 107

P (0) = 84

Universitas Sumatera Utara

15

Untuk m 6 = {(1, 89), (2, 105), (3, 20)}

(0 − 1)(0 − 3)
(0 − 1)(0 − 2) 
 (0 − 2)(0 − 3)
+ 105
+ 20
P(0) =  89
 mod 107
2
−1
2


P(0) = −28 + 107 mod 107
P(0) = 79

Dengan demikian dapat diperoleh hasil interpolasi polinomial dari setiap m i sebagai
berikut.
m 1 = {(1, 77), (2, 93), (3, 8)} = 67

=>

C

m 2 = {(1, 93), (2, 2), (3, 24)} = 83

=>

R

m 3 = {(1, 99), (2, 8), (3, 30)} = 89

=>

Y

m 4 = {(1, 90), (2, 106), (3, 21)} = 80 =>

P

m 5 = {(1, 94), (2, 3), (3, 25)} = 84

=>

T

m 6 = {(1, 89), (2, 105), (3, 20)} = 79 =>

O

Kemudian ubah setiap m i kedalam bentuk ASCII untuk mengetahui pesan
yang telah direkonstruksi. Berikut ini adalah gambaran untuk menjelaskan alur dari
protokol secret sharing.

T1 mendapat P1

T1
menggabungkan
P1, P2, P3, P4

P

P = Pesan asli

T2 mendapat P2

T1
menggabungkan
P1, P2, P3, P4

P

P = Pesan asli

T3 mendapat P3

T1
menggabungkan
P1, P2, P3, P4

P

P = Pesan asli

T4 mendapat P4

T1
menggabungkan
P1, P2, P3, P4

P

P = Pesan asli

P = Pesan asli

P1
T = 4 Penerima
T1, T2, T3, T4
P2

P3
P dipecah menjadi t buah
P1, P2, P3, P4
P4

Gambar 2.1 Ilustrasi Skema Protokol Secret Sharing
Dari gambar 2.1 dapat dijelaskan bahwasanya, pesan asli akan dibagi kedalam
t buah atau 4 orang sebagaimana dalam gambar, kemudian pecahan tersebut P1, P2,
P3 dan P4 akan dibagikan masing-masing kepada T1, T2, T3 dan T4. Kemudian agar
T1 dapat mengetahui pesan asli, T1 harus menggabungkan P1 miliknya dengan P2, P3
dan P4 dari masing-masing penerima agar T1 dapat menerima pesan asli dari pengirim
pesan. Begitu juga dengan T2, T3 dan T4.

Universitas Sumatera Utara

16

2.3.2

Three-Pass

Three-Pass merupakan suatu skema pada proses pengiriman dan penerimaan pesan
rahasia, tanpa melakukan pertukaran kunci sehingga pemilik pesan terjaga
kerahasiaanya. Konsep dasar Three-Pass Protocol bahwa masing-masing pihak dapat
melakukan pertukaran pesan tanpa memerlukan pertukaran kunci public atau kunci
private, akan tetapi memerlukan kriptografi simetris dalam mengenkripsi pesan
(Schneier, 1996).
Dalam penelitian ini penulis menerapkan algoritma One Time Pad sebagai
kriptografi simetris. Adapun variabel yang terdapat dalam protokol yang
memanfaatkan One Time Pad sebagai kriptografi simetris adalah sebagai berikut:
1.

A sebagai pengirim

2.

B sebagai penerima

3.

k a adalah kunci simetris A

4.

k b adalah kunci simetris B

5.

m adalah pesan

6.

c 1 , c 2 , adalah pesan terenkripsi dari hasil proses e

7.

c 3 adalah pesan terenkripsi hasil dari proses d

8.

e i adalah proses enkripsi pada karakter ke-i

9.

d i adalah proses dekripsi pada karakter ke-i

10. i adalah inkremen (1, 2, ... , i+1)
11. p adalah batasan.
Formula yang digunakan untuk mengenkripsi adalah:
e i = m i + k i mod p

(8)

d i = e i – k i mod p

(9)

Dan untuk mendekripsi adalah:

Contoh penerapan protokol three-pass:
Bob mengirim pesan, m = C R Y P T O
dengan p = 255 (sebagaimana panjang ASCII, agar hasil enkripsi tidak melebihi
karakter ASCII)
dengan k a = 13, 9, 26, 77, 19, 1
ubah m kedalam bentuk ASCII

Universitas Sumatera Utara

17

m = 67, 83, 89, 80, 84, 79
k a = 13, 9, 26, 77, 19, 1
e 1 = 67 + 13 mod 255 = 80
e 2 = 83 + 9 mod 255 = 92
e 3 = 89 + 26 mod 255 = 115
e 4 = 80 + 77 mod 255 = 157
e 5 = 84 + 19 mod 255 = 103
e 6 = 79 + 1 mod 255 = 80
c 1 = 80, 92, 115, 157, 103, 80
Charlie menerima pesan berupa c 1 = 80, 92, 115, 157, 103, 80. Kemudian
mengenkripsi kembali menggunakan One Time Pad dengan kunci k b = 75, 39, 20, 68,
41, 17. Dan mengrimkannya kembali.
c 1 = 80, 92, 115, 157, 103, 80
k b = 75, 39, 20, 68, 41, 17
e 1 = 80 + 75 mod 255 = 155
e 2 = 92 + 39 mod 255 = 131
e 3 = 115 + 20 mod 255 = 135
e 4 = 157 + 68 mod 255 = 225
e 5 = 103 + 41 mod 255 = 144
e 6 = 80 + 17 mod 255 = 97
c2 = 155, 131, 135, 225, 144, 97
Bob menerima pesan berupa c2 = 155, 131, 135, 225, 144, 97 dan mendekripsi
mengunakan k a . Kemudian mengirimkannya kembali.
c 2 = 155, 131, 135, 225, 144, 97
k a = 13, 9, 26, 77, 19, 1
d 1 = 155 - 13 mod 255 = 142
d 1 = 131 - 9 mod 255 = 122
d 1 = 135 - 26 mod 255 = 109
d 1 = 225 - 77 mod 255 = 148
d 1 = 144 - 19 mod 255 = 125
d 1 = 97 - 1 mod 255 = 96
c 3 = 142, 122, 109, 148, 125, 96

Universitas Sumatera Utara

18

Charlie menerima pesan berupa c3 = 142, 122, 109, 148, 125, 96 dan
mendekripsi menggunakan k b untuk mendapatkan pesan asli yang dikirim oleh Alpha.
c 3 = 142, 122, 109, 148, 125, 96
k b = 75, 39, 20, 68, 41, 17
d 1 = 142 - 75 mod 255 = 67
d 2 = 122 - 39 mod 255 = 83
d 3 = 109 - 20 mod 255 = 89
d 4 = 148 - 68 mod 255 = 80
d 5 = 125 - 41 mod 255 = 84
d 6 = 96 - 17 mod 255 = 79
m = 67, 83, 89, 80, 84, 79
Kemudian ubah ASCII dari m kedalam bentuk alfabet, sehingga didapat m =
CRYPTO. Berikut ini adalah gambaran mengenai proses enkripsi-dekripsi yang
berlangsung pada Three-Pass.
Diketahui publik
Diketahui oleh Bob

Diketahui oleh Charlie

C1 = pesan yang dienkripsi Bob

C1

C3 = C2 yang didekripsi Bob

C2

C3

C2 = C1 yang dienkripsi Charlie

pesan = C3 yang didekripsi
Charlie

Gambar 2.2 Ilustrasi Skema Protokol Three-Pass
Berdasarkan gambar 2.2 bahwasanya pesan yang akan dikirimkan dienkripsi
oleh Bob (pengirim pesan) menggunakan suatu kriptografi simetris, kemudian Charlie
(penerima pesan) mengenkripsikan kembali pesan terenkripsi yang sudah diterima dan
dikirimkan kembali kepada Bob, Bob mendekripsi pesan terenkripsi dari Charlie
dengan kunci miliknya dan mengirimkan kembali ke Charlie, Charlie mendekripsi

Universitas Sumatera Utara

19

pesan dengan kunci miliknya, dengan begitu Charlie mendapatkan pesan asli yang
dikirim oleh Bob. Berdasarkan gambar 2.2 dapat dilihat bahwasanya hanya C1, C2
dan C3 yang dapat diketahui oleh publik.

2.4.

Serangan Terhadap Kriptografi

Schneier (1996) menyatakan bahwasanya pihak penyerang dapat masuk kedalam jalur
pertukaran pesan yang memanfaatkan protokol kriptografi. Akan tetapi penyerang
tersebut hanya dapat memiliki hasil dari proses protokol yang digunakan. Seperti
protokol secret sharing, penyerang hanya dapat mengetahui pecahan dari pesan
rahasia yang dikirimkan kepada penerima. Tanpa mengetahui skema apa yang
digunakan, pihak penyerang hanya dapat memiliki data acak tersebut, penyerangan
tipe ini disebut juga serangan pasif (pasive cheating). Begitu juga dengan protokol
three-pass, penyerang hanya mendapatkan pesan rahasia tanpa mengetahui kunci apa
yang digunakan untuk menyandikan pesan tersebut.
Selain itu, pihak penyerang dapat berusaha untuk mengubah protokol demi
keuntungannya sendiri. Dengan demikian pesan yang akan diterima oleh penerima
akan rusak, dan dapat pula disadari bahwasanya telah terjadi upaya pencurian data
atau penyerangan terhadap protokol. Tindakan-tindakan ini disebut sebagai
penyerangan aktif (active cheating).
Pihak penyerang tidak hanya berasal dari lingkungan luar protokol, namun ia
mungkin juga berasal dari dalam protokol itu sendiri, ia dapat merupakan salah satu
pihak yang terlibat dalam protokol. Tipe penyerangan semacam ini disebut sebagai
cheater. Cheater yang mengikuti protokol, tetapi berusaha memperoleh informasi
lebih banyak daripada yang diperbolehkan protokol bagi dirinya, atau disebut juga
dengan passive cheater. Sedangkan cheater yang mengubah protokol dalam usahanya
untuk berbuat kecurangan disebut dengan active cheater.
Oleh karena itu suatu protokol yang baik harus aman terhadap kemungkinan
terjadinya passive cheating maupun active cheating (Schneier, 1996), dalam
penelitian ini akan dibahas upaya dalam mengamankan informasi yang terdapat dalam
protokol dari ancaman passive cheater dalam mengumpulkan informasi yang
memungkinkan untuk kepentingan dirinya.

Universitas Sumatera Utara

20

2.5.

Penelitian Terdahulu

Beberapa penelitian telah dilakukan oleh peneliti, berkaitan dengan penulisan
penelitian ini. Adapun penelitian tersebut dapat dilihat pada tabel dibawah ini:
Tabel 2.1 Penelitian Terdahulu
No
1

2

3

4

2.5.1

Judul
Penelitian
Dynamic
Threshold
And Cheater
Resistance For
Shamir secret
Sharing
Scheme
Secret Sharing
Schemes With
Applications
in Security
Protocols
Verifiable
Multi-Secret
Sharing Based
on LSFR

Securing
Multi-Cloud
using Secret
Sharing
Algorithm

Peneliti

Pembahasan

Tahun

Christophe
Tartary and
Huaxiong
Wang

Penelitian ini mengamankan
shares dari algoritma
rekonstruksi yang dikembangkan
oleh Guruswami dan Sudan
dengan cara membuat threshold
yang dinamis.

2006

Sorin Iften

Penelitian ini menerapkan
protokol secret sharing untuk
skema e-voting.

2007

Hu, C., Liao,
X., & Cheng

Pada penelitian ini,
pengembangan terdapat pada
penerapan multi-secret sharing
yang dapat diverifikasi jika
terdapat shares yang tidak valid
pada saat rekonstruksi pesan.
Penelitian ini menerapkan secret
sharing dalam mengamankan
data dalam multi cloud.

2012

Muhil, M.,
Krishna, U.
H., Kumar, R.
K., & Anita,
E. A

2015

Kontribusi yang diberikan

Adapun hasil dari penelitian ini diharapkan dapat memberikan kontribusi berupa
alternatif dalam mengamankan pesan dengan menerapkan protokol secret sharing,
khususnya pengamanan pada proses pertukaran shares menggunakan protokol threepass.

Universitas Sumatera Utara