• Tidak ada hasil yang ditemukan

Kesimpulan Dan Saran

Dalam dokumen Penerapan Algoritma Hill Cipher Dalam Ke (Halaman 17-85)

Bab ini berisi tentang beberapa kesimpulan mengenai isi dari skripsi dan beberapa saran yang dapat berguna untuk pengembangan aplikasi perangkat lunak ini lebih lanjut.

BAB II

LANDASAN TEORI

2.1 Penerapan

Penerapan adalah suatu aktifitas, aksi, tindakan adanya suatu sistem. Penerapan bukan sekedar aktivitas tetapi suatu kegiatan yang terencana yang harus dicapai untuk memenuhi tujuan kegiatan, penerapan merupakan perluasan aktifitas yang saling menyesuaikan proses interaksi antara tujuan dan tindakan untuk mencapai tujuan dalam memenuhi aktivitas kegiatan (Sitomorang, 2013, Vol.III).

Berdasarkan defenisis di atas, maka dapat disimpulkan bahwa penerapan bermuara pada mekanisme suatu sistem. Ungkapan mekanisme mengandung arti bahwa Penerapan bukan sekadar aktivitas, tetapi suatu kegiatan yang terencana yang dilakukan secara sungguh-sungguh berdasarkan acuan norma tertentu untuk mencapai tujuan kegiatan. Penerapan dalam kenyataanya berupa gagasan dan tolak ukur suatu tindakan individu yang diarahkan pada tujuan serta ditetapkan untuk mencapai kebijakan yang mampu memberi hasil yang bersifat praktis terhadap suatu sistem.

2.2 Algoritma

Istilah algoritma pertama kali di perkenalkan oleh seorang ahli matematika yaitu Abu Ja far Muhammad Ibnu Musa Al Khawarizmi. Algoritma adalah urutan dari barisan instruksi untuk menyelesaikan suatu masalah. Ada pun algoritma dapat dinyatakan dalam bentuk flowchart, diagram alir, bahasa semu sedangkan secara bahasa, algoritma berarti suatu metode khusus untuk menyelesaikan suatu masalah yang nyata (Kadir, 2013, Hal.10).

Dalam bidang pemrograman algoritma didefinisikan sebagai metode khusus yang tepat dan terdiri dari serangkaina langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.

Ada lima komponen utama dalam algoritma yaitu finiteness, definiteness,

input,outputdaneffectivenes(Kadir, 2013, Hal.12), yaitu: 1. Finiteness.

Sebuah algoritma harus selalu berakhir setelah sejumlah langkah berhingga. 2. Definiteness.

Setiap langkah dari sebuah algoritma harus didefinisikan secara tepat, tindakan yang di muat harus dengan teliti dan sudah jelas ditentukan untuk setiap keadaan.

3. Input.

Sebuah algoritma memiliki nol atau lebih masukan, sebagai contoh, banyaknya masukan diberikan di awal sebelum algoritma mulai.

4. Output.

Sebuah algoritma memiliki satu atau lebih keluaran, sebagai contoh, banyaknya keluaran memiliki sebuah hubungan yang ditentukan terhadap masukan. 5. Effectiveness.

Pada umumnya sebuah algoritma juga diharapkan untuk efektif.

Beberapa notasi yang digunakan dalam penulisan algoritma (Kadir, 2013, Hal.12), antara lain :

1. Notasi I, menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif.

Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja seperti baca , hitung , bagi , ganti , dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan jika maka . Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak mangkus. Selain itu, pengkonversian notasi algoritma ke notasi bahasa relatif sukar(Kadir, 2013, Hal.12). Contoh algoritma notasi I adalah :

Input : Tahun lahir (tl), Tahun sekarang (ts) Proses : Umur = ts tl

Output : Umur

Menghitung usia berdasarkan tahun lahir dan tahun sekarang (Kadir, 2013, Hal.13).

2. Notasi II, menggunakan diagram alir (flowchart)

Flow chart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternative-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah, khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Notasi ini menggunakan sejumlah simbol untuk menyatakan kegiatan-kegitan secara keseluruhan. Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. dapat dilihat pada table 2.1.

Tabel 2.1 : Simbol Bagan Alir (Flowchart)

Simbol Fungsi

NotasiTerminator

Menunjukkan awal dari suatu perancangan sistem baik secara manual maupun komputer.

Magnetic Disk ( hard disk )

Menunjukkan media penyimpanan data yang menunjukkaninput/outputyang menggunakanhard disk.

Connector(penghunbung dalam suatu halaman) digunakan untuk menghubung ke halaman yang sama.

Connector off-pagedigunakan untuk penghubung ke halaman lain.

Deklarasi variable menunjukkan awal proses data sebagai pengenalan notasifield.

Lanjutan Tabel 2.1 : Simbol Bagan Alir (Flowchart)

Simbol Fungsi

Decision (keputusan) menunjukkan proses logical

perbandingan dalam memberikan keputusan yang benar (true) atau salah (false).

Proses dengan metode komputerisasi menunjukkan kegiatan proses operasi program komputer.

Arsip digunakan sebagaimulti documentsebagai simbol arsip data secara manual.

Notasi document (laporan) Menunjukkan dokumen yang digunakan untuk input dan output baik secara manual, maupun komputerisasi.

Digunakan sebagaiinput/outputdata notasifield. Proses manual menunjukkan pekerjaan yang dilakukan secara manual.

Store data merupakan symbol proses penyetoran data ke dalamdatabase

Sumber : Kadir, 2013, Hal.14

2.3 Kriptografi

Penjagaan sebuah informasi sangat diperlukan agar tidak jatuh ke tangan orang-orang yang tidak berhak untuk mengaksesnya. Teknik kriptografi telah banyak digunakan sebagai salah satu cara untuk menciptakan sebuah informasi yang selalu terjaga keabsahannya(Ariyus, 2005, Hal.1). Cryptography

penulisan screet (rahasia), sedangkan graphein artinya writing (tulisan). Jadi secara sederhana dapat diartikanscreet writing (tulisan rahasia). Definisi lain dari kriptografi adalah sebuah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi (Arius, 2005, Hal.2). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain (Ariyus,2005, Hal.2).

Kriptografi pada awalnya merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Kemudian seiring dengan berkembangnya kriptografi yaitu kriptografi tidak lagi sebatas mengenkripsikan pesan, tetapi juga memberikan aspek keamanan yang lain seperti serangan dari kriptanalisis. Oleh karena itu pengertian kriptografi pun berubah menjadi ilmu sekaligus seni untuk menjaga keamanan pesan. Kriptotografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan rangkuman beberapa menyediakan keamanan informasi (Sadikin, 2012, Hal.1).

2.3.1. Sejarah Kriptografi

Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia ini dapat dilacak kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka menggunakan hieroglyphcs untuk menyembunyikan tulisan dari mereka yang tidak diharapkan. Hieroglyphcs diturunkan dari bahasa Yunani

hieroglyphica yang berarti ukiran rahasia. Hieroglyphs berevolusi menjadi

hieratic, yaitustylized scriptyang lebih mudah untuk digunakan. Sekitar 400 SM, kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale (Ariyus,2005, Hal.5).

Sekitar 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi untuk mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini, huruf-huruf alfabet disubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya satu alfabet yang digunakan, cipher ini merupakan substitusi

monoalfabetik. Cipher semacam ini mencakup penggeseran alfabet dengan 3 huruf dan mensubstitusikan huruf tersebut. Substitusi ini kadang dikenal dengan C3(untuk Caesar menggeser 3 tempat). Disk mempunyai peranan penting dalam kriptografi sekitar 500 tahun yang lalu. Di Italia sekitar tahun 1460, Leon Battista Alberti mengembangkandisk cipher untuk enkripsi, sistemnya terdiri dari dua

disk konsentris. Setiap disk memiliki alfabet di sekelilingnya, dan dengan memutar satu disk berhubungan dengan yang lainnya, huruf pada satu alfabet dapat ditransformasi ke huruf pada alfabet yang lain.

Bangsa Arab menemukan cryptanalysiskarena kemahirannya dalam bidang matematika, statistik, dan lingiustik. Karena setiap orang muslim harus menambah pengetahuannya, mereka mempelajari peradaban terdahulu dan mendekodekan tulisan-tulisannya ke huruf-huruf Arab. Pada tahun 815, Caliph al-Mamun mendirikanHouse of Wisdomdi Baghdad yang merupakan titik pusat dari usaha-usaha translasi. Pada abad ke-9, filsuf Arab al-Kindi menulis risalat (ditemukan kembali th 1987) yang diberi judul A Manuscript on Deciphering Cryptographic Messages .

Pada 1790, Thomas Jefferson mengembangkan alat enkripsi dengan menggunakan tumpukan yang terdiri dari 26 disk yang dapat diputar secara individual. Pesan dirakit dengan memutar setiapdiskke huruf yang tepat dibawah batang berjajar yang menjalankan panjang tumpukan disk. Kemudian, batang berjajar diputar dengan sudut tertentu, A, dan huruf-huruf dibawah batang adalah pesan yang terenkripsi. Penerima akan menjajarkan karakter-karakter cipher di bawah batang berjajar, memutar batang kembali dengan sudut A dan membaca pesanplaintext.

Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada tahun 1920 oleh Boris Hagelin di Scockholm, Swedia. Di US, mesin Hagelin dikenal sebagai M-209. Pada tahun 20-an, Herbert O. Yardley bertugas pada organisasi rahasia US MI-8 yang dikenal sebagaiBlack Chamber. MI-8 menjebol kode-kode sejumlah megara. Selama konferensi Angkatan Laut Washington tahun 1921-1922, US membatasi negosiasi dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telap disadap kepada sekretaris

negara US. Departemen negara menutup MI-8 pada tahun 1929 sehingga Yardley merasa kecewa. Sebagai wujud kekecewaanya, Yardley menerbitkan buku The American Black Chamber, yang menggambarkan kepada dunia rahasia dari MI-8. Sebagai konsekuensinya, pihak Jepang menginstal kode-kode baru. Karena kepeloporannya dalam bidang ini, Yardley dikenal sebagai Bapak Kriptografi Amerika (Ariyus,2005, Hal.6).

2.3.2. Tujuan Kriptografi

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi (Munir, 2006, Hal.10), yaitu:

1. Kerahasiaan (confidentiality), adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.

2. Integritas data (data integrity), adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

3. Outentikasi (authentication), adalah usaha yang berhubungan dengan identifikasi/pengenalan, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (dataorigin authentication).

4. Nirpenyangkalan (non-repudiasi) adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

2.3.3. Algoritma Kriptografi

Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut.Algoritma kriptografi harus memiliki langkah-langkah yang terpenuhi

dari awal sampai ahir tehnik algoritma kritprografi. Algoritma kriptografi terdiri dari tiga fungsi dasar (Ariyus, 2008, Hal.12), yaitu:

1. Enkripsi

Merupakan hal yang sangat penting dalam kriptografi, merupakan Pengaman-an data yPengaman-ang dikirim agar terjaga kerahasiaPengaman-annya. PesPengaman-an asli disebutplaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai cipher atau kode dengan menggunakan algoritma yang untuk mengkodekan data yang kita inginkan.

2. Dekripsi

Merupakan kebalikan dari proses enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi.

3. Kunci

Kuci adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

Algoritma kriptografi tersebut harus memiliki kekuatan untuk melakukannya (Ariyus, 2008, Hal.14) :

1. Konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya 2. Difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks

terang tersebut hilang sehingga dapat digunakan untuk mengamankan informasi.

2.3.4. Sistem Kriptografi

Sistem kriptografi atau cryptosystem adalah sebuah algoritma kriptografi ditambah semua kemungkinan plaintext dan kunci (Sadikin, 2012, Hal.1).

Encryption dan decryption umumnya membutuhkan penggunaan sejumlah

informasi yang rahasia, yang sering disebut kunci (key). Mekanisme enkripsi, kunci yang sama digunakan untuk enkripsi dan dekripsi, sementara beberapa mekanisme lain, kunci yang digunakan berbeda pada saat enkripsi dan pada saat

dekripsi. Berdasarkan hal tersebut cryptosystem dapat digolongkan menjadi dua golongan yaitu symmetric algorithms (algoritma simetris) dan asymmetric algorithms(algoritma asimetris). sistem kriptografi terdiri dari 5 bagian (Sadikin, 2012, Hal.16),yaitu:

1. Plaintext

Pesan atau data dalam bentuk adlinya yang dapat terbaca,Plaintext ada-lah masukan bagi algoritma engkripsi. Untuk selanjutnya digunakan istiada-lah teks asli sebagi padanan kataplaintext.

2. Secret Key

Secret key yang juga merupakan amsukan bagi algoritma engkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi. Untuk selanjutnya istilah kunci rahasia padanana katasecret key.

3. Ciphertext

Ciphertext adalah keluaran algoritma engkripsi. Ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphertext yang terlihat acak. Untuk selanjutnya digunakan istilah teks sandi sebagai padanan kataciphertext.

4. Algoritma Enkripsi

Algoritma engkripsi memiliki 2 masukan teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi, dan teks enkripsi yang dari proses aritmatika rumus sendiri.

5. Algoritma Dekripsi

Algoritma Dekripsi memiliki 2 masukan yaitu teks asli dan kuci rahasia. Algoritma deskripsi memulihkan kembali teks asli bila kunci rahasia.

2.3.4.1 Algoritma Kriptografi Simetris

Algoritma kriptografi simetris (symmetric algorithms) atau disebut juga algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses dekripsi (Sadikin, 2012, Hal.13). Proses enkripsi-dekripsi pada algoritma kriptografi simetris dapat seperti gambar berikut:

Gambar 2.1 : Skema Algoritma Simetri Sumber:Sadikin, 2012, Hal.13 Keterangan : A = pengirim pesan

B = penerima pesan

= proses perjalanan pesan

Algoritma simetris dapat dibagi menjadi 2 kategori yaitu block ciphersdan

stream ciphers. Block ciphers adalah skema enkripsi yang memecah plaintext

menjadi blok-blok dengan panjang tertentu yang kemudian dienkripsi. Padablock ciphers, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Kumpulan dari bit-bit tersebut disebut blok. Sedang pada stream ciphers, proses penyandian dilakukan bit per bit (Sadikin, 2012, Hal.13). Block ciphers umumnya digunakan untuk ukuran data yang besar sedangkan stream cipher digunakan untuk ukuran data yang lebih kecil. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher (skema algoritma sandi saat pengiriman teks) dan stream-cipher (algoritma sandi yang mengenkripsi data).

2.3.4.2 Algoritma Kriptografi Asimetris

Algoritma kriptografi asimetris (asymmetric algorithm) adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya (Sadikin, 2012, Hal.14). Algoritma asimetri sering disebut algoritma kunci, kerana kunci yang digunakan untuk enkripsi dan dekripsinya berbeda. Proses enkripsi-dekripsi algoritma asimetris dapat dilihat pada gambar 2.3 berikut :

Gambar 2.1 : Skema Algoritma Simetri Sumber:Sadikin, 2012, Hal.13 Keterangan : A = pengirim pesan

B = penerima pesan

= proses perjalanan pesan

Algoritma simetris dapat dibagi menjadi 2 kategori yaitu block ciphers dan

stream ciphers. Block ciphers adalah skema enkripsi yang memecah plaintext

menjadi blok-blok dengan panjang tertentu yang kemudian dienkripsi. Padablock ciphers, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Kumpulan dari bit-bit tersebut disebut blok. Sedang pada stream ciphers, proses penyandian dilakukan bit per bit (Sadikin, 2012, Hal.13). Block ciphers umumnya digunakan untuk ukuran data yang besar sedangkan stream cipher digunakan untuk ukuran data yang lebih kecil. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher (skema algoritma sandi saat pengiriman teks) dan stream-cipher (algoritma sandi yang mengenkripsi data).

2.3.4.2 Algoritma Kriptografi Asimetris

Algoritma kriptografi asimetris (asymmetric algorithm) adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya (Sadikin, 2012, Hal.14). Algoritma asimetri sering disebut algoritma kunci, kerana kunci yang digunakan untuk enkripsi dan dekripsinya berbeda. Proses enkripsi-dekripsi algoritma asimetris dapat dilihat pada gambar 2.3 berikut :

Gambar 2.1 : Skema Algoritma Simetri Sumber:Sadikin, 2012, Hal.13 Keterangan : A = pengirim pesan

B = penerima pesan

= proses perjalanan pesan

Algoritma simetris dapat dibagi menjadi 2 kategori yaitu block ciphers dan

stream ciphers. Block ciphers adalah skema enkripsi yang memecah plaintext

menjadi blok-blok dengan panjang tertentu yang kemudian dienkripsi. Padablock ciphers, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Kumpulan dari bit-bit tersebut disebut blok. Sedang pada stream ciphers, proses penyandian dilakukan bit per bit (Sadikin, 2012, Hal.13). Block ciphers umumnya digunakan untuk ukuran data yang besar sedangkan stream cipher digunakan untuk ukuran data yang lebih kecil. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher (skema algoritma sandi saat pengiriman teks) dan stream-cipher (algoritma sandi yang mengenkripsi data).

2.3.4.2 Algoritma Kriptografi Asimetris

Algoritma kriptografi asimetris (asymmetric algorithm) adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya (Sadikin, 2012, Hal.14). Algoritma asimetri sering disebut algoritma kunci, kerana kunci yang digunakan untuk enkripsi dan dekripsinya berbeda. Proses enkripsi-dekripsi algoritma asimetris dapat dilihat pada gambar 2.3 berikut :

Gambar 2.2 : Skema Algoritma Asimetri Sumber: Sadikin, 2012, Hal.14 Keterangan : A = pengirim pesan

B = penerima pesan

= proses perjalanan pesan

Algoritma kriptografi kunci terbagi menjadi dua bagian, yaitu kunci publik dan kunci pribadi. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.

2.4 AlgoritmaHil Chiper

Hill cipher diciptakan oleh Lester S. Hill pada tahun 1929.Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher (kode) yang tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill cipher

tidak mengganti setiap abjad yang sama padaplaintextdengan abjad lainnya yang sama padaciphertext karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya. Hill cipher adalah kriptografi simetris biasa juga disebut kode

hill merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi (Sadikin, 2012, Hal.33).

Hill cipher merupakan salah satu algoritma kriptografi kunci simetris. Algoritmahill ciphermenggunakan matriks berukuran m x m sebagai kunci untuk melakukan enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam hill cipher antara lain adalah perkalian antar matriks dan melakukan invers pada matriks. Hill cipher seperti polyalphabetic cipher dapat dikategorikan sebagai block cipher karena teks yang akan diproses akan dibagi menjadi blokblok dengan ukuran tertentu. Setiap karakter dalam satu blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula disinilah kelebihan dari algoritma hill chiper dalam proses mengamankan pesan untuk diamankan yang dilakukan pada saat proses aritmatika, seperti gambar berikut :

KOM I KOM II

Gambar 2.3 : Proses Hill Chiper Sumber : Sadikin, 2012, Hal.33

Termasuk kepada algoritma kriptografi klasik yang sangat sulit dipecahkan oleh kriptanalis apabila dilakukan hanya dengan mengetahui berkas ciphertext saja. Namun, teknik ini dapat dipecahkan dengan cukup mudah apabila kriptanalis memiliki berkas ciphertext dan potongan berkasplaintext. Teknik kriptanalisis ini disebutknown-plaintext attack(Sadikin, 2012, Hal.34).

2.4.1 PengenkripsianHill Cipher

Langkah-langkah untuk proses enkripsi plaintext dengan hill cipher

(Sadikin, 2012, Hal.34), adalah sebagai berikut:

1. Pilih suatu matriks kunci K yang berupa matriks bujur sangkar sebagai kunci. 2. Transformasikan tiap huruf dalam teks ke angka dengan sesuai (A = 0; B =

1;---; Z = 25).

3. Kelompokkan barisan angka ke dalam beberapa blok vektor P yang panjangnya sama dengan ukuran matriks K.

4. Hitung C = K . P (mod 26) untuk tiap vektor P.

5. Kembalikan tiap angka dalam vektor sandi C ke huruf yang sesuai untuk mendapatkan teks sandi.

Bagian berikut akan menjelaskan enkripsi dengan hill cipher dengan memberikan contoh.Hill ciphermenggunakan matriks untuk mentransformasikan

string plaintextmenjadiciphertext.

Contoh : Enkripsi teks sandi jika di berikan teks asli MATAHARI denganhill chiperdengan kunci K=[4 3 ; 3 3] atau DCCC mod 26 ?

Jawab : Karena K berukuran 2 x 2 maka mengengkripsikan hill chiper

teks asli 2 karakter, sebelum penyelesaian ubah teks asli menjadi bilangan bulat yaitu [ 12 0 19 0;7 0 17 8] enkripsi dilakukan dengan membentuk vektor 4 x 1 dari 2 karakter pada teks asli secara berurutan. Untuk karakter ke 1 dan ke 2 dapat dihitung sebagai berikut :

MA c0 c2 = 3 3 3 4 = 12 0 = 48 36 mod 26 = 22 10 TA c3 c4 = 3 3 3 4 = 19 0 = 76 75 mod 26 = 24 5 HA c5 c6 = 3 3 3 4 = 7 0 = 28 21 mod 26 = 2 21 RI c7 c8 = 3 3 3 4 = 17 8 = 92 75 mod 26 = 14 23

Maka hasilchipertextdari MATAHARI atau [ 12 0 19 0;7 0 17 8] adalah WKYFCVOX atau [22 10 24 5;2 21 14 23]. Setelah mendapatkan chipertext

maka selanjutnya mencari deskripsihill chiper, sebelum mencari hill chiper maka haruslah mencari kunci sebagai pembuka deskripsi hill chiper, kunci di cari dengan cara matriks inversyaitu kebalikan dari matriks kunci dan inversmatriks, bila ordo matriks menggunakan ordo 2 maka deskripsi juga menggukan ordo 2 begitu seturusnya sampai mendapatkan deskripsi hill chiper. Bila mengenkripsikan kalimat yang panjang yang memiliki karakter lebih dari 26 yang telah di tentukan maka untuk menggantikan karakter-karakter yang tidak terdaftar didalam tabel harus dengan karakter didalam tabel misal karakter spasi maka di ganti dengan x , contoh : SAYA SIBUK , maka menjadi : SAYAXSIBUK .

Algoritma proses pendekripsian hill cipher dapat diuraikan dalam bentuk langkah-langkah (Sadikin, 2012, Hal.36), sebagai berikut:

Dalam dokumen Penerapan Algoritma Hill Cipher Dalam Ke (Halaman 17-85)

Dokumen terkait