i ENKRIPSI DAN DEKRIPSI ACCOUNT EMAIL MAHASISWA DENGAN METODE H-PLAYFAIR MENGGUNAKAN JAVA DAN MYSQL (STUDI KASUS DI BAPSI USD) SKRIPSI Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Oleh : Bhernadet Megaria Intan Permatasari Nugroho NIM : 055314031 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010
113
Embed
ENKRIPSI DAN DEKRIPSI ACCOUNT EMAIL MAHASISWA …repository.usd.ac.id/32396/2/055314031_Full.pdf · 2018. 11. 28. · INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
i
ENKRIPSI DAN DEKRIPSI ACCOUNT EMAIL MAHASISWA
DENGAN METODE H-PLAYFAIR
MENGGUNAKAN JAVA DAN MYSQL
(STUDI KASUS DI BAPSI USD)
SKRIPSI
Diajukan Untuk Memenuhi Syarat Memperoleh
Gelar Sarjana Teknik Program Studi Teknik Informatika
Oleh :
Bhernadet Megaria Intan Permatasari Nugroho
NIM : 055314031
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2010
ii
ENCRYPTION AND DECRYPTION FOR STUDENT EMAIL ACCOUNT
WITH METHOD H-PLAYFAIR USING JAVA AND MYSQL
(A CASE STUDY IN BAPSI USD)
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain Sarjana Teknik Degree
In Informatics Engineering Department
By :
Bhernadet Megaria Intan Permatasari Nugroho
055314031
INFORMATICS ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2010
v
MOTTO
Jangan Berharap Pada Hal Kecil
Jika Kalau Kamu Tahu Kamu Punya Allah Yang Besar
Sebab Aku ini mengetahui rancangan-rancangan apa yang ada pada-
Ku mengenai kamu, demikianlah firman TUHAN, yaitu rancangan
damai sejahtera dan bukan rancangan kecelakaan, untuk memberikan
kepadamu hari depan yang penuh harapan.
(Yeremia 29:11)
vii
ABSTRAKSI
Email mahasiswa digunakan untuk memudahkan komunikasi antar
mahasiswa, mahasiswa dengan dosen, dan juga untuk hubungan dengan sesama.
Sistem Account Email Mahasiswa ini dibuat untuk melengkapi Sistem Email
Mahasiswa yaitu untuk membantu mahasiswa dalam registrasi email, ubah
password dan menangani lupa password. Salah satu cara untuk mengamankan
data password account email ialah dengan melakukan enkripsi pada data tersebut.
Pada tugas akhir ini metode enkripsi dan dekripsi yang digunakan
menggunakan metode H-Playfair. H-Playfair termasuk kedalam polygram cipher
sehingga H-Playfair dikategorikan juga algoritma kriptografi klasik. H-Playfair
diciptakan sebagai varian dari algoritma kriptografi playfair untuk mengatasi
kelemahan playfair. Enkripsi algoritma H-Playfair terdiri dari 2 tahap yaitu
enkripsi playfair bujursangkar 6x6 dan enkripsi jarak bujursangkar 6x6.
Implementasi program dengan menggunakan Java dan MySql
Hasil implementasi program ini menunjukkan bahwa metode H-
Playfair merupakan algoritma kriptografi klasik namun kemampuannya setara
dengan kemampuan metode kriptografi modern yang memiliki prinsip
membingungkan dan menyebar. Sistem ini dapat melengkapi Sistem Email
Mahasiswa dan dapat membantu mahasiswa karena mempermudahkan dalam
melakukan registrasi, membantu membuat password awal yang acak dan kuat,
membantu mahasiswa dalam mengubah password dengan mengetahui kekuatan
password dan menangani lupa password.
viii
ABSTRACT
Email student applied to facilitate communications between students
and also student with lecturer also for the relation of with humanity. This Account
Email Mahasiswa System made to complement student email system to assist
student in registration of email, changes password and handles forgetting
password. One of way of protect data password account email is by doing
encryption at the data.
At this final assignment encryption method and decryption applies
method H-Playfair. H-Playfair included into polygram cipher so that H-Playfair is
categorized also classic kriptografi algorithm. H-Playfair created as encryption
Playfair square 6x6 square distance encryptions 6x6 variants from algorithm
kriptografi Playfair. Implementation of program by using Java and MySql
Result of implementation of this program indicates that method H-
Playfair is classic kriptografi algorithm but its the ability is equivalent ably
modern kriptografi method. And this system can facilitate in doing registration
because can complement system Email Student Sanata Dharma in doing
registration also assists makes strong and random initial password because
password letter random and number.
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang
telah mengaruniakan berkat dan hikmat-Nya sehingga penulis dapat
menyelesaikan tugas akhir ini.
Dalam proses penulisan tugas akhir ini ada begitu banyak pihak yang
telah memberikan bantuan dan perhatian dengan caranya masing-masing sehingga
tugas akhir ini dapat diselesaikan. Oleh karena itu saya mengucapkan terimakasih
kepada :
1. Kedua orang tua penulis Al. Emmanuel Santo Nugroho dan Monica yang
telah memberi dukungan moral, spiritual dan finansial dalam penyusunan
skripsi.
2. Bapak Yosef Agung Cahyanta, S.T, M.T. selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Bapak Puspaningtyas Sanjoyo Adi, S.T.,M.T. selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma Yogyakarta.
4. Romo Drs. St. Hari Suparwito, SJ., M.App.IT selaku Dosen Pembimbing
Tugas Akhir yang telah banyak memberikan bimbingan dan menyediakan
waktu dalam memberikan pengarahan selama penulisan tugas akhir ini.
5. BAPSI Universitas Sanata Dharma yang telah memberikan kesempatan
sebagai tempat studi kasus.
xi
6. Bapak Bele Bau dan Tyus Dimas Sadewo yang turut mendukung dalam
persiapan ujian pendadaran.
7. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang
telah memberikan bekal ilmu, dan arahan selama penulis menempuh studi.
8. Adikku tersayang Alucia Victoria Intan Puspitasari Nugroho yang selalu
DAFTAR PUSTAKA ................................................................................................. 95
xvi
DAFTAR TABEL
Tabel 1 Penjelasan Use Case Login .......................................................................... 31 Tabel 2 Penjelasan Use Case Registrasi .................................................................... 32 Tabel 3 Penjelasan Use Case Ubah Password ........................................................... 33 Tabel 4 Penjelasan Use Case Lupa Password ........................................................... 33 Tabel 5 Penjelasan Use Case Lihat Data ................................................................... 34 Tabel 6 Penjelasan Use Case Reset Password .......................................................... 34 Tabel 7 Penjelasan Use Case Hapus Data ................................................................. 35 Tabel 8 Penjelasan Tabel Account_email ................................................................. 38 Tabel 9 Penjelasan Tabel Mahasiswa ........................................................................ 39
xvii
DAFTAR GAMBAR
Gambar 1. Proses Enkripsi dan dekripsi .................................................................... 9 Gambar 2. Enkripsi dan dekripsi dengan kunci ......................................................... 9 Gambar 3. Enkripsi dan dekripsi dengan kunci pada algoritma asimetri ................. 10 Gambar 4. Contoh kunci algoritma Playfair ............................................................ 14 Gambar 5. Contoh kunci algoritma H-Playfair ........................................................ 16 Gambar 6. Skema Enkripsi H-Playfair ..................................................................... 17 Gambar 7. Enkripsi jarak dengan bujursangkar 6x6 ................................................ 19 Gambar 8. Dekripsi jarak dengan bujursangkar 6x6 ................................................ 20 Gambar 9. Use Case Diagram .................................................................................... 31 Gambar 10. Diagram Konteks ...................................................................................... 35 Gambar 11. Diagram Berjenjang ............................................................................... 36 Gambar 12. Diagram Alir Data Proses 1.................................................................... 36 Gambar 13. Diagram Alir Data Level 2 Proses 2 ...................................................... 36 Gambar 14. Diagram Alir Data Level 2 Proses 3 ...................................................... 37 Gambar 15. Diagram Alir Data Level 2 Proses 4 ...................................................... 37 Gambar 16. Diagram Alir Data Level 2 Proses 6 ...................................................... 37 Gambar 17. Entity Relational Diagram ...................................................................... 37 Gambar 18. Diagram alir Registrasi Email, Ubah Password dan Lupa Password ..... 40 Gambar 19. Diagram alir Reset Password ................................................................. 41 Gambar 20. Diagram alir Proses Enkripsi dan Dekripsi Metode H-Playfair ............. 42 Gambar 21. Desain Halaman Login ........................................................................... 43 Gambar 22. Rancangan Halaman Menu Mahasiswa ................................................. 44 Gambar 23. Rancangan Halaman Registrasi User Mahasiswa .................................. 45 Gambar 24. Rancangan Halaman Registrasi(langkah 2) ........................................... 46 Gambar 25. Rancangan Halaman Ubah Password ..................................................... 47 Gambar 26. Rancangan Halaman Lihat Password ..................................................... 48 Gambar 27. Rancangan Halaman Lupa Password ..................................................... 49 Gambar 28. Rancangan Halaman Lupa Password(langkah 2) ................................... 49 Gambar 29. Rancangan Halaman Menu Admin ........................................................ 50 Gambar 30. Rancangan Halaman Lihat Data ............................................................. 51 Gambar 31. Rancangan Halaman Reset Password ..................................................... 51 Gambar 32. Rancangan Halaman Reset Password(langkah 2) .................................. 52 Gambar 33. Rancangan Halaman Hapus Data ........................................................... 53 Gambar 34. Halaman Login ....................................................................................... 71 Gambar 35. Halaman Menu Mahasiswa .................................................................... 72 Gambar 36. Halaman Registrasi ................................................................................. 73 Gambar 37. Pesan Eror Data Sama ............................................................................ 74 Gambar 38. Halaman Registrasi(langkah 2) .............................................................. 75 Gambar 39. Pesan Berhasil Melakukan Registrasi Account Email. .......................... 76 Gambar 40. Pesan Berhasil Melakukan Kirim Email. ............................................... 76
xviii
Gambar 41. Tampilan Hasil Print Account Email Mahasiswa. ................................. 76 Gambar 42. Kunci Algoritma H-Playfair ................................................................... 77 Gambar 43. Tampilan Database account email mahasiswa ....................................... 78 Gambar 44. Halaman Ubah Password ........................................................................ 78 Gambar 45. Halaman Konfirmasi Ubah Password .................................................... 79 Gambar 46. Halaman Lupa Password(langkah 1) ...................................................... 79 Gambar 47. Halaman Lupa Password(langkah 2) ...................................................... 80 Gambar 48. Halaman Lupa Password(langkah 3) ...................................................... 81 Gambar 49. Halaman Petunjuk Mahasiswa ............................................................... 82 Gambar 50. Halaman Menu Admin ........................................................................... 83 Gambar 51. Halaman Lihat Data................................................................................ 84 Gambar 52. Halaman Reset Password ....................................................................... 85 Gambar 53. Halaman Reset Password(langkah 2) ..................................................... 86 Gambar 54. Halaman Hapus Data .............................................................................. 87
1
BAB 1
PENDAHULUAN
1.1. Latar Belakang Masalah
Perkembangan teknologi saat ini menuntut manusia menginginkan
data atau informasi penting yang dimiliki terjamin keamanannya. Data atau
informasi penting tersebut harus dijaga sedemikian rupa sehingga hanya orang-
orang yang berhak saja yang dapat menggunakan data atau informasi tersebut.
Salah satu data atau informasi yang harus dijaga keamanannya adalah data
password. BAPSI Universitas Sanata Dharma ingin mengimplementasikan
account email mahasiswa, email tersebut digunakan untuk memudahkan
komunikasi antar mahasiswa maupun mahasiswa dengan dosen juga untuk
hubungan dengan sesama. Setiap mahasiswa akan mempunyai account email
yaitu username dan password untuk login. Agar lebih aman, data password
mahasiswa tersebut harus disimpan dalam bentuk yang sudah terenkripsi.
Dari latar belakang itulah penulis tertarik untuk membuat program
bantu guna membuat username serta password dan mengenkripsi - dekripsi
password yang dihasilkan untuk disimpan dalam database BAPSI. Hal ini
dilakukan karena penyimpanan data password yang tidak dienkripsi akan
menyebabkan password dapat dengan mudah dibaca oleh pihak yang tidak
2
berhak dan informasi akan segera diketahui oleh orang yang tidak berhak
tersebut. Selain itu program bantu ini akan memudahkan mahasiswa untuk
membuat username dan password dimana biasanya password dibuat berdasar
pada tanggal lahir, nama dan lain-lain yang mudah ditebak oleh orang lain
sehingga tidak aman.
Metode enkripsi dan dekripsi data sangat banyak, salah satunya yaitu
metode H-Playfair. Pemilihan terhadap metode yang akan digunakan
tergantung dari banyak hal, antara lain: kecepatan eksekusi algoritma tersebut,
gampang tidaknya algoritma tersebut dirusak oleh orang lain, kemudahan
dalam pengimplementasiannya dll.
1.2. Batasan Masalah
Dalam skripsi ini akan dibahas penggunaan metode H-Playfair untuk
mengenkripsi dan dekripsi data password account email mahasiswa. Aplikasi
yang akan dibuat berdasarkan hasil studi kasus di BAPSI Universitas Sanata
Dharma.
Batasan masalah dalam skripsi ini adalah :
1. Sistem pembuatan account email mahasiswa ini digunakan pada komputer
yang tidak tersambung jaringan.
3
2. Database sistem pembuatan account email mahasiswa ini masih terpisah
dengan database yang dimiliki oleh BAPSI.
3. Sistem pembuatan account email mahasiswa ini tidak terhubung dengan
mesin email yang dimiliki oleh BAPSI.
1.3. Tujuan dan Manfaat Penelitian
Tujuan pembuatan skripsi ini adalah
1. Mengimplementasikan H-Playfair untuk mengenkripsi dan dekripsi data
password dari account email mahasiswa.
2. Membuat program bantu untuk pembuatan account email mahasiswa,
membantu apabila terjadi lupa password dengan menggunakan Java dan
MySql.
Manfaat yang akan diperoleh dari tugas akhir ini adalah :
1. Meningkatkan keamanan data password yang tersimpan dalam database
username dan password email mahasiswa.
2. Dapat mempermudahkan mahasiswa untuk membuat username dan
password.
3. Menjadi “bank data” username dan password email mahasiswa sehingga
BAPSI mempunyai data email registrasi mahasiswa.
4
4. Dapat mempermudahkan mahasiswa untuk mendapatkan password baru
apabila lupa password.
1.4. Rumusan Masalah
Berdasarkan latar belakang yaitu keinginan untuk mengenkripsi data
password account supaya data aman maka diatas dapat dirumuskan
permasalahan sebagai berikut :
1. Bagaimana menjaga keamanan data password dengan enkripsi dan dekripsi
menggunakan metode H-Playfair?
2. Bagaimana membuat alat bantu untuk memudahkan user mendapatkan
account baru yaitu username dan password pada saat registrasi,
mendapatkan password baru pada saat lupa password dan mengganti
password.
1.5. Metodologi Penelitian
Metode penelitian yang dilakukan yaitu dengan melakukan studi kasus
dengan langkah-langkah sebagai berikut:
5
1. Melakukan studi kasus di BAPSI USD dengan berdiskusi dengan staff
BAPSI selain itu melakukan pengamatan secara langsung dengan melihat
data yang ada.
2. Melakukan studi kepustakaan untuk mencari dan mempelajari metode-
metode enkripsi yang ada dan memilih yang terbaik dan juga disesuaikan
dengan pemahaman dan kemampuan penulis yaitu enkripsi dan dekripsi
yaitu dengan metode H-Playfair. Mencari bahan dari berbagai sumber
untuk mencari bahan kajian yang sesuai dengan system yang dibuat. Bahan
kajian yang digunakan dapat berasal dari buku artikel internet yang dapat
digunakan untuk memecahkan masalah yang ada.
3. Melakukan implementasi. Penulis mulai membuat program alat bantu
untuk enkripsi dan dekripsi untuk database password dan pembuatan
username dan program bantu untuk menangani apabila lupa password.
1.6. Sistematika Penulisan
Untuk memudahkan dalam mengikuti skripsi ini, penulis menyusun
sistematika penulisan menjadi 5 bab. Berikut ini uraian singkat dari masing-
masing bab:
6
1. BAB I. PENDAHULUAN
Dalam bab ini diungkapkan mengenai latar belakang masalah, batasan
masalah, tujuan dan manfaat penelitian, rumusan masalah, metode
penelitian dan sistematika penulisan.
2. BAB II. LANDASAN TEORI
Dalam bab ini berisi tentang landasan teori yang digunakan dalam
pembuatan sistem untuk enkripsi dan dekripsi menggunakan metode H-
Playfair dengan menggunakan bahasa pemrograman Java dan MySql.
3. BAB III. ANALISA DAN PERANCANGAN
Dalam bab ini berisi tentang rancangan sistem yang akan dibuat.
Menjelaskan mengenai perancangan sistem dalam bentuk diagram alir yang
menyatakan semua proses yang terjadi dalam software yang akan dibuat.
4. BAB IV. IMPLEMENTASI DAN ANALISA HASIL
Dalam bab ini berisi implementasi yang dilakukan terhadap rancangan
yang telah dilakukan pada bab sebelumnya dan analisa hasil juga
pembahasan terhadap implementasi dari sistem yang dibangun.
7
5. BAB VI. KESIMPULAN DAN SARAN
Dalam bab ini berisi kesimpulan pembahasan dan saran-saran yang
berguna bagi pembaca yang terkait dengan sistem informasi yang
dibangun.
8
BAB 2
LANDASAN TEORI
2.1. Enkripsi dan Dekripsi
Salah satu cara untuk mengamankan informasi atau data penting
ialah dengan melakukan enkripsi pada data tersebut. Enkripsi ialah suatu
proses menyamarkan pesan dengan cara menyembunyikan isi pokoknya,
melakukan perubahan kode-kode dari yang bisa dimengerti menjadi kode-
kode yang tidak bisa dimengerti. Sedangkan dekripsi merupakan algoritma
atau cara yang dapat digunakan untuk membaca informasi yang telah
dienkripsi untuk dapat dibaca kembali. (Schneiner, 1994).
Data asli atau pesan asli disebut plainteks (plaintext) atau teks-jelas
(cleartext). Agar pesan atau data penting tersebut tidak dapat dimengerti
oleh orang lain dan terjaga kerahasiaanya maka pesan tersebut harus
dienkripsi. Data yang telah dienkripsi disebut chiperteks (chipertext) atau
menurut terminologi yaitu enchiper. Proses kriptografi yang mengubah
plainteks menjadi chiperteks disebut enkripsi (encryption) atau
encipherment. Chiperteks harus dapat ditransformasi kembali menjadi
plainteks. Sedangkan proses untuk mengembalikan ciphertext menjadi
plainteksnya disebut dekripsi (decryption) atau decipherment. Proses
perubahan pesan atau data di atas dapat digambarkan sebagai berikut :
9
Gambar 1. Proses Enkripsi dan dekripsi
Untuk mengubah teks asli ke bentuk teks kode menggunakan
algoritma kriptografi. Algoritma kriptografi merupakan fungsi yang
digunakan untuk proses enkripsi dan dekripsi. Supaya aman maka algoritma
kriptografi menggunakan kunci. Kunci adalah parameter yang digunakan
untuk transformasi enciphering dan dechipering. Kunci biasanya berupa
string(deretan abjad) atau deretan bilangan. Misalkan dengan menggunakan
kunci K, maka fungsi enkripsi dan dekripsi dapat digambarkan sebagai
berikut :
Algortima kriptografi dibagi menjadi tiga bagian berdasarkan kunci
yang dipakai yaitu : (Ariyus, 2008).
1. Algoritma simetri adalah algoritma yang menggunakan kunci enkripsi
sama dengan kunci dekripsi.
2. Algoritma asimetri adalah algoritma yang menggunakan kunci yang
berbeda untuk enkripsi dan dekripsi. Misalkan kunci enkripsi adalah K1
dan kunci dekripsi yang adalah K2, yang dalam hal ini K1 ≠ K2.
enkripsi dekripsi plainteks chipertek plainteks
enkripsi dekripsi
KK
plainteks chipertek plainteks semula
Gambar 2. Enkripsi dan dekripsi dengan kunci
10
Algoritma kriptografinya disebut algoritma asimetri atau algoritma
kunci-publik.
Fungsi Hash
3. Fungsi hash merupakan fungsi matematika yang mengambil masukan
panjang variabel dan mengubahnya ke dalam urutan biner dengan
panjang yang tetap. Fungsi hash adalah fungsi yang memproduksi
output dengan panjang tetap dari input yang berukuran variabel. Output
dari fungsi hash disebut dengan message digest. Fungsi hash memiliki
karakteristik fungsi satu arah karena file asli tidak dapat dibuat dari
message digest.
2.2. Kriptografi Klasik dan Kriptografi Modern
2.2.1. Kriptografi Klasik
Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci
untuk mengamankan data (Ariyus, 2008). Dua teknik dasar yang biasa
digunakan pada algoritma klasik adalah sebagai berikut :
1) Teknik subtitusi: Penggantian setiap karakter teks asli dengan karakter
lain.
2) Teknik transposisi (permutasi): dilakukan dengan menggunakan
permutasi karakter.
enkripsi dekripsi
KK1
plainteks chiperteks plainteks l
Gambar 3. Enkripsi dan dekripsi dengan kunci pada algoritma asimetri
11
2.2.2. Kriptografi Modern
Kriptografi modern mempunyai kerumitan yang sangat kompleks.
Kriptografi modern dipicu oleh perkembangan peralatan komputer digital.
Dengan komputer digital, cipher yang lebih kompleks menjadi sangat
mungkin untuk dapat dihasilkan. Tidak seperti kriptografi klasik yang
mengenkripsi karakter per karakter (dengan menggunakan alfabet
tradisional), kriptografi modern beroperasi pada string biner (Rinaldi,
2006).
2.3. Tipe Penyerangan Keamanan Data
Dibawah ini merupakan beberapa macam tipe penyerangan
terhadap pesan yang sudah dienkripsi yaitu :
1. Ciphertext-only attack
Penyerang hanya berbekal ciphertext saja, tanpa adanya pengetahuan
mengenai plaintext. Teknik ini membutuhkan akurasi yang tinggi dalam
melakukan penaksiran mengenai bagaimana sebuah pesan dapat
disandikan. Kriptanalis tidak mempunyai kunci dan teks aslinya,
sedangkan pekerjaan penyerang yaitu mendapatkan teks asli atau
mencari kuncinya terlebih dahulu
2. Known-plaintext attack
Penyerang mengetahui sebagian isi plaintext dari ciphertext yang
berhasil didapatkan. Menggunakan informasi yang ada ini, penyerang
12
berusaha untuk mencari kunci yang digunakan untuk menghasilkan
ciphertext.
3. Chosen-plaintext attack
Penyerang telah dapat menghasilkan plaintext dari ciphertext yang ada,
namun kuncinya sendiri belum ditemukan. Pada serangan jenis ini
kriptanalis dapat memilih plaintext tertentu untuk dienkripsikan, yaitu
plaintext yang lebih mengarahkan penemuan kunci. Kriptanalis
berusaha untuk menemukan kunci pembangun ciphertext dengan
membandingkan keseluruhan ciphertext dengan plaintext yang ada.
4. Adaptive-chosen-plaintext attack
Penyerang dapat memilih contoh plainteks secara dinamis dan
mengubah pilihannya berdasar dari hasil enkripsi sebelumnya.
5. Chosen-ciphertext attack
Penyerang dapat memilih sebuah chiperteks dan mencoba mendapatkan
plainteks terdekripsi yang berhubungan.
6. Exhaustive attack / brute force attack
Serangan ini adalah mencoba semua kemungkinan kunci. Setiap
plainteks yang diketahui dienkripsi dengan kunci terkaan untuk
dicocokkan dengan cipherteks pasangannya. Penyerang berusaha
mengungkap plainteks atau kunci dengan mencoba semua kemungkinan
kunci (trial and error). Asumsi yang digunakan yaitu kriptanalis
mengetahui algoritma kriptografi dan kriptanalis memiliki sebagian
plainteks dan cipherteks yang bersesuaian.
13
7. Teknik analisis frekuensi
Teknik untuk memecahkan cipherteks berdasarkan frekuensi
kemunculan karakter di dalam pesan dan kaitannya dengan frekuensi
kemunculan karakter di dalam alphabet.
2.4. Metode H-Playfair
2.4.1. Pengantar
H-Playfair termasuk dalam polygram cipher sehingga H-Playfair
dikategorikan juga sebagai algoritma kriptografi klasik. H-Playfair
diciptakan sebagai varian dari algoritma kriptografi playfair untuk
mengatasi kelemahan playfair.
Playfair cipher adalah cipher klasik yang ditemukan oleh Sir
Charles Wheatstone dan Baron Lyon Playfair. Kekuatan dari algoritma ini
adalah pada kuncinya yang menyusun bujursangkar 5x5. dengan demikian
kemungkinan kuncinya adalah : 25!=15.511.210.043.330.985.984.000.000.
Untuk melakukan enkripsi, algoritma Playfair mempunyai
beberapa aturan sebagai berikut : (Ariyus, 2008)
1. Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter
yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya.
Bila kedua karakter tidak terletak pada satu baris atau kolom maka
pergerakan karakter dimulai dari huruf kedua secara vertikal menuju
karakter teks-kode yang pertama.
14
2. Bila karakter-karakter yang dienkripsi atau dekripsi berada pada kolom
atau baris yang sama dan saling berdekatan maka digunakan prinsip
enkripsi atau dekripsi ke bawah atau ke samping.
3. Jika terdapat karakter kembar untuk penggunaan kode Playfair maka
disisipkan satu karakter di antara karakter tersebut.
Contoh:
Plainteks :
Mahasiswa
Kunci :
Gambar 4. Contoh kunci algoritma Playfair
Plainteks :
Chiperteks :
Namun, algoritma playfair cipher bisa dipecahkan dengan teknik
frekuensi distribusi ganda yaitu teknik yang menghitung frekuensi
kemunculan pasangan dua huruf cipherteks yang kemudian dibandingkan
dengan frekuensi pasangan dua huruf pada suatu bahasa. Disamping itu,
D O A N K
E R S B T
G L I U M
Y Q H P C
V W X F Z
ma ha si sw az
ik sx hi rx kx
15
hasil dekripsi playfair dapat menimbulkan ambiguitas karena saat enkripsi
plainteks, semua huruf J pada plainteks diganti terlebih dahulu dengan huruf
I.
Playfair Cipher memiliki banyak kelemahan. Playfair Cipher dapat
diserang dengan menggunakan teknik frekuensi distribusi huruf ganda pada
suatu bahasa. Selain itu, Playfair Cipher tidak menyertakan huruf J sehingga
bisa menimbulkan ambiguitas pada saat dekripsi.
Teknik analisis frekuensi adalah teknik yang membandingkan
distribusi kemunculan huruf pada ciphertext terhadap distribusi kemunculan
huruf pada berbagai teks suatu bahasa. Lanjutannya adalah teknik analisis
frekuensi pasangan huruf. Teknik analisis frekuensi pasangan huruf
membandingkan distribusi dua huruf.
H-Playfair Cipher termasuk ke dalam polygram cipher, salah satu
tipe dari cipher subtitusi. H-Playfair Cipher adalah algoritma kriptografi
yang mampu mengatasi kelemahan algoritma playfair biasa. H-Playfair
Cipher menambah langkah algoritma Playfair biasa ditambah kunci
diperluas menjadi bujur sangkar 6x6. Tambahan langkah memiliki
kemiripan dengan varian vigenere, tetapi fungsi penambahannya berbeda.
Vigenere cipher adalah salah satu jenis kriptografi klasik yang
menggunakan polialphabetik cipher, yaitu mengubah plainteks dengan
kunci tertentu biasanya berupa sebuah kata atau kalimat yang berulang
sepanjang plainteks sehingga didapatkan cipherteks. Dalam vigenere
digunakan tabel vigenere yang berisi masing-masing dari 26 cipher disusun
16
secara horisontal dan alphabet normal disusun secara vertikal. (Rinaldi,
2007).
2.4.2. Algoritma H-Playfair
Kunci H-Playfair adalah 26 huruf (a,b,c,d,…,z) ditambah 10 buah
angka (0,1,2,3,...,9) yang disusun didalam bujur sangkar 6x6. Setiap bujur
sangkar berisi huruf yang berbeda satu sama lain.
Contoh kunci :
Gambar 5. Contoh kunci algoritma H-Playfair
Algoritma enkripsi H-Playfair terdiri dari dua tahap. Yang pertama
melakukan algoritma enkripsi sama dengan algoritma enkripsi playfair.
Hanya saja bujursangkar berukuran 6x6 dan huruf j tetap ada. Tahap kedua
melakukan algoritma lanjutan yang memiliki kemiripan dengan varian
algorima kriptografi vigenere dengan fungsi substitusi berdasarkan jarak
antar huruf di dalam bujursangkar 6x6.
Skema enkripsi H-Playfair dapat digambarkan sebagai berikut :
D O A N K
E R S B T
G L I U M
Y Q H P C
V W X F Z
5
6
7
8
9
0 1 2 3 4 J
17
Gambar 6. Skema Enkripsi H-Playfair
Algoritma enkripsi H-Playfair adalah sebagai berikut :
1. Pesan yang akan dienkripsi dituliskan dalam pasangan huruf. Jika dalam
pasangan terdapat huruf yang sama, sisipkan huruf-huruf dummy. Jika
terdapat huruf yang belum berpasangan, maka pasangkan huruf tersebut
dengan dummy.
Contoh plainteks:
Enkripsi informatika
Dummy:
D M Y
Plainteks menjadi :
2. Lakukan algoritma seperti algoritma enkripsi playfair untuk
mensubstitusikan semua pasangan huruf plainteks dengan bujursangkar
kunci 6x6.
Hasilnya menjadi :
en kr ip si dm yi nf or ma ti ka
bd ot uh hi kg hg 3b lr ik sm ne
18
3. Hasil enkripsi tadi kemudian dikenakan algoritma enkripsi lanjutan.
Huruf hasil enkripsi tadi dipasangkan dengan huruf pertama kunci untuk
digantikan menjadi huruf baru menggunakan fungsi enkripsi jarak.
Fungsi enkripsi jarak ini adalah menghitung jarak antara huruf yang
akan dienkripsi dengan huruf kunci lalu mencari huruf dengan jarak
yang sama terhadap kunci. Jika panjang kunci telah habis, sisanya
diganti dengan huruf-huruf yang akan dienkripsi dari awal.
Contoh :
Plainteks:
Kunci: (dari kotak 6x6)
Hasil:
Untuk huruf b dengan kunci d menghasilkan karakter 3. Jarak
karakter d dari karakter b pada kotak adalah 3 petak kanan dan satu
petak atas. Sehingga karakter dengan 3 petak kanan dan 1 petak atas dari
karakter d (kunci) adalah 3 (jika melewati batas atas dan kanan maka
definisi satu petak atas adalah karakter paling bawah pada kotak 6x6
pada kolom yang sama dan karakter paling kiri pada kotak 6x6 pada
baris yang sama ).
bd ot uh hi kg hg 3b lr ik sm ne
do an k5 er sb t6 gl iu m7 yq hp
3a n2 9h hd gd 0k 38 u8 gv 4z o0
19
Gambar 7. Enkripsi jarak dengan bujursangkar 6x6
Algoritma dekripsi kebalikan dari enkripsi yakni :
1) Cari karakter-karakter yang berjarak darikarakter kunci sama dengan
karakter kunci ke cipherteks.
Contoh:
Chiperteks 2:
Kunci:
D O A N K
E R S B T
G L I U M
Y Q H P C
V W X F Z
5
6
7
8
9
0 1 2 3 4 J
v2 n2 9h 4d
do an k5 er
20
Kunci :
Gambar 8. Dekripsi jarak dengan bujursangkar 6x6
Chiperteks 1 :
2) Lalu lakukan algoritma dekripsi playfair
Chiperteks 1 :
Plainteks :
3) Hilangkan dummy (jika ada).
2.4.3. Kekuatan Algoritma Kriptografi H-Playfair
Meskipun H-Playfair termasuk algoritma kriptografi klasik, tetapi
kemampuan H-Playfair setara dengan kemampuan algoritma kriptografi
modern yang memiliki prinsip membingungkan (confusion) dan menyebar
(diffusion).
D O A N K
E R S B T
G L I U M
Y Q H P C
V W X F Z
5
6
7
8
9
0 1 2 3 4 J
ge ot uh hi
ge ot uh hi
de kr ip si
21
Pada tahun 1949, Shannon mengemukakan dua prinsip penyandian
data. Kedua prinsip ini dipakai dalam perancangan cipher blok yang kuat.
Kedua prinsip Shannon tersebut adalah: (Rinaldi, 2006)
1) Confusion. Prinsip ini menyembunyikan hubungan apapun yang ada
antara plainteks, cipherteks, dan kunci. Prinsip confusion akan
membuat kriptanalis tidak dapat mencari pola-pola statistik yang
muncul pada cipherteks. Confusion yang bagus membuat hubungan
statistik antara plainteks, cipherteks, dan kunci menjadi sangat rumit.
2) Diffusion. Prinsip ini menyebarkan pengaruh satu bit plainteks atau
kunci ke sebanyak mungkin cipherteks. Sebagai contoh, pengubahan
kecil pada plainteks sebanyak satu atau dua bit menghasilkan
perubahan pada cipherteks yang tidak dapat diprediksi. Prinsip
diffusion juga menyembunyikan hubungan statistik antara plainteks,
cipherteks, dan kunci dan membuat kriptanalisis menjadi sulit. Untuk
mendapatkan keamanan yang bagus, prinsip confusion dan diffusion
diulang berkali-kali pada sebuah blok tunggal dengan kombinasi yang
berbeda-beda.
Prinsip Shannon yang dipenuhi oleh algoritma H-Playfair adalah :
1. Confusion
H-Playfair menyembunyikan hubungan antara cipherteks dan plainteks.
Tidak seperti caesar cipher yang setiap huruf yang sama diganti menjadi
huruf yang sama pula. Begitu pula dengan algoritma kriptografi playfair,
22
yang setiap dua huruf yang sama diganti menjadi dua huruf yang sama
pula. Prinsip confusion dapat terpenuhi karena pada H-Playfair
dilakukan enkripsi dua tahap, kedua tahap saling berbeda.
Tahap pertama seperti tahapan enkripsi playfair yang masih bisa
dipecahkan dengan teknik frekuensi kemunculan pasangan huruf.
Tahap kedua mirip seperti varian vigenere tanpa kunci yang diulang-
ulang untuk substitusi, tetapi penambahan huruf kunci dengan huruf
plainteks kedua (hasil enkripsi tahap pertama H-Playfair) bergantung
pada posisi huruf-huruf pada kotak kunci 6x6. Tahap kedua tidak bisa
dipecahkan dengan metode kasiski karena kunci tidak diulang.
Kelebihan tahap dua H-Playfair dibanding varian vigenere yang tanpa
kunci berulang adalah varian vigenere yang tanpa kunci berulang masih
bisa dipecahkan dengan menerka-nerka panjang kuncinya. Ketika
panjang kunci yang diterka cocok dengan panjang kunci sebenarnya,
plainteks akan dengan mudah didapatkan dengan fungsi substitusi
balikan. Tahap kedua H-Playfair memiliki mekanisme substitusi tidak
biasa sehingga perlu diketahui posisi-posisi huruf kunci pada kotak 6x6
untuk memecahkan cipherteks. Kelihatannya dengan tahap dua saja,
algoritma H-Playfair sudah tangguh. Namun, teknik distribusi
kemunculan setiap 36 huruf mampu memecahkan algoritma ini. Oleh
karena itu, tahap dua perlu dikombinasikan dengan tahap pertama agar
dapat mengatasi kelemahan-kelemahan tadi. Untuk memecahkan
kombinasi tahap pertama dan tahap kedua ini harus dilakukan percobaan
23
brute force mencari kunci. Banyaknya cara untuk memecahkan kunci H-
Playfair adalah 36! cara. Jadi, H-Playfair memiliki sifat confusion
(membingungkan).
Sebagai bukti, lihat contoh pada langkah H-Playfair tahap dua yang telah
diberikan.
Plainteks :
Chiperteks 1:
Chiperteks 2 :
huruf i tidak selalu berasosiasi dengan huruf yang sama. Begitu pula
untuk pasangan huruf, pasangan huruf yang sama belum tentu
menghasilkan pasangan huruf cipherteks yang sama.
2. Diffusion
Pengubahan satu karakter plainteks dapat menyebabkan perubahan
semua karakter cipherteks setelahnya. Pada tahap dua H-Playfair
dilakukan substitusi tanpa kunci berulang lalu substitusi selanjutnya
(untuk plainteks yang lebih panjang dari panjangkunci) berdasarkan
cipherteks hasil tahap pertama sehingga statistik kemunculan
huruf/karakter dan statistik hubungan plainteks dan cipherteks menjadi
sulit diprediksikan.
en kr ip si dm yi nf or ma ti ka
bd ot uh hi kg hg 3b lr ik sm ne
3a n2 9h hd gd 0k 38 u8 gv 4z o0
24
2.4.4. Kelemahan Algoritma Kriptografi H-Playfair
Selain mempunyai kekuatan, algoritma kriptografi H-Playfair juga
mempunyai kelemahan. Kelemahan algoritma kriptografi H-Playfair
tersebut adalah pembangkitan kuncinya. Panjang kunci ditentukan sebanyak
36 huruf/karakter dengan setiap hurufnya berbeda sehingga pengguna sulit
mencari kunci yang mudah diingat untuk digunakan kembali pada saat
dekripsi. Kelemahan ini bisa saja diatasi dengan pemangkasan huruf-huruf
yang berulang dari kalimat yang mudah diingat. Namun, apabila hasil
pemangkasan kurang dari 36 karakter, maka timbul masalah baru. Bila
karakter sisa diisi secara default, penyerang menjadi lebih mudah
memecahkan cipherteks hasil enkripsi. Metode lain untuk menutupi
kelemahan tadi adalah dengan cara membangkitkan secara acak deret
karakter untuk menempati kotak 6x6 tersisa yang kemudian disimpan
didalam header plainteks. Kunci pun dibatasi tidak boleh lebih dari 36
karakter sehingga kompleksitas algoritma terbatas sebatas itu. Namun, jika
diinginkan, dengan memasukkan kelebihan kunci ke kunci untuk tahapan
kedua, maka masalah ini bisa diselesaikan.
2.4.5. Keamanan Algoritma Kriptografi H-Playfair
Algoritma kriptografi H-Playfair dikatakan relatif aman dibanding
algoritma kriptografi klasik lainnya karena memenuhi sifat-sifat :
1) Algoritma kriptografi H-Playfair relatif kompleks. Pemecahan secara
analitik sulit dilakukan, sulit mencari hubungan statistik antara plainteks
dan cipherteks.
25
2) Waktu tercepat yang diperlukan untuk memecahkan.
Pemilihan dalam penggunaan algoritma H-Playfair untuk
mengenkripsi password account email mahasiswa ada beberapa faktor yaitu:
a) Kecepatan eksekusi algoritma tersebut.
Algoritma H-Playfair dapat dengan cepat menyimpan data password
mahasiswa. Dengan menggunakan satu kunci maka dapat secara cepat
mengenkripsi.
b) Algoritma H-Playfair sulit dirusak oleh orang lain.
Walaupun merupakan salah satu algoritma kriptografi klasik namun
keamanannya setara dengan kriptografi modern karena mempunyai sifat
confusion dan diffusion.
c) Kemudahan dalam pengimplementasiannya.
Proses algoritma H-Playfair terdiri hanya 2 tahap yaitu enkripsi playfair
dengan bujursangkar 6x6 dan enkripsi jarak.
2.5. Pengenalan Pemrograman Java
Java adalah bahasa pemrograman berorientasi objek yang
dikembangkan oleh Sun Microsystems sejak tahun 1991. java merupakan
hasil perpaduan sifat dari sejumlah bahasa pemrograman, yaitu C, C++,
Object-C, SmallTalk dan Common LISP namun dirancang agar lebih mudah
dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis
sistem operasi dan arsitektur komputer. Selain itu, Java juga dilengkapi
dengan unsur keamanan (Kadir, 2004).
26
Program Java bersifat tidak bergantung pada platform yaitu Java
dapat dijalankan pada sebarang komputer dan bahkan pada sebarang sistem
operasi. Ketidakbergantungan terhadap platform sering dinyatakan dengan
istilah portabilitas. Tingkat portabilitas Java tidak hanya sebatas pada
program sumber (source code), melainkan juga pada tingkat kode biner yang
disebut bytecode.
Kode yang disebut bytecode dapat dijalankan pada berbagai sistem
operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat
bergantung pada platform, sedangkan bytecode dapat dimengerti oleh semua
platform yang telah dilengkapi dengan interpreter Java. Java sering
dikatakan bersifat netral terhadap arsitektur komputer.
Java juga merupakan bahasa pemrograman berorientasi objek, Java
menggunakan kelas untuk membentuk objek. Sejumlah kelas sudah tersedia
sehingga dapat digunakan dengan mudah dan bahkan dapat
mengembangkannya lebih jauh melalui konsep pewarisan (inheritance).
Pewarisan adalah salah satu sifat yang ada pada bahasa pemrograman
berorientasi objek, yang memungkinkan sifat-sifat suatu objek diturunkan
dengan mudah ke objek lain.
2.6. MySQL
MySQL (My Structure Query Language) merupakan suatu
software manajement database yang bersifat open source. Karena bersifat
27
open source sehingga dapat berjalan baik pada platform windows dan linux.
MySQL juga merupakan database bersifat jaringan sehingga dapat
digunakan Multi User sebagai user. Sistem manajement database dapat
dilakukan penambahan, pengaksesan, dan pemrosesan data yang diakses di
komputer. MySQL menggunakan bahasa Query standar yang dimiliki SQL
yaitu bahasa permintaan terstruktur yang telah distandarkan oleh semua
pengaksesan data seperti Oracle, Postgres SQL, SQL Server dan lain-lain.
MySQL dapat digunakan untuk melakukan pembuatan database, tabel,
view. Keuntungan menggunakan MySQL karena MySQL sangat tanguh,
cepat dan mudah digunakan.
Kemampuan yang dimiliki database MySQL adalah :
1. Mendukung fungsi-fungsi yang ada dalam SQL.
2. Mendukung ODBC.
3. Dapat digunakan pada database yang besar.
4. Dapat digunakan dalam berbagai sistem informasi.
5. Mudah dalam penggunaan dan sangat cepat.
6. Dapat digunakan dan dimanfaatkan dalam banyak CPU sekaligus.
7. Dapat dikoneksikan dengan berbagai bahasa pemrograman, sebagai
contoh C, C++, Java, Perl, PHP dll.
28
BAB 3
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem
3.1.1. Gambaran Umum Sistem
Sistem account email mahasiswa merupakan sistem yang
mempunyai tujuan memberi keamanan password dengan proses enkripsi
selain itu juga terdapat 3 tujuan yaitu :
1. Membuat account email baru atau registrasi.
2. Mengubah password.
3. Melakukan reset password apabila terjadi lupa password.
Adapun skenario dari masing-masing tujuan dari Sistem account
email mahasiswa adalah sebagai berikut:
1. Skenario melakukan registrasi account email mahasiswa di Universitas
Sanata Dharma yaitu:
(1) Mahasiswa datang ke BAPSI Universitas Sanata Dharma.
(2) Mahasiswa melakukan registrasi email mahasiswa dengan
mengisikan data dengan mengunakan Sistem Pembuatan Account
Email pada komputer yang sudah disediakan oleh BAPSI dan
mahasiswa mengisi form Formulir pendaftaran email Universitas
Sanata Dharma.
29
(3) Setelah melakukan registrasi mahasiswa mendapatkan username
dan password. Username dan password tersebut juga akan
dikirimkan ke alternatif email telah yang diisikan dan ke email
admin dan mahasiswa mendapatkan print out dari hasil registrasi
berupa username dan password.
2. Jika mahasiswa telah melakukan registrasi dan akan mengubah
password yaitu:
(1) Mahasiswa datang ke BAPSI Universitas Sanata Dharma.
(2) Mahasiswa melakukan ubah password dengan mengunakan Sistem
Pembuatan Account Email pada komputer yang sudah disediakan
oleh BAPSI.
(3) Mahasiswa juga mengubah password dengan menggunakan
for (int i = 0; i < hasilDekripsiArray.length; i++) { if (hasilDekripsiArray[i] != null) { hasilDekripsi += hasilDekripsiArray[i]; } else { break; } } String[] tempDekripsi = hasilDekripsi.split(DUMMY); System.out.println("TESTING " + hasilDekripsi); hasilDekripsi = ""; for (int i = 0; i < tempDekripsi.length; i++) { System.out.println(i + " : " + tempDekripsi[i]); if (i + 1 != tempDekripsi.length) { if (String.valueOf(tempDekripsi[i].charAt(tempDekripsi[i].length() - 1)).equals(String.valueOf(tempDekripsi[i + 1].charAt(0)))) { hasilDekripsi += tempDekripsi[i] + tempDekripsi[i + 1]; i++; } } else { hasilDekripsi += tempDekripsi[i]; } }
63
4.1.4. Implementasi Sistem
Sistem ini digunakan oleh mahasiswa dan admin. Apabila user
mahasiswa maka Password Field tidak aktif, namun apabila user admin
maka Password Field aktif dan memasukkan password, jika password admin
valid maka masuk menu admin apabila password admin tidak valid maka
muncul konfirmasi "Proses Login Admin Gagal. Silahkan Login Kembali".
4.1.4.1. Menu Mahasiswa
4.1.4.1.1. Registrasi
Pada saat mahasiswa melakukan registrasi account email,
mahasiswa mengisikan data-data kemuadian mahasiswa mendapatkan
username dan password baru. Data password didapat dari karakter dan
angka random, password awal yang diberi terdiri dari 8-10 karakter. Di
bawah ini merupakan listing membuat password secara random:
public static String randomstring(int lo, int hi) { int n = rand(lo, hi); Random rand = new Random(36); int randNumber; byte b[] = new byte[n]; for (int i = 0; i < n; i++) { randNumber = rand.nextInt(); if (randNumber < 5) { b[i] = (byte) rand('0', '9'); } else { b[i] = (byte) rand('a', 'z'); } } return new String(b, 0); } private static int rand(int lo, int hi) { java.util.Random rn = new java.util.Random(); int n = hi - lo + 1; int i = rn.nextInt() % n; if (i < 0) { i = -i; } return lo + i;
64
} public static String randomstring() { return randomstring(8, 10); }
Penjelasan listing program di atas:
Kelas Random merupakan untuk membangkitkan bilangan dan
karakter bilangan acak. Pada method rand di atas membangkitkan bilangan
acak menurut waktu sehingga setiap kali dijalankan maka akan dihasilkan
bilangan acak yang berbeda.
Setelah sukses melakukan registrasi kemudian data account
email mahasiswa berupa username dan password tersebut di print dan
dikirim ke alternatif email juga ke email admin Bapsi. Di bawah ini