Kriptografi adalah ilmu yang mempelajari kerahasiaan berita, dalam hal ini adalah kerahasiaan sebaris huruf atau lebih yang di rahasiakan dengan mela...
KRIPTOGRAFI Cipher Substitusi Homofonik dengan PHP
Disusun oleh:
Sandhi Yani Zulqifli
24010310141038
PROGRAM STUDI TEKNIK INFORMATIKA – R2 R2 JURUSAN MATEMATIKA FAKULTAS MATEMATIKA ILMU PENGETAHUAN ALAM UNIVERSITAS DIPONEGORO SEMARANG 2012
1|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
DAFTAR ISI DAFTAR ISI ……………………………………………………………………………
2
BAB I PENDAHULUAN ………………………………………………………………
3
Rumusan Masalah ………………………………………………………………
4
Tujuan …………………………………………………………………………..
4
BAB II PEMBAHASAN ……………………………………………………………….
5
BAB III PENUTUP ……………………………………………………………………
15
2|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
BAB I PENDAHULUAN Kriptografi adalah ilmu yang mempelajari kerahasiaan berita, dalam hal ini adalah
kerahasiaan sebaris huruf atau lebih yang di rahasiakan dengan melakukan Enkripsi dengan menggunakan kunci tertentu, kunci ini dapat b ermacam-macam bentuk, misalkan kata SAYA bila di enkripsi dapat menjadi BHWZ atau SDJK menyesuaikan d engan kunci apa yang di gunakan dalam melakukan enkripsi tersebut. Selain metode Enkripsi ada juga kebalikannya yaitu Dekripsi, Dekripsi ini adalah kebalikan dari Enkripsi yaitu merubah kata / huruf / kalimat yang telah di kodekan menjadi sebuah kata / huruf / kalimat yang readable ( mudah di baca ). Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
Kerahasiaan, 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.
Integritas data, 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.
Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan
sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya
penyangkalan
terhadap
pengiriman/terciptanya
suatu
mengirimkan/membuat.
3|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
informasi
oleh
yang
Rumusan Masalah o
Bagaimana melakukan Enkripsi dan Dekripsi dengan menggunakan Bahasa PHP ?
o
Bagaimana melakukan Enkripsi dan Dekripsi homofon dengan bahasa PHP ?
o
Membuat sebuah Program Enkripsi / Dekripsi dengan menggunakan Bahasa
Tujuan PHP. o
Enkripsi / Dekripsi dilakukan dengan menggunakan Cipher Substitusi Homofonik.
4|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
BAB II PEMBAHASAN
Cipher Substitusi Homofonik bisa dibuat dengan menggunakan bahasa PHP, kali ini
kita akan membuat sebuah program kecil berbasis WEB yang mampu melakukan fungsi Enkripsi dan Dekripsi dengan menggunakan metode Cipher Substitusi Homofonik.
Tampilan Program
5|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
Source Code
Pada program ini saya menggunakan 3 file yang berbeda : 1. Index.php ( sebagai halaman depan dari program/aplikasi ) 2. Style.css ( untuk tampilan dari program yang dibuat ) 3. SubstitusiHomofon.php ( ini adalah file yang di panggil ketika submit di tekan, berisi fungsi-fungsi yang dapat di jalankan.
1. Index.php
6|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
Penjelasana perbagian :
Di bawah adalah bagian dari PHP yang digunakan untuk menampung nilai yang kita masukkan pada bagian kolom textarea yang merupkan Cipherteks ataupun Plainteks. $_POST [‘text’] = digunakan untuk menangkap nilai yang kita masukkan pada kolom
teksarea.
$text = $_POST['text']; /** Enkripsi plainteks ke chiperteks */ if($_POST['submit']=="Enkripsi"){ ketika klik submit dan $hasil_text = enkripsi($text); }
7|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
/** Dekripsi chiperteks ke plainteks */ else if($_POST['submit']=='Dekripsi'){ ketika klik submit dan $hasil_text = dekripsi($text); } } else{ $text = null; } ?>
Bagian tampilan atau HTML
Pada bagian ini anda akan menemukan code , ini adalah code php yang digunakan untuk mengambil nilai dari teks yang di masukkan pada kolom textarea.
Substitusi Homofon by Sandhi
Tugas Kriptografi
Nama
:
Sandhi Yani Z
NIM
:
8|K r i p t o g r a fi | c i p h e r s u b s t i t u s i h o m o f o n i k
Ini adalah file PHP yang berisi fungsi-fungsi yang digunakan saat kita memilih Enkripsi atau Dekripsi pada saat melakukan pengkodean.
10 | K r i p t o g r a f i | c i p h e r s u b s t i t u s i h o m o f o n i k
di bawah ini adalah bagian dari table array yang kita gunakan sebagai kunci
$tabel = array("A"=>array("BU","CP","AV","AH","BT","BS","CQ"), "B"=>array("AT"), "C"=>array("DL","BK","AU"), "D"=>array("BV", "DY", "DM", "AI"), "E"=>array("DK", "CO", "AW", "BL","AA",
14 | K r i p t o g r a f i | c i p h e r s u b s t i t u s i h o m o f o n i k
BAB III PENUTUP PHP dapat digunakan untuk membuat program yang menggunakan fungsi Enkripsi & Dekripsi, kita telah melihat bagaimana program tersebut di buat dengan melihat perbagian dan fungsi-fungsi yang ada pada program tersebut. Program tersebut menggunakan metode cipher substitusi homofonik yang menggunakan pemetaan dari Plainteks ke Cipherteks, 1 huruf Plainteks mempunyai kunci 2 huruf di Cipherteks dan mempunyai beberapa kemungkinan sesuai dengan presentasi kemunculan huruf tersebut dalam sebuah kalimat yang akan di Enkripsi. Di atas telah berhasil di buat sebuah program yang mampu melakukan fungsi Ekripsi & Dekripsi dengan metode Cipher Substitusi Homofonik , dengan memanfaatkan table / array yang telah di buat sebelumnya, program ini mampu mengenkripsi satu huruf ( Plainteks ) ke dalam 2 huruf ( Ciphertext ), sehingga jika kita memasukkan 5 huruf ( Plainteks ) maka akan menghasilkan 10 huruf ( Cipherteks ) dengan rumus hasil = 2 P ( 2 x huruf Plainteks ). Untuk fungsi Dekripsi tidak dapat dilakukan jika jumlah Huruf adalah ganjil, hal ini dikarenakan 2 huruf ( Cipherteks ) memetakan 1 huruf ( Plainteks ) atau one-to-one, sedangkan dari Plainteks Cipherteks disebut hubungan one-to-many. Dari program di atas masih ada kelemahan. Yaitu pada fungsi Dekripsi tidak adanya Space diantara kata. Jadi jika kita ingin menDekripsi nilai dari sebu ah deretan huruf hasil dari dekripsi tersebut tidak akan memiliki Space. Untuk melihat Live Demo dari program di atas dapat dilihat di sini :
http://www.sandhiyaniz.com/kripto
15 | K r i p t o g r a f i | c i p h e r s u b s t i t u s i h o m o f o n i k