lap. akhir tugas besar inps

51
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

Upload: rafii-lee-jinwoon

Post on 01-Dec-2015

112 views

Category:

Documents


1 download

DESCRIPTION

Tugas Besar Interpersonal Skill (INPS) pada Program Studi Teknik Informatika STMIK ADHI GUNA PALU tahun 2013

TRANSCRIPT

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