• Tidak ada hasil yang ditemukan

APLIKASI PENGAMAN DATA MENGGUNAKAN ALGORITMA RSA (Rivest-Shamir-Adleman).

N/A
N/A
Protected

Academic year: 2017

Membagikan "APLIKASI PENGAMAN DATA MENGGUNAKAN ALGORITMA RSA (Rivest-Shamir-Adleman)."

Copied!
77
0
0

Teks penuh

(1)

TUGAS AKHIR

Diajukan Oleh :

DUWI MUJ IARTO

NPM : 0734010242

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(2)

Pembimbing I : Ir. Purnomo Edi.S, MP Pembimbing II : Dr.Ir. Ni Ketut Sari, MT Penyusun : Duwi Mujiarto

ABSTRAK

Masalah keamanan dan kerahasiaan data dalam suatu komputer merupakan aspek

penting yang tidak dapat diabaikan keberadaannya. Apalagi jika data-data tersebut disimpan

dalam suatu komputer yang digunakan secara bebas. Hal ini akan menyebabkan semua data yang

kita miliki dapat diakses oleh semua orang. Untuk menangani masalah tersebut maka diperlukan

suatu aplikasi pengamanan data yang dapat mencegah dan mengamankan data-data yang dimiliki

dari para pemakai yang tidak berhak mengaksesnya. Yaitu dengan membuat sistem keamanan

file dan folder data. Pada Aplikasi ini menerapkan metode enkripsi sehingga membuat data / file

yang kita miliki menjadi lebih sulit untuk dimengerti isinya. Metode tersebut menggunakan

algoritma RSA (Rivest-Shamir-Adleman).

RSA merupakan algoritma pertama yang cocok untuk digital signature seperti halnya

ekripsi, dan salah satu yang paling maju dalam bidang kriptografi public key. RSA masih

digunakan secara luas dalam protokol electronic commerce, dan dipercaya dalam mengamankan

dengan menggunakan kunci yang cukup panjang.

Dalam Skripsi ini penulis, merancang aplikasi dengan menggunakan bahasa

pemrograman Delphi. Aplikasi ini menggunakan algoritma RSA, dan menggunakan key untuk

menentukan nilai bit proses pengirimannya, prosenya pertama yang dilakukan dari file bertipe

text kemudian dienkrip dan menghasilkan berupa bilangan desimal dan bertipe sck kemudian

dari file bertipe sck didekrip dan kembali sperti semula bertipe text.

(3)

Alhamdulillaahi Robbil ‘Alamin…Puji syukur penulis panjatkan kepada

Allah Yang Maha Esa yang telah memberikan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan laporan Tugas Akhir ini yang berjudul “APLIKASI PENGAMAN DATA MENGGUNAKAN ALGORITMA RSA

(RIVEST-SHAMIR-ADLEMAN) ” tepat pada waktunya.

Tugas Akhir dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur. Dengan selesainya Tugas Akhir ini tidak terlepas dari bantuan banyak pihak yang telah memberikan masukan-masukan dan semangat kepada penulis. Untuk itu penulis mengucapkan terima kasih kepada :

1. Orang tua kami tercinta dukungan serta harapan-harapanya pada saat kami menyelesaikan laporan ini. Terima kasih atas kasih sayang dan do’anya. 2. Bapak Ir.Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas

Pembangunan Nasional “Veteran” Jawa Timur.

3. Ibu Dr.Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika 4. Dosen Pembimbing I Bapak Ir.Purnomo Edy S., MP.

5. Dosen Pembimbing II Dr.Ir. Ni Ketut Sari, MT

(4)

angkatan 2007 ayo terus dan terus..berjuang rek….

7. Seluruh teman-teman Jurusan Teknik Informatika UPN “VETERAN” Jatim.

Penulis menyadari bahwa masih banyak kekurangan dari laporan Tugas Akhir ini, baik dari materi maupun teknis penyajiannya, mengingat kurangnya pengetahuan dan pengalaman penulis. Oleh karena itu, kritik dan saran yang membangun sangat penulis harapkan.

Surabaya, 09 Februari 2012

(5)

(6)

2.5.4 Penyerangan waktu... 31

2.5.5 Penyerangan ciphertex adaptive... 32

2.6 Distribusi kunci... 32

2.6.1 Pembangkitan kunci... 33

2.6.2 Kunci Lemag dan Kunci setengah lemah... 34

2.7 Mode Operasi... 35

2.8 Padding schemes... 36

2.9 Ancaman yang mungkin menyerang RSA... 37

2.10 Keamanan Algoritma RSA... 37

2.11 Pertimbangan Teknis dalam Enkripsi RSA... 39

2.12 Keuntungan dan kerugian RSA... 40

3.6 Algoritma Pembuatan Kunci RSA... 50

3.7 Potongan sourcode untuk pembentukan kunci bit ... 51

BAB IV IMPLEMENTASI DAN PENGUJIAN... 52

4.1 Implementasi Sistem ... 52

4.1.1 Impelemtasi Antar Muka... 52

4.1.2 Form Lokasi ... 53

4.1.3 Form setting pengaman... 54

4.1.4 Form lokasi pengiriman data ... 55

4.1.5 Botton Enkripsi... 55

4.1.6 Botton Dekripsi... ... 57

(7)

4.2.1 Tampilan Menu Utama...60

4.2.2 Inputan User...61

4.2.3 Form Lokasi yang dipantau... 61

4.2.4 File List Box...62

4.2.5 Form lokasi Pengiriman data... 62

4.2.6 Isi file Text... 63

4.2.7 Hasil Enkripsi... 63

4.2.8 Botton Keluar... 64

4.2.9 Message Box... 64

4.2.10 Hasil Uji coba... 65

BAB V PENUTUP ... 61

5.1 Kesimpulan ... 66

(8)

Halaman

Tabel 2.1 Operasi AND ………... 12

Tabel 2.2 Operasi OR ...…... 13

Tabel 2.3 Operasi XOR ... 13

Tabel 2.4 Jenis-jenis file dalam delphi... 21

Tabel 2.5 Kunci pesan untuk mengenkripsi data... 29

Tabel 2.6 Kode ASCII... 30

(9)

Halaman

Gambar 2.1 Proses Enkripsi/Dekripsi Sederhana ... 7

Gambar 2.2 Proses Enkripsi dan Dekripsi Algoritma Kriptografi Simetri ... 8

Gambar 2.3 Proses Enkripsi dan Dekripsi dengan Dua Kunci yang Berbeda ... 9

Gambar 2.4 Tampilan awal Delphi... 17

Gambar 2.5 Daftar komponen palet standard Delphi... 18

Gambar 2.6 Daftar komponen palet additional... 18

Gambar 2.7 Daftar komponen palet win 32... 18

Gambar 2.8 Daftar komponen palet system... 19

Gambar 2.9 Komponen Palet Dialog... 19

Gambar 2.10 Membuat aplikasi sederhana dengan Delphi ... 20

Gambar 3.1 Aktifitas Desain Penelitian... 43

Gambar 3.2 Diagram Alir Sistem Enkripsi Menggunakan RSA ... 45

Gambar 4.1 Desain Antar Muka... 48

Gambar 4.2 Form Lokasi...………... 49

Gambar 4.3 Form setting pengaman...………... 50

Gambar 4.4 Form Lokasi pengiriman data………... 51

Gambar 4.5 Botton Enkripsi ……... 51

Gambar 4.6 Botton Dekripsi... 53

(10)

Gambar 4.9 Botton Tentang ………... 55

Gambar 4.10 Form info tentang... 55

Gambar 4.11 Tampilan menu Utama... 56

Gambar 4.12 Inputan User ………... 57

Gambar 4.13 Lokasi yang dipantau... 57

Gambar 4.14 FileListBox ………... 58

Gambar 4.15 form Lokasi pengiriman Data ………... 58

Gambar 4.16 Isi file text ……... 59

Gambar 4.17 Hasil Enkripsi …... 59

Gambar 4.18 Button Keluar ………... 60

(11)

PENDAHULUAN 1.1. Latar Belaka ng

Pada masa sekarang, komputer dan aplikasi telah berkembang pesat penggunaannya, sehingga dapat dikatakan keberadaannya sangat melekat pada kehidupan sehari-hari, baik itu pekerjaan, hiburan, maupun sesuatu yang pribadi. Tidak hanya di kota besar, kini komputer mulai menyebar hingga ke desa. Dan tidak hanya secara konvensional menggunakan Personal Computer (PC) kini juga bisa menggunakan notebook.

Selama ini dalam pengaturan hak akses, hanya mengandalkan pengaturan account dengan pemberian username dan password. Tentunya, pada masa sekarang ini hal tersebut tidaklah mencukupi, mengingat sebuah user account dapat dicuri ataupun seorang hacker dapat meretas langsung ke dalam sebuah jaringan dan langsung mengambil data-data yang diperlukan.

Adanya potensi tindakan peretasan jaringan ataupun pengambilan user

account dapat menyebabkan terjadinya kerawanan kerahasiaan suatu data atau

dokumen sehingga diperlukan suatu aplikasi yang dapat mengamankan data, khususnya untuk shared document pada jaringan komputer lokal agar dokumen atau data tersebut hanya dapat dibaca oleh orang yang berhak.

(12)

key. Teknik ini sangat membantu proses pengamanan file data, karena hanya orang yang punya private key saja yang dapat menguraikan isi file tersebut.

Berdasarkan uraian tersebut, maka dalam tugas akhir kali ini saya akan membuat aplikasi yang dapat melakukan proses pengamanan data menggunakan algorithma RSA.

1.2. Perumusan Masalah

Rumusan masalah yang digunakan dalam tugas akhir ini adalah :

- Bagaimana membuat aplikasi pengiriman file dilengkapi dengan fitur pengamanan data menggunakan algorithma RSA ?

1.3. Batasan Masa lah

Dalam tugas akhir ini batasan masalah yang dipergunakan yaitu :

a. Format file yang dipergunakan sebagai uji coba adalah tipe dokumen ( text)

b. Ukuran file 500 MB, lokasi pengiriman berada dalam satu hanya satu lokasi dalam sekali pengiriman.

c. Aplikasi dibangun dengan menggunakan developer embarcadero developer studio 2010

(13)

1.4. Tujuan

Tujuan yang ingin dicapai pada pengerjaan tugas akhir ini adalah: membuat aplikasi pengiriman file menggunakan algorithma RSA untuk meningkatkan keamanan data baik untuk pengirim maupun untuk penerima

1.5. Manfaat

Adapun manfaat yang ingin diperoleh dari pengerjaan tugas akhir ini adalah dapat membuat perangkat lunak untuk mempermudah pengguna mengamankan data, khususnya dalam lingkungan pekerjaan.

1.6. Metode Penelitian

Adapun metode penelitian yang dipergunakan dalam pengerjaan tugas akhir ini adalah :

1) Studi Literatur

Mengumpulkan referensi baik dari buku, internet, maupun sumber-sumber yang lainnya yang terkait dengan judul penelitian ini.

2) Studi Kasus

(14)

1.7. Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi latar belakang masalah, identifikasi masalah, maksud dan tujuan yang ingin dicapai, batasan masalah, metodologi penelitian yang diterapkan dalam memperoleh dan mengumpulkan data, waktu dan tempat penelitian, serta sistematika penulisan. BAB II TINJ AUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik masalah yang diambil dan hal-hal yang berguna dalam proses analisis permasalahan.

BAB III ANALISIS DAN PERANCANGAN

Menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antar variabel yang diteliti serta model matematis untuk analisisnya.

BAB IV IMPLEMENTASI DAN PENGUJ IAN

(15)

BAB V KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas akhir.

DAFTAR PUSTAKA

(16)

TINJ UAN PUSTAKA 2.1. Security

Security atau keamanan merupakan hal yang diinginkan oleh setiap orang

dalam segala hal. Baik dalam keamanan lingkungan rumah, masyarakat, perkantoran dan dalam segala aspek kehidupan manusia (Komputer Wahana,2003). Dalam era perkembangan jaman saat ini komputer sudah memasuki segala aspek kegiatan manusia. Terutama dalam komputer jaringan ataupun stand alone. Dalam sebuah perusahaan ataupun di rumah sendiri terkadang kita mendapati pencurian data yang tidak kita inginkan. Hal-hal yang berkaitan dengan pengamanan data-data penting tersebut haruslah benar-benar diperhatikan. Untuk itulah diperlukan suatu sistem pengaman file atau folder data yang kita miliki. Untuk keamanan file pada saat ini sudah tidak asing lagi untuk menggunakan konsep kriptografi. Kriptrografi adalah suatu teknik pengacakan data yang sampai saat ini dapat memberikan jaminan tentang keamanan terhadap suatu file data. Dan untuk keamanan folder data menggunakan sistem penguncian

folder dengan password. Apabila password yang dimasukkan salah maka folder

tersebut tidak dapat diakses. [4]

2.2. Kriptografi

Teknik pengacakan data yang disebut sebagai enkripsi, telah membentuk suatu bidang yang disebut kriptografi. Sedangkan orang yang melakukan disebut

cryptographer. Pesan atau data yang belum disandikan dan dengan mudah dapat

(17)

Proses merubah plaintext menjadi ciphertext disebut proses enkripsi atau

encryption. Sebaliknya, proses untuk mengembalikan ciphertext ke bentuk aslinya

(plaintext) disebut proses dekripsi atau decryption. Proses enkripsi dan dekripsis ditunjukkan seperti gambar dibawah ini :

Gambar 2.1 Proses Enkripsi/Dekripsi Sederhana

Cryptanalysis adalah metode atau teknik untuk memecahkan ciphertext

menjadi plaintext. Sedangakan orang yang melakukannya disebut cryptanalyst.

Cryptology meliputi cryptanalysis dan cryptography [4]

2.2.1. Algor itma Kriptografi

Algoritma kriptografi atau yang bisa juga disebut sebagai chippers adalah fungsi-fungsi matematika yang digunakan untuk melakukan enkripsi dan dekripsi. Terdapat dua jenis algoritma kriptografi berdasarkan jenis kuncinya:

a. Algor itma simetr i

(18)

bahwa orang lain dapat mengenkrip dan mendekrip pesan. Proses enkripsi dan dekripsi algoritma kriptografi simetris dapat dilihat pada gambar 2.2 :

Gambar 2.2 Proses Enkripsi dan Dekripsi Algoritma Kriptografi Simetris

b. Algor itma Asimetr i

Algoritma asimetri biasa disebut juga dengan algoritma kunci publik yaitu suatu algoritma yang mana memiliki dua buah kunci yang berbeda. Sebuah kunci digunakan untuk mengenkripsi pesan yang dikirimkan sedangkan yang sebuah lagi digunakan untuk mendekrip (membuka) pesan yang diterima. Dalam sistem ini, kunci enkripsi disebut sebagai kunci publik (public key) dan dapat dipublikasi, sedangkan kunci dikripsi disebut sebagai kunci privat (private key) dan harus dirahasiakan. [4]

Cara kerja algoritma ini singkat dapat dijelaskan, sebagai berikut :

(19)

dapat menggunakan. Setelah A mendapatkan kunci publik dari B pesan dienkrip terlebih dahulu sebelum dikirim. Kemudian setelah pesan diterima oleh B. pesan tersebut dapat dibuka dengan menggunakan kunci privat dari B. Dalam komunikasi dengan cara ini pesan yang dikirim tidak dapat dibaca oleh siapapun kecuali B yang memiliki kunci privat dari pasangan kunci publik yang digunakan untuk mengenkrip pesan.

Terjadinya proses enkripsi dengan menggunakan kunci public dan dekripsi dengan menggunakan kunci privat. Seperti pada gambar 2.3.

Transmitting

Public key of a Receiver (Ke)

private key of a Receiver (Kd)

Receiving

Gambar 2.3 Proses Enkripsi dan Dekripsi dengan Dua Kunci yang Berbeda

Plain Text Encrypt ion Cipher Text

(20)

2.2.2. Tinjauan Matematis

Ada dua hal yang menjadi dasar matematis dalam membangun sebuah kriptografi yang baik :

a. Konsep Dasar

Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan, yaitu himpunan berisi elemen plaintext dan himpunan berisi elemen chipertext. Bila himpunan plaintext dinotasikan dengan P dan himpunan chipertext dinotasikan dengan C, sedangkan fungsi enkripsi dinotasikan dengan E dan dekripsi dengan D maka proses enkripsi dan dekripsi dapat dinyatakan dalam notasi matematis dengan :

E(P) = C dan D(C) = P

Dimana: E adalah proses Enkripsi

D untuk proses Dekripsi

C untuk Chipertext (text terenkripsi)

P untuk Plaintext (text asli)

Karena proses enkripsi-dekripsi bertujuan memperoleh kembali data asal, maka:

D(E(P)) = P

(21)

Ek(P)=CdanDk(C)=P

Pada metode kriptografi asimetris digunakan kunci umum untuk enkripsi dan kunci pribadi untuk dekripsi. Bila kunci umum dinotasikan dengan ‘PK’ dan kunci pribadi dinotasikan dengan ‘SK’ maka proses enkripsi dan dekripsi metode kriptografi asimetris dapat dinotasikan dengan :

Epk(P) = C dan Dsk(C) = P

Dan keseluruhan system dinyatakan sebagai :

Dsk (Epk(P)) = P

b. Ar itmatika

(22)

Operasi AND, OR, dan XOR Operasi ini merupakan operasi dalam bilangan biner, bilangan hexadesimal harus dikonversi dulu kedalam biner, setelah itu baru dapat dioperasikan. Untuk operasi AND, bilangan akan menghasilkan nol jika salah satu bilangan adalah nol atau keduanya nol, dan menghasilkan satu jika kedua bilangan satu. Seperti pada tabel 2.1 :

Table 2.1 Operasi AND

A B A and B

0 0 0

0 1 0

1 0 0

1 1 1

(23)

Table 2.2 Operasi OR

A B A or B

0 0 0

0 1 1

1 0 1

1 1 1

Untuk operasi XOR, bilangan akan menghasilkan nol jika kedua bilangan adalah sama-sama nol atau sama-sama satu, dan akan menghasilkan satu jika kedua bilangan berbeda. Seperti pada table 2.3 :

Tabel 2.3 Operasi XOR.

A B A xor B

0 0 0

0 1 1

1 0 1

(24)

2.3. Kriptanalisis

Kriptografi menyebabkan timbulnya kriptanalisis, yaitu ilmu pengetahuan

dan seni untuk membongkar data terenkripsi. Praktisi dari kriptanalisis disebut

kriptanalis. Kriptanalis berkembang sejalan dengan kriptografi. Setiap ada

algoritma kriptografi baru yang dibuat oleh kriptografer, langsung diikuti oleh adanya upaya percobaan kriptanalisis. Percobaan kriptanalisisini disebut attack (serangan). [6]

Kriptanalisis mencoba mengembalikan data jelas tanpa akses ke kunci

kriptografi. Ukuran keberhasilan suatu upaya Kriptanalisis adalah sampai sejauh mana keberhasilan diketahuinya data jelas atau kunci kriptografi. Asumsi dasar dari suatu kriptosistem adalah bahwa seorang Kriptanalisis mengetahui keseluruhan mekanisme enkripsi kecuali kuncinya. Berdasarkan itu, maka serangan terhadap suatu kriptografi dapat diklasifikasikan menjadi empat yaitu :

a. Chiphertext-only Attack

Pada jenis serangan ini, kriptanalis mempunyai chiphertext dari beberapa data yang dienkripsikan dengan algoritma kriptografi yang sama. Tujuan kriptanalis adalah mendapatkan plaintext dari chipertext atau lebih baik lagi menarik kesimpulan mengenai kunci yang digunakan.

b. Know-plaintext Attack

(25)

c. Chosen-plaintext Attack

Pada jenis serangan ini, kriptanalis tidak memiliki chipertext, dan

plaintext, juga dapat memilih plaintext yang diinginkan yang biasanya

memiliki lebih banyak informasi tentang kunci. Tujuan kriptanalis adalah menarik kesimpulan mengenai kunci yang digunakan untuk mengenkripsi data.

d. Adaptive-chosen-plaintext Attack

Pada hal ini kriptanalis tidak hanya dapat memilih plaintext yang telah dienkripsi, tetapi juga dapat memodofikasi pilihannya tersebut berdasarkan hasil enkripsi sebelumnya. Kriptanalis mengetahui blok plaintext yang lebih kecil dan kemudian memilih yang lainnya berdasarkan hasil enkripsi pertama, kedua dan seterusnya

2.4. Embar cader o Delphi 2010

Delphi merupakan alat bantu pengembangan aplikasi yang berbasis visual. Perangkat ini merupakan hasil pengembangan dari bahasa pemrograman pascal yang diciptakan oleh Niklaus Wirth. Pada masa itu, Wirth bermaksud membuat bahasa pemrograman tingkat tinggi sebagai alat bantu mengajar logika pemrograman komputer kepada para mahasiswanya.

Bahasa pemrograman pascal ini kemudian dikembangkan oleh Borland yang merupakan salah satu perusahaan software menjadi sebuah tools dengan dibuatkan kompiler dan dijual ke pasar dengan nama TURBO PASCAL.

(26)

Keberhasilan Borland dalam mengembangkan Delphi menjadikan salah satu bahasa yang populer dan disukai oleh banyak programmer, disamping Visual Basic yang dikeluar Microsoft di kemudian hari. Lingkungan pengembangan Delphi yang mudah, intuitif dan memudahkan pemakai, berhasil melampaui popularitas rivalnya, yaitu Visual Basic, sehingga pernah menyandang predikat “VB-Killer”.

Karena tuntutan perkembangan teknologi, Borland berganti nama menjadi Code Gear, tetapi tetap mempergunakan nama Delphi untuk tools yang berbasis object pascal ini. Tidak lama kemudian Code Gear diakuisisi oleh Embarcadero dan namanya pun berubah menjadi Embarcadero RAD Studio dengan tetap mempertahankan Delphi sebagai salah satu tools-nya. Beberapa kelebihan yang dimiliki oleh Embarcadero Delphi 2010 ini antara lain :

a. Delphi dibangun dengan menggunakan arsitektur native compiler, sehingga proses kompilasi instruksi menjadi bahasa mesin menjadi lebih cepat.

b. Semua file yang disertakan saat proses kompilasi, digabungkan menjadi satu sesuai dengan arsitektur native compiler, sehingga mengurangi ketergantungan terhadap library ataupun file-file pendukung lainya, sesuai dengan prinsip build once, runs everywhere.

(27)

kemampuan seperti itu. Dengan adanya kemampuan tersebut, maka file eksekusi yang dihasilkan delphi menjadi lebih optimal.

d. Lingkungan pengembangan Delphi sangat intuitif karena semua komponen yang menjadi alat utama desain visual telah ditampilkan saat pertama kali langsung dapat diamati oleh user dan dapat digunakan secara langsung. Seperti pada gambar 2.4 :

Gambar 2.4. Tampilan awal Delphi

Dalam delphi seperti halnya bahasa visual lainnya menyediakan komponen. Komponen adalah “jantung” bagi pemograman visual. Componen

Palette telah terbagi menjadi berbagai jenis komponen, diantaranya adalah

(28)

Gambar 2.5 Daftar komponen palet standard Delphi

Tampak pada palet standard diatas (dengan urutan dari kiri ke kanan), adalah frame, main menu, pop up menu, label, edit text, memo, button, check box, radio button, list box, combo box, scroll bar, group box, radio group, panel dan action list. Seperti pada gambar 2.6.

Gambar 2.6 Daftar komponen palet additional

Pada palet additional terdapat komponen bit button, speed button, mask edit, string grid, draw grid, image, shape, bevel, scroll box, list box, splitter, static text, tlink label, control bar, application events, value list edit, labeled edit, buttoned edit, color box, color list box, category button, button group, dock tab set, tab set, tray icon, flow panel, grid panel, balloon hint, category group dan action manager. Seperti pada gambar 2.7.

(29)

Pada palet win 32 terdapat komponen tab control, page control, image list, rich edit, track bar, progress bar, up down, hot key, animate, date time picker, month calendar, tree view, list view, header control, status bar, tool bar, cool bar, page scroller, Combo Box Ex, XP Manifest, Shell Resource. Seperti pada gambar 2.8.

Gambar 2.8 Daftar komponen palet system

Komponen yang terdapat dalam palet system adalah timer, paint box, media player, ole container, comadmin dialog, DDE Client Conv, DDE Client Item, DDE Server Conv dan DDE Server Item. Seperti pada gambar 2.9.

Gambar 2.9 Komponen Palet Dialog

(30)

Gambar 2.10 Membuat aplikasi sederhana dengan Delphi

(31)

Tabel 2.4 Jenis-jenis file dalam Delphi Jenis File Keterangan

.dproj File proyek, fungsinya untuk linking object

.dfm File form, fungsinya menyimpan nilai properti form .pas File unit, berisi source code prosedur dan fungsi .dpk File package, berisi instalasi komponen

.res File resource

.cfg File konfigurasi proyek .dof File pilihan proyek .dcu Hasil kompilasi file .pas

.exe File executable (yang dapat dijalankan) .~* File cadangan (back up)

2.3.1. Keuntungan Delphi

(32)

pertama. Obyek sebenarnya referensi ke objek (seperti di Jawa ) yang secara implisit dereferences Delphi, jadi ada biasanya tidak perlu secara manual mengalokasikan memori untuk pointer ke objek atau teknik yang sama diperlukan dalam beberapa bahasa lain. Ada didedikasikan referensi jenis string dihitung (serta diakhiri null-string). [8]

2.4. Alghor ithma RSA

RSA adalah salah satu teknik kriptografi dimana kunci untuk melakukan enkripsi berbeda dengan kunci untuk melakukan dekripsi. Kriptografi bertujuan menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah. Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) 4 penerima (receiver). Setelah sampai di penerima, ci-phertext tersebut ditransformasi kan kembali ke dalam bentuk plaintext agar dapat dikenali. Proses tranformasi dari plaintext menjadi

ciphertext disebut proses Encipherment atau enkripsi (encryption), sedangkan

proses mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi (decryption). Kriptografi menggunakan suatu algoritma (cipher) dan kunci (key). [7]

2.4.1 Sejar ah RSA

(33)

Clifford Cocks, seorang matematikawan Inggris yang bekerja untuk GCHQ, menjabarkan tentang sistem equivalen pada dokumen internal di tahun 1973. Penemuan Clifford Cocks tidak terungkap hingga tahun 1997 karena alasan

top-secret classification. Algoritma tersebut dipatenkan oleh Massachusetts Institute

of Technology pada tahun 1983 di Amerika Serikat sebagai U.S. Patent 4.405.829. Paten tersebut berlaku hingga 21 September 2000. Semenjak Algoritma RSA dipublikasikan sebagai aplikasi paten, regulasi di sebagian besar negara-negara lain tidak memungkinkan penggunaan paten. Hal ini menyebabkan hasil temuan Clifford Cocks di kenal secara umum, paten di Amerika Serikat tidak dapat mematenkannya. [7]

2.4.2. Contoh Oper asional

Semisal “Alice berkeinginan untuk mengizinkan Bob untuk mengirimkan kepadanya sebuah pesan pribadi (private message) melalui media transmisi yang tidak aman (insecure)”. Alice melakukan langkah-langkah berikut untuk membuat pasangan kunci public key dan private key:

a. 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.

(34)

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. 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).

Bentuk ini membuat proses dekripsi lebih cepat dan signing menggunakan Chinese Remainder Theorem (CRT). Dalam bentuk ini, seluruh bagian dari private key harus dijaga kerahasiaannya.

(35)

dalam bentuk CRT dari private key, maka p dan q telah terhapus bersama nilai-nilai lain dari proses pembangkitan kunci. [7]

2.4.3. Pr oses enkr ipsi pesan

Proses enkripsi dengan algoritma RSA dilakukan dengan menghitung eksponen plaintext dalam operasi modulo n (modulo = sisa pembagian) untuk menghasilkan ciphertext. Eksponen yang digunakan adalah public exponente. Operasi ini bisa dituliskan sebagai berikut:

, ( ) = =

dimana:

, : encryption function

: message

e : public exponent

n : modulus

c : ciphertext

Langkah-langkah yang dilakukan pada proses enkripsi adalah sebagai berikut:

1. Dapatkan public key milik receiver yang dituju berupa pasangan e,n. 2. Representasikan message jadi bilangan bulat positif m.

3. Hitung =

4. Kirimkan c ke receiver yang dituju

2.4.4. Pr oses dekr ipsi pesan

(36)

mengembalikan message seperti semula. Operasi ini bisa dituliskan sebagai berikut: [6]

( ) = = dimana:

: decryption function

c : ciphertext

d : private exponent

n : modulus

m : message

Langkah-lagkah yang dilakukan pada proses dekripsi adalah sebagai berikut:

1. Dengan menggunakan private key d memiliki receiver, hitung m = ( ) .

2. Representasikan m yang masih dalam bilangan bulat positif kembali ke

message.

Karena proses dekripsi harus mengembalikan ciphertextc menjadi

plaintext m, berarti hubungan antara bilangan e dan d harus memenuhi persamaan

sebagai berikut:

. = .

Public key yang digunakan adalah (e,N). Private key yang digunakan adalah d.

Fungsi pada enkripsi ialah:

encrypt(n) = ne mod N = n17 mod 3233

(37)

decrypt(c) = cd mod N = c2753 mod 3233

dimana c adalah ciphertext

Untuk melakukan enkripsi plaintext bernilai "123", perhitungan yang dilakukan

encrypt(123) = 12317 mod 3233 = 855

Untuk melakukan dekripsi ciphertext bernilai "855" perhitungan yang dilakukan

decrypt(855) = 8552753 mod 3233 = 123

Kedua perhitungan diatas diselesaikan secara effisien menggunakan

square-and-multiply algorithm pada modular exponentiation. [7]

2.5 Sistem k er ja RSA

Rincian matematis dari algoritma yang digunakan dalam memperoleh kunci publik dan swasta tersedia di situs Web RSA. Briefly, Secara singkat, algoritma melibatkan mengalikan dua bilangan prima besar ( bilangan prima adalah nomor hanya dibagi oleh jumlah dan 1) dan melalui operasi tambahan yang berasal satu set dari dua angka yang merupakan kunci publik dan satu set yang merupakan kunci pribadi. Setelah kunci telah dikembangkan, bilangan prima asli tidak lagi penting dan dapat dibuang. Baik publik dan kunci pribadi diperlukan untuk enkripsi / dekripsi tetapi hanya pemilik kunci privat yang perlu tahu itu. Menggunakan sistem RSA, kunci privat tidak perlu dikirim di Internet.

(38)

mengenkripsi pesan untuk Anda menggunakan kunci publik Anda. Bila Anda menerimanya, Anda mendekripsi dengan kunci pribadi Anda Selain mengenkripsi pesan (yang menjamin privasi), Anda dapat mengotentikasi diri Anda untuk saya (jadi saya tahu bahwa itu benar-benar Anda yang mengirim pesan) [7]

2.5.1 Contoh Penggunaan Algor itma

Setelah mempelajari algoritma dari RSA di atas, berikut ini contoh penggunaan algoritma

RSA, sebagai berikut : 1). Misalkan p = 47 dan q = 71, 2). n = pq = 3337, 3). (p-1)(q-1) = 46 * 70 =

3220. 4) pilih e secara acak dan memenuhi syarat, misalkan e = 79. 5). d = 79-1 mod 3220 = 1019

Misalkan pesan yang akan dikirim adalah m = 688232687966668003. Sehingga penyandian

pesan m tersebut adalah sebagai berikut :

a. m dibagi menjadi blok-blok, dalam kasus ini m dibagi menjadi 6

blok yang masing-masingnya terdiri dari 3 digit, sehingga m1 = 688

b. Enkripsi blok pertama adalah mle mod n, sehingga

(39)

c. Dengan cara yang sama untuk setiap blok maka diperoleh c = 1570 2765 2091 2276 2423 158 d. Deskripsi dari c ini adalah

cd mod n, sehingga

15701019 mod 3337 = 688 = m1

27651019 mod 3337 = 232 = m2

begitu seterusnya hingga akan didapatkan plaintext Untuk pemakaian umum biasanya yang digunakan tidaklah sesederhana bentuk di atas. Umumnya yang digunakan adalah sebuah bilangan dengan ukuran atau digit yang panjang. Hal ini akan menyulitkan sandi tersebut mudah dibongkar oleh pihak ketiga.

menggunakan kunci pribadi Anda untuk mengenkripsi sertifikat digital. Ketika saya menerimanya, saya dapat menggunakan kunci publik Anda untuk mendekripsi itu. Pada Tabel 2.4 dapat membantu kita mengingat hal ini. [6]

Tabel 2.5 Kunci pesan untuk mengenkr ipsi data

(40)

2.5.2 Kode Ascii

American Standard Code for information Interchange (ASCII). Komputer

hanya memahami angka, sehingga dibutuhkan kode ascii yang merupakan suatu angka sebagai perwakilan dari suatu karakter yang ada. Kode ascii dapat dilihat pada tabel 2.6

(41)

2.5.3 Kecepatan RSA

RSA memiliki kecepatan yang lebih lambat dibandingkan dengan DES dan algoritma simetrik lainnya. Pada prakteknya, Bob menyandikan pesan rahasia menggunakan algoritma simetrik, menyandikan kunci simetrik menggunakan RSA, dan mengirimkan kunci simetrik yang dienkripsi menggunakan RSA dan juga mengirimkan pesan yang dienkripasi secara simetrik kepada Alice.

Prosedur ini menambah permasalahan akan keamanan. Singkatnya, Sangatlah penting untuk menggunakan pembangkit bilangan acak yang kuat untuk kunci simetrik yang digunakan, karena Eve dapat melakukan bypass terhadap RSA dengan menebak kunci simterik yang digunakan. [7]

2.5.4 Penyer angan wak tu

“ Kocher menjelaskan sebuah serangan baru yang cerdas pada RSA di tahun 1995: jika penyerang, Eve, mengetahui perangkat keras yang dimiliki oleh Alice secara terperinci dan mampu untuk mengukur waktu yang dibutuhkan untuk melakukan dekripsi untuk beberapa ciphertext, Eve dapat menyimpulkan kunci dekripsi d secara cepat”. Penyerangan ini dapat juga diaplikasikan pada skema "tanda tangan" RSA. SAlah satu cara untuk mencegah penyerangan ini yaitu dengan memastikan bahwa operasi dekripsi menggunakan waktu yang konstan untuk setiap ciphertext yang diproses. Cara yang lainnya, yaitu dengan menggunakan properti multipikatif dari RSA. Sebagai ganti dari menghitung cd

mod N, Alice pertama-tama memilih nilai bilangan acak r dan menghitung (rec)d

mod N. Hasil dari penghitungan tersebut ialah rm mod N kemudian efek dari r

(42)

pada tiap ciphertext. Dengan teknik ini, dikenal sebagai message blinding (pembutaan pesan), waktu yang diperlukan untuk proses dekripsi tidak lagi berhubungan dengan nilai dari ciphertext sehingga penyerangan waktu akan gagal. berbagai pertanyaan akan keamanan dari kunci 1024-bit. Santa disarankan bahwa N setidaknya sepanjang 2048-bit. Pada thaun 1993, Peter Shor menerbitkan Algoritma Shor, menunjukkan bahwa sebuah komputer quantum secara prinsip dapat melakukan faktorisasi dalam waktu polinomial, mengurai RSA dan algoritma lainnya. Bagaimanapun juga, masih terdapat pedebatan dalam pembangunan komputer quantum secara prinsip. [7]

2.5.5 Penyer a ngan ciphertext adaptive

Pada tahun 1998, Daniel Bleichenbacher menjelaskan penggunaan penyerangan ciphertext adaptive, terhadap pesan yang terenkripsi menggunakan RSA dan menggunakan PKCS #1 v1 padding scheme. Dikarenakan kecacatan pada skema PKCS #1, Bleichenbacher mampu untuk melakukan serangkaian serangan terhadap implementasi RSA pada protokol Secure Socket Layer, dan secara potensial mengungkap kunci-kunci yang digunakan. Sebagai hasilnya, para pengguna kriptografi menganjurkan untuk menggunakan padding scheme yang relatif terbukti aman seperti Optimal Asymmetric Encryption Padding, dan Laboratorium RSA telah merilis versi terbaru dari PKCS #1 yang tidak lemah terdapat serangan ini. [4]

2.6 Distr ibusi kunci

Sebagaimana halnya cipher, bagaimana public key RSA didistribusi menjadi hal penting dalam keamanan. Distribusi kunci harus aman dari

(43)

mampu memberikan kunci arbitari kepada Bob dan membuat Bob percaya bahwa kunci tersebut milik Alice. Anggap Eve dapan "menghadang" sepenuhnya transmisi antara Alice dan Bob. Eve mengirim Bob public key milik Eve, dimana Bob percaya bahwa public key tersebut milik Alice. Eve dapat menghadap seluruh

ciphertext yang dikirim oleh Bob, melakukan dekripsi dengan kunci rahasia milik

Eve sendiri, menyimpan salinan dari pesan tersebut, melakukan enkripsi menggunakan public key milik Alice, dan mengirimkan ciphertext yang baru kepada Alice. Secara prinsip, baik Alice atau Bob tidak menyadari kehadiran Eve di antara transmisi mereka. Pengamanan terhadap serangan semacam ini yaitu menggunakan sertifikat digital atau komponen lain dari infrastuktur public key.

2.6.1 Pembangkitan kunci

(44)

ditebak atau diduga (atau mirip dengan bilangan yang mudah ditebak), maka metode tersebut akan kehilangan kemampuan keamanannya. Misalnya, tabel bilangan acak yang diterbitkan oleh Rand Corp pada tahun 1950-an mungkin memang benar-benar teracak, tetapi dikarenakan diterbitkan secara umum, hal ini akan mempermudah para penyerang dalam mendapatkan bilangan tersebut. Jika penyerang dapat menebak separuh dari digit p atau q, para penyerang dapat dengan cepat menghitung separuh yang lainnya (ditunjukkan oleh Donald Coppersmith pada tahun 1997). Sangatlah penting bahwa kunci rahasia d bernilai cukup besar, Wiener menunjukkan pada tahun 1990 bahwa jika p di antara q dan 2q (yang sangat mirip) dan d lebih kecil daripada N1/4/3, maka d akan dapat dihitung secara effisien dari N dan e. Kunci enkripsi e = 2 sebaiknya tidak digunakan. [4]

2.6.2 Kunci Lemah dan Kunci Setengah Lemah

Beberapa kunci yang digunakan pada proses penyandian dapat merupakan kunci lemah atau kunci setengah lemah. Dalam algoritma kriptografi yang baik, jumlah kunci lemah maupun setengah lemah adalah sangat kecil.

a. Kunci Lemah

Kunci lemah (weak key) adalah sebuah kunci yang mengakibatkan proses enkripsi tidak berbeda dengan proses dekripsi [1]. Bila kunci lemah

‘K’ maka secara matematis dapat dinyatakan : EK(P) = DK(P)

Sehingga dipenuhi pula persamaan : EK(EK(P)) = P dan

(45)

b. Kunci setengah lemah

Sepasang kunci setengah lemah (Pair of Semi Weak Key) adalah

Sepasang kunci yang sering mengakibatkan proses enkripsi dengan menggunakan kunci yang satu sama dengan proses dekripsi dengan menggunakan kunci yang lain [1]. Bila sepasang kunci setengah lemah

adalah ‘K’ dan ‘K*’ maka secara matematis dapat dinyatakan : EK(P)=DK*(P) dan

Ada beberapa mode operasi yang digunakan dalam mengenkripsi /mendekripsi data. Mode operasi tersebut diantaranya:

a. Electronic Code Book (ECB)

Pada mode ini setiap blok plaintext dienkripsi secara independen menjadi blok cipher. Secara matematis dapat dinyatakan :

Ci=Ek(Pi)

Pi=Dk(Ci)

b. Cipher Block Chaining (CBC)

Pada proses enkripsi mode CBC, blok plaintext terlebih dahulu di- XOR-kan dengan blok ciphertext hasil enkripsi blok

(46)

dinyatakan : Ci = Ek(P ⊕ Ci-1)

Pi = Ci-1⊕ Dk(Ci)

2.8. Padding schemes

Padding Scheme harus dibangun secara hati-hati sehingga tidak ada nilai

(47)

2.9. Ancaman yang Mungkin Menyer a ng RSA

Sistem pengenkripsian RSA mempunyai kemungkinan-kemungkinan kelemahan yang bisa diserang oleh para eavesdropper (penyadap, penguping), berikut adalah kelemahan-kelemahan dalam RSA yang sebaiknya dihindari:

a. Nilai n terlalu kecil, sehingga mudah untuk difaktorisasi b. Jumlah nilai eksponen en yang terlalu kecil

c. Ukuran kunci yang terlalu kecil, sehingga sandi dapat dijebol dengan brute

force attack

d. Nilai d terlalu kecil

e. Pengunaan nilai modulus yang familiar, hal ini memudahkan para hacker untuk menjebol sandi yang ada. [7]

2.10. KEAMANAN ALGORITMA RSA

Sistem kriptografi yang baik adalah sistem kriptografi yang memang dirancang sedemikian rupa sehingga sulit untuk dipecahkan atau dibongkar. Secara teori sebuah metode kriptografi dengan sebuah kunci akan dapat dipecahkan dengan mencoba semua kemungkinan rangkaian kunci. Maka semakin panjang ukuran kunci maka semakin sulit untuk dipecahkan. Saat ini satu-satunya cara yang diketahui untuk mendobrak sandi RSA adalah dengan mencoba satu persatu berbagai kombinasi kunci dengan istilah brute force attack. Karena itu, sebenarnya keamanan dari RSA banyak bergantung dari

(48)

akan didapatkan nilai e dan d yang mungkin. Kemungkinan penyerangan terhadap RSA dilakukan pula dengan memperkirakan nilai (p-1)(q-1). Namun cara ini juga memberikan kemungkinan kecil untuk berhasil. Sejauh ini belum seorang pun yang berhasil menemukan lubang sekuriti pada RSA, tetapi tak seorang pun juga berhasil memberikan pembuktian ilmiah yang memuaskan dari keamanan teknik sandi ini. Padahal, pemakaiannya sudah sangat meluas dan mencakup sektor-sektor strategis seperti

perbankan, pemerintahan, dan telekomunikasi. Sebetulnya tak satu pun sandi yang aman dari brute force attack. Persoalaannya lebih kepada seberapa ekonomisnya serangan tersebut bisa dilakukan. Perkecualiannya adalah sandi yang disebut One-time-pad yang dibuat oleh Mouborgne & Vernam, pada tahun 1917. Sandi ini adalah sandi ideal yang tidak mungkin dibongkar dengan cara apa pun. Sayangnya sandi ini tidak praktis karena membutuhkan kunci yang sama panjangnya dengan pesan yang disandi.

Keamanan dari sistem kriptografi RSA adalah didasari oleh dua problem matematika:

a. Problem dalam faktorisasi bilangan berjumlah banyak

b. Problem RSA, yaitu mencari modulo akar en dari sebuah bilangan komposit N yang faktor-faktornya tidak diketahui

(49)

N Mengembalikan suatu nilai m dimana me=c mod n, (e, n ) adalah kunci publik

RSA dan c adalah ciphertext RSA. [7]

2.11 Per timbangan Tek nis dalam Enkr ipsi RSA

Jika kita berniat untuk mengenkripsi suatu data untuk dikirim ke suatu tujuan, ada beberapa faktor yang sebaiknya diperhatikan agar data yang kita kirim tidak mudah dijebol di tengah jalan.

1. Dalam pembuatan kunci, sebaiknya memilih nilai p dan q yang jumlahnya tidak saling berdekatan dan besar, karena jika nilai N kecil, faktor dari N akan sangat mudah didapat.

2. Penggunakan pembangkit bilangan acak yang kuat untuk kunci simetrik yang digunakan, karena eavesdropper dapat melakukan bypass terhadap RSA dengan menebak kunci simetrik yang digunakan.

3. Sebagaimana halnya cipher, bagaimana public key RSA didistribusi menjadi hal penting dalam

keamanan. Distribusi kunci harus aman dari manin- the-middle attack (penghadang-ditengah-jalan).

4. Memastikan bahwa operasi dekripsi menggunakan waktu yang konstan untuk setiap ciphertext yang diproses.

5. Menggunakan padding scheme yang relatif terbukti aman seperti Optimal

Asymmetric Encryption Padding, dan Laboratorium RSA telah merilis versi

(50)

2.12. KEUNTUNGAN DAN KERUGIAN RSA

Salah satu keuntungan utama lainnya dari RSA yang merupakan kriptografi kunci publik adalah menambah keamanan dan kenyamanan. Kunci privat tidak pernah diperlukan untuk dikirim atau diberi tahu ke orang lain. Pada sebuah sistem kunci rahasia, secara terang-terangan kunci rahasia ini harus dikirim (bisa secara manual atau melalui sebuah saluran komunikasi), dan akan terjadi suatu kemungkinan dimana penyerang dapat mencari tahu kunci rahasia tersebut saat proses pengiriman.

Kekurangan dari pemakaian kriptografi kunci publik, dalam hal ini RSA, adalah dalam masalah kecepatan. Banyak metode enkripsi kunci rahasia yang populer yang memiliki kecepatan enkripsi-dekripsi yang lebih cepat dibandingkan dengan metode enkripsi kunci publik yang ada sekarang. Namun kriptografi kunci publik dapat digunakan dengan kriptografi kunci rahasia untuk mendapatkan metode enkripsi yang terbaik di dunia. Untuk enkripsi, solusi terbaik adalah dengan cara mengkombinasi sistem kunci publik dan sistem kunci rahasia untk mendapatkan kedua keuntungan yang dimiliki oleh kedua metode enkripsi ini, keuntungan keamanan dari segi sistem kunci publik, dan keuntungan kecepatan dari segi sistem kunci rahasia. Sistem kunci publik dapat digunakan untuk mengenkripsi sebuat kunci rahasia, yang bisa digunakan untuk mengenkripsi file atau pesan yang berukuran besar sekalipun.

Kriptografi kunci publik dapat menjadi lemah terhadap pemalsuan identitas user, bagaimana pun juga, walupun jika kunci privat dari pemakai tidak tersedia. Sebuah serangan yang sukses pada sebuah otoritas sertifikasi akan

memperbolehkan lawan untuk menyelinap siapapun yang lawan pilih dengan cara memilih sertifikat kunci publik dari sebuah otoritas yang memilikinya untuk menggabungkan kunci tersebut ke nama user yang lain. [7]

2.13 Metode Algor itma Vigener e Chiper dimensi 3

Caesar Cipher Dalam kriptografi, sandi Caesar, atau sandi geser, kode

(51)

tertentu dalam alfabet. Misalnya, jika menggunakan geseran 3, W akan menjadi Z, I menjadi L, dan K menjadi N sehingga teks terang "wiki" akan menjadi "ZLNL" pada teks tersandi. Nama Caesar diambil dari Julius Caesar, jenderal, konsul, dan diktator Romawi yang menggunakan sandi ini untuk berkomunikasi dengan para panglimanya. (Sumber:Puanta Della Maharani)

Langkah enkripsi oleh sandi Caesar sering dijadikan bagian dari penyandian yang lebih rumit, seperti sandi Vigenère, dan masih memiliki aplikasi modern pada sistem ROT13. Pada saat ini, seperti halnya sandi substitusi alfabet tunggal lainnya, sandi Caesar dapat dengan mudah dipecahkan dan praktis tidak memberikan kerahasiaan bagi pemakainya.

Cara kerja sandi ini dapat diilustrasikan dengan membariskan dua set alfabet; alfabet sandi disusun dengan cara menggeser alfabet biasa ke kanan atau ke kiri dengan angka tertentu (angka ini disebut kunci). Misalnya sandi Caesar dengan kunci 3, adalah sebagai berikut: [1]

Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.

Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,..., Z = 25. Sandi () dari "huruf" dengan geseran n secara matematis dituliskan dengan,

(52)

A. Vigenere Cipher

Sandi Vigenère adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari sandi substitusi polialfabetik. Kelebihan sandi ini dibanding sandi Caesar dan sandi monoalfabetik lainnya adalah sandi ini tidak begitu rentan terhadap metode pemecahan sandi yang disebut analisis frekuensi. Giovan Batista Belaso menjelaskan metode ini dalam buku La cifra del. Sig. Giovan Batista Belaso (1553); dan disempurnakan oleh diplomat Perancis Blaise de Vigenère, pada 1586. Pada abat ke-19, banyak orang yang mengira Vigenère adalah penemu sandi ini, sehingga, sandi ini dikenal luas sebagai "sandi Vigenère".

Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijuluki le

chiffre indéchiffrable (bahasa Prancis: 'sandi yang tak terpecahkan').

(53)

Enkripsi (penyandian) dengan sandi Vigenère juga dapat dituliskan secara matematis, dengan menggunakan penjumlahan dan operasi modulus, yaitu:

atau C = P + K kalau jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi,

atau P = C - K kalau hasilnya positif & + 26 kalau hasil pengurangan minus Keterangan: Ci adalah huruf ke-i pada teks tersandi, Pi adalah huruf ke-i pada teks terang, Ki adalah huruf ke-i pada kata kunci, dan Mod adalah operasi modulus (sisa pembagian).

Vigenere cipher adalah salah satu algoritma kriptografi klasik yang masih sering digunakan karena kekuatan dan kemudahan penggunaannya.

(54)

Salah satu teknik yang dapat digunakan untuk memperkuat algoritma ini adalah dengan menggunakan vigenere cipher yang menggunakan model tiga dimensi sebagai table vigenerenya. Dengan menggunakan algoritma ini, maka teknik analisis frekuensi dan metode kasiski akan semakin sulit menebak sebuah cipherteks karena cipher teks yang dihasilkan lebih panjang dari cipherteks. Hal ini mengakibatkan munculnya karakter-karakter yang sebenarnya tidak memiliki hubugan langsung dengan informasi asli. Pengguna yang ingin mengenkrip dan mendekrip secara manual juga dapat melakukannya secara manual. [1]

Kesimpulannya

(55)

ANALISIS DAN PERANCANGAN

Analisis dan perancangan berfungsi untuk mempermudah, memahami dan menyusun perancangan pada bab selanjutnya. Selain itu juga berfungsi untuk memberikan gambaran dan solusi pada pembuatan solusi ini.

3.1. Analisis Per masalahan

Dalam mengatasi masalah keamanan dan kerahasian file data dalam suatu komputer dapat dilakukan proses penguncian file dengan membarikan kunci bit untuk keamanan file yang di enkripsi dan dienkripsi dengan menerapkan algoritma kriptografi untuk keamanan file. Dan hal tersebut dapat digunakan pada file yang kita anggap penting. Sehingga dapat melindungi dan mengamankan file data yang kita miliki tersebut dari pemakai yang tidak berhak mengakses.

(56)

progam ini maka penulis berusaha untuk memberi proses pengiriman data yang dianggap penting supaya lebih terjadi keamanannya

3.2. Alat Dan Bahan Penelitian

Dalam melakukan penelitian ini, berikut alat dan bahan penelitian yang digunakan oleh panulis, adalah :

Literatur, yaitu : buku, jurnal, paper, dan artikel ilmiah yang berhubungan dengan kriptografi (khususnya algorithma RSA) dan jaringan komputer, maka perangkat-perangkat yang di butuhkan sebagai berikut:

Perangkat komputer yang dipergunakan :

a. Processor menggunakan Intel Dual Core 2,4 Ghz b. Memori RAM yang tersedia 1 GB

c. Kapasitas hard disk 160 GB dengan ruang kosong 8 GB d. Ruang hard disk 750 MB untuk prequisiters

e. Monitor dengan resolusi 1.024 x 768 atau lebih tinggi f. DVD-ROM Drive

g. Kabel UTP untuk media koneksi dalam jaringan komputer lokal Sedangkan perangkat lunak yang dipergunakan adalah :

a. Microsoft Windows 7 sebagai sistem operasi

b. Embarcadero RAD Studio 2010 sebagai developer tool

3.3. Desain Penelitian

(57)

obyek sehingga kemudian pengembang dapat mengembangkan sistem / perangkat lunak yang fleksibel dalam menghadapi perubahan-perubahan informasi dan atau perilaku yang dituntut pengguna (Nugroho, 2005).

Adapun rencana kegiatan penelitian ini adalah seperti yang tampak pada gambar 3.1 dibawah ini :

Gambar 3.1. Aktifitas Desain Penelitian

3.4. Analisa Per masalahan

Dalam pembuatan perangkat lunak ini, langkah pertama yang dikerjakan oleh penulis adalah melakukan pengamatan bahwa selama ini dalam melakukan sharing ataupun transfer data, user memang sudah sering dan banyak yang menggunakan program aplikasi pihak ketiga untuk mengamankan data dalam jaringan komputer.

Tetapi cipher key yang digunakan oleh program aplikasi tersebut lebih banyak bersifat simetri, yang mengandung kelemahan sebagai berikut : Cipher

(58)

key tersebut digunakan secara bersama-sama oleh user lainnya sehingga membuka peluang terhadap terjadinya perubahan atau pencurian data oleh yang tidak berhak karena hanya terdapat satu cipher key untuk proses enkripsi dan dekripsinya.

Oleh karena itu, dari hasil observasi tersebut dan setelah mempelajari berbagai literatur, penulis mendapatkan solusi agar cipher key bersifat privat untuk setiap user untuk melakukan dekripsi dan cipher key yang bersifat public untuk melakukan enkripsi. Metode ini dikenal dengan nama sistem enkripsi RSA.

Adapun cara kerja sistem enkripsi RSA adalah sebagai berikut : a. Tentukan 2 (dua) buah bilangan prima, misalnya p1 = 61 dan p2 = 53.

b. Hitunglah sisa bagi dari perkalian p1 dan p2, yaitu : 61 * 53 = 3233. Angka ini merupakan pola plain text yang dapat dikodekan.

c. Dapatkan nilai co-prime (yaitu nilai yang lebih kecil dari sisa bagi dua bilangan prima yang sudah dihitung sebelumnya) dengan menggunakan formula Euler, yaitu : (p1-1) * (p2-1) = 60*52 = 3120.

d. Tentukan nilai cipher key public dengan fungsi GCD(e,phi)=1, misalnya ditentukan e = 17.

e. Hitunglah chiper key privat bagian d, kemudian kalikan dengan nilai pembaliknya dengan formula d = e InvMod phi = 17 InvMod 3120 = 2753 karena (17 * 2753) mod 3120 = 1.

f. Sehingga diperoleh cipher key publiknya = <n,e> = <3233, 17> dan cipher key privatnya = <n,d> = <3233, 2753>.

(59)

untuk privat dan publiknya sehingga mempermudah user dalam menggunakan aplikasi ini tanpa perlu menghitung ciphernya.

3.5. Diagr am Alir Sistem

Gambar 3.2. Diagram Alir Sistem Enkripsi Menggunakan RSA

Sesuai dengan diagram alir pada gambar 3.2 diatas, dapat diberikan penjelasan sebagai berikut :

(60)

b. Berdasarkan panjang blok kunci yang dipilih user, sistem akan menentukan bilangan prima besar untuk p1(user pertama) dan p2(user kedua). Setelah itu,

key tersebut akan disubtitusikan ke dokumen untuk menghasilkan dokumen

yang terenkripsi.

c. Kemudian dokumen tersebut dikirimkan kepada p2 (user kedua) beserta kunci publiknya. Setelah itu, p2 akan memasukkan kunci privat miliknya untuk menguraikan isi dokumen (proses deskripsi).

d. Proses ini berlaku dua arah, sehingga apabila p2 menginginkan mengirimkan dokumen ke p1 akan melakukan cara yang sama.

3.6. Algor ithma Pembuatan Kunci RSA

Berikut ini adalah algorithma untuk membuat kunci menggunakan metode RSA yang dipergunakan dalam tugas akhir ini :

begin

keys

ize := getkeysize(user_input);

primesize:=trunc(keysize*log10(2)/2)+1;

until (p<>0) and (q<>0) and (p<>q);

n := p;

(61)

phi := p;

3.7. Potongan sour code untuk pembentukan kuci bit

(62)

BAB IV

IMPLEMENTASI DAN PENGUJ IAN 4.1. Implementa si sistem

Setelah tahap perancangan selesai dibuat, tahap selanjutnya adalah implementasi perangkat lunak. Pada tahap ini dibuat aplikasi yang sesuai dengan spesifikasi rancangan yang telah dibuat sebelumnya. Pada tahap implementasi sistem ini, maka akan dijelaskan mengenai proses yang terdapat pada sistem.

4.1.1 Implementa si Antar Muka

Gambar 4.1. Desain Antar Muka

Pada tahap ini, menjelaskan dari form tampilan antar muka dengan menu-menu yang ada didalamnya pada directory list box, file list box, drive combo box, memo dan botton:

directory list box adalah adalah komponen yang berisi daftar action yang

(63)

File list box adalah dipakai untuk membuat sebuah daftar item dan user dapat

memilih salah satu di antaranya.

Drive combo box adalah dipakai untuk menentukan drive

Botton adalah dipakai untuk membuat tombol.

Memo adalah dipakai untuk memasukkan atau menampilkan beberapa baris

teks.

4.1.2 For m Lokasi

Gambar 4.2. Form Lokasi

Pada gambar 4.2 form Lokasi ini untuk menentukan dimana pengiriman

file yang kan kita enkripsi maupun dekripsi di simpan di drive mana dan di dalam

folder apa bisa dilihat pada kotak no 1. Dan pada no 2 itu form tempat untuk hasil

file yang di enkripsi dan yang di dekripsi dari file bertipe text di enkrip menjadi

file sck. Dan sebaliknya untuk proses dekripsi dari file yang bertipe skc kembali

menjadi text

(64)

4.1.3 For m Setting pengaman

Gambar 4.3. form setting pengaman

Pada gambar 4.3 ini adalah form setting pengaman yang mana pada ukuran kunci keysizecombo menggunakan di set 16 bit dimana agar kunci bit tidak terlalu banyak, kemudaian ada tombol button ubah kunci tersebut untuk menentukan kunci bit yang dilakukan secara acak dengan proses perhitungan. Dan pada kotak user 1 itu adalah kunci bit yang diperoleh sedangkan kotak user 2 juga jadi di sini tidak ada antara server dan client.

Potongan source code ubah kunci

Proce

dure.UbahBtnClick(Sender: TObject);

begin

Satu.keysize := getkeysize(KeySizeCombo);

Dua.keysize := getkeysize(KeySizeCombo);

makeRSAKey(Satu);

makeRSAKey(Dua);

Memo1.Text:= Satu.n.converttodecimalstring(false)

+ ',' + Satu.e.converttodecimalstring(false)

+ ',' + Satu.d.converttodecimalstring(false);

Memo2.Text := Dua.n.converttodecimalstring(false)

+ ',' + Dua.e.converttodecimalstring(false)

+ ',' + Dua.d.converttodecimalstring(false);

end;

Penjelasan: Pr ocedur e.ubahBtnclick adalah Proses untuk mengubah kunci bit dimana untuk setiap pengiriman dilakukan untuk ubah kunci untuk mengamankan pengiriman data dengan menentukan kunci bit

User 1

(65)

4.1.4 For m Lokasi pengir iman data

Ga mbar 4.4. Form Lokasi pengiriman data

Pada gambar 4.4 form lokasi pengirman terdapat Drivecombobox dimana itu untuk menentukan lokasi untuk pengiriman di simpan di drive mana dan kemudian pada Directorylistboxnya untuk melihat hasil pengiriman ditempatkan di folder mana. Dan ada 6 botton pada form lokasi dengan fungsi – fungsinya dan kegunaannya.

4.1.5 Botton Enkr ipsi

(66)

Potongan sour cecode enkr ipsi

Penjelasan: Function_Encr ypt adalah Proses mengacak data sehingga tidak dapat dibaca oleh pihak lain. Pada proses enkripsi, harus menyertakan kunci sehingga data yang dienkripsi dapat didekripsikan kembali. misalnya mengganti huruf a dengan n, b dengan m dan seterusnya. Model penggantian huruf sebagai bentuk enkripsi sederhana ini sekarang tidak dipergunakan secara serius dalam penyembunyian data.. Intinya adalah mengubah huruf menjadi 23 huruf didepannya. Pembahasan enkripsi akan terfokus pada enkripsi password dan enkripsi komunikasi data.

functi

on.Encrypt(const s: string; Actor: TKeyObj): string; var

(67)

4.1.6 Botton Dekr ipsi

Gambar 4.6. Botton Dekripsi Potongan sour cecode Dek r ipsi

(68)

Penjelasan: Function.Decr ypt a dalah Proses yang akan mengembalikan kata yang telah dijadikan symbol kedalam bentuk aslinya.

4.1.7 Bottom Bantuan

Gambar 4.7 Botton bantuan

Pada botton Bantuan hanya menampilkan form berisi informasi dari keamanan sistem progam dengan menggunakan teknoligi enkripsi algoritm RSA yang mana dapat dilihat pada gambar 4.9

Gambar 4.8 Form info Bantuan

(69)

4.1.8 Bottom Tentang

Gambar 4.9. Botton Tentang

(70)

4.2. Pengujian Pr ogam

Agar pemakaian (user) lebih midah dalam menggunakan progam ini, maka dibawah ini akan dijelaskan cara penggunaannya serta hasil uji coba progam.

Saat progam mulai dijalankan, yang pertama kali muncul pada layar adalah tampilan menu utama. Tampilan menu seperti pada gambar 4.12. kemudian langkah selanjutnya adalah membuat inputan file yang bertipe text yang bisa dilihat pada gambar 4.14

4.2.1 Tampilan Menu Utama

(71)

4.2.2 Inputan User

Gambar 4.12. Inputan User

Seperti yang terlihat pada gambar 4.14. ini adalah inputan dari user dimana untuk melakukan sebuah proses kerja progam maka harus membuat file text terlebih dahulu untuk proses simpannya terserah ditaruh di drive mana atau folder mana.

4.2.3 For m Lokasi yang dipantau

Gambar 4.13. lokasi yang dipantau

(72)

4.2.4 File ListBox

Gambar 4.14. fileListBox

Pada gambar 4.16. ini adalah hasil dari inputan yang kita buat di awal yang berbentuk txt dengan nama coba.txt dan jika kita akan menginputakan data lagi maka file text akan masuk kedalam ListBox ini.

4.2.5 For m Lokasi Pengir iman Data

Gambar 4.15. form Lokasi pengiriman Data

(73)

4.2.6 Isi File text

Gambar 4.16. Isi file text

Pada gambar 4.18 adalah isi dari file text yang akan di enkripsi dari huruf menjadi bilangan biner yang hasil enkripsi bisa dilihat pada gambar 4.19

4.2.7 Hasil Enkr ipsi

Gambar 4.17. Hasil Enkripsi

(74)

4.2.8 Button Keluar

Gambar 4.18. Button Keluar

Pada gambar 4.20 adalah tombol botton keluar untuk menutup aplikasi dan apabila kita tekan tombol keluar maka akan muncul sebuah messageBox apakah anda ingin menutup progam ini bisa kita lihat pada gambar 4.20

4.2.9 Message Box

Gambar 4.19 MessageBox

(75)

Tabel 2.6 Hasil Uji coba

Tipe File Uk ur an File

Lama Pr oses Enkr ipsi dan Dekr ipsi

Uk ur an File Sck

txt 1 kb 1 detik 1 kb txt 5 kb 2 detik 15 kb txt 20 kb 9 detik 63 kb txt 40 kb 12 detik 122 kb txt 50 kb 18 detik 161 kb txt 100 kb 93 detik 310 kb txt 200 kb 3 menit 52 detik 619 kb txt 500 kb 8 menit 7 detik 1.238 kb txt 1 Mb 20 menit 9 detik 2.128 kb

(76)

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Berdasarkan pembahasan, perancangan, dan implementasi progam yang telah dibuat, maka dari hasil pengujian progam dapat diambil beberapa kesimpulan sebagai berikut :

a. Dari pengujian sistem keamanan file dapat disimpulkan bahwa aplikasi ini hanya bisa mengenkripsi tipe file: text

b. Dalam proses enkripsi dan dekripsi file data maupun algoritma RSA ini menggunakan ukuran key (Kunci) 16 Bit.

5.2 Saran Pengembangan

a. Pada sistem keamanan file dapat dilihat bahwa proses enkripsi dan dekripsi metode hanya dengan satu file saja. Dengan demikian diharapkan dapat dikembangkan untuk proses enkripsi dan dekripsi dapat dilakukan lebih dari satu

file sekaligus.

b. Aplikasi ini bisa dikembangkan untuk mengenkripsi dan mendekripsi semua jenis tipe file dokumen MS.Office atau tipe file dokumen lainnya.

(77)

[1]

Ans, Muhammad.2010. “3D Model Vigenere Chiper” departemen Teknik

Informatika, Institut Teknologi Bandung

[2]

Andi. 2010. Step by step Delphi 2010 Progaming, Penerbit Wahana Komputer,

Semarang.

[3]

Andi. 2010. Delphi 2010 Progaming Konsep dan Implementasi, Penerbit

Wahana Komputer, Semarang.

[4]

http://adhicenter.blogsport.com/2010/05/enkripsi-dan-dan-dekripsi.html

(diakses 10 November 2011)

[5]

http://blacktitleholder.wordpress.com/2011/03/28/belajar-delphi/, diakses 12

desember 2011

[6]

http://earief.wordpress.com/2006/11/22/rsa-public-key-encryption/ diakses 17

November 2011

[7]

http://id.wikipedia.org/wiki/RSA (diakses 10 November)

[8]

http://jalannayauzanks.blogspot.com/2011/11/mengenal-delphi-2010.htlm

Gambar

Gambar 2.3 Proses Enkripsi dan Dekripsi dengan Dua Kunci yang Berbeda
Table 2.1 Operasi AND
Tabel 2.3 Operasi XOR.
Gambar 2.7 Daftar komponen palet win 32
+7

Referensi

Dokumen terkait

 Buat partner saya Vitis Vinifera yang selalu membuat saya bersemangat akan laporan akhir ini, terima kasih untuk kerja samannya selama ini, maaf ya kalau saya terlalu

Application of Pyraclostrobin by concentrations of 400 ppm and 800 ppm effectively reduced yield loss by increasing night temperature of 2 o C, which resulted in 20.20% and

Indikasi yang memerlukan bantuan medis dan tindakan khusus, jika diperlukan Tidak diketahui efek signifikan atau bahaya kritis.. Dapat menyebabkan depresi sistem saraf

Hasil uji hipotesis dan analisis regresi menunjukkan bahwa variabel Motivasi Konsumen, Persepsi Konsumen, Pembelajaran Konsumen serta Sikap Konsumen secara simultan

The incorporation of Epoxidized Natural Rubber also enhanced the rubber-filler interaction and tensile properties of the silica-filled Styrene Butadiene. Rubber

Sekolah anda luas atau memiliki 2 lantai atau lebih, maka anda ingin jika seorang guru jam pertama mengajar dilokasi gedung A misalnya, pada jam berikutnya jangan mengajar

KONTRIBUSI MOTIVASI KERJA DAN BIMBINGAN DOSEN DENGAN PENAMPILAN KERJA MAHASISWA.. JURUSAN PT-MESIN FPTK

Dengan telah diketahuinya hukum penadahan menurut fikih islam dan undang-undang hendaknya setiap orang terkhusus kaum muslimin lebih berhati-hati dalam membeli