BAB 2 TINJAUAN PUSTAKA 2.1 Kriptografi - Hill Cipher pada Skema Shamir's Three Pass Protocol

BAB 2 TINJAUAN PUSTAKA

  2.1 Kriptografi

  Kriptografi digunakan sebagai alat untuk menjamin keamanan dan kerahasiaan informasi. Karena itu kriptografi menjadi ilmu yang berkembang pesat, terbukti dengan banyaknya algoritma-algortima baru yang dianggap lebih unggul daripada pendahulunya.

  Ada beberapa definisi kriptografi yang telah dikemukakan dalam berbagai literatur. Salah satunya menyatakan bahwa kriptografi merupakan ilmu mengenai metode untuk mengirimkan pesan secara rahasia sehingga hanya penerima yang dituju saja yang dapat menghapus dan membaca pesan atau memahaminya (Mollin, 2007).

  Kriptografi juga diartikan sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan keamanan informasi, seperti kerahasian data, keabsahan data integritas data dan autentikasi data (Menezes, et al., 1996).

  2.2 Manajemen Kunci

  Manajemen kunci sangat penting dalam kriptografi. Proses pembentukan kunci diharapkan harus benar-benar acak. Tujuannya untuk mempersulit kriptanalis memformulasikan kunci yang telah kita tentukan. Kromodimoeljo (2010) menyatakan bahwa untuk menghasilkan kunci secara acak, dapat digunakan aplikasi kriptografi

  

random number generator. Aplikasi tersebut biasanya disediakan oleh operating

system untuk pembuatan kunci. Namun aplikasi ini sebaiknya hanya digunakan jika

random number generator yang ada cukup acak.

  Penggunaan algoritma enkripsi dan dekripsi yang baik sangat berperan dalam pengamanan pesan. Namun tidak hanya itu, proses pengiriman pesan dan pendistribusian kunci yang baik juga mendukung dalam meningkatkan keamanan. Dalam penelitian ini, kunci yang digunakan adalah kunci privat. Sehingga termasuk dalam kategori kunci simetris. Kunci simetris umumnya memiliki kelemahan. Salah satunya adalah kunci harus didistribusikan pada jalur yang aman. Untuk mengatasi kelemahan tersebut. Penulis menggunakan skema Shamir’s Three Pass Protocol dimana pendistribusian kunci tidak perlu dilakukan. Tiap entitas memiliki kunci yang hanya diketahui oleh pemilik kunci masing-masing.

  2.3 Konsep Acak

  Pembangkit bilangan acak sangat cocok digunakan dalam kriptografi. Tujuannya agar tidak mudah diprediksi oleh pihak-pihak yang ingin memecahkan teknik pengamanan pesan yang dibangun. Pembangkit bilangan acak ini diharuskan lolos uji keacakan statistik dan harus tahan terhadap serangan yang serius (serangan untuk memprediksi bilangan acak yang dihasilkan) (Munir, 2006). Dalam kriptografi tidak diinginkan adanya korelasi antara naskah asli dengan naskah acak dan kunci dengan naskah acak. Hal ini bertujuan untuk mempersulit analisa seperti analisa frekuensi (frequency

analysis) ataupun analisa lain seperti linear cryptanalysis (defferential cryptanalysis).

  Dalam penelitian ini pembangkit bilangan acak digunakan sebagai pembangkit kunci enkripsi. Pembangkit bilangan acak yang diperoleh menggunakan fungsi

  

random yang disediakan oleh bahasa pemrograman yang digunakan. Bilangan acak

  yang digunakan dibatasi mulai dari angka 1 hingga 100. Bilangan acak tidak dimulai dari angka 0 disebabkan asumsi bahwa bilangan acak 0 memungkinkan terbentuknya kunci dalam bentuk matriks yang semua elemen matriksnya 0. Jika itu terjadi maka dipastikan bahwa determinan matriksnya = 0. Artinya matriks tersebut tidak memenuhi syarat invers ( ). Angka 100 dipilih sebagai batasan bilangan yang diacak karena cakupan bilangan yang dapat dihasilkan dianggap sudah cukup bervariasi.

  2.4 Algoritma Hill Cipher

Hill Cipher yang merupakan polyalphabetic cipher dapat dikategorikan sebagai block

cipher (Forouzan, 2008). Pesan teks yang diproses dibagi menjadi blokblok dengan

  ukuran tertentu. Setiap karakter dalam satu blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsi, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula.

  Hill Cipher diciptakan oleh Lester Hill pada tahun 1929 (Stallings, 2003).

Cipher (kode) yang sudah diperoleh tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill Cipher menggunakn perkalian matriks sebagai dasar enkripsi dan deskripsi. Oleh sebab itu, Hill Cipher tidak mengganti setiap abjad yang sama pada plainteks dengan abjad lainnya yang sama pada cipherteks. Jika kriptanalis hanya mengetahui cipherteks saja maka diperkirakan sulit untuk menemukan plainteks, namun jika kriptanalis memiliki berkas cipherteks dan potongan berkas plainteks maka teknik ini sangat mudah dipecahkan (Rojali, 2011).

2.4.1 Plainteks pada Algoritma Hill Cipher Plainteks pada algoritma Hill Cipher dikelompokkan menjadi blok-blok plainteks.

  Matriks plainteks yang terbentuk dibagi dalam beberapa blok dengan ukuran matriks ordo , , (…), . Sebelum membagi pesan teks menjadi deretan blok-blok matriks plainteks, pesan tersebut terlebih dahulu disubstitusikan ke dalam bentuk angka. Angka yang digunakan mulai dari masing-masing sehingga

  , , hingga .

  Jumlah blok-blok matriks disesuaikan dengan panjang plainteks yang dienkripsi. Misalkan ukuran matriks yang digunakan adalah matriks ordo . Maka elemen pada tiap blok-blok matriks berjumlah elemen, dimana tiap elemen diambil dari karakter plainteks. Jika jumlah plainteks kelipatan maka ditambahkan untuk melengkapi elemen matriks pada blok matriks yang terakhir. Untuk memberi pemahaman yang lebih jelas tentang pembentukan matriks plainteks, berikut diuraikan langkah-langkahnya:

  1. Misalkan terdapat plainteks:

2. Substitusikan Plainteks ke dalam bentuk angka, maka: 3. Kelompokkan ke dalam bentuk matriks plainteks.

  Karena matriks kunci berukuran , maka plainteks dibagi menjadi blok yang masing-masing

  :

  bloknya berukuran karakter

  Blok terakhir dari matriks plainteks berisi karakter dari plainteks. Maka ditambahkan karakter untuk melengkapi jumlah elemen matriks.

  2.4.2 Kunci Enkripsi Hill Cipher

  Dasar dari teknik Hill Cipher adalah aritmatika modulo terhadap matriks. Dalam penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan teknik invers matriks. Kunci pada Hill Cipher adalah matriks yang berukuran n x n dengan n merupakan ukuran blok (Widyanarko, 2007). Misalkan matriks kunci adalah , maka matriks adalah sebagai berikut : Keterangan:

  : Matriks kunci : Elemen matriks kunci

  Matriks yang menjadi kunci harus merupakan matriks yang invertible, yaitu matriks yang memiliki multiplicative inverse sehingga : …………

  Keterangan: : Kunci enkripsi Hill Cipher dalam bentuk matriks : Kunci dekripsi Hill Cipher dalam bentuk invers matriks

  2.4.3 Determinan Matriks

  Kunci yang digunakan dalam algoritma Hill Cipher harus memiliki invers. Hal itu dikarenakan matriks tersebut adalah kunci yang digunakan untuk melakukan dekripsi (Mollin, 2007). Oleh karena matriks kunci harus memiliki invers matriks, maka syarat invers matriks juga harus dipenuhi. Sebuah matriks persegi dikatakan memiliki invers matriks jika dan hanya jika determinan matriksnya (Krantz, 2009) dan gcd determinan matriksnya = (Mollin, 2007).

  Bird (2010) menjelaskan bahwa determinan matriks ordo dapat dicari dengan menentukan minor matriks. Elemen suatu Minor matriks ordo merupakan nilai dari determinan matriks ordo yang diperoleh dengan menutup baris dan kolom dimana elemen tersebut berada. Berikut disajikan bagaimana langkah-langkah mendapatkan determinan matriks :

  = = = = = = =

2.4.4 GCD(The Greatest Common Divisor)

  Sebuah matriks persegi dikatakan memiliki invers matriks jika dan hanya jika determinan matriksnya (Krantz, 2009) dan gcd determinan matriksnya = 1 (Mollin, 2007). Berikut dijelaskan langkah menentukan gcd determinan suatu matriks: Keterangan:

  : The greatest common divisor / Faktor persekutuan terbesar (FPB) : Determinan matriks e : Modulo Untuk mengetahui apakah determinan kunci adalah invertible maka dilakukan pengujian menggunakan GCD. GCD (23, 26) dapat ditentukan dengan menggunakan langkah sebagai berikut:

  = = = = = = = = 0, 1 adalah GCD (23, 26)

  Determinan dan dengan modulo , maka termasuk

  Invertible Matriks. Yaitu suatu matriks yang memiliki invers, dimana apabila dikalikan dengan maka akan menghasilkan matriks Identitas (Krantz, 2009).

  Keterangan: : Matriks K : Invers Matriks K : Matriks Identitas

2.4.5 Adjoint Matriks

  Adjoin pada suatu matriks dapat diperoleh dengan cara menentukan Kofaktor dari matriks yang ada. Sementara untuk memperoleh kofaktor matriks, terlebih dahulu tentukan minor-minor matriks. Adjoin matriks merupakan transpose dari kofaktor- kofaktor matriks, dimana kofaktor transpose diperoleh dengan cara mengubah posisi baris yang ada pada kofaktor menjadi berada di posisi kolom atau mengubah posisi kolom yang ada pada kofaktor menjadi posisi baris.

  Keterangan: : Adjoin matriks A : Kofaktor matriks yang telah ditranspose

  Adjoin matriks dapat dicari dengan menggunakan beberapa langkah, berikut dijelaskan seperti di bawah ini:

  1. Menentukan minor matriks Jika pada matriks K ordo elemen baris ke-i dan kolom ke-j dihilangkan, maka didapat matriks yang baru dengan ordo . Determinan matriks ordo yang baru diperoleh itulah yang disebut dengan minor, ditulis dengan simbol | |. Misalkan terdapat matriks A dengan ordo sbb: Maka minor matriks A untuk | didapat dengan cara menghilangkan baris ke-1 dan kolom ke-1 pada matriks A di atas.

  Sisanya adalah elemen-elemen | |, sehingga | adalah: Agar lebih memahami konsep minor dengan jelas, berikut diberikan contoh mencari minor matriks pada matriks .

  = = = = = = = = = = = = = = = = = = = = = = = =313 =

  = = = = = = = = = = = = = = = = = = = =

  Dari perhitungan di atas, maka minor matriks adalah sebagai berikut:

  2. Menentukan kofaktor matriks Tanda dari sebuah minor tergantung pada posisinya di dalam matriks. Berikut contohnya (Bird, 2010): Kofaktor dituliskan dengan simbol dibaca kofaktor baris ke-i dan kolom ke-j. Kofaktor dapat diselesaikan dengan menggunakan tanda minor seperti di atas atau dengan menggunakan rumus seperti di bawah ini:

  | Keterangan:

  : Kofaktor baris ke-i dan kolom ke-j pada matriks | : Minor baris ke-i dan kolom ke-j pada matriks Agar lebih memahami konsep kofaktor dengan jelas, berikut diberikan contoh mencari kofaktor matriks pada matriks .

  = = = = = =

  = = = = = = = = = = = = = = = = = = = = =

  Dari perhitungan di atas, maka kofaktor matriks adalah sbb:

  3. Adjoin Matriks Adjoin matriks adalah transpose dari matriks kofaktor yang diperoleh dengan mengubah posisi baris pada matriks kofaktor ke posisi kolom ataupun sebaliknya. Oleh karena itu, adjoin untuk matriks adalah :

2.4.6 Teknik Invers Matriks

  Untuk menentukan invers dari suatu matriks khususnya matriks dengan ordo , kita dapat menggunakan rumus di bawah ini: Keterangan:

  : Invers matriks : Adjoin matriks : Determinan matriks Dengan menggunakan rumus tersebut, maka invers dari matriks dapat diperoleh. Berikut penyelesaiannya: = = = = = =

  Dari penyelesaian di atas, maka invers matriks adalah:

2.4.7 Teknik Invers Modulo

  Untuk memudahkan perhitungan dalam mencari invers suatu matriks dapat digunakan Invers modulo. disebut invers dari apabila . Sedangkan ) dikatakan memiliki invers jika dan hanya jika dan relatif prima . Untuk lebih memahami teknik invers maka diberikan contoh untuk menentukan invers seperti di bawah ini:

  Tabel 1. Contoh Teknik Invers Dari tabel di atas diketahui bahwa invers dari adalah 17. Hal tersebut dikarenakan hasil perhitungan dengan modulonya menghasilkan nilai 1. Artinya dan atau dan termasuk bilangan prima.

2.4.8 Teknik Enkripsi

  Secara matematis proses enkripsi pada algoritma Hill Cipher dapat dijelaskan dengan persamaan berikut: (Widyanarko, 2007) …………

  Keterangan : : Cipherteks hasil enkripsi Hill Cipher : Kunci Hill Cipher dalam bentuk matriks : Plainteks atau pesan asli

  Berikut disajikan gambar yang menerangkan proses enkripsi pesan pada algoritma Hill Cipher: Gambar 1. Proses Enkripsi Hill Cipher

  Dari gambar di atas dapat kita ketahui bahwa proses enkripsi dimulai dari pesan pesan teks atau plainteks yang dikunci menggunakan kunci rahasia tertentu. Bentuk kunci dalam Hill Cipher adalah matriks yang invertible. Setelah pesan diamankan dengan proses enkripsi oleh pengirim pesan (Ani), selanjutnya pesan dikirim ke penerima (Budi).

  Untuk lebih memahami teknik enkripsi pada algoritma Hill Cipher, berikut dijelaskan dengan menggunakan enkripsi pesan dan kunci yang digunakan adalah kunci .

  atau

  Blok plainteks pertama: = = = = =

  Maka cipherteks yang diperoleh adalah : Blok plainteks kedua:

  = = = = =

  Maka cipherteks yang diperoleh adalah : Sehingga dihasilkan cipherteks dari proses enkripsi sebagai berikut : Dari cipherteks yang dihasilkan terlihat bahwa Hill Cipher menghasilkan cipherteks yang tidak memiliki pola yang sama dengan plainteks asli.

2.4.7 Teknik Dekripsi Proses dekripsi pada Hill Cipher pada dasarnya sama dengan proses enkripsinya.

  Namun matriks kunci harus dibalik (invers) terlebih dahulu.

  Gambar 2. Proses Dekripsi Hill Cipher Secara matematis, proses dekripsi pada Hill Cipher dapat diturunkan dari persamaan . (Widyanarko, 2007)

  = = = =

  Jadi persamaan proses dekripsi, yaitu

  =

  …………(3) Dengan menggunakan kunci , maka proses dekripsi dilakukan dengan menggunakan matriks . Berikut penyelesainnya: Blok cipherteks pertama:

  = = = = =

  Maka plainteks yang diperoleh adalah : Blok cipherteks kedua: = = = = =

  Maka plainteks yang diperoleh adalah : Sehingga dihasilkan plainteks dari proses dekripsi menjadi karena merupakan pelengkap blok matriks.

2.5 Shamir’s Three-Pass Protocol

  Dalam kriptografi, Shamir’s Three Pass Protocol (Three Pass Protocol) dalam pengiriman pesan merupakan suatu kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak kedua tanpa perlu untuk bertukar atau mendistribusikan kunci rahasia.

  Disebut dengan Shamir’s Three Pass Protocol karena pengirim dan penerima pesan melakukan pertukaran sebanyak tiga tahap untuk mengenkripsi pesan tersebut.

  

Shamir’s Three Pass Protocol pertama kali dikembangkan oleh Adi Shamir pada

  sekitar tahun 1980. Konsep dasar Shamir’s Three Pass Protocol adalah bahwa masing-masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci dekripsi pribadi. Kedua belah pihak menggunakan kunci mereka masing-masing untuk mengenkripsi pesan dan kemudian untuk mendekripsi pesan. Dalam hal ini pengirim disebut sebagai Ani dan penerima disebut sebagai Budi.

2.5.1 Skema Algoritma Shamir’s Three Pass Protocol

  Berikut merupakan Skema dari Shamir’s Three Pass Protocol:

  Pengirim Penerima Pengirim Penerima

  Gambar 3. Skema Shamir’s Three-Pass Protocol

  Shamir’s Three Pass Protocol bekerja dalam tiga tahap. Pertama Ani memilih

  sebuah kunci pribadi miliknya dan kunci dekripsi. Ani mengenkripsi pesan dengan kunci miliknya dan mengirimkan pesan terenkripsi tersebut untuk Budi. Tahap selanjutnya Budi memlilih sebuah kunci pribadi miliknya beserta kunci dekripsi. Budi mengenkripsi pesan pertama yang dikirim dengan kunci tersebut. Lalu mengirimkan kembali kepada Ani.

  Tahap akhir Ani mendekripsi pesan kedua (terenkripsi 2 kali) dengan kunci dekripsi miliknya. Lalu Ani mengirimkan kembali ke Budi. Budi kemudian dapat membuka pesan tersebut dengan kunci dekripsi miliknya. Dengan demikian, antara Ani dan Budi tidak terjadi pertukaran atau pendistribusian kunci. Sehingga kerahasiaan kunci tetap terjaga.

  2.6 Penelitian Terdahulu

  Terdapat beberapa penelitian yang telah dilakukan oleh banyak peneliti yang berkaitan dengan penelitian yang penulis lakukan, diantaranya yaitu penelitian yang dilakukan Widyanarko (2007) yang membahas mengenai dasar teori Hill Cipher, teknik kriptanalis yang dapat dilakukan untuk memecahkan Hill Cipher dan upaya dalam memodifikasi Hill Cipher.

  Modifikasi yang dilakukan untuk meningkatkan keamanan algoritma kriptografi kunci simetris ini agar kriptanalis tidak dapat memecahkan kunci algoritma

  

Hill Cipher. Perubahan dasar yang dilakukan adalah dengan menambah jumlah

  karakter dari 26 menjadi 29 karakter dengan penambahan karakter spasi, titik dan koma.

  Kanamori dan Yoo (2009), menggunakan protocol baru distribusi kunci tanpa pertukaran kunci di awal. Protocol tersebut dinamakan dengan Quantum Three Pass

  

Protocol (QTPP). Protocol ini memanfaatkan keuntungan dari Shamir’s Three Pass

Protocol klasik dan keuntungan dari properti kuantum mekanik.

  Reza et al., (2012), skema Shamir’s Three Pass Protocol diperkuat dengan algoritma Massey-Omura. Menggunakan logaritma diskrit dalam bidang terbatas. Algoritma Massey-Omura ini juga membutuhkan metode The Sieve of Eratosthenes untuk membantu membangkitkan bilangan prima, algoritma Euclidean GCD untuk mencari dua buah bilangan bulat yang relatif prima dan untuk proses enkripsi menggunakan algoritma Modulo Exponential yang berfungsi menghitung nilai perpangkatan modulo bilangan besar serta algoritma Modulo Invers untuk proses dekripsi.

  2.7 Perbedaan Dengan Penelitian Lain

  Dalam beberapa penelitian yang telah dilakukan peneliti sebelumnya, terdapat perbedaan dengan apa yang akan dilakukan oleh penulis. Dalam penelitian ini, penulis fokus pada proses pengamanan pesan dengan menggunakan algoritma Hill Cipher yang merupakan algoritma kunci simetris. Sehingga diharapkan menghasilkan proses enkripsi yang cepat.

  Proses pengiriman pesan dilakukan menggunakan skema Shamir’s Three Pass

  

Protocol, sehingga proses pengamanan data tidak mengharuskan Ani dan Budi saling

  bertukar kunci. Hal tersebut diharapkan dapat menutupi kelemahan kunci simetris yaitu pada pengamanan kunci enkripsi dan dekripsi (Munir, 2006). Penelitian ini juga tidak hanya menggunakan Hill Cipher dan Shamir’s Three Pass Protocol, tetapi juga memodifikasi cipherteks yang dihasilkan. Dengan demikian penyandian pesan semakin sulit dipecahkan oleh pihak-pihak yang tidak berhak.

2.8 Kontribusi Penelitian

  Penelitian ini memberi kontribusi kepada pemahaman kita tentang aspek penting keamanan pesan rahasia. Penggunaan kriptografi klasik seperti Hill Cipher sudah dianggap kurang baik dalam menjaga keamanan pesan. Melalui penelitian ini, penulis mencoba mempersulit algoritma Hill Cipher dengan menambahkan skema yang berbeda dalam pengiriman pesan. Sehingga dihasilkan pengamanan pesan yang sulit untuk dipecahkan.

  Pada umumnya proses pengiriman pesan selalu melakukan pertukaran kunci, tidak demikian pada skema Shamir’s Three Pass Protocol. Pada skema tersebut pesan dikirim sebanyak 3 kali. Setiap entitas memiliki kunci masing - masing yang bisa saja berbeda. Penelitian ini juga akan melakukan uji serangan terhadap Hill Cipher pada

  

Shamir’s Three Pass Protocol dan menambahkan suatu teknik pengembangan.

  Dengan pengembangan tersebut diharapkan dapat mempersulit kriptanalis dalam memecahkan pesan.