lap. akhir tugas besar inps
DESCRIPTION
Tugas Besar Interpersonal Skill (INPS) pada Program Studi Teknik Informatika STMIK ADHI GUNA PALU tahun 2013TRANSCRIPT
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kerahasiaan merupakan hal yang sangat penting dalam sebuah sistem
informasi, terutama kerahasiaan akan sebuah file atau informasi yang bersifat
vital. Dengan perkembangan teknologi informasi yang sangat pesat membuat
manusia membutuhkan suatu sistem informasi untuk mempermudah mengakses,
mengirim, atau bertukar informasi pada suatu instansi ataupun perusahaan yang
sesuai dengan kebutuhan. Kemampuan untuk mengakses informasi secara cepat,
tepat, dan akurat menjadi suatu hal yang penting. Walaupun kemajuan sistem
informasi memiliki banyak keuntungan tetapi juga rawan dari hal yang negatif
seperti pencurian informasi. Sebuah sistem perlu dibangun untuk mencegah
ancaman-ancaman yang terjadi dalam sebuah jaringan. Sistem untuk
mengamankan informasi pada masalah ini dapat memanfaatkan kriptografi.
“Menurut Bruce Schneier, kriptografi adalah ilmu dan seni untuk menjaga
keamanan pesan” (Munir : 2006 : 2).
1.2 Batasan Masalah
Menggunakan pemrograman Visual Basic dan teknik Cryptography untuk
membuat Generate Key.
Menggunakan jenis enkripsi RSA (Rivest Shamir Adleman).
Key yang digunakan dalam keygen berupa angka.
1
2
1.3 Rumusan Masalah
Bagaimana membuat Generate Key dengan teknik Cryptography
menggunakan pemrograman Visual Basic.
1.4 Tujuan Penelitian
Mengetahui tentang cara pembuatan Generate Key dengan teknik
Cryptography menggunakan pemrograman Visual Basic.
1.5 Manfaat Penelitian
Hasil penelitian ini diharapkan berguna sebagai sarana pengembangan
keilmuan dalam bidang teknik informatika dan kemampuan dalam membangun
perangkat lunak pada ilmu kriptorafi yaitu aplikasi enkripsi dan dekripsi dengan
mengimplementasikan enkripsi RSA.
3
BAB II
TINJAUAN PUSTAKA
2.1 Teori Kriptografi
Menurut catatan sejarah, kriptografi sudah digunakan oleh bangsa Mesir
sejak 4000 tahun yang lalu oleh raja-raja Mesir pada saat perang untuk
mengirimkan pesan rahasia kepada panglima perangnya melalui kurir-kurinya.
Orang yang melakukan penyandian ini disebut kriptografer, sedangkan orang
yang mendalami ilmu dan seni dalam membuka atau memecahkan suatu algoritma
kriptografi tanpa harus mengetahui kuncinya disebut kriptanalis.
Seiring dengan perkembangan teknologi, algoritma kriptografi pun mulai
berubah menuju ke arah algoritma kriptografi yang lebih rumit dan kompleks.
Kriptografi mau tidak mau harus diakui mempunyai peranan yang paling penting
dalam peperangan sehingga algoritma kriptografi berkembang cukup pesat pada
saat Perang Dunia I dan Perang Dunia II. Menurut catatan sejarah, terdapat
beberapa algoritma kriptografi yang pernah digunakan dalam peperangan,
diantaranya adalah ADFVGX yang dipakai oleh Jerman pada Perang Dunia
I, Sigaba/M-134yang digunakan oleh Amerika Serikat pada Perang Dunia
II, Typex oleh Inggris, dan Purple oleh Jepang. Selain itu Jerman juga mempunyai
mesin legendaris yang dipakai untuk memecahkan sandi yang dikirim oleh pihak
musuh dalam peperangan yaitu, Enigma.
Kriptografi merupakan seni untuk menjaga pesan agar aman dari orang-
orang yang tidak berhak menerima pesan tersebut. Kriptografi sendiri berasal dari
3
4
kata“crypto” yang berarti “secret” (rahasia) dan “graphy” yang berarti “writing”
(tulisan), jadi cryptography bisa diartikan pesan rahasia. Pesan tersebut diacak
sedemikian rupa dengan metode atau algoritma tertentu agar tidak mudah dibaca.
Sebuah algoritma kriptografik (cryptographic algorithm) merupakan persamaan
matematik yang digunakan untuk proses enkripsi dan dekripsi, kedua persamaan
matematis untuk enkripsi dan dekripsi tersebut biasanya memiliki hubungan
matematis yang cukup erat. Para pelaku atau praktisi kriptografi disebut
cryptographers atau kriptolog. Prinsip-prinsip yang mendasari kriptografi antara
lain :
1. Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan
tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak
pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini
dilakukan dengan cara membuat suatu algoritma matematis yang
mampu mengubah data hingga menjadi sulit untuk dibaca dan
dipahami.
2. Data integrity (keutuhan data) yaitu layanan yang mampu
mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan
atau penambahan) data yang tidak sah (oleh pihak lain).
3. Authentication (keotentikan) yaitu layanan yang berhubungan
dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam
pengiriman data maupun otentikasi keaslian data/informasi.
4. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat
mencegah suatu pihak untuk menyangkal aksi yang dilakukan
5
sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).
(Alferd J. Menezes, 1996)
Pengamanan data dengan menggunakan kriptografi dilakukan dengan
dua cara, yaitu Transposisi (Transpotition) dan Substitusi (Substitution). Pada
penggunaan transposisi, posisi dari hurufnya yang diubah-ubah. Sementara pada
substitusi, huruf (atau kata) digantikan dengan huruf atau simbol lain. Jadi, pesan
tersembunyi yang dibuat Jacques Sauniere menjelang detik-detik kematiannya,
merupakan seni kriptografi dengan metode transposisi ditambah dengan seni
anagram.
Kriptografi sendiri mempunyai komponen-komponen untuk mencapai
tujuan keriptografi. Pada dasarnya kriptografi terdiri dari beberapa komponen
seperti :
a. Enkripsi : Enkripsi merupakan hal yang sangat penting dalam
kriptografi sebagai pengamanan atas data yang dikirimkan agar
rahasianya terjaga. Pesan aslinya disebut plainteks yang diubah menjadi
kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai chiper
atau kode. Seperti ketika kita tidak mengerti akan artisebuah kata, kita
bisa melihatnya di dalam kamus atau daftar istilah. Berbeda dengan
enkripsi, untuk mengubah plainteks ke bentuk chiperteks digunakan
algoritma yang bisa mengkodekan data yang diinginkan.
b. Dekripsi : Dekripsi merupakan kebalikan dari enkripsi, pesan yang
telah dienkripsi dikembalikan ke bentuk asalnya (Plainteks), yang
6
disebut dekripsi pesan. Algoritma yang digunakanuntuk dekripsi tentu
berbeda dengan yang digunakan untuk enkripsi.
c. Kunci : Kunci yang yang dimaksud di sini adalah kunci yang dipakai
untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua
bagian, yakni kunci pribadi (private key) dan kunci umum (public key).
d. Chiperteks : merupakan suatu pesan yang sudah melalui proses
enkripsi. Pesan yang ada pada chiperteks tidak bisa dibaca karena berisi
karakter-karakter yang tidak memiliki makna (arti).
e. Plainteks : sering juga disebut cleartext; merupakan suatu pesan
bermakna yang ditulis atau diketik dan palinteks itulah yang akan
diproses menggunakan algoritma kriptografi agar menjadi chiperteks.
f. Pesan : pesan bisa berupa data atau infomasi yang dikirim (melalui
kurir, saluran komunikasi data, dan sebagainya) atau yang disimpan di
dalam media perekaman (kertas, storage, dan sebagainya).
Cryptanalysis : bisa diartikan sebagai analisis sandi atau suatu ilmu untuk
mendapatkan plainteks tanpa harus mengetahui kunci secara wajar. Jika suatu
chiperteks berhasil menjadi plainteks tanpa menggunakan kunci yang sah, maka
proses tersebut dinamakan breaking code yang dilakukan oleh para cryptanalys.
Analisis sandi juga mampu menemukan kelemahan dari suatu algoritma
kriptografi dan akhirnya bisa menemukan kunci atau plainteks dari chiperteks
yang dienkripsi menggunakan algoritma tertentu.
7
2.2 Algoritma Kriptografi
Algoritma kriptografi merupakan langkah-langkah logis bagaimana
menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut
yang disusun secara matematis. Terdapat dua buah algortima dalam krptografi,
yakni :
2.2.1 Algoritma Simetris
Algoritma simetris atau disebut juga algoritma konvensional adalah
algoritma yang menggunakan kunci yang sama pada proses enkripsi dan dekripsi
sehingga algoritma ini disebut juga sebagai single-key algorithm. Algoritma ini
mengharuskan pengirim dan penerima menyetujui satu kunci tertentu sebelum
dapat berkomunikasi secara aman. Keamanan algoritma simetri tergantung pada
rahasia kunci. Pemecahan kunci berarti memungkinkan setiap orang dapat
mengenkripsi dan mendekripsi pesan dengan mudah. Kelebihan dari algoritma
simetri ini adalah kecepatan proses enkripsi dan dekripsinya. Sedangkan
kelemahan algoritma ini adalah permasalahan distribusi kunci dan efisiensi jumlah
kunci. Contoh algoritma kunci simetri adalah OTP, DES, RC2, RC4, IDEA,
Twofish, Magenta, FEAL, SAFER, LOKI, CAST, AES (Rijndael), Blowfish,
GOST, A5, Kasumi, dan lain sebagainya.
8
Gambar 1. Diagram Proses Enkripsi dan Dekripsi Algoritma Simetris
Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi
(disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah
penting, apabila kerahasiaannya terbongkar, maka isi dari pesan tersebut dapat
diketahui.
Secara matematis, proses enkripsi merupakan pengoperasian fungsi E
(enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan
C (chippertext), notasinya :
Ee(M) – C
Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D
(dekripsi) menggunakan d (kunci dekripsi) pada C (chippertext) sehingga
dihasilkan M (plaintext), notasinya :
Dd(C) = M
Sehinga dari dua hubungan diatas berlaku :
Dd(Ee(M)) = M
9
2.2.2 Algoritma Asimetris
Algoritma asimetris adalah algoritma yang menggunakan kunci yang
berbeda pada proses enkripsi dan dekripsi. Pada algoritma ini menggunakan dua
kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik
disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si
pengguna. Jadi setiap orang yang memiliki kunci publik dapat melakukan proses
enkripsi yang hanya dapat dibaca oleh orang yang memiliki kunci privat. Akan
tetapi, walaupun kunci publik telah diketahui namun akan sangat sukar mengetahui
kunci privat yang digunakan. Beberapa contoh konsep yang menggunakan
algoritma ini adalah skema enkripsi Elgamal, RSA, Diffie-Hellman (DH), dan
DSA (Digital Signature Algorithm).
Gambar 2. Diagram Enkripsi dan Dekripsi Algoritma Asimetris
Sedangkan berdasarkan besar data yang diolah dalam satu kali proses,
maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :
Algoritma block cipher
Informasi/data yang hendak dikirim dalam bentuk blok-blok besar
(misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang
10
sama dan akan menghasilkan informasi rahasia dalam blok-blok yang
berukuran sama.
Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-
blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan
waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu.
Camellia merupakan algoritma kriptografi simetris blok cipher. Dalam
Camellia proses enkripsi dan dekripsi dilakukan pada blok data berukuran 128-bit
dengan kunci yang dapat berukuran 128-bit, 192-bit, 256-bit. Algoritma Camellia
dikembangkan oleh :
Kazumaro Aoki (NTT - Nippon Telegraph and Telephone Corp.)
Tetsuya Ichikawa (Mitsubishi electric Corp.)
Masayuki Kanda (NTT – Nippon Telegraph and Telephone Corp.)
Mitsuru Matsui (Mitsubishi electric Corp.)
Shiho Moriai (NTT – Nippon Telegraph and Telephone Corp.)
Junko Nakajima (Mitsubishi electric Corp.)
Toshio Tokita (Mitsubishi electric Corp.)
Dimana versi 1.0 pada bulan Juli 2000, versi 2.0 pada September 2001
dan versi 2.1 pada Febuari 2002.
11
2.3 Teknik Dasar Kriptografi
Dalam kriptografi terdapat teknik-teknik dasar yang biasanya dipakai
dalam melakukan enkripsi.
2.3.1 Substitusi
Langkah awal dalam melakukan enkripsi dengan teknik substitusi
adalah membuat tabel substitusi. Tabel tersebut dibuat sesuka hati, dengan catatan
bahwa penerima pesan mempunyai tabel yang sama untuk melakukan dekripsi.
Jika tabel tersebut dibuat secara acak, maka pemecahan chippertext akan semakin
sulit dilakukan oleh orang yang tidak berhak.
Gambar 3. Tabel Substitusi
2.3.2 Blocking
Teknik ini dilakukan dengan cara membagi plaintext menjadi blok-blok
yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara
independen. Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan
kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi
kriptografi dengan teknik ini. Plaintext dituliskan secara vertikal ke bawah
berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya
tertulis. Ciphertext-nya adalah hasil pembacaan plaintext secara horizontal
berurutan sesuai dengan blok-nya. Plaintext dapat pula ditulis secara horizontal
dan ciphertextnya adalah hasil pembacaan secara vertikal.
12
Gambar 4. Enkripsi Teknik Blocking
2.3.3 Permutasi
Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering
juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter
dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi.
Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya
yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun posisinya
yang diacak. Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu
dibagi menjadi blok-blok dengan panjang yang sama.
2.3.4 Ekspansi
Enkripsi metode ekspansi adalah dengan cara memelarkan pesan itu
dengan aturan tertentu. Contoh penggunaan teknik ini adalah dengan meletakkan
huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di akhir
kata itu dan menambahkan akhiran “kah”. Bila suatu kata dimulai dengan huruf
vokal atau bilangan genap, ditambahkan akhiran “u”
13
2.3.5 Pemapatan (Compaction)
Mengurangi panjang pesan atau jumlah blok untuk menyembunyikan
isi pesan. Contoh, menghilangkan setiap karakter ke-tiga secara berurutan.
Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai
“lampiran” dari pesan utama, dengan diawali oleh suatu karakter khusus.
2.4 Visual Basic
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan
sebuah bahasa pemrograman yang menawarkan Integrated Development
Environment (IDE) visual untuk membuat program perangkat lunak berbasis
sistem operasi Microsoft Windows dengan menggunakan model pemrograman
(COM).
Visual Basic merupakan turunan bahasa pemrograman BASIC dan
menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan
cepat. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan
Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic,
tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi
dengan menggunakan komponen-komponen yang disediakan oleh Microsoft
Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat
menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan.
Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar
yang sangat luas. Sebuah survey yang dilakukan pada tahun 2005 menunjukkan
14
bahwa 62% pengembang perangkat lunak dilaporkan menggunakan berbagai
bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.
15
BAB III
METODE PENELITIAN
3.1 Ruang Lingkup Program
Untuk menjalankan aplikasi yang telah dibangun maka dibutuhkan
beberapa ruang lingkup pendukung implementasi yaitu berupa perangkat keras
maupun perangkat lunak.
3.1.1 Perangkat Keras
Dalam pembuatan aplikasi key generator ini menggunakan perangkat
keras Laptop Toshiba C840. Adapun spesifikasi yang perangkat keras yang
digunakan adalah :
a. Processor Intel® Core ™ i3-2370M CPU (2,40 GHz)
b. Harddisk 320 GB
c. Memory RAM 2 GB
3.1.2 Perangkat Lunak
Perangkat lunak yang digunakan antara lain :
a. Sistem Operasi Windows 7 Ultimate 32-bit (6.1 build 7600)
b. Microsoft Visual Basic 6.0
15
16
3.2 Analisis Sistem
3.2.1 Deskripsi Sistem
Subbab ini akan membahas mengenai deskripsi sistem yang akan
dibuat. Tujuan pembuatan sistem ini adalah melakukan proses generate terhadap
key yang diinputkan dengan cara enkripsi. Adapun proses dalam perancangan
perangkat lunak ini adalah sebagai berikut :
1. Pengguna memasukkan inputan berupa key (angka yang akan di
generate).
2. Proses generate dengan cara melakukan enkripsi pada key / angka
yang telah diinputkan.
3. Hasil generate di munculkan.
Flowchart untuk sistem adalah sebagai berikut :
Gambar 5. Flowchart Alur Sistem
17
3.2.2 Proses Kerja Sistem
Proses yang dirancang pada perangkat lunak ini berdasarkan pada jenis
enkripsi yang digunakan yaitu RSA. Adapun tahapan proses yang dilakukan adalah :
1. Pembangkitan Kunci
Dalam proses pembangkitan kunci, langkah-langkah yang dilakukan
adalah dengan membuat pasangan kunci public key dan private key:
Pilih dua bilangan prima p ≠ q secara acak dan terpisah untuk tiap-
tiap p dan q. Hitung N = p q. N hasil perkalian dari p dikalikan
dengan q.
Hitung φ = (p-1)(q-1).
Pilih bilangan bulat (integer) antara satu dan φ (1 < e < φ) yang
juga merupakan coprime dari φ.
Hitung d hingga d e ≡ 1 (mod φ).
Bilangan prima dapat diuji probabilitasnya menggunakan Fermat's
little theorem- a^(n-1) mod n = 1 jika n adalah bilangan prima,
diuji dengan beberapa nilai a menghasilkan kemungkinan yang
tinggi bahwa n ialah bilangan prima. Carmichael numbers (angka-
angka Carmichael) dapat melalui pengujian dari seluruh a, tetapi
hal ini sangatlah langka.
Langkah 3 dan 4 dapat dihasilkan dengan algoritma extended
Euclidean; lihat juga aritmetika modular.
18
Langkah 4 dapat dihasilkan dengan menemukan integer x sehingga
d = (x(p-1)(q-1) + 1)/e menghasilkan bilangan bulat, kemudian
menggunakan nilai dari d (mod (p-1)(q-1));
Langkah 2 PKCS#1 v2.1 menggunakan &lamda; = lcm(p-1, q-1)
selain daripada φ = (p-1)(q-1)).
Pada public key terdiri atas:
N, modulus yang digunakan.
e, eksponen publik (sering juga disebut eksponen enkripsi).
Pada private key terdiri atas:
N, modulus yang digunakan, digunakan pula pada public key.
d, eksponen pribadi (sering juga disebut eksponen dekripsi), yang
harus dijaga kerahasiaannya.
Biasanya, berbeda dari bentuk private key (termasuk parameter CRT):
p dan q, bilangan prima dari pembangkitan kunci.
d mod (p-1) dan d mod (q-1) (dikenal sebagai dmp1 dan dmq1).
(1/q) mod p (dikenal sebagai iqmp).
19
2. Proses Enkripsi
Misalkan kita ingin mengirim pesan m ke seseorang. kita harus
mengubah m menjadi angka n < N, menggunakan protokol yang
sebelumnya telah disepakati dan dikenal sebagai padding scheme.
Maka kita telah memiliki n dan mengetahui N dan e, yang telah
diumumkan oleh penerima pesan kita. Kemudian kita menghitung
ciphertext c yang terkait pada n:
Perhitungan tersebut dapat diselesaikan dengan cepat menggunakan
metode exponentiation by squaring. Lalu kemudian kita mengirimkan c
kepada penerima.
3.3 Tahapan Penelitian
Dalam pembuatan proses sistem yang dibangun melalui beberapa
tahapan. Secara garis besar tahapan pembutan sistem yang akan dibangun adalah
sebagai berikut :
a. Melakukan studi literatur
Melakukan studi literatur yang berhungan dengan penelitian yang
dikutip dari buku teks, paper, dan browsing internet. Bahasan yang
ambil mengenai teori kriptografi, algoritma kriptografi, dan visual
basic.. Melalui studi literatur, teori tersebut dianalisis untuk
mengimplementasikannya ke dalam bentuk perangkat lunak.
20
b. Analisis dan perancangan perangkat lunak.
Menganalisis dan merancang perangkat lunak generate key dengan
teknik kriptografi untuk memperoleh perangkat lunak yang sesuai
dengan teori dan rancangan yang telah dilakukan.
c. Pembuatan perangkat lunak
Pembuatan perangkat lunak berdasarkan analisis dan perancangan yang
dilakukan sehingga diperoleh hasil yang optimal.
d. Uji coba dan evaluasi sistem.
Melakukan uji coba terhadap perangkat lunak. Uji coba yang dilakukan
yaitu menguji keberhasilan generate key untuk melakukan generasi
terhadap key yang diinputkan. Selain itu mengevaluasi sistem yang
telah diselesaikan dengan menganalisa kinerja perangkat lunak yang
telah dibangun, apakah masih terdapat kesalahan/error.
3.4 Perancangan Interface
Rancangan interface/antarmuka yang akan dibangun terdiri dari sebuah
form, dimana bagian dari form ini yaitu text field key untuk menginputkan dan
menampilkan key (key hasil generate) panjang maksimal 256 bit atau 32 karakter dan
dua button, yaitu button generate untuk melakukan proses generate key yang
diinputkan dan button exit untuk keluar dari aplikasi. Berikut adalah gambar
rancangan form enkripsi yang akan dibangun.
21
Keterangan gambar :
1. Text Field key
2. Button generate
3. Button exit
32
1
Gambar 6. Rancangan Program Key Generator
22
BAB IV
HASIL DAN PEMBAHASAN
4.1 Implementasi Interface
Pertama-tama kita buat sebuah form dengan komponen sebagai berikut:
Name Caption
Form keygen Key Generator
Textbox Key -
CommandButtongenerate &Generate
exit &Exit
Keterangan gambar :
1. Text Field key
2. Button generate
3. Button exit
32
1
22
Gambar 7. Program Key Generator
23
Text Field key berfungsi sebagai field yang berisi inputan key yang
akan di generate, button generate berfungsi untuk menjalankan proses generate
key, dan button exit berfungsi untuk keluar dari program.
4.2 Uji Coba Perangkat Lunak
Pada enkripsi RSA sebelum dilakukannya proses enkripsi, terlebih dahulu
dilakukan pembuatan kunci. Untuk melakukan pembuatan kunci, terdapat beberapa
variable yang harus ditentukan yaitu antara lain :
p dan q = bilangan prima
m = plaintext (angka yang akan dienkripsi)
e = eksponen kunci publik
n = modulus (pembagi)
Sedangkan c adalah chippertext atau hasil enkripsi. Berikut adalah source
code dari enkripsi RSA :
Private Sub enkripsi ()Dim p, q As LongDim m, n, c As LongDim e As Integerp = 20q = 50n = p * qm = (p - 1) * (q - 1)e = 2
c = (m ^ e) Mod nkey.Text = c * (Round(Rnd * 222))
End Sub
24
Setelah selesai memasukkan source code, selanjutnya kita lakukan
pengujian dengan menjalankan program key generatornya, kemudian klik button
“Generate”.
Lalu kita klik kembali tombol “Generate” untuk melakukan pengacakan
kembali.
4.3 Evaluasi Sistem
Hasil evaluasi yang didapatkan setelah ujicoba yang dilakukan adalah :
a. Sebelum melakukan enkripsi, terlebih dahulu harus membuat kunci
dalam proses enkripsi.
b. Perangkat lunak yang dibangun berhasil melakukan generate key
dengan enkripsi RSA (Rivest Shamir Adleman).
Gambar 9. Hasil Generate (Langkah 2)
Gambar 8. Hasil Generate (Langkah 1)
25
BAB V
PENUTUP
5.1 Kesimpulan
Dari hasil penelitian yang didapat maka dapat disimpulkan bahwa:
a. Enkripsi RSA menggunakan 128 bit setiap blok yang akan dienkripsi.
Kunci yang digunakan dengan panjang maksimal 256 bit dengan
menggunakan kunci simetrik dimana kunci pada saat enkripsi sama
dengan dekripsi.
b. Perangkat lunak yang dibangun berhasil melakukan generate
menggunakan enkripsi RSA.
5.2 Saran
Setelah melakukan evaluasi terhadap program yang ada, penulis
menyadari bahwa masih ada kekurangan pada program yang dibuat. Untuk itu
disarankan mengembangkan aplikasi key generator ini dengan dengan lebih baik
lagi.
25
26
DAFTAR PUSTAKA
Munir, Rinaldi. 2006. Kriptografi. Bandung : Informatika
Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan
Implementasi. Yogyakarta: Penerbit Andi.
Wikipedia. Visual Basic, (Online), (https://id.wikipedia.org/wiki/Visual_Basic,
diakses pada 11 Maret 2013).
Wikipedia. RSA, (Online), (https://id.wikipedia.org/wiki/RSA, diakses pada 21
Mei 2013).
Gilang, Kurniawan. Mengenal Kriptografi, (Online), (http://gilang-
kurniawan.blogspot.com/2012/05/mengenal-kriptografi.html, diakses
pada 9 April 2013).
Riyanto. Teknik Dasar Kriptografi “Permutasi”, (Online),
(http://blog.re.or.id/teknik-dasar-kriptografi-permutasi.htm, diakses
pada 9 April 2013).
Riyanto. Teknik Dasar Kriptografi “Blocking”, (Online),
(http://blog.re.or.id/teknik-dasar-kriptografi-blocking.htm, diakses pada
9 April 2013).
Riyanto. Teknik Dasar Kriptografi “Ekspansi”, (Online),
(http://blog.re.or.id/teknik-dasar-kriptografi-ekspansi.htm, diakses pada
9 April 2013).
27
Riyanto. Teknik Dasar Kriptografi “Compaction”, (Online),
(http://blog.re.or.id/teknik-dasar-kriptografi-pemampatan-
compaction.htm, diakses pada 9 April 2013).
Sharing, Ilmu. Kriptografi, (Online), (http://sharingilmu.web.id/kriptografi/,
diakses pada 12 April 2013).
Sejarah Kriptografi, (Online), (http://pintar-it.com/sejarah-kriptografi/, diakses
pada 12 April 2013).
(Online), (https://docs.google.com/document/d/1lBtJDoXy1rcLmYtj-
U39NleGgu_G0PeLuFfjHe6HLzk/edit, diakses pada 12 April 2013).
28
GENERATE KEY DENGAN TEKNIK CRYPTOGRAPHYMENGGUNAKAN PEMROGRAMAN VISUAL BASIC
INTERPERSONAL SKILL
Diajukan untuk memenuhi sebagianSyarat-syarat Penyelesaian Mata Kuliah Interpersonal Skill
Pada Program Studi Teknik InformatikaSTMIK Adhi Guna Palu
Oleh :
AHMAD AZHARI552 01 10 089
PROGRAM STUDI TEKNIK INFORMATIKASEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
(STMIK) ADHIGUNA PALUPALU-2013
29
HALAMAN PENGESAHAN
JUDUL
Generate Key dengan teknik Cryptography menggunakan pemrograman Visual
Basic.
Dosen Pembimbing I
Sukardi, S.KomNIK. 140 201 001
Dosen Pembimbing II
Zainal Arifin, S.KomNIK. 140 201 018
Mengetahui / Menyetujui,Ketua Program StudiTeknik Informatika
Agus Romadhona, S.KomNIK. 140 201 004
ii
30
KATA PENGANTAR
Assalamualikum War. Wab
Puji Syukur peneliti panjatkan kehadirat Tuhan Yang Maha Esa karena
dengan rahmat serta hidayah-Nya Lah, sehingga peneliti dapat menyelesaikan
Laporan ini yang berjudul “Generate Key Dengan Teknik Cryptography
Menggunakan Pemrograman Visual Basic”. Laporan ini merupakan salah satu
syarat untuk memenuhi tugas besar Mata Kuliah “Interpersonal Skill”. Salawat
serta salam peneliti haturkan kepada junjungan Nabiullah Muhammad SAW
berserta keluarga dan para sahabat.
Penyusunan laporan ini tidak akan dapat terselesaikan tanpa adanya
dukungan dari orang-orang yang telah banyak membantu selama penyusunan
laporan ini. Pada kesempatan ini peneliti mengucapkan terima kasih yang
sedalam-dalamnya kepada :
1. Hi. Syamsuddin HM., SE., M.Si., selaku Ketua STMIK Adhi yang telah
banyak memberikan bimbingan dan arahan kepada peneliti.
2. Sukardi, S.Kom, Selaku Dosen Pembimbing I yang telah memberikan
arahan dan bimbingan demi kesempurnaan laporan ini.
3. Zainal Arifin, S.Kom, Selaku Dosen Pembimbing II yang telah banyak
memberikan arahan dan masukkan kepada penulis.
4. Agus Romadhona, S.Kom, Selaku Ketua Program Studi Teknik Informatika
yang telah banyak memberikan arahan dan masukkan kepada penulis.
5. Teman-teman serta semua pihak yang terlibat didalam penyusunan laporan
mata kuliah Interpersonal Skill.
iii
31
Akan tetapi peneliti sangat menyadari bahwa Laporan ini masih mempunyai
banyak kekurangan. Saran dan kritik yang tujuannya membangun sangat
diperlukan guna memperbaiki penyusunan di masa mendatang.
Wassalamulaikum War. Wab.
Palu, Juni 2013
Peneliti
iv
32
DAFTAR ISI
Halaman
HALAMAN JUDUL........................................................................................ iHALAMAN PENGESAHAN.......................................................................... iiKATA PENGANTAR...................................................................................... iiiDAFTAR ISI..................................................................................................... vDAFTAR GAMBAR........................................................................................ vii
BAB I PENDAHULUAN.......................................................................... 11.1 Latar Belakang ....................................................................... 11.2 Batasan Masalah .................................................................... 11.2 Rumusan Masalah................................................................... 21.3 Tujuan Penelitian.................................................................... 21.4 Manfaat Penelitian.................................................................. 2
BAB II TINJAUAN PUSTAKA ................................................................ 32.1 Teori Kriptografi..................................................................... 32.2 Algoritma Kriptografi............................................................. 7
2.2.1 Algoritma Simetris ..................................................... 72.2.2 Algoritma Asimetris ................................................... 9
2.3 Teknik Dasar Kriptografi ....................................................... 112.3.1 Substitusi ..................................................................... 112.3.2 Blocking ...................................................................... 112.3.3 Permutasi ..................................................................... 122.3.4 Ekspansi ...................................................................... 122.3.5 Pemapatan (Compaction) ............................................ 13
2.4 Visual Basic ........................................................................... 13
BAB III METODE PENELITIAN.............................................................. 153.1 Ruang Lingkup Program ........................................................ 15
3.1.1 Perangkat Keras .......................................................... 153.1.2 Perangkat Lunak ......................................................... 15
3.2 Analisis Sistem ....................................................................... 163.2.1 Deskripsi Sistem ......................................................... 163.2.2 Proses Kerja Sistem .................................................... 17
3.3 Tahapan Penelitian ................................................................. 193.4 Perancangan Interface ............................................................ 20
BAB IV HASIL DAN PEMBAHASAN ..................................................... 223.1 Implementasi Interface ........................................................... 223.2 Uji Coba Perangkat Lunak ..................................................... 233.3 Evaluasi Sistem ...................................................................... 24
v
33
BAB V PENUTUP....................................................................................... 255.1 Kesimpulan ............................................................................ 255.2 Saran ...................................................................................... 25
vi
34
DAFTAR GAMBAR
No. Uraian Hal
1. Diagram Proses Enkripsi dan Dekripsi Algoritma Simetris ..................... 8
2. Diagram Proses Enkripsi dan Dekripsi Algoritma Asimetris ................... 9
3. Tabel Substitusi ........................................................................................ 11
4. Enkripsi teknik Blocking .......................................................................... 12
5. Flowchart Alur Sistem .............................................................................. 16
6. Rancangan Program Key Generator ......................................................... 21
7. Program Key Generator ............................................................................ 22
8. Hasil Generate (Langkah 1) ...................................................................... 24
9. Hasil Generate (Langkah 2) ...................................................................... 24
vii