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
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,
Diffie-Helman, 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
One-Time 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:
ci = (pi + ki) mod 255 (1)
Dekripsi:
pi = (ci - ki) mod 255 (2)
Penjelasan:
c = Ciphertext
p = Plaintext
i = Karakter ke-i dari n panjang pesan.
255 = 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: ci = (pi + ki) mod 255
c1 = (67+70) mod 255 = 137 = ë
c2 = (83+75) mod 255 = 158 = ×
c3 = (89+83) mod 255 = 172 = ¼
c4 = (80+78) mod 255 = 158 = ×
c5 = (84+64) mod 255 = 148 = ö
c6 = (79+58) mod 255 = 137 = ë
c = ë×¼× ö ë
ubah c kedalam bentuk ASCII:
c = 137 158 172 158 148 137
k = 70 75 83 78 64 58
Dekripsi : pi = (ci - ki) mod 255
p1 = (137-70) mod 255 = 67 = C
p2 = (158-75) mod 255 = 83 = R
p3 = (172-83) mod 255 = 89 = Y
p4 = (158-78) mod 255 = 80 = P
p5 = (148-64) mod 255 = 84 = T
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:
Xn+1 = (aXn + 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
dihasilkan pada sekali proses akan berbeda dengan bilangan acak pada proses
berikutnya.
Berikut ini adalah formula dari LCG setelah ditambahkan variabel waktu:
Xn+1 = (a * Xn + 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
Xn+1 = (aXn + c + t) mod m
n=0, X0=1, X0+1 = ((11 * 1) +17 + 514942 mod 25 = 20
n=1, X1=20, X1+1 = ((11 * 20) +17 + 515020 mod 25 = 7
n=2, X2=7, X2+1 = ((11 * 7) +17 + 515051 mod 25 = 20
n=3, X3 = 20, X3+1 = ((11 * 20) +17 + 515078 mod 25 = 15
n=4, X4=15, X4+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
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
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
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 (xi, yi), 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 (k1, k2, ... , kt-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:
Pn = m + k1(n) + k2(n)2 + ... + kt-1(n)t-1 mod p (5)
Proses kerja dari protokol ini adalah:
1. Pesan dibagi menjadi n buah bagian (P1, P2, ... , Pn), 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
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 k1 = 7 dan k2 = 3. Nilai p = 107.
Ubah m kedalam bentuk ASCII.
m = 67 83 89 80 84 79
Kemudian dibentuk polinomial P1, P2 dan P3 untuk m1 = 67.
P1 = 67 + 7(1) + 3(1)2 mod 107 = 77
P2 = 67 + 7(2) + 3(2)2 mod 107 = 93
P3 = 67 + 7(3) + 3(3)2 mod 107 = 8
Untuk m2 = 83.
P1 = 83 + 7(1) + 3(1)2 mod 107 = 93
P2 = 83 + 7(2) + 3(2)2 mod 107 = 2
P3 = 83 + 7(3) + 3(3)2 mod 107 = 24
Untuk m3 = 89.
P1 = 89 + 7(1) + 3(1)2 mod 107 = 99
P2 = 89 + 7(2) + 3(2)2 mod 107 = 8
P3 = 89 + 7(3) + 3(3)2 mod 107 = 30
Untuk m4 = 80.
P1 = 80 + 7(1) + 3(1)2 mod 107 = 90
P2 = 80 + 7(2) + 3(2)2 mod 107 = 106
P3 = 80 + 7(3) + 3(3)2 mod 107 = 21
Untuk m5 = 84.
P1 = 84 + 7(1) + 3(1)2 mod 107 = 94
P2 = 84 + 7(2) + 3(2)2 mod 107 = 3
Untuk m6 = 79.
P1 = 79 + 7(1) + 3(1)2 mod 107 = 89
P2 = 79 + 7(2) + 3(2)2 mod 107 = 105
P3 = 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 P1 = 77, 93, 99, 90, 94, 89
Penerima kedua mendapatkan share berupa sekumpulan P2 = 93, 2, 8, 106, 3, 105
Penerima ketiga mendapatkan share berupa sekumpulan P3 = 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 mi. seperti berikut ini.
mi = {(1, P1), (2, P2), (3, P3)}
m1 = {(1, 77), (2, 93), (3, 8)}
m2 = {(1, 93), (2, 2), (3, 24)}
m3 = {(1, 99), (2, 8), (3, 30)}
m4 = {(1, 90), (2, 106), (3, 21)}
m5 = {(1, 94), (2, 3), (3, 25)}
m6 = {(1, 89), (2, 105), (3, 20)}
Sehingga dapat dilihat setiap mi berupa titik-titik kordinat, dimana titik
kordinat ini disebut sebagai
( )
x ,i yi . Sekumpulan titik-titik kordinat tersebut akandigunakan 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
titik data. Misalnya akan dicari P(x) berderajat satu yang melewati 2 buah titik, yaitu
( ) (
x1,y1, x2,y2)
. Adapun formula dari interpolasi polinomial lagrange order n yangp
Berdasarkan formula dari interpolasi polinomial diatas, diberikan titik-titik
untuk m1, sehingga terbentuk fungsi polinomial berderajat 2 sebagaimana berikut ini.
Untuk m1 = {(1, 77), (2, 93), (3, 8)}
67
Jika P(0) < 0, maka ditambah terlebih dahulu dengan p kemudian dimodulokan
dengan p. Dengan cara yang sama dilakukan juga untuk m2, m3, m4, m5, dan m6.
Untuk m6 = {(1, 89), (2, 105), (3, 20)}
Dengan demikian dapat diperoleh hasil interpolasi polinomial dari setiap mi sebagai
berikut.
Kemudian ubah setiap mi kedalam bentuk ASCII untuk mengetahui pesan
yang telah direkonstruksi. Berikut ini adalah gambaran untuk menjelaskan alur dari
protokol secret sharing.
P = Pesan asli
T = 4 Penerima T1, T2, T3, T4
P dipecah menjadi t buah P1, P2, P3, P4
T1 mendapat P1
T2 mendapat P2
T3 mendapat P3
T4 mendapat P4
T1
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
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. ka adalah kunci simetris A
4. kb adalah kunci simetris B
5. m adalah pesan
6. c1, c2, adalah pesan terenkripsi dari hasil proses e
7. c3 adalah pesan terenkripsi hasil dari proses d
8. ei adalah proses enkripsi pada karakter ke-i
9. di 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:
ei = mi + ki mod p (8)
Dan untuk mendekripsi adalah:
di = ei – ki mod p (9)
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 ka = 13, 9, 26, 77, 19, 1
m = 67, 83, 89, 80, 84, 79
ka = 13, 9, 26, 77, 19, 1
e1 = 67 + 13 mod 255 = 80
e2 = 83 + 9 mod 255 = 92
e3 = 89 + 26 mod 255 = 115
e4 = 80 + 77 mod 255 = 157
e5 = 84 + 19 mod 255 = 103
e6 = 79 + 1 mod 255 = 80
c1 = 80, 92, 115, 157, 103, 80
Charlie menerima pesan berupa c1 = 80, 92, 115, 157, 103, 80. Kemudian
mengenkripsi kembali menggunakan One Time Pad dengan kunci kb = 75, 39, 20, 68,
41, 17. Dan mengrimkannya kembali.
c1 = 80, 92, 115, 157, 103, 80
kb = 75, 39, 20, 68, 41, 17
e1 = 80 + 75 mod 255 = 155
e2 = 92 + 39 mod 255 = 131
e3 = 115 + 20 mod 255 = 135
e4 = 157 + 68 mod 255 = 225
e5 = 103 + 41 mod 255 = 144
e6 = 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 ka. Kemudian mengirimkannya kembali.
c2 = 155, 131, 135, 225, 144, 97
ka = 13, 9, 26, 77, 19, 1
d1 = 155 - 13 mod 255 = 142
d1 = 131 - 9 mod 255 = 122
d1 = 135 - 26 mod 255 = 109
d1 = 225 - 77 mod 255 = 148
Charlie menerima pesan berupa c3 = 142, 122, 109, 148, 125, 96 dan
mendekripsi menggunakan kb untuk mendapatkan pesan asli yang dikirim oleh Alpha.
c3 = 142, 122, 109, 148, 125, 96
kb = 75, 39, 20, 68, 41, 17
d1 = 142 - 75 mod 255 = 67
d2 = 122 - 39 mod 255 = 83
d3 = 109 - 20 mod 255 = 89
d4 = 148 - 68 mod 255 = 80
d5 = 125 - 41 mod 255 = 84
d6 = 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.
C1 = pesan yang dienkripsi Bob C2 = C1 yang dienkripsi Charlie
C3 = C2 yang didekripsi Bob
pesan = C3 yang didekripsi Charlie C1
C2 Diketahui publik
C3
Diketahui oleh Bob Diketahui oleh 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
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
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 Judul
Penelitian Peneliti Pembahasan Tahun 1 Dynamic
Threshold And Cheater Resistance For Shamir secret Sharing Scheme
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
2 Secret Sharing Schemes With Applications in Security Protocols
Sorin Iften Penelitian ini menerapkan protokol secret sharing untuk skema e-voting.
2007
3 Verifiable Multi-Secret Sharing Based on LSFR
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.
2012
4 Securing Multi-Cloud using Secret Sharing Algorithm
Muhil, M., Krishna, U. H., Kumar, R. K., & Anita, E. A
Penelitian ini menerapkan secret sharing dalam mengamankan data dalam multi cloud.
2015
2.5.1 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