IMPLEMENTASI KRIPTOGRAFI SUBTITUSI HOMOFON DENGAN PHP Muhammad Iqbal Amaludin (1137050155), Jurusan Teknik Informatika, Fakultas Sains Dan Teknologi UIN Sunan Gunung Djati Jl AH Nasution No 151 Bandung
[email protected]
Abstrak Dalam perkulian teknik informatika, kriptografi menjadi watakuliah yang wajib di kuti oleh setiap mahasiswa. Salah satu yang dipelajari dalam krirptografi ini yaitu kriptofgrafi klasik dengan metode subtitusi homofon. Substitusi homofon adalah kriptografi klasik yang memetakan setiap karakter plainteks ke dalam salah satu chiperteks yang ada dengan tujuan untuk menyembunyikan hubungan antara plainteks dengan chiperteks dari frekuensi karakter yang muncul. Pada substitusi homofon, setiap karakter dapat memiliki chiperteks yang berbeda.
Kata kunci : KRIPTOGRAFI, HOMOFON, CHIPPERTEXT
Abstract In a lecture informatics techniques , cryptography into subjects that must be followed by every student . One learned in this chryptografi is chryptografi classic with homophones substitution method . Homophones substitution is classical cryptography that maps each character of plaintext into one chiperteks there with the purpose of concealing the relationship between plaintext with chiperteks of characters appearing frequency . In substitution homophones , each character can have different chiperteks . Keywords : chryptografi, homophones, chippertext
I. PENDAHULUAN Di era digital ini kemanan merupakan hal yang sangat penting, karena tidak ada sistem yang aman. Karena sekarang tidak sistem yang aman, maka
solusinya yaitu dengan memperketat pengamanan sistem agar waktu untuk membongkar sistem itu semakin lama. Algoritma kriptografi subtitusi homofon merupakan salah satu ilmu untuk mengaman kan file, meski termasuk kedalam kritografi kalis, namun kriptografi ini dinilai ampuh untuk mengamankan file.
II. LANDASAN TEORI Metodologi adalah kesatuan metode-metode, prosedur-prosdur, konsep-konsep pekerjaan, aturanaturan, dan postulat-postulat, yang digunakan oleh suatu sisem ilmu pengetahuan, seni atau disiplin yang lainnya (Jogiyanto 2005, h,59). Sedangkan metode adalah suatu cara, teknik yang sistematik untuk mengerjakan sesuatu. Metodologi pengembangan sistem berarti adalah metode-metode, prosedurprosedur, konsep-konsep pekerjaan, aturan-aturan, dan postulat-postulat yang akan digunakan untuk mengembangkan suatu sistem informasi. Dalam pengembangan sistem informasi, perlu digunakan suatu metodologi yang dapat digunakan sebagai pedoman bagaimana dan apa yang harus dikerjakan selama pengembangan ini. (Jogiyanto 2005, h.59) a. Tahap Permulaan Sistem (System Initiation) Tahap permulaan sistem digunakan sebagai tahap awal dalam menentukan lingkup, tujuan, jadwal dan anggaran proyek yang diperlukan untuk memecahkan masalah atau kesempatan yang direpresentasikan oleh proyek, lingkup proyek mendefinisikan area bisnis yang akan ditangani oleh proyek dan tujuan-tujuan yang akan dicapai. Lingkup dan tujuan pada akhirnya berdampak pada komitmen sumber, yaitu jadwal dan anggaran, yang harus dibuat supaya berhasil menyelesaikan proyek.Adapun teknik yang digunakan adalah wawancara dan observasi. b. Tahap Analisis Sistem (System Analysis)
Muhammad Iqbal Amaludin (1137050155)
1
Analisis sistem ditujukan untuk menyediakan tim proyek dengan pemahaman yang lebih menyeluruh terhadap masalah dan kebutuhan yang memicu proyek. Lingkup proyek yang didefinisikan selama permulaan system dipelajari dan dianalisis untuk memperoleh pemahaman yang lebih rinci mengenai apa yang dibutuhkan. c.
Tahap Desain Sistem (System Design)
Setelah memperoleh pemahaman akan persyaratan sistem informasi, maka dilakukan desain sistem. Selama desain sistem, fase yang dibutuhkan untuk desain sistem yaitu mengembangkan blueprint dan spesifikasi teknis yang dibutuhkan untuk mengimplementasi database, program, Hal – 2 antar muka penggunaa dan jaringan yang dibutuhkan untuk sistem informasi. d.
Tahap Implementasi implementation)
Sistem
(System
Langkah terakhir dalam proses pengembangan sistem adalah implementasi sistem. Implementasi sistem menjalankan sistem informasi baru dan menempatkannya ke dalam operasi. Sistem tersebut harus diuji untuk memastikan bahwa sistem bekerja dengan sempurna dan memenuhi persyaratan dan harapan pengguna, serta melakukan pelatihan. (Whitten 2006, h.3234 ) 1.
Pengertian Aplikasi
Menurut Supriyanto (2005:117-132), Aplikasi adalah program yang memiliki aktivitas pemerosesan perintah yang diperlukan untuk melaksanakan permintaan pengguna dengan tujuan tertentu. 2.
Pengertian Data
Menurut Febrian (2004:129), Data adalah fakta atau bagian dari fakta yang mengandung arti yang dihubungkan dengan kenyataan, simbol, gambar, angka, kata, huruf yang menunjukan suatu ide, objek, kondisi dan situasi. 3.
Pengertian Kriptografi
riptografi (cryptographi) berasal dari Bahasa Yunani: “cryptos” artinya “secret” (rahasia), sedangkan “graphein” artinya “writing” (tulisan). Sehingga kriptografi berarti “secret writing” (tulisan rahasia). Jadi kriptografi didefinisikan sebagai ilmu dan seni untuk menjaga kerahasiaan pesan dengan
cara menyandikannya kebentuk yang tidak dapat dimengerti lagi maknanya. 4.
Pengertian Bahasa Pemrograman
Bahasa pemrograman atau sering diistilahkan sebagai bahasa komputer, adalah teknik komando atau instruksi standar untuk memerintah komputer. Bahasa pemrograman merupakan himpunan atau kumpulan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program computer 5.
PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
III. ANALISIS DAN PERANCANGAN 1.
Bahasa pemrogrman
2.
Landasan Teori
Substitusi homofon adalah kriptografi klasik yang memetakan setiap karakter plainteks ke dalam salah satu chiperteks yang ada dengan tujuan untuk menyembunyikan hubungan antara plainteks dengan chiperteks dari frekuensi karakter yang muncul. Pada substitusi homofon, setiap karakter dapat memiliki chiperteks yang berbeda. Contoh plainteks A memiliki chiperteks AA, AC, GR atau lainnya yang mungkin, dengan begini untuk menebak plainteks dari chiperteks akan menjadi lebih sulit.
Muhammad Iqbal Amaludin (1137050155)
2
mewakili dari awal tabel, yaitu posisi 1, 26, 51, dan 76. Jika pada bentuk normal (plain) tanpa kata kunci (atau disebut AAAA), maka tabelnya akan seperti ini : (tabel angka) A-B-C-D-E-F-G-H-I-K-L-MN-O-P-Q-R-S-T-U-V-W-X-Y-Z (baris 1) 01-02-03-04-05-06-07-08-09-1011-12-13-14-15-16-17-18-19-20-21-22-2324-25 (baris 2) 26-27-28-29-30-31-32-33-34-3536-37-38-39-40-41-42-43-44-45-46-47-4849-50 (baris 3) 51-52-53-54-55-56-57-58-59-6061-62-63-64-65-66-67-68-69-70-71-72-7374-75 (baris 4) 76-77-78-79-80-81-82-83-84-8586-87-88-89-90-91-92-93-94-95-96-97-9899-00 Sandi Homophonic (Homophonic Cipher) Modern versi Amerika adalah sandi tabel angka yang menggunakan 4 huruf sebagai kuncinya. Dengan menggunakan 4 baris angka bilangan 01 s/d 100 (00), tiap baris tabel akan berisi 25 angka yang mewakili 25 huruf. Sebetulnya bisa saja sandi ini menggunakan 50 atau 75 angka, tetapi untuk memperkuat sandi ini, gunakanlah standar untuk pembuatan sandi ini yaitu 100 angka yang akan dibagi dalam 4 baris. Seperti halnya sandi/cipher Internasional lain, Sandi Homophonic ini juga menyatukan huruf I dan J dalam satu kolom karena dihitung dari jarang munculnya huruf J dalam literatur bahasa Inggris khususnya. Dimana seperti yang disebut diatas, Tabel sandi Homophonic akan berbentuk 4 baris, dimana baris pertama angka 01 s/d 25, baris kedua angka 26 s/d 50, baris ketiga 51 s/d 75, dan baris terakhir 76 s/d 100 (00). - Cara Membuat Pesan dengan Sandi Homophonic (Homophonic Cipher) Pertama-tama pilihlah kata kunci untuk sandi tersebut. Kata kunci harus menggunakan 4 huruf sebagai kuncinya yang akan berperan sebagai huruf awal dari tabel pada sandi ini. Kuncinya adalah tiap masing-masing huruf
Misalkan kita memakai kata kunci 'CCDI', maka nanti angka 01, akan dimulai dari kolom huruf C, angka 26 akan dimulai dari kolom huruf C, angka 51 akan dimulai dari kolom huruf D, dan angka 76 akan dimulai dari kolom huruf I, sehingga nanti tabel-nya akan seperti ini : (tabel angka) A-B-C-D-E-F-G-H-I-K-L-MN-O-P-Q-R-S-T-U-V-W-X-Y-Z (baris 1) 24-25-(01)-02-03-04-05-06-07-0809-10-11-12-13-14-15-16-17-18-19-20-2122-23 (baris 2) 49-50-(26)-27-28-29-30-31-32-3334-35-36-37-38-39-40-41-42-43-44-45-4647-48 (baris 3) 73-74-75-(51)-52-53-54-55-56-5758-59-60-61-62-63-64-65-66-67-68-69-7071-72(baris 4) 93-94-95-96-97-98-99-00-(76)-7778-79-80-81-82-83-84-85-86-87-88-89-9091-92 Maka dengan sandi Homophonic dengan kata kunci CCDI, huruf A dapat kamu wakili dengan angka 24, 49, 73, ataupun 93. Huruf B adalah 25, 50, 74, dan 94. mengerti? XD
Muhammad Iqbal Amaludin (1137050155)
3
Lalu dengan tabel ini kita ingin menulis pesan : WE ARE CREATIVE, maka jadinya akan seperti ini (contoh aja, posisi angka bisa bebas kamu ambil dari baris mana aja)
kode tersebut akan mudah berbaur seolah seperti bukan sebuah huruf vocal. - Tips Memecahkan Sandi Homophonic (Homophonic Cipher)
WEARECREATIVE 89 03 49 64 28 01 40 52 73 17 76 44 97
Sandi Homophonic adalah tipe sandi yang digunakan untuk penerapan pesan panjang, karena cara pembuatannya mudah dan tidak memakan waktu sehingga pesan yang cukup panjangpun tidak masalah. Dari situlah kita harus mengambil celah untuk memecahkan sandi tersebut. Biasanya pada umumnya, setiap kunci dari sandi Homophonic itu sedikitnya ada 1 ataupun 2 huruf yg menggunakan huruf vocal, jika sial sih mungkin si pembuat akan menggunakan huruf konsonan semuanya. Dan umumnya pembuat sandi Homophonic biasanya jarang memakai kunci yang mengandung huruf 'A', karena akan membuat posisi baris pada tabel menjadi plain atau normal. Dan tak lupa perhatikan juga kemungkinan munculnya angka yang kamu curigai sebagai huruf vocal.
maka hasil Sandi Homophonic (Homophonic Cipher) untuk kata WE ARE CREATIVE adalah : 89 03 49 64 28 01 40 52 73 17 76 44 97
Kelebihan Sandi (Homophonic Cipher)
Homophonic
Sandi ini dikatakan ampuh karena selain mudah dalam pembuatannya, sandi ini memiliki kemampuan meminimalisir kemungkinan pemecahan kode oleh Code Breaker lain yang disebabkan oleh penerapan 4 baris kode tersebut. Ya, dengan membuat sebuah huruf dapat diwakili oleh 4 buah angka kode, maka kemungkinan sang Code Breaker untuk membaca huruf vocal (huruf hidup) di sandi ini dapat diminimalisir. Perlu diketahui karena pemecahan metode sandi paling simple, khususnya untuk sandi-sandi transposisi dengan posisi konstan (seperti Caesar, Sungai, A=Z, rot13, sandi angka, kode etik dll) cara paling mudah untuk memecahkannya adalah melihat dari huruf yang paling sering muncul, dan mengasumsikan huruf itu sebagai salah satu huruf vocal. Nah, disitulah kehebatan sandi ini, dimana sistem pemecahan dengan pola seperti itu cukup sulit diterapkan pada Sandi Homophonic ini. Karena walaupun perpindahan huruf di sandi ini tetap (konstan) sepanjang isi pesan (selama kita tau posisi awalnya), tetapi akan sulit dipecahkan karena satu huruf vocal dapat diwakili oleh 4 buah angka kode. Sebab logika dasar kita pada sebuah bentuk sandi dengan perpindahan konstan di seluruh tempatnya, 1 angka hanya mewakili 1 huruf saja. Jika ditotal, akan ada 20 kemungkinan huruf vocal di kode tersebut, sehingga huruf vocal dalam bentuk
3.
Dan ingat, dengan persamaan diatas dimana kemungkinan kunci ada yang memakai huruf vocal salah satunya, maka curigailah angka awal yaitu '01, 26, 51, ataupun 76' sebagai salah satu dari huruf vocal, setidaknya dengan berhasil memecahkan 1 atau 2 baris, kemungkinan kamu memecahkan isi pesan juga bertambah besar. Jangan lupa gunakan sebaik mungkin logika kamu. Paling segitu aja tips dari Admin untuk memecahkan pesan dengan sandi ini jika kamu tidak mengetahui kuncinya. Untuk Lebih Jelasnya Rancangan Layar (Form)
a.
Form Menu Utama
Rancangan form utama berisi menu kriptografi yang akan dijalankan tampilannya SBB:
Muhammad Iqbal Amaludin (1137050155)
4
Memuat beberapa kesimpulan penting dari hasil penelitian dan mencantumkan saran untuk perbaikan penelitian berikutnya. a.
2. Gambar 1. Halaman Home b.
Form halaman subtitusi homofon
Form ini berisi halaman untuk melakukan enkripsi kritografi subtitusi homofon
Diperlukan pembuatan yang lebih interaktif lagi agar lebih mudah digunakan. b. Diperlukan pengimplementasian untuk sebuah program atau web agar aplikasi ini bemanfaat. Saran
Berdasarkan kesimpulan yang diperoleh, penulis memberikan beberapa saran yaitu : a.
Aplikasi yang dikembangkan ini diharapkan dapat membantu dalam penanganan file agar bisa bermanfaat.
REFERENSI Fruhling, A., & Lee, S. (2005). Assessing the Reliability, Validity and Adaptability of PSSUQ. 9th Americas Conference on Information Systems. Omaha, Nebraska. Gambar 2. Form Enkripsi c.
Form hasil dekrripsi
Lewis, R. (n.d.). T12: Standardized Usability Questionarry. Retrieved December 10, 2014, from http://michaelyeap.blogspot.com/2009/10/oc t-9-post-study-system-usability.html Sauro, J. (n.d.). 8 Advantages of Standardized Usability Questionnairres. Retrieved December , 2014, from http//www.measuringusability.com/blog/sta ndardized-usability.php
Gambar 3. Form Dekripsi
IV. KESIMPULAN DAN SARAN 1.
Kesimpulan
Al-Bahra 2004, Konsep Sistem Basisdata dan Implementasinya, Graha Ilmu, Jakarta H.M, Jogiyanto 2005, Analisis dan Desain, Andi Offset, Yogyakarta Aryus, Doni, Kriptografi : keamanan data dan komunikasi, Graha Ilmu, Jakarta
Muhammad Iqbal Amaludin (1137050155)
5