Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Kata Pengantar
Puji syukur penulis panjatkan atas kehadirat Allah SWT dan junjungan besar Nabi
Muhammad SAW, karena atas Rahmat dan Hidayah-Nya sehingga penulis dapat
menyelesaikan makalah ini tepat waktu.
Melalui makalah ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya
kepada pembimbing mata kuliah (Dosen) dan semua pihak yang terlibat dalam penyelesain
makalah ini.
Penulis menyadari dalam makalah ini masih terdapat banyak kekurangan, oleh
karena itu penulis sangat mengharapkan saran dan kritik yang tentunya bersifat
membangun demi kesempurnaan makalah ini.
Makassar 08 Juni 2013
Penulis
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
BAB 1 Pendahuluan
A. Latar BelakangPerkembangan teknologi informasi yang sedemikian cepatnya telah membawa dunia
memasuki era baru yang lebih cepat dari yang pernah dibayangkan sebelumnya. Perkembangan teknologi ini membawa perubahan dalam berbagai bidang kehidupan manusia. Salah satu hasil dari kemajuan teknologi adalah dihasilkannya komputer sebagai alat bantu manusia dalam melakukan pekerjaan dan juga internet sebagai sarana komunikasi penghubung yang digunakan melalui komputer.(Janner Simarmata, 2009)
Komputer berasal dari bahasa Inggris yaitu, computer yang berasal dari kata compute yang artinya menghitung. Jadi secara bahasa, computer adalah alat hitung. Komputer diciptakan sebagai alat bantu hitung yang memudahkan manusia dalam melakukan penghitungan. Namun dalam perkembangan teknologi, komputer dapat digunakan dalam membantu berbagai macam pekerjaan manusia. Seperti dalam bidang akuntansi, dan administrasi.(www.id.wikipedia.org)
Selain komputer, internet merupakan salah satu hasil dari kemajuan teknologi informasi. Jaringan internet merupakan pelopor terjadinya revolusi teknologi. Internet menjadi dasar perubahan yang terjadi dalam bidang ekonomi, sosial, dan budaya. Pada bidang ekonomi, hal yang berhubungan dengan transaksi dan administrasi menjadi semakin mudah dan efisien. Pada bidang sosial, internet mengubah pola hubungan sosial antar individu yang menghilangkan jarak yang begitu jauh. Pada bidang budaya, mudahnya terjadi transformasi budaya antar Negara yang harus disikapi dengan cermat pengaruhnya.(Janner Simarmata,2009)
Aplikasi adalah program yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Aplikasi yang dirancang umumnya diciptakan dengan tujuan agar dapat dimanfaatkan oleh masyarakat. Aplikasi merupakan bagian dari sistem pakar yang kini biasa digunakan untuk membantu pekerjaan manusia yang mencakup segala bidang, seperti bidang teknologi, ekonomi bahkan hingga kesehatan, fisika, kimia, biologi dan information technology.(www.totalinfo.or.id).
Aplikasi yang baik harus dapat digunakan secara maksimal dan dapat dimanfaatkan secara terus menerus. Aplikasi tersebut dapat dimanfaatkan secara efisien pada bidang yang ingin dituju. Seperti pada bidang matematika, aplikasi penghitung seperti kalkulator digunakan oleh berbagai tingkatan. Aplikasi yang dibuat dapat bermanfaat bagi khalayak yang ingin dituju.(Janner Simarmata, 2009).
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Terlepas dari itu semua hal yang lebih penting yaitu Keamanan Suatu komputer dan jaringan. Dalam sebuah jaringan komputer, keamanan dalam pengiriman serta penerimaan data sangat penting untuk menjamin bahwa data yang dikirim tidak jatuh ke pihak ketiga, terutama jika data tersebut bersifat rahasia. Untuk itu perlu dilakukan implementasi metode-metode pengamanan data pada jaringan. Banyak metode yang dapat di implementasikan, seperti penggunaan tanda tangan digital, pendeteksi gangguan, serta enkripsi ataupun pemasangan firewall (Tanenbaum, 2003).
Dengan pertimbangan tersebut, dirancang sebuah aplikasi “enkripsi dan dekripsi berbasis dekstop “ yang dapat membantu pengguna dalam menjaga keamanan dan juga kerahasian dari data yang mereka meiliki ketika ingin digunkan sendiri atau juga ketika ingin dikirimkan ke orang lian, sehingga keamanan dan juga kerahasiaan akan tetap terjaga dari pengetahuan pihak ke-3 walau mereka telah memiliki filenya tapi mereka tidak dapat menggunkannya tanpa mendekripsi file tersebut.
B. TujuanTujuan Dari Pembuatan Aplikasi ini yaitu sebgai berikut:1. Salah satu tugas akhir dari mata kuliah keamanan komputer2. Untuk Mengetahui apa yang dimaksud Encripsi dan Dekripsi melalui Aplikasi3. Mampu mengetahu cara pembuatan Encripsi dan deksripsi dalam bentuk Aplikasi
C. ManfaatManfaat dari pembuatan Aplikasi ini yaiut sebagai berikut:1. Untuk mempermudah bagi pengguna dalam membuat encripsi2. Untuk mempermudah bagi pengguna untuk men- dekripsi suatu encripsi3. Agar dapat dijadikan media pembuat pesan yang rahasia, dan hanya orang yang
dikehendaki yang bias mengaksesnya.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
BAB 2 DASAR TEORI
A. Definisi dan Terminologi
1. Kriptografi
Kriptografi (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.
Kata “seni” dalam definisi tersebut berasal dari fakta sejarah bahwa pada masamasa awal sejarah kroptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia, pesan tersebut mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan.
Definisi di atas mungkin cocok pada masa lalu dimana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tapi juga untuk tujuan data integrasi, authentication, dan non-repudiation.
A.Menezes mendefinisikan kriptografi sebagai ilmu yang mempelajari teknikteknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi. Definisi ini dapat dianggap sebagai pembanding antara kriptografi pada masa lalu dan kriptografi masa sekarang. Dewasa ini kriptografi berkembang menjadi sebuah disiplin ilmu sendiri karena teknik-teknik kriptografi dapat diformulasikan secara matematika sehingga menjadi sebuah metode yang formal.
2. Plainteks dan Cipherteks
Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain dari pesan adalah plainteks (plaintext) atau teks jelas (cleartext). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dll) atau yang disimpan di dalam media perekam (kertas, storage, dll).
Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara, bunyi (audio), video atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan dapat disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi lainteks semula agar pesan yang diterima bisa dibaca.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
3. Pengirim dan Penerima
Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas disini dapat berupa orang, mesin (komputer), kartu kredit, dan sebagainya. Jadi orang bisa bertukar pesan dari orang lainnya (contoh: Alice berkomunikasi dengan di Budi), sedangkan di dalam jaringan komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di Bank).
Pengirim tentu menginginkan pesannya dapat dikirim dengan aman yaitu dia yakin bahwa pihak lain tidak dapat membaca isi pesan yang dia kirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks.
4. Enkripsi dan Dekripsi
Proses penyandian plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption) atau deciphering. Enkripsi dan dekripsi dapat diterapkan baik pada pesan yang dikirim maupun pada pesan yang tersimpan.
5. Cipher dan Kunci
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering.
Konsep matematika yang mendasari algoritma kriptografi adalah relasi antar dua buah himpunan yaitu himpunan yang berisi elemen-element plainteks dan himpunan yang berisikan cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemenelemen antara dua himpunan tersebut. Misalnya P mewakili plaintels dan C menyatakan cipherteks maka fungsi enkripsi E memetakan P ke C,
E(P) = CDan fungsi dekripsi D memetakan C ke P,
D(C) = PKarena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan awal, maka persamaan berikut harus benar,
D(E(P)) = PKeamanan algoritma kriptografi sering diukur dari banyaknya kerja (word) yang
dibutuhkan untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Kerja ini dapat diekivalenkan dengan waktu, memori, uang dan lainlain. Semakin banyak kerja yang diperlukan berarti juga semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma kriptografi tersebut, yang berarti semakin aman digunakan untuk menyandikan pesan.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Jika keamanan kriptografi ditentukan dengan menjaga kerahasiaan algoritmanya, maka algoritma kriptografinya dinamakan algoritma restricted, dimana algoritma restricted ini mempunyai sejarah tersendiri di dalam kriptografi. Algoritma restrictedbiasanya digunakan oleh sekelompok orang untuk bertukar pesan satu sama yang lain.
Mereka membuat suatu algoritma enkripsi dan algoritma enkripsi tersebut hanya diketahui oleh anggota kelompok itu saja. Tetapi algoritma restricted tidak cocok lagi saat ini, sebab setiap kali ada anggota kelompok keluar, maka algoritma kriptografi harus diganti lagi.
Kriptografi modern mengatasi masalah di atas dengan menggunakan kunci, yang dalam hal ini algoritma tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan. Dengan menggunakan kunci K maka fungsi enkripsi dapat ditulis sebagai:
EK(P) = Cdan fungsi dekripsi dapat ditulis sebagai:
DK(C) = PDan kedua fungsi ini memenuhi:
DK(EK(P)) = PGambar gambar berikut memperlihatkan skema enkripsi dan dekripsi dengan
menggunakan kunci, sedangkan gambar 2.1.b. mengilustrasikan enkripsi dan dekripsi terhadap sebuah pesan:
Gambar (a) Skema enkripsi dan dekripsi, (b) Contoh ilustrasi enkripsi dandeskripsi pesan
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
B. Tujuan KriptograpiKriptografi bertujuan untuk memberikan layanan keamanan sebagai berikut:
1. Kerahasiaan (confidentiality), adalah layanan yang bertujuan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Didalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks.
2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital (digital signature). Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli.
3. otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan kebenaran sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi asalnya. Otentikasi sumber pesan secara implisit juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan. Didalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital. Tanda-tangan digital menyatakan sumber pesan.
4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. Sebagai contoh misalnya pengirim pesan memberi otoritas kepada penerima pesan untuk melakukan pembelian, namun ia menyangkal telah memberikan otoritas tersebut.
C. Jenis-Jenis KriptografiBerdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat
dibedakan menjadi dua, yaitu:1. Kriptografi kunci simetri (symmantric key cryptography) 2. Kriptografi kunci asimetri (asymmetric key cryptography)
1. symmantric key cryptography
Pada sistem kriptografi kunci simetri, kunci untuk enkripsi sama dengan kunci untuk dekripsi, oleh karena itu dinamakan kriptografi kunci simetri atau kriptografi simetri. Istilah lain untuk kriptografi simetri adalah kriptografi kunci privat (private key cryptographi), kriptografi kunci rahasia (secret key cryptographi), atau kriptografi
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
konvensional (conventional cryptographi). Sistem kriptografi simetri mengasumsikan pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan. Keamanan kriptografi simetri terletak pada kerahasiaan kuncinya.
Aplikasi kriptografi simetri yang utama adalah melindungi kerahasiaan data yang dikirim melalui media telekomunikasi dan melindungi kerahasiaan data yang disimpan pada media penyimpanan. Kelemahan dari sistem ini adalah baik pengirim maupun penerima pesan harus memiliki kunci yang sama, sehingga pengirim pesan harus mencari cara yang aman untuk memberitahukan kunci kepada penerima pesan.
Skema kriptografi kunci simetri. Kunci enkripsi sama dengan kunci dekripsi yaitu K
2. asymmetric key cryptography
Jika kunci untuk enkripsi tidak sama dengan kunci untuk dekripsi, maka kriptografinya dinamakan kriptografi kunci asimetri atau kriptografi asimetri. Nama lainnya adalah kriptografi kunci publik (public key cryptographi), sebab kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh siapapun (diumumkan ke publik), sementara kunci untuk dekripsi hanya diketahui oleh penerima pesan. Pada kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang kunci, yaitu kunci privat dan kunci publik. Pengirim mengenkripsi pesan dengan menggunakan kunci publik si penerima pesan. Hanya penerima pesan yang dapat mendekripsikan pesan karena hanya dia yang mengetahui kunci privatnya sendiri.
Keuntungan kriptografi kunci publik ada dua. Pertama tidak ada kebutuhan untuk mendistribusikan kunci privat sebagaimana pada kriptografi simetri. Kunci publik dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang digunakan untuk mengirimkan pesan. Perhatikan bahwa saluran untuk mengirim pesan umumnya tidak aman. Kedua, jumlah kunci dapat ditekan. Untuk berkomunikasi secara rahasia dengan banyak orang, tidak perlu kunci rahasia sebayak jumlah orang tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para koresponden untuk mengenkripsikan pesan dan kunci privat bagi penerima pesan untuk mendeskripsikan pesan. Berbeda dengan kriptografi kunci simetri dimana jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak untuk berkorespondensi Contoh algoritma kriptografi kunci publik diantaranya RSA, Elgamal, DSA, dan lain sebagainya.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Konsep kriptografi kunci asimetri sederhana dan elegan, tetapi mempunyai konsekuensi penggunaan yang hebat. Seperti yang telah dijelaskan pada bagian awal, pada kriptografi kunci publik, setiap pengguna memiliki sepasang kunci, satu kunci untuk enkripsi dan satu kunci untuk dekripsi. Kunci untuk enkripsi diumumkan kepada publik sehingga dinamakan dengan kunci publik dan disimbolkan dengan e. Kunci untuk dekripsi bersifat rahasia sehingga dinamakan dengan kunci privat dan disimbolkan dengan d.
Skema kriptografi kunci asimetri. Kunci enkripsi (e) tidak sama dengan kunci dekripsi (d).
Misalnya E adalah fungsi enkripsi dan D adalah fungsi dekripsi dan e dan d adalah pasangan kunci untuk enkripsi dan dekripsi, sehingga
Ee(m) = c dan Dd(c) = muntuk suatu plainteks m dan cipherteks c. Kedua persamaan ini menyiratkan bahwa dengan mengetahui e dan c, maka secara komputasi hampir tidak mungkin menemukan m. Asumsi lainnya, dengan mengetahui e secara komputasi hampir tidak mungkin menurunkan d.
Konsep di atas menjadi penting bila kriptografi kunci publik digunakan untuk mengamankan pertukaran pesan dari dua entitas yang berkomunikasi. Misalkan Mery berkomunikasi dengan Toni. Toni memilih pasangan kunci (e,d). Toni mengirimkan kunci enkripsi e (kunci publik) kepada Mery melalui sembarang saluran komunikasi tetapi tetap menjaga kerahasiaan kunci dekripsi d (kunci privat). Kemudian Mery ingin mengirim pesan m kepada Toni. Mery mengenkripsi pesan m dengan menggunakan kunci publik Toni, untuk mendapatkan c = Ee(m), lalu mengirimkan c melalui saluran komunikasi. Toni mendekripsikan cipherteks c dengan menggunakan kunci privatnya untuk memperoleh m = Dd( c).
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
BAB 3 Perancangan
A. Langkah-langkahUntuk Membuat program ini, terdapat beberapa langkah-langkah berikut yaitu
sebagai berikut:1. Terlebih dahulu install Visual Studio 2010, yang dapat didownload di website aslinya
http://www.microsoft.com/visualstudio/eng/downloads2. Jalankan aplikasi tersebut:
3. Akan muncul menu pilihan, pilih general development setting dan klik start Visual Studio;
4. Akan tampil tampilan awal seperti berikut, dan pilih New Project
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
5. Kemudian akan muncul pop-up menu seperti berikut dan pilih Windows Forms Aplication, selanjutnya pilih dimana kita akan menyimpan project kita dengan mengklik browse, jika telah sesui Klik OK
6. Akan tampil lembar kerja baru, disini kita akan dapat memulia poject kita,
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
7. Selajutnya untuk mendukung tampilan terlebih dahulu tambahkan folder dan isikan gambar seperlunya. Dengan cara klik kanan pada menu project:
8. Mulailah mendesain pada form dengan cara klik menu toolbox, dan pilih item yang diinginkan sesaui kebutuhan program, dan kita hanya drag item dan drop ke form yang dituju.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Berikut Table Kebutuhan Program:
Nama tools Text (name) KetForm 1 ScreetMaker frmRahasia Set beckgroundButton 1 Set key btnKeyButton 2 Save Key btnSaveKeyButton 3 Open Key btnOpenKeyButton 4 Reset btnResetButton 5 Clear btnClr1 Pada kalimatButton 6 Copy To clipboard button1 Pada kalimatButton 7 Clear btnclr2 Pada ciphertextButton 8 Copy To clipboard btncopy Pada ciphertextButton 9 Encrypt>> btnencrypt dari kalimatButton 10 <<Decrypt btndecrypt dari ciphertextButton 11 Open Btnopen1 Pada kalimatButton 12 Save Btnsave1 Pada kalimatButton 13 Open Btnopen2 Pada ciphertextButton 14 Save Btnsave2 Pada ciphertextLabel 1 Kalimat: Lable1 Pada kalimatLabel 2 CipherText Lable2 Pada ciphertextLabel 3 Contact Me Linklable1Label 4 Mirror Linklable2
9. Berikut hasil form desain yang kami buat, ini dapat diubah sesuai dengan keinginan:
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
10. Selanjutnya hal yang terpenting yaitu Pengcodean. Untuk melakukanya kita klik kanan item pilih view code dan isikan code misalnya. Pada form kita akan masukkan code.
11. Kemudian akan tampil sebagai berikut, dan masukkan code, code yang ditandai merupakan hasil masukan dari kita.
12. Dan untuk tomble set key berikut adalah syntaxnya:
13. Dan masukkan semua sintax yang yang terdapat pada LAMPIRAN
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
14. Setelah selesai memasukkan sintax. Kita coba mengeksekusi program dengan cara menekan f5 pada keyboard atau dengan cara berikut:
15. Jika berhasil akan muncul sebagai berikut:
Dan Program berhasil dibuat
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
16. Selanjutnya menguji program. Jalankan sesaui alur yang benar, pertama kita memasukkan kunci yaitu dengan mengklik set Key, akan muncul pop-up dialog dan masukkan key, sesuai keinginan dan harus kita ingat karna key ini yang nantinya akan kita gunakan jika kita ingin decrypsi dilain waktu, dan klik OK jika telah yakin.
17. Maka akan muncul pesan keberhasilan sebagai berikut:
18. Sekarang kita masukkan kata atau kalimat yang akan kita enkripsi. Dan klik encrypt untuk mengenkripsi dan lihat hasilnya pada ciphertext:
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
19. Untuk sebaliknya yaitu dekripsi untuk membuktikan. Kita hapus terlebih dahulu pada “kalimat:” setelah itu kita klik decrypt maka akan muncul teks yang sebelum di enkripsi.
20. Selanjutnya kita mencoba menyimpan hasil enkripsi kita dengan cara klik save pada ciphertext dan pilih tempat diaman kita akan menyimpan file tesebut, dan klik OK.
21. Dan hasilnya tampak pada tempat kita menyimpan file (desktop)
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
22. Kita ingin mendekripsi file yang telah di dekripsi, dapat dilakukan dengan cara. Klik Open pada ciphertext dan pilih file yang ingin kita dekripsi dan klik open
23. File telah terbuka maka kita set key ataupun kita open key jika kita menyimpan key tersebut, berdasarkan key yang dibuat saat kita meng-enkripsi file teresbut, jika key salah maka akan muncul pesan “key yang anda masukkan salah” pada saat melakukan dekripsi.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
24. Selanjutnya kita tekan dekripsi, maka akan menampilkan kalimat sebelum di enkripsi jika berhasil dan key yang kita masukkan benar.
25. Untuk menyimpan filenya maka kita tinggal klik save. Dan prosesnya sama pada saat penyimpanan hasil dekripsi.
26. Hasil dari penyimpanan file dekripsi dan enkipsi yang sewatu-waktu kita dapat gunakan. Dan kita pun dapat membuat file lainya dengan isi yang berbeda lainnya, yang nantinya dapat digunakan melakukan transaksi yang aman dan tanpa ketahuan.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
BAB 4 Kesimpulan
A. Kesimpulan Dari penjelesan pada bab-bab sebelumnya, penulis dapat menarik kesimpulan, antara
lain: 1. Aplikasi ini dapat kita manfaatkan sebagai salah satu media pembuat teks rahasi
dengan metode enkripsi dan mengembalikannya dengan metode dekripsi dan aplikasi ini menggunkan jenis kriptografi dengan konsep symmantric key cryptography .
2. Dengan Metode kriptografi yang kita gunakan pada saat transaksi di dunia internet maka akan menambah tingakt keamanannya beberapa level lebih baik daripada kita menggunakan dengan cara yang normal, karena keamanan suatu system kita tidak tau sejauh mana kesempurnaannya, walau dampaknya yang musti kita rasakan yaitu kerumitan tiap kali kita ingin membacanya dan atau mengirimkan suatu peasan kita harus menkripsi dan atau dekripsi terlebih dahulu.
B. Pesan dan Kesan Adapun saran yang dapat diberikan oleh penulis antara lain:
1. Dalam perancangan dan pembuatan program aplikasi enkripsi dan dekripsi ini diharapkan sangat berhati dalam penulisan sintax hal ini di upayakan agar tidak mengalami eror saat debugnya ataupun hasil akhir dari program tersebut;
2. Untuk tutorial pembuatan ekripsi dan dekripsi ini, penulis inin menyampaikan Kesan Termikasih atas bimbingan dan batuan dari berbagai pihak terkhusus pada:- Dosen Keamanan komputer: Bpk. Suhartono, M.Kom- Teman Seperjuangan PTIK04_2011
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Lampiran
A. SintaxAdapun sintax yang digunakan dalam program ini baik, dari sintax item juga sintax
subroutine yaitu sebagai berikut:
Imports System.Security.Cryptography ' memulai menginisialisasi Nama kriptograpi untuk memulai file yang berisi konsep Simple3Des
Public Class frmRahasia ' Kelas publik Utama frmrahasia
Public NotInheritable Class Simple3Des 'Membuat kelas simple3Des Untuk Mengkapsulasi dari method enkripsi dan dekripsi
Sub New(ByVal key As String) ' inisialisasi penyedia kripto. TripleDes.Key = TruncateHash(key, TripleDes.KeySize \ 8) TripleDes.IV = TruncateHash("", TripleDes.BlockSize \ 8) End Sub
Private TripleDes As New TripleDESCryptoServiceProvider ' membuat private Field unuk menyimpan layanan penyedia kriptograpi 3DES
Private Function TruncateHash(ByVal key As String, ByVal length As Integer) As Byte() ' menambahkan private method yang memuat byte array batas tertentu dari sebuah hash sebuah kunci atay kay yang spesifik
Dim sha1 As New SHA1CryptoServiceProvider
' Hash the key. Dim keyBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(key) Dim hash() As Byte = sha1.ComputeHash(keyBytes)
' Truncate or pad the hash. ReDim Preserve hash(length - 1) Return hash End Function
Public Function EncryptData(ByVal plaintext As String) As String 'Membuat method Publik
function Untuk Enkripsi data
' Conversi string plaintext Menjadi byt Dim plaintextBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(plaintext)
' Membuat stream pada sistem. Dim ms As New System.IO.MemoryStream ' Membuat encoder untuk nantinya menulis pada stream. Dim encStream As New CryptoStream(ms, TripleDes.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write)
' Menggunakan crypto stream Untuk menulis byte array Ke stream.
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
encStream.Write(plaintextBytes, 0, plaintextBytes.Length) encStream.FlushFinalBlock()
' Konversi encrypted stream Menjadi printable string. Return Convert.ToBase64String(ms.ToArray) End Function
Public Function DecryptData(ByVal encryptedtext As String) As String 'Membuat method Publik
function Untuk Enkripsi data ' Konversi encrypted text string Menjadi byte array.
Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)
' Membuat stream.Dim ms As New System.IO.MemoryStream
' Membuat decoder uNTUK Menuliskan pada stream.Dim decStream As New CryptoStream(ms,
TripleDes.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write)
' Menggunakan crypto stream Untuk menuliskan byte array Pada stream.
decStream.Write(encryptedBytes, 0, encryptedBytes.Length) decStream.FlushFinalBlock()
' Konversi plaintext stream to a string. Return System.Text.Encoding.Unicode.GetString(ms.ToArray) End Function End Class
Public Kunci As String = "" 'membuat variable publik kunci Sub TestEncoding() 'Membuat Subrouting Tesencoding Dim plainText As String = InputBox("Enter the plain text:") Dim password As String = InputBox("Enter the password:")
Dim wrapper As New Simple3Des(password) Dim cipherText As String = wrapper.EncryptData(plainText)
MsgBox("The cipher text is: " & cipherText) My.Computer.FileSystem.WriteAllText( My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\cipherText.txt", cipherText, False) End Sub
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Sub cekkunci() 'Membuat Subrouting cekkunci If Kunci <> "" Then btnKey.Enabled = False btnSaveKey.Enabled = True btnOpenKey.Enabled = False Else btnKey.Enabled = True btnSaveKey.Enabled = False btnOpenKey.Enabled = True End If End Sub
Sub TestDecoding() 'Membuat Subrouting Tesdecoding Dim cipherText As String = My.Computer.FileSystem.ReadAllText( My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\cipherText.txt") Dim password As String = InputBox("Enter the password:") Dim wrapper As New Simple3Des(password)
' Decripty data akan diabaikan jika password salah. Try Dim plainText As String = wrapper.DecryptData(cipherText) MsgBox("The plain text is: " & plainText) Catch ex As System.Security.Cryptography.CryptographicException MsgBox("The data could not be decrypted with the password.") End Try End Sub
Private Sub btnEmcrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEmcrypt.Click 'menset tombol enkrip If Kunci <> "" Then 'mengatur program encripsi, "ketika
password benar" Dim wrapper As New Simple3Des(Kunci) Dim cipherText As String = wrapper.EncryptData(txtKalimat.Text) ' txtCip.Text = cipherText Else
MessageBox.Show("Key/Kunci Belum di setting") 'Menampilkan pesan ketika Kunci belum diset:
End If End Sub
Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click If Kunci <> "" Then 'mengatur program encripsi, "ketika password
benar" Dim wrapper As New Simple3Des(Kunci) Try Dim plainText As String = wrapper.DecryptData(txtCip.Text) txtKalimat.Text = plainText Catch ex As System.Security.Cryptography.CryptographicException
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
MsgBox("Key yang anda masukkan salah") 'Menampilkan pesan jika pasword yang dimasukkan salah.
End Try Else
MessageBox.Show("Key/Kunci Belum di setting") 'Menampilkan pesan jika pasword belum diset
End If End Sub
Private Sub btnKey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKey.Click
Kunci = InputBox("Masukkan Kunci/Key", "Set Key") 'Mengatur tombol sebagai set key
If Kunci <> "" Then 'Mengisi teks atau keyMessageBox.Show("Key Berhasil disetting") ' menampilkan pesan
kebenaran ketika key telah disikan cekkunci() txtKalimat.Focus() End If End Sub
Private Sub frmRahasia_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cekkunci() 'Memanggil sub routing Cekkunci End Sub
Private Sub btnSave1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave1.Click
SaveFileDialog1.ShowDialog() 'membuka jendela penyimpanan End Sub
Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
TryMy.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName,
txtKalimat.Text, False)MessageBox.Show("Kalimat Berhasil disimpan") 'Pesan
keberhasilan penyimpanan Catch ex As Exception
MessageBox.Show("Kalimat Gagal disimpan") 'Pesan kegagalan penyimpanan
End Try End Sub
Private Sub btnSave2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave2.Click
SaveFileDialog2.ShowDialog() 'membuka jendela penyimpanan End Sub
Private Sub SaveFileDialog2_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog2.FileOk
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Try My.Computer.FileSystem.WriteAllText(SaveFileDialog2.FileName,
txtCip.Text, False)MessageBox.Show("Cipertext Berhasil disimpan") 'Pesan
keberhasilan penyimpanan ciperteks Catch ex As Exception
MessageBox.Show("Cipertext Gagal disimpan") ''Pesan kegagalan penyimpanan ciperteks
End Try End Sub
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim kalimat As String = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName) 'mengeset file yang dapat dibuka pada enkripsi pada program ini
txtKalimat.Text = kalimat End Sub
Private Sub btnOpen1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen1.Click
OpenFileDialog1.ShowDialog() 'membuka jendela untuk memilih file yang ingin dienkipsi
End Sub
Private Sub btnOpen2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen2.Click
OpenFileDialog2.ShowDialog() ''membuka jendela untuk memilih file yang ingin dekripsi
End Sub
Private Sub OpenFileDialog2_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog2.FileOk
Dim cip As String = My.Computer.FileSystem.ReadAllText(OpenFileDialog2.FileName) 'mengeset file yang dapat dibuka pada dekripsi pada program ini
txtCip.Text = cip End Sub
Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
Kunci = "" 'tombol Mereset kunci cekkunci() txtKalimat.Clear() 'Menghapus kunci atau key pada penyimpanan
sementara txtCip.Clear()
MessageBox.Show("Berhasil diReset !") 'pesan ketika eksekusi telah selesai dan berhasil
End Sub
Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
txtCip.SelectAll() 'printah untuk memilih semua teks atau biasa dikenal select all(Ctrl+a)
txtCip.Copy() 'printah untuk mengkopi file yang dipilih dikenal dengan ctrl+c
MessageBox.Show("Copy to clipboard") 'Penampilan pesan keberhasilan mengkopi
End Sub
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
System.Diagnostics.Process.Start("https://www.facebook.com/umha.asw") 'Menambahkan Contac personal
End Sub
Private Sub btnSaveKey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveKey.Click
SaveFileDialog3.ShowDialog() 'Membuka jendela untuk menyimpan key yang telah diset
cekkunci() 'Menghubungi cekkunci End Sub
Private Sub btnOpenKey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenKey.Click
OpenFileDialog3.ShowDialog() 'Membuka jendela untuk mencari kunci yang telah disimpan
cekkunci() End Sub
Private Sub SaveFileDialog3_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog3.FileOk
If Kunci <> "" Then 'mengecek kecocokan kunci yang akan di simpan
Dim wrapper As New Simple3Des("Jumardin") Dim cipherText As String = wrapper.EncryptData(Kunci)
Try My.Computer.FileSystem.WriteAllText(SaveFileDialog3.FileName, cipherText, False)
MessageBox.Show("Key Berhasil disimpan") Catch ex As Exception MessageBox.Show("Key Gagal disimpan") End Try Else MessageBox.Show("Kunci Belum Di Setting") End If End Sub
Private Sub OpenFileDialog3_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog3.FileOk
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
Dim wrapper As New Simple3Des("Jumardin") ' Mengeset jendela open dari pencarian Key yang telah disimpan.
TryDim tempkunci As String = My.Computer.FileSystem.ReadAllText(OpenFileDialog3.FileName)
Dim plainText As String = wrapper.DecryptData(tempkunci) Kunci = plainText
MessageBox.Show("Key Berhasil disetting") 'Pesan ketika file yang dipilih berhasil dibuka
btnKey.Enabled = False txtKalimat.Focus() Catch ex As System.Security.Cryptography.CryptographicException
MessageBox.Show("Key/Kunci Tidak Salah") 'Pesan keberhasilan Ketika tidak mengalami kesalahan pembukaan file
End Try
End SubPrivate Sub btnclr1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnclr1.Click txtKalimat.Clear() 'Perintah menghapus tempat penulisan enkipsi
End Sub
Private Sub btnclr2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclr2.Click
txtCip.Clear() 'Perintah menghapus tempat penulisan dekripsi End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
txtCip.SelectAll() 'printah untuk memilih semua teks atau biasa dikenal select all(Ctrl+a)
txtCip.Copy() 'printah untuk mengkopi file yang dipilih dikenal dengan ctrl+c
MessageBox.Show("Copy to clipboard") 'Penampilan pesan keberhasilan mengkopi
End Sub
Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClickedSystem.Diagnostics.Process.Start("https://www.twitter.com/shofwan_92")
'Menambahkan Contac personal End SubEnd Class
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
C. Penjelasan SyntaxSecara umum penjelasan syntax yang kami gunakan yaitu sebagai berikut:
Imports ' memulai menginisialisasi Nama kriptograpi untuk memulai file yang berisi
konsep Simple3Des Public Class ' Kelas publik Utama frmrahasia Public NotInheritable
Class 'Membuat kelas simple3Des Untuk Mengkapsulasi dari method enkripsi dan dekripsi
Sub New(ByVal key As String)' inisialisasi penyedia kripto.
Private As New ' membuat private Field unuk menyimpan layanan penyedia kriptograpi
Private Function ' menambahkan private method yang memuat byte array batas tertentu
dari sebuah hash sebuah kunci atay kay yang spesifik.
Public Function 'Membuat method Publik function Untuk Enkripsi data ' Conversi string
plaintext Menjadi byt Dim plaintextBytes() As Byte' Membuat stream pada sistem. Dim ms
As New ' Membuat encoder untuk nantinya menulis pada stream. Dim encStream As New '
Menggunakan crypto stream Untuk menulis byte array Ke stream. ' Konversi encrypted
stream Menjadi printable string.
Public Function 'Membuat method Publik function Untuk Enkripsi data Konversi
encrypted text string Menjadi byte array.Dim ' Membuat stream. Dim ms As New '
Membuat decoder untuk Menuliskan pada stream. Dim decStream As New ' Menggunakan
crypto stream Untuk menuliskan byte array Pada stream. ' Konversi plaintext stream to a
string.
Public Kunci As String = "" 'membuat variable publik kunci Sub TestEncoding()
'Membuat Subrouting Tesencoding Sub cekkunci() 'Membuat Subrouting cekkunci Sub
TestDecoding() 'Membuat Subrouting Tesdecoding Dim password As String Dim wrapper
As New ' Decripty data akan diabaikan jika password salah.
Private Sub 'menset tombol enkrip If Kunci <> "" Then 'mengatur program encripsi,
"ketika password benar" Dim wrapper As New Dim cipherText As String 'Menampilkan
pesan ketika Kunci belum diset:
Private Sub 'mengatur program encripsi, "ketika password benar" Dim wrapper As New
'Menampilkan pesan jika pasword yang dimasukkan salah. Private Sub 'Mengatur tombol
sebagai set key If Kunci <> "" Then 'Mengisi teks atau key ' menampilkan pesan kebenaran
Kelompok 23 <PTIK04-2011> Computer Security
Aplikasi Enkripsi dan Dekripsi Berbasis Dekstop
ketika key telah disikan Private Sub 'Memanggil sub routing Cekkunci Private Sub
'membuka jendela penyimpanan
Private Sub 'membuka jendela penyimpanan Catch''Pesan kegagalan penyimpanan
ciperteks Dim kalimat As String 'mengeset file yang dapat dibuka pada enkripsi pada
program ini Private Sub 'membuka jendela untuk memilih file yang ingin dienkipsi
Private Sub ''membuka jendela untuk memilih file yang ingin dekripsi
PrivateSubDim cip As String =My 'mengeset file yang dapat dibuka pada dekripsi pada
program ini Private Sub 'Menghapus kunci atau key pada penyimpanan sementara
txtCip.SelectAll() 'printah untuk memilih semua teks atau biasa dikenal select all(Ctrl+a)
txtCip.Copy() 'printah untuk mengkopi file yang dipilih dikenal dengan ctrl+c
MessageBox.Show("Copy to clipboard") 'Penampilan pesan keberhasilan mengkopi
Handles LinkLabel1.LinkClicked 'Menambahkan Contac personal Save File Dialog3.Show
Dialog() 'Membuka jendela untuk menyimpan key yang telah diset
OpenFileDialog3.ShowDialog() 'Membuka jendela untuk mencari kunci yang telah
disimpan If Kunci <> "" Then 'mengecek kecocokan kunci yang akan di simpan Dim
wrapper As New Simple3Des("Jumardin") ' Mengeset jendela open dari pencarian Key yang
telah disimpan. MessageBox.Show("Key Berhasil disetting") 'Pesan ketika file yang dipilih
berhasil dibuka MessageBox.Show("Key/Kunci Tidak Salah")'Pesan keberhasilan Ketika
tidak mengalami kesalahan pembukaan file
txtKalimat.Clear()'Perintah menghapus tempat penulisan enkipsi txtCip.Clear()
'Perintah menghapus tempat penulisan dekripsi txtCip.SelectAll() 'printah untuk memilih
semua teks atau biasa dikenal select all(Ctrl+a) txtCip.Copy() 'printah untuk mengkopi file
yang dipilih dikenal dengan ctrl+c MessageBox.Show ("Copy to clipboard") 'Penampilan
pesan keberhasilan mengkopi System.Diagnostics. Process.Start
("https://www.facebook.com/umha.asw") 'Menambahkan Contac personal
Kelompok 23 <PTIK04-2011> Computer Security