Perancangan Aplikasi Terenkripsi Dengan Menerapkan Metode Secret Sharing Asmuth Bloom
Evi Amelia Tarigan
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Jalan Sisingamangaraja No. 338 Medan, Indonesia
Abstrak
Algoritma kriptografi konvensional tidak dapat diterapkan untuk memecahkan sebuah plaintext (pesan) menjadi beberapa buah ciphertext karena algoritma kriptografi konvensional hanya dapat menghasilkan sebuah ciphertext dari sebuah plaintext (pesan) Dalam kasus ini, maka dapat diterapkan kriptografi, yaitu secret sharing Asmuth-Bloom. Metodologi yang digunakan untuk menganalisa dan merancang perangkat lunak aplikasi kriptografi secret sharing Asmuth-Bloom merupakan metodologi Waterfall. Penelitian ini ditujukan untuk menghasilkan sebuah perangkat lunak pembelajaran yang mampu menampilkan proses kerja dari secret sharing Asmuth-Bloom dan aplikasi dari secret sharing Asmuth-Bloom. Prosedur kerja yang dijelaskan oleh perangkat lunak mencakup proses pembentukan kunci, proses pembentukan shadow dan proses penggabungan shadow.
Kata Kunci : Kriptografi, Secret, Sharing, Asmuth bloom, file.
Abstract
Conventional cryptographic algorithms cannot be applied to solve a plaintext (message) into several ciphertext pieces because conventional cryptographic algorithms can only produce a ciphertext from a plaintext (message) In this case, cryptography can be applied, namely Asmuth-Bloom's secret sharing. The methodology used to analyze and design the Asmuth-Bloom secret sharing cryptographic application software is the Waterfall methodology. This research is intended to produce a learning software that is able to display work processes from Asmuth-Bloom's secret sharing and applications from Asmuth-Bloom's secret sharing. The working procedure described by the software includes the process of forming keys, the process of forming shadows and the process of combining shadow.
Keywords: Cryptography, Secret, Sharing, Asmuth bloom, file.
1. PENDAHULUAN
Chatting merupakan suatu pesan instant ataupun instant messaging di sebuah teknologi jaringan komputer yang mengijinkan pemakainya untuk mengirimkan pesan ke pengguna lain yang tersambung dalam sebuah jaringan komputer ataupun internet. Chatting dimaksud yaitu obrolan antara seseorang dengan orang lain atau kelompok.
Dampak chatting mungkin tidak disadari sama sekali atau dengan cara instan. Contohnya dampak negatif yang Sering chatting bisa menyebabkan sebuah penyakit gangguan mental yang akan berdampak buruk bagi anak dan juga remaja. Sedangkan danpak positif dari Chatting Bagi sebagian orang merupakan media komunikasi hemat biaya. Selain itu chatting juga bisa sebagai media informasi cepat tanpa hambatan dan memudahkan dalam berkomunikasi.
Secret Sharing Asmuth Bloom merupakan salah satu metode untuk mengamankan suatu rahasia dengan membagi atau mendistribusikan rahasia tersebut menjadi beberapa bagian yang disebut share, setiap bagian dari rahasia tersebut tidak memberikan informasi apa-apa mengenai rahasia yang dimaksud bila tidak digabungkan dengan bagian yang lainnya. Salah satu alasan adanya secret sharing adalah perlindungan terhadap ancaman kehilangan kunci kriptografi. Semakin besar salinannya, semakin banyak resiko kehilangan dan semakin sedikit salinan kunci yang digunakan, maka semakin sedikit resiko kehilangannya. Skema secret sharing mengatasi masalah ini tanpa meningkatkan jumlah resiko yang ditimbulkan.
2. LANDASAN TEORI
2.1 Aplikasi Chatting
Aplikasi Chatting merupakan suatu pesan instant ataupun instant messaging di sebuah teknologi jaringan komputer yang mengijinkan pemakainya untuk mengirimkan pesan ke pengguna lain yang tersambung dalam sebuah jaringan komputer ataupun internet. Terenkripsi Maksudnya terkunci, sebuah metode mengubah bentuk atau wujud dari sebuah data, menjadi wujud yang tidak mudah untuk dipahami begitu saja tanpa menggunakan sebuah pola atau kunci tertentu, digunakan untuk menyimpan data
2.2 Metode Secret Sharing
Menurut [2] dalam buku Applied Cryptography, protokol kriptografi secret sharing memungkinkan pendistribusian satu rahasia di antara sekumpulan orang yang saling percaya. Protokol secret sharing ini menerapkan (m,n)-threshold scheme, yaitu informasi tentang rahasia adalah didistribusikan sedemikian rupa sehingga sembarang m dari n orang (m ≤ n) memiliki informasi yang cukup untuk menentukan (mengetahui)
rahasia tersebut, tetapi sembarang set m-1 orang tidak dapat melakukannya. Dalam sembarang secret sharing scheme, terdapat kumpulan orang yang terpilih yang informasi kumulatif mereka cukup untuk memecahkan rahasia. Ilustrasi proses kerja dari protokol Secret Sharing ini dapat dilihat pada Gambar 1. Menurut [3]
Gambar 1. Ilustrasi Proses Kerja dari Protokol Secret Sharing Keterangan:
M = message (pesan) S = shadow (bagian)
Dalam beberapa implementasi secret sharing scheme, setiap partisipan menerima rahasia setelah rahasia yang dimaksud dihasilkan. Dalam implementasi lain, rahasia sebenarnya tidak pernah dibuat kelihatan kepada partisipan, walaupun akses diberikan untuk mendapatkan rahasia tersebut diberikan (misalnya dalam akses ke dalam ruangan atau izin untuk melakukan proses). Metode Secret Sharing Asmuth Bloom suatu metode untuk mengamankan suatu rahasia dengan membagi atau mendistribusikan rahasia tersebut menjadi beberapa bagian yang disebut share, setiap bagian dari rahasia tersebut tidak memberikan informasi apa-apa mengenai rahasia yang dimaksud bila tidak digabungkan dengan bagian yang lainnya.
3. ANALISA DAN PEMBAHASAN
Algoritma Secret Sharing Asmuth-Bloom digunakan untuk melakukan proses pengamanan data dengan cara membentuk shadow (pecahan pesan) yang akan dibagikan kepada beberapa orang dan proses penggabungan beberapa shadow untuk membentuk pesan semula.
Algoritma Secret Sharing memiliki proses kerja yang hampir mirip dengan proses kerja dari algoritma kriptografi konvensional, dimana dapat dibagi menjadi tiga bagian besar, yaitu:
1. Proses pembentukan kunci, yang berfungsi untuk menghasilkan kunci yang akan digunakan pada proses pembentukan dan penggabungan shadow.
2. Proses pembentukan shadow (pecahan pesan), yang berfungsi untuk menghasilkan kumpulan shadow dari pesan. Proses ini identik dengan proses enkripsi pada algoritma kriptografi konvensional.
3. Proses penggabungan shadow, yang berfungsi untuk membentuk pesan semula dengan menggunakan sejumlah shadow (sesuai dengan ketentuan yang ditentukan pada proses pembentukan kunci). Proses ini identik dengan proses dekripsi pada algoritma kriptografi konvensional.
Namun, perbedaannya dengan algoritma kriptografi konvensional adalah:
1. Algoritma ini dapat menghasilkan lebih dari satu buah shadow (pecahan pesan) yang identik dengan ciphertext pada algoritma kriptografi konvensional.
2. Jumlah orang yang melakukan proses pembentukan dan penggabungan shadow (identik dengan proses enkripsi dan dekripsi) juga boleh berbeda banyaknya.
Algoritma Secret Sharing Asmuth-Bloom ini menggunakan beberapa buah fungsi pendukung antara lain:
1. Metode Rabin-Miller, yang dapat digunakan untuk melakukan proses pengujian dan pembangkitan bilangan prima.
2. Fungsi Fast Exponentiation, yang dapat digunakan untuk menghitung nilai dari operasi perpangkatan modulo bilangan besar.
3. Algoritma Euclidean, yang digunakan untuk menghitung nilai GCD antara dua buah bilangan.
4. Algoritma Extended Euclidean, yang digunakan untuk menghitung nilai invers modulo.
5. Teorema Chinese Remainder, yang digunakan untuk melakukan proses penggabungan shadow.
Contoh kasus :
Contoh penerapan pada penelitian ini dapat dilihat pada kasus dibawah ini. Misalkan Alice ingin mengirimkan Pesan kepada Bob, pesan yang akan dikirim adalah kata ”EVI”. Adapun proses yang dilakukan algoritma Secret Sharing Asmuth-Bloom antara lain :
1. Input : panjang pesan M sebesar 3 karakter, yaitu ‘EVI’, maka sub pesan hanya ada tiga, yaitu:
M
S1 S2 O O O Sn
O O O
M
O O O
M
O O O
M
s1
sm s1
sm
s1 sm
a. ‘E’, ASCII Code M1 = 69.
b. ‘V’, ASCII Code M2 = 86.
c. ‘I’, ASCII Code M3 = 73.
2. Threshold scheme yang digunakan : (3, 4)-threshold scheme, dimana m = 3 dan n = 4.
3. Bilangan prima p yang digunakan = 601.
4. Tentukan 4 buah bilangan di: a. d1 = 127
b. d2 = 509 c. d3 = 521 d. d4 = 599
5. Tentukan sebuah bilangan acak r, misalkan diambil r = 17.
6. Hitung nilai M’ untuk setiap karakter pesan : a. M1’ = M1 + r * p = 69 + 17 * 601 = 10286 b. M2’ = M2 + r * p = 86 + 17 * 601 = 10303 c. M3’ = M3 + r * p = 73 + 17 * 601 = 10290
7. Hitung pecahan pesan untuk setiap orang, dalam contoh ini sebanyak 4 orang.
k1,1 = M1’ mod d1 = 10286 mod 127 = 81 k1,2 = M2’ mod d1 = 10303 mod 127 = 81 k1,3 = M3’ mod d1 = 10290 mod 127 = 81
Output : Pecahan pesan untuk orang pertama = 81, 81, 81 k2,1 = M1’ mod d2 = 10286 mod 509 = 20 => ¶
k2,2 = M2’ mod d2 = 10303 mod 509 = 20 => ¶ k2,3 = M3’ mod d2 = 10290 mod 509 = 20 => ¶ Output : Pecahan pesan untuk orang kedua => ¶, ¶, ¶ k3,1 = M1’ mod d3 = 10286 mod 521 = 19 => ‼ k3,2 = M2’ mod d3 = 10303 mod 521 = 19 => ‼ k3,3 = M3’ mod d3 = 10290 mod 521 = 19 => ‼ Output : Pecahan pesan untuk orang ketiga => ‼, ‼, ‼ k4,1 = M1’ mod d4 = 10286 mod 599 = 17 => ◄ k4,2 = M2’ mod d4 = 10303 mod 599 = 17 => ◄ k4,3 = M3’ mod d4 = 10290 mod 599 = 17 => ◄
Output : Pecahan pesan untuk orang keempat => ◄,◄, ◄
8. Misalkan, untuk menggabungkan pesan dipilih orang I, II dan III, maka proses penggabungan pecahan pesan adalah sebagai berikut:
a. Input : Untuk pencarian karakter-1:
k1,1 = M1’ mod d1 ➔ 14 = M1’ mod 127 k2,1 = M1’ mod d2 ➔ 121 = M1’ mod 509 k3,1 = M1’ mod d3 ➔ 402 = M1’ mod 521
Nilai M1’ dapat dicari dengan menggunakan bantuan teorema Chinese Remainder seperti berikut:
Soal :
X 14 (mod 127) X 121 (mod 509) X 402 (mod 521) Penyelesaian :
Persamaan 1 : X 14 (mod 127)
Berarti x = 14 + 127k1 untuk beberapa nilai k1
Substitusi ke dalam kongruen 2 menjadi : X 121 (mod 509)
14 + 127k1 121 (mod 509) 127k1 107 (mod 509)
k1 107 (mod 509) . 127-1 (mod 509) k1 107 (mod 509) . 505
k1 54035 (mod 509){bentuk tidak valid}
k1 81 (mod 509) {bentuk valid}
atau : k1 = 81 + 509k2 untuk beberapa nilai k2
Jadi, didapatkan :
X = 14 + 127k1
= 14 + 127(81 + 509k2) = 14 + 10287 + 64643k2
X = 10301 + 64643k2; yang memenuhi 2 kongruen pertama Substitusi ke dalam kongruen 3 menjadi :
X 402 (mod 521)
10301 + 64643k2 402 (mod 521)
64643k2 -9899 (mod 521) {bentuk tidak valid}
64643k2 0 (mod 521) {bentuk valid}
k2 0 (mod 521) . 64643-1 (mod 521) k2 0 (mod 521) . 334
k2 0 (mod 521)
atau : k2 = 0 + 521k3 untuk beberapa nilai k3
Jadi, didapatkan : X = 10301 + 64643k2
= 10301 + 64643(0 + 521k3) = 10301 + 0 + 33679003k3
X = 10301 + 33679003k3; yang memenuhi 3 kongruen pertama
Dari hasil perhitungan diatas, didapatkan solusinya adalah : X = 10301
Dari hasil di atas diperoleh nilai M1’ = 10301.
Selanjutnya nilai M1 dapat dihitung dengan cara:
M1’ = M1 + r * p 10286 = M1 + 17 * 601 10286 = M1 + 10217 M1 = 10286 – 10217
Output : M1 = 69 → karakter ’E’
9. Output : Dari hasil M1, M2 dan M3 di atas, diperoleh pesan semula = ’EVI’.
10. Hal yang sama juga dapat dilakukan untuk penggabungan pesan dengan menggunakan kombinasi pecahan pesan lainnya, seperti :
a. orang II, III, dan IV.
b. orang I, III, dan IV.
c. orang I, II, dan IV.
4. IMPLEMENTASI
Adapun Tampilan hasil pengujian program dari perangkat lunak ini adalah sebagai berikut:
Gambar 2. Tampilan Form Proses Penggabungan Shadow
5. KESIMPULAN
Berdasarkan analisa beberapa hal yang dapat ditarik kesimpulan setelah menulis penelitian ini adalah sebagai berikit:
1. Perangkat lunak ini digunakan untuk membagikan suatu file rahasia kepada beberapa orang dengan menggunakan teknik kriptografi, yaitu dengan cara sebuah pesan dipecahkan menjadi n buah chiphertext berbeda yang dapat dibagikan kepada n orang, dan agar mendapatkan pesan semula hanya diperlukan m buah pecahan saja. Dengan menggunakan metode kriptografi ini menerapkan skema (m,n) yang hanya memerlukan m buah chipertext dari total n buah chipertext yang tersedia untuk membentuk pesan kembali utuh.
2. Pengamanan data pada file rahasia dalam perangkat lunak ini menggunakan cara secret key cryptography yaitu proses dekripsi yang dilakukan dengan kunci rahasia, dimana secret key cryptography tidak bisa dijadikan public key yang berfungsi untuk mencegah agar isi pesan rahasia tidak diketahui oleh pihak-pihak yang tidak berkepentingan.
3. Perancangan aplikasi untuk menampilkan proses kerja dari metode secret sharing Asmuth Bloom dalam perangkat lunak ini yaitu pertama dengan cara proses pembentukan kunci, yang berfungsi untuk menghasilkan kunci yang akan digunakan pada proses pembentukan dan penggabungan shadow. Kedua yaitu proses pembentukan shadow, yang berfungsi untuk menghasilkan kumpulan shadow dari pesan. Dan ketiga yaitu proses penggabungan shadow, yang berfungsi untuk membentuk pesan semula dengan menggunakan sejumlah shadow, proses ini identik dengan proses dekripsi yang diperlukan untuk membuat file share dari file pesan rahasia.
REFERENCES
[1] Jogiyanto, 2001, Analisis Dan Desain Sistem, penerbit andi, Yogyakarta.
[2] Jogiyanto, 2003, Pengenelan Sistem Informasi, pnerbit andi, Yogyakarta.
[3] Rinaldi Munir, 2006, Kriptografi, Informatika, 2006
[4] Dafit, 2006, Kriptografi Kunci Simetris Menggunakan Crypton, Jurnal Ilmiah, Volume 2, Nomor. 3.)
[5] Schneier, Bruce, 1996, Applied Cryptography, Second Edition : Protocol. Algorithm and Source Code in C, Jhon Wiley and Son, Inc.
[6] Nugroho, Adi, 2010, Rekayasa Perangkat Lunak, Penerbit Andi Publishier, Yogyakarta.
[7] Priyanto, Rahmat, 2009, Langsung Bisa Visual Basic.Net 2008, Penerbit Andi Publishier, Yogyakarta.
[8] Jogiyanto, 2001, Analisis Dan Desain Sistem, penerbit andi, Yogyakarta.
[9] Jogiyanto, 2003, Pengenelan Sistem Informasi, pnerbit andi, Yogyakarta.
[10] Rinaldi Munir, 2006, Kriptografi, Informatika, 2006
[11] Dafit, 2006, Kriptografi Kunci Simetris Menggunakan Crypton, Jurnal Ilmiah, Volume 2, Nomor. 3.)