• Tidak ada hasil yang ditemukan

Implementasi kriptografi dengan menggunakan metode DES dan kunci publik RSA untuk keamanan data pada kandepag kota Jakarta Timur

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi kriptografi dengan menggunakan metode DES dan kunci publik RSA untuk keamanan data pada kandepag kota Jakarta Timur"

Copied!
119
0
0

Teks penuh

(1)

Aspek keamanan data telah menjadi aspek yang sangat penting dari suatu sistem

informasi. Kepedulian pegawai Kandepag Kota Jakarta Timur terhadap data-data kantor

dan kurangnya informasi mengenai keamanan data, membuat mereka menginginkan

sebuah aplikasi yang mudah untuk digunakan dan dapat membantu mereka dalam

mengamankan data-data penting, seperti data kepegawaian, data umum, data keuangan dan

data internal kantor lainnya. Salah satu cara menjaga keamanan dan kerahasiaan data

tersebut yaitu dengan digunakannya algoritma kriptografi untuk melakukan penyandian

data. Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen

kita aman, tidak bisa dibaca oleh pihak yang tidak berhak, sehingga tidak menimbulkan

banyak kerugian.

Dalam pembuatan aplikasi keamanan data ini, penulis menggunakan algoritma

simetris yaitu DES (

Data Encryption Standard

) dan asimetris RSA (Rivest, Shamir,

Addlemen). Dengan menggabungkan dua algoritma yang berbeda ini dapat menghasilkan

sebuah aplikasi keamanan data yang cukup aman dan mudah untuk digunakan. Penulis

menggunakan

Visual Basic

6.0

Enterprise Edition

sebagai bahasa pemrograman,

Adobe

Photoshop

7.0,

Macromedia Fireworks

MX, dan

Dreamwever

MX untuk mendesain

background

aplikasi serta HTML

Help Workshop Install version

4.74.8703 untuk membuat

menu bantuan aplikasi dan

Clickteam Install Creator version

2.0.0.29 untuk membuat

instalasi program MeinCrypt. Metode penelitian yang penulis gunakan terdiri dari

observasi, wawancara dan metode literatur. Sedangkan metode pengembangan sistem yang

penulis gunakan ialah metode Sekuensial Linier.

Dari pembahasan materi sebelumnya, penulis menarik kesimpulan bahwa di

Kandepag belum terdapat sistem keamanan data yang dapat memberikan solusi keamanan

yang baik, Kriptografi dengan menggunakan kombinasi

cipher

simetris dan asimetris

melalui metode DES dan RSA dapat memberikan pengamanan ganda terhadap kerahasiaan

data dan info penting di kandepag.

Kata kunci : keamanan, kriptografi, algoritma, DES, RSA

(2)

Lembar Persetujuan Pembimbing ... ii

Lembar Pengesahan Ujian ... iii

Lembar Pengesahan Pembimbing ... iv

Lembar Pernyataan ... v

Abstrak... vi

Kata Pengantar ... vii

Lembar Persembahan ... viii

Daftar Isi ... ix

Daftar Tabel ... xv

Daftar Gambar ... xvi

Daftar Lampiran ... xix

Daftar Simbol ... xx

BAB I PENDAHULUAN... 1

1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

1.6 Metodologi Penelitian ... 4

(3)

BAB II LANDASAN TEORI ... 8

2.1 Keamanan Data ... 8

2.2 Aspek-Aspek Keamanan Data ... 8

2.3 Enkripsi dan Dekripsi ... 10

2.3.1 Pengertian Dasar ... 10

2.4 Kriptografi... 10

2.4.1 Sejarah Kriptografi... 10

2.4.2 Tujuan Kriptografi ... 12

2.4.3 Algoritma Kriptografi ... 13

2.4.4 Macam-macam Algoritma Kriptografi ... 15

2.4.4.1 Algoritma Kriptografi Kunci Rahasia... 15

2.4.4.1 Algoritma Kriptografi Kunci Publik ... 17

2.4.4.1 Algoritma Hash ... 18

2.4.5 Kriptografi Klasik ... 21

2.4.6 Kriptografi Modern ... 26

2.5 Metode DES ... 28

2.6 Algoritma DES... 28

2.7 Metode RSA... 36

2.8 Algoritma RSA ... 38

2.8.1 Properti Algoritma RSA ... 38

2.8.2 Algoritma Membangkitkan Pasangan Kunci ... 38

(4)

2.9 Keamanan Algoritma ... 42

2.10 Standar Kriptografi... 43

2.10.1 ANSI X3.92 ... 44

2.10.2 FIPS... 45

2.10.3 PKCS... 46

2.10.4 IEEE P1363 ... 48

2.11 Metode Pengembangan Sistem ... 48

2.12 Tools Perancangan Sistem ... 50

2.12.1 Diagram Alir (Flowchart) ... 50

2.12.2 STD (State Transition Diagram) ... 51

2.13 Pengenalan Microsoft Visual Basic 6.0 ... 52

2.13.1 Pengertian Dasar ... 52

2.13.2 Mengenal Integrated Development Environment(IDE) ... 53

BAB III METODOLOGI PENELITIAN ... 56

3.1 Metode Pengumpulan Data ... 56

3.1.1 Metode Pengamatan Langsung ... 56

3.1.2 Metode Wawancara (Interview) ... 57

3.1.3 Metode Literatur ... 57

3.2 Metode Pengembangan Sistem ... 57

3.2.1 Rekayasa Sistem ... 57

(5)

3.2.4 Coding (Kode) ... 59

3.2.5 Testing (Pengujian) ... 59

3.2.6 Implementation (Implementasi) ... 60

3.2.7 Maintenance (Pemeliharaan) ... 60

3.3 Bahan dan Peralatan... 61

3.3.1 Bahan ... 61

3.3.2 Peralatan... 61

BAB IV PEMBAHASAN DAN IMPLEMENTASI ... 63

4.1 Gambaran Umum Kandepag Kota Jakarta Timur... 63

4.1.1 Sejarah Departemen Agama Republik Indonesia ... 63

4.1.2 Geografi dan Iklim ... 65

4.1.3 Jumlah Penduduk Menurut Agama... 66

4.1.4 Jumlah Tempat Ibadah Menurut Agama... 66

4.1.5 Tugas Pokok Departemen Agama Kota Jakarta Timur ... 67

4.1.6 Pelaksana Tupoksi ... 70

4.2 Aplikasi MeinCrypt ... 75

4.3 Analisis ... 75

4.4 Perancangan (Desain) ... 76

4.4.1 Perancangan Algoritma Program Kriptografi ... 76

4.4.2 Desain Prosedural ... 77

(6)

3. Perancangan Blok Diagram ... 89

4.4.3 Desain Interface (Antarmuka) ... 92

4.4.3.1 Perancangan Form Splash ... 92

4.4.3.2 Perancangan Form Menu Utama ... 93

4.4.3.3 Perancangan Form Input DES Passphrase ... 94

4.4.3.4 Perancangan Form Input Key RSA... 95

4.4.3.5 Perancangan Form Info ... 95

4.4.3.6 Perancangan Form Bantuan ... 96

4.5 Kode ... 97

4.6 Pengujian (Testing) ... 97

4.6.1 Pengujian Enkripsi ... 98

4.6.2 Pengujian Dekripsi ... 99

4.7 Implementasi... 100

4.7.1 Instalasi Aplikasi MeinCrypt ... 101

4.7.2 Penggunaan Aplikasi MeinCrypt ... 101

4.8 Pemeliharaan ... 101

BAB V PENUTUP... 102

5.1 Kesimpulan ... 102

5.2 Saran ... 102

(7)
(8)

Halaman

Tabel 2. 1 : Tabel PC-1... 29

Tabel 2. 2 : Tabel Pemindahan Bit... 30

Tabel 2. 3 : Tabel PC-2 ... 31

Tabel 2. 4 : Tabel Pemilihan Bit E... 32

Tabel 2. 5 : Tabel Sbox 1 ... 33

Tabel 2. 6 : Tabel Sbox 2 ... 33

Tabel 2. 7 : Tabel Sbox 3 ... 33

Tabel 2. 8 : Tabel Sbox 4 ... 34

Tabel 2. 9 : Tabel Sbox 5 ... 34

Tabel 2. 10 : Tabel Sbox 6 ... 34

Tabel 2. 11 : Tabel Sbox 7 ... 35

Tabel 2. 12 : Tabel Sbox 8 ... 35

Tabel 2. 13 : Tabel Lima Hak Paten dalam Kriptografi ... 44

Tabel 2. 14 : Tabel Publikasi FIPS ... 45

Tabel 4. 6. 1 : Tabel Ukuran dan Waktu Enkripsi ... 99

Tabel 4. 6. 2 : Tabel Ukuran dan Waktu Dekripsi ... 100

Tabel a. 1 : Jadwal Waktu Pengerjaan ... 106

Tabel f. 1 : Tabel Summary of security requirements... 129

(9)

Gambar 2. 1 : Proses Enkripsi/ Dekripsi Sederhana ... 10

Gambar 2. 2 : Algoritma kriptografi kunci rahasia ... 16

Gambar 2. 3 : Algoritma kriptografi kunci publik ... 18

Gambar 2. 4 : Skema Fungsi Hash ... 19

Gambar 2. 5 : Skema Kriptografi Modern ... 27

Gambar 2. 6 : Skema Global Algoritma DES ... 29

Gambar 2. 7 : Model Sequensial Linier ... 50

Gambar 2. 8 : Kotak Dialog New Project ... 53

Gambar 2. 9 : Integrated Development Enviroment ... 54

Gambar 2. 10 : Komponen Toolbox... 55

Gambar 3. 1 : Model Sequensial Linier ... 61

Gambar 4. 1 : Lambang Departemen Agama RI ... 70

Gambar 4. 2 : Struktur Kandepag Kota Jakarta Timur ... 75

Gambar 4. 3 : Proses Enkripsi dan Dekripsi ... 77

Gambar 4. 4 : Flowchart Proses Enkripsi ... 78

Gambar 4. 5 : Flowchart Proses Enkripsi dengan Metode DES ... 79

Gambar 4. 6 : Flowchart Proses Enkripsi dengan Metode RSA ... 80

Gambar 4. 7 : Flowchart Generate Key ... 81

Gambar 4. 8 : Flowchart Proses Kompresi Dengan Metode Huffman ... 82

Gambar 4. 9 : Flowchart Proses Dekripsi ... 83

Gambar 4. 10 : Flowchart Proses Dekompresi Dengan Metode Huffman .... 84

(10)

Gambar 4. 13 : STD Menu Utama ... 87

Gambar 4. 14 : STD Form Splash... 88

Gambar 4. 15 : STD Form Input DES Passphrase ... 88

Gambar 4. 16 : STD Form Input Key RSA ... 88

Gambar 4. 17 : STD Form Info... 88

Gambar 4. 18 : STD Form Bantuan ... 88

Gambar 4. 19 : Blok Diagram Enkripsi DES... 89

Gambar 4. 20 : Blok Diagram Enkripsi RSA... 90

Gambar 4. 21 : Blok Diagram Dekripsi RSA ... 91

Gambar 4. 22 : Blok Diagram Dekripsi DES... 92

Gambar 4. 23 : Rancangan Form Splash ... 93

Gambar 4. 24 : Rancangan Form Menu Utama ... 94

Gambar 4. 25 : Rancangan Form Input DES Passphrase... 94

Gambar 4. 26 : Rancangan Form Input Key RSA... 95

Gambar 4. 27 : Rancangan Form Info ... 95

Gambar 4. 28 : Rancangan Form Bantuan ... 97

Gambar 4. 6. 1 : Tujuh Tipe File Yang Terenkripsi ... 98

Gambar 4. 6. 2 : Tujuh Tipe File Yang Terdekripsi ... 100

Gambar a. 1 : Tampilan Setup MeinCrypt ... 108

Gambar a. 2 : Tampilan Aplikasi MeinCrypt Setup ... 108

Gambar a. 3 : Tampilan Informasi MeinCrypt ... 109

(11)

Gambar a. 6 : Tampilan konfirmasi untuk memulai instalasi ... 111

Gambar a. 7 : Tampilan Akhir Proses Instalasi Program... 112

Gambar b. 1 : Form Splash ... 112

Gambar b. 2 : Form Menu Utama ... 113

Gambar b. 3 : Tampilan Window Pilih File Sumber ... 114

Gambar b. 4 : Tampilan Form DES Passphrase... 114

Gambar b. 5 : Tampilan Jendela Peringatan ... 114

Gambar b. 6 : Tampilan Form Input Key RSA... 115

Gambar b. 7 : Tampilan Jendela Pesan Enkripsi Selesai ... 115

Gambar b. 8 : Tampilan Form Pilih File yang akan didekripsi... 116

Gambar b. 9 : Tampilan Form Dekripsi ... 116

Gambar b. 10 : Tampilan Form Input Key RSA ... 117

Gambar b. 11 : Tampilan Form DES Passphrase... 117

Gambar b. 12 : Tampilan Jendela Peringatan Deksripsi selesai ... 117

Gambar b. 13 : Tampilan Form Dekripsi ... 117

Gambar b. 14 : Tampilan Jendela Pesan Untuk Exit... 118

Gambar b. 15 : Tampilan Form Info ... 118

Gambar b. 16 : Tampilan Form Bantuan ... 118

(12)

Halaman

Lampiran Surat Keterangan Riset... 105

Lampiran A : Jadwal Waktu Pengerjaan... 106

Lampiran B : Wawancara... 107

Lampiran C : Penggunaan Aplikasi MeinCrypt... 108

Lampiran D : Kode ASCII... 119

Lampiran E : Pengertian Algoritma Kompresi Huffman... 125

Lampiran F : Standar Kriptografi... 126

Lampiran G : Kode Program... 131

(13)

1. TERMINAL Simbol ini digunakan untuk mengawali dan mengakhiri suatu proses atau kegiatan.

2. PREPARATION Simbol ini digunakan untuk mempersiapkan harga awal atau nilai awal dari suatu variable yang akan

diproses dan juga untuk penggunaan proses Loop.

3. DECISION Simbol ini digunakan untuk mengambil keputusan dalam pengujian suatu kondisi yang sedang

diproses.

4. PROSES Simbol ini digunakan untuk melakukan kegiatan proses instruksi di dalam suatu program.

5. INPUT/OUTPUT Simbol ini digunakan untuk menggambarkan proses

Input dan Output Program.

6. SUBROUTIN Simbol ini digunakan untuk menggambarkan proses pemanggilan (Call System) pada Sub Program dari yang memiliki beberapa simbol untuk digunakan sebagai gambaran dari rangkaian

proses yang harus dilaksanakan, akan tetapi simbol-simbol tersebut ada yang

sering digunakan dan ada juga yang jarang digunakan. Berikut ini akan dijelaskan

gambar simbol tersebut dan arti atau kegunaannya di bawah ini (Sugiyono,

2005:32) :

Main Program.

(14)

pada kegiatan lain.

8. CONNECTOR Simbol ini digunakan untuk penghubung antara suatu proses dengan proses lainnya yang berada

pada posisi halaman yang sama.

9. PAGE CONNECTOR Simbol ini digunakan untuk penghubung antara suatu proses dengan proses lainnya yang berada

pada posisi halaman yang berbeda.

10. PRINTER Simbol ini digunakan untuk menggambarkan suatu Dokumen atau untuk kegiatan Mencetak.

11. CONSOLE Simbol ini digunakan untuk menggambarkan kegiatan dalam menampilkan data atau informasi

dengan Media Visual Display Unit (VDU) atau

disebut juga Monitor.

12. MANUAL INPUT Simbol ini digunakan untuk menggambarkan kegiatan pemasukan Data dengan Media Keyboard.

(15)

Menurut Roger, S. Pressman

No Simbol Name Keterangan

1 Tindakan Menggambarkan tindakan yang

diambil jika suatu even terjadi

2 Tampilan Menggambarkan tayangan atau

layer yang tampil

(16)

1.1 Latar Belakang

Aspek keamanan data telah menjadi aspek yang sangat penting dari

suatu sistem informasi. Banyak orang mulai mencari cara untuk

mengamankan data atau informasi, karena perkomputeran secara global telah

menjadi tidak aman dan seringkali luput dari perhatian pemakai komputer dan

mulai menjadi isu yang sangat serius. Sehingga, diperlukan suatu cara untuk

mengamankan data yang rahasia dan penting. Salah satu cara menjaga

keamanan dan kerahasiaan data tersebut yaitu dengan digunakannya algoritma

kriptografi untuk melakukan penyandian data.

Kepedulian pegawai Kandepag Kota Jakarta Timur terhadap data-data

kantor dan kurangnya informasi mengenai keamanan data, merupakan salah

satu alasan penulis untuk membuat sebuah aplikasi yang mudah untuk

digunakan dan dapat membantu mereka dalam mengamankan data-data

penting, seperti data kepegawaian, data umum, data keuangan dan data

internal kantor lainnya.

Dengan tingginya kepedulian mereka, maka penulis berupaya untuk

membantu mewujudkan implementasi kriptografi menggunakan metode

kriptografi algoritma DES dan RSA ke dalam suatu perangkat lunak yang

(17)

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, masalah pokok yang akan di bahas

penulis adalah :

a. Bagaimana menjaga kerahasiaan data atau informasi penting yang ada di

komputer user ?

b. Bagaimana membangun aplikasi yang mudah digunakan untuk

mengamankan data atau informasi penting dengan metode DES dan kunci

publik RSA?

1.3 Batasan Masalah

Berdasarkan penelitian yang penulis lakukan, penulis akan membatasi

beberapa hal, yaitu :

1. Terdapat banyak sekali metode kriptografi yang dapat digunakan untuk

mengamankan data. Oleh karena itu, penulis membatasi penulisan dengan

menggunakan metode DES (Data Encryption Standard) dan kunci publik

RSA (Rivest, Shamir, Adlemen).

2. Pada program ini proses enkripsi dan dekripsi yang dilakukan hanya

terbatas pada satu file dan tidak dapat memproses lebih dari satu file

secara bersamaan.

3. Aplikasi yang dirancang tidak membahas sistem keamanan data pada

(18)

1.4 Tujuan Penelitian

Tujuan penelitian ini ialah :

a. Membuat suatu aplikasi kriptografi yang mengimplementasikan algoritma

DES dan RSA sehingga dapat mengatasi masalah keamanan data serta

menjaga kerahasiaan data di Kandepag Kota Jakarta Timur.

1.5 Manfaat Penelitian

Manfaat yang didapat oleh penulis dalam menulis skripsi ini adalah :

1. Bagi Penulis

a. Menerapkan ilmu-ilmu yang diperoleh selama kuliah

b. Guna menumbuhkan kesiapan mental mahasiswa untuk memasuki

dunia kerja.

c. Dapat mempelajari lebih jauh mengenai algoritma DES dan RSA

serta mengimplementasikannya untuk penyandian data.

2. Bagi Kandepag

a. Mendapatkan pengetahuan mengenai algoritma DES dan kunci

publik RSA untuk penyandian data.

b. Keamanan yang berlapis karena menggunakan dua metode yang

berbeda.

3. Bagi Universitas

a. Memberikan kemajuan ilmu pengetahuan dalam bidang keamanan

data khususnya mengenai kriptografi di lingkungan Fakultas Sains

(19)

1.6 Metodologi Penelitian

1.6.1 Metode Pengumpulan Data

Metodologi pengumpulan data yang digunakan penulis dalam skripsi ini

adalah :

1.6.1.1 Metode Pengamatan Langsung Metode Observasi

Pengamatan dilakukan secara langsung pada bagian umum dan

kepegawaian di Kandepag (Kantor Departemen Agama).

1.6.1.2 Metode Wawancara (Interview)

Wawancara adalah proses memperoleh keterangan untuk tujuan

penelitian dengan cara Tanya-jawab sambil bertatap muka antara

penanya atau pewawancara dengan yang ditanya (penjawab).

1.6.1.3 Metode Literatur

Membaca maupun mempelajari referensi yang ada sebagai pelengkap

dan mencari referensi tambahan dari internet.

1.6.2 Metode Pengembangan Sistem

Pengembangan sistem dalam penelitian ini, penulis lakukan

menggunakan model sekuensial linier (Pressman, 2002:38), terdiri dari tahap-

(20)

1. Rekayasa Sistem

Yaitu mengumpulkan kebutuhan pada tingkat sistem, tingkat bisnis

strategis dan tingkat area bisnis.

2. Analysis (Analisis)

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya

pada sistem yang dibuat. Untuk memahami sifat program yang dibangun,

analis harus memahami domain informasi, proses, dan antarmuka

(interface) yang diperlukan.

3. Design (Desain)

Desain, yaitu melakukan desain untuk membuat gambaran sistem dan lain

sebagainya yang diperlukan untuk pengembangan sistem informasi. Pada

tahap ini digunakan :

a. Flowchart atau Diagram Alir adalah gambar simbol-simbol yang

digunakan untuk menggambarkan urutan proses atau instruksi-

instruksi yang terjadi di dalam suatu program komputer secara

sistematis dan logis.

b. State Transition Diagram merupakan suatu modeling tools yang

menggambarkan sifat ketergantungan dari suatu sistem.

4. Coding (Kode)

Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca.

5. Testing (Pengujian)

Pada tahap ini dilakukan uji coba terhadap sistem yang akan

(21)

dan memastikan bahan input yang dimasukkan akan memberikan hasil

aktual yang sesuai dengan hasil yang dibutuhkan.

6. Implementation (Implementasi)

Pada tahap ini sistem diimplementasikan ke dalam komputer pengguna,

sehingga dapat menjamin bahwa program dapat berjalan secara optimal.

7. Maintenance (Pemeliharaan)

Pada tahap ini sistem yang telah diuji coba dan dinyatakan lolos dapat

mulai digunakan untuk menangani prosedur bisnis yang sesungguhnya.

1.7 Sistimatika Penulisan

Untuk mempermudah pembaca dalam memahami isi skripsi ini, maka

penulis membagi laporan ini menjadi beberapa bab yang singkat serta dapat

dijelaskan sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi pendahuluan yang terdiri dari latar belakang,

rumusan masalah, ruang lingkup masalah, tujuan dan manfaat,

metodologi penulisan serta sistimatika penulisan.

BAB II LANDASAN TEORI

Bab ini membahas tentang landasan teori yang berhubungan

dengan materi yang penulis buat. Teori-teori tersebut antara lain

adalah aspek keamanan data, konsep dasar kriptografi,

menjabarkan pengertian algoritma kriptografi DES dan kunci

(22)

BAB III METODOLOGI PENELITIAN

Bab ini berisi metode-metode penelitian yang penulis gunakan

dalam melakukan analisa pada laporan ini.

BAB IV PEMBAHASAN DAN IMPLEMENTASI

Bab ini menguraikan tentang gambaran umum objek penelitian

yaitu Kandepag Kota Jakarta Timur serta pengembangan sistem

aplikasi kriptografi yang dibuat.

BAB V PENUTUP

Bab ini berisi kesimpulan akhir serta saran-saran yang berguna

bagi perbaikan dan pengembangan sistem kriptografi lebih lanjut.

(23)

2.1 Keamanan Data

Keamanan dan kerahasiaan data merupakan sesuatu yang sangat penting

dalam era informasi ini dan telah menjadi kebutuhan dasar karena perkomputeran

secara global telah menjadi tidak aman. Informasi akan tidak berguna lagi apabila

di tengah jalan informasi itu disadap atau dibajak oleh orang yang tidak berhak.

Bahkan mungkin beberapa pengguna dari sistem itu sendiri, mengubah data yang

dimiliki menjadi sesuatu yang tidak kita inginkan.

Keamanan data pada komputer tidak hanya tergantung pada teknologi

saja, tetapi dari aspek prosedur dan kebijakan keamanan yang diterapkan serta

kedisiplinan sumber daya manusianya. Jika

firewall

dan perangkat keamanan

lainnya bisa dibobol oleh orang yang tidak berhak maka, peran utama kriptografi

untuk mengamankan data atau dokumen dengan menggunakan teknik enkripsi

sehingga data atau dokumen tidak bisa dibaca (Dony Ariyus, 2006).

2.2 Aspek-aspek Keamanan Data

(24)

1. Kerahasiaan (

Privacy

).

Privacy

menjamin perlindungan data / informasi yang bersifat pribadi (

user

ID,

password

, nomor rekening kartu kredit, dsb) dari akses pihak-pihak yang

tidak berhak dan berwenang.

2. Keutuhan (

Integrity

).

Penerima harus dapat memeriksa, apakah data/informasi yang dikirim atau

dipertukarkan oleh pihak yang mengirimkan terjadi perubahan di tengah

jalan atau tidak.

3. Keaslian (

Authentication

).

Penerima pesan dapat memastikan keaslian pengirimnya yang dapat

dibuktikan keabsahannya.

4.

Authority

.

Informasi yang berada pada sistem jaringan seharusnya hanya dapat

dimodifikasi oleh pihak yang berwenang. Modifikasi yang tidak diinginkan,

dapat berupa penulisan tambahan pesan, pengubahan isi, pengubahan status,

penghapusan, pembuatan pesan baru (pemalsuan), atau menyalin pesan untuk

digunakan kemudian oleh penyerang.

5. Tidak ada penyangkalan (

Non Repudiation

).

(25)

2.3 Enkripsi dan Dekripsi

2.3.1 Pengertian Dasar

Pesan asli atau informasi yang dapat dibaca disebut sebagai

plaintext

atau

cleartext

. Proses yang dilakukan untuk membuat pesan

menjadi tidak dapat dibaca disebut sebagai

encryption

atau

enkripsi

.

Sedangkan proses untuk mengubah

ciphertext

kembali ke

plaintext

disebut

decryption

atau

dekripsi

. Secara sederhana istilah-istilah di atas dapat

digambarkan sebagai berikut (Materi Kuliah

e-Business

, 1998:11) :

Gambar 2.1

Proses Enkripsi/Dekripsi Sederhana

2.4 Kriptografi

2.4.1 Sejarah Kriptografi

Kriptografi berasal dari bahsa Yunani, menurut bahasa dibagi

menjadi dua kata, yakni kripto berarti

secret

(rahasia) dan graphia berarti

(26)

ini digunakan dibidang militer dan intelejen untuk menyandikan pesan-

pesan panglima perang kepada prajurit-prajurit yang berada di garis depan

pertahanan. Pertumbuhan teknologi yang semakin cepat menyebabkan

para ilmuwan selalu membahas topik ini untuk diteliti lebih dalam lagi.

Ilmu Kriptografi sudah lama digunakan oleh tentara Sparta di

Yunani pada permulaan abad 400 SM. Mereka menggunakan alat yang

bernama

scytale

.

Scytale

merupakan pita panjang dari daun

papyrus

ditambah dengan sebatang silinder (Rinaldi Munir: Bahan Kuliah Ke-1,

2004:4). Ketika zaman Romawi, Yulius Caesar telah menggunakan teknik

kriptografi (“Caesar

Cipher

”) yang sekarang dianggap kuno dan sangat

mudah dibobol untuk keperluan militernya. Pada perang dunia kedua,

Jepang dan Jerman juga menggunakan kriptografi untuk keperluan

komunikasi militernya. Namun sekutu dapat menembus produk kriptografi

buatan mereka, sehingga sekutu memenangkan perang dunia kedua.

(27)

2.4.2 Tujuan Kriptografi

Dalam teknologi informasi, telah dan sedang dikembangkan cara-

cara untuk menangkal berbagai bentuk serangan semacam penyadapan

maupun pengubahan data. Salah satu cara yang ditempuh untuk mengatasi

masalah ini ialah dengan menggunakan kriptografi, yang memberikan

solusi pada dua masalah utama keamanan data, yaitu masalah privasi

(

privacy

) dan keautentikan (

authentication

). Privasi mengandung arti

bahwa data yang dikirimkan hanya dapat dimengerti oleh penerima yang

sah. Sedangkan keautentikan mencegah pihak ketiga untuk mengirimkan

data yang salah atau mengubah data yang dikirimkan.

Adapun tujuan dari sistem kriptografi adalah sebagai berikut

(WAHANA KOMPUTER, 2003:95-96) :

Confidentiality

Yaitu memberikan kerahasiaan pesan dan menyimpan data dengan

menyembunyikan informasi lewat teknik-teknik enkripsi.

Message Integrity

(28)

Non-repudiation

Yaitu memberikan cara untuk membuktikan bahwa suatu dokumen

datang dari seseorang apabila ia mencoba menyangkal memiliki

dokumen tersebut.

Authentication

Yaitu memberikan dua layanan.

Pertama

, mengidentifikasi keaslian

suatu pesan dan memberikan jaminan keautentikannya.

Kedua

,

menguji identitas seseorang apabila ia akan memasuki sebuah sistem.

2.4.3 Algoritma Kriptografi

Kata algoritma mempunyai sejarah yang menarik, kata ini muncul

di dalam kamus Webster sampai akhir tahun 1975 hanya menemukan kata

algorism

yang mempunyai arti proses perhitungan dengan bahasa Arab.

Algoritma berasal dari nama penulis buku Arab yang terkenal yaitu Abu

Ja’far Muhammad Ibnu Musa Al-Khuwarizmi (al-khuwarizmi dibaca oleh

orang Barat menjadi algorism). Kata

algorism

lambat laun berubah

menjadi

algorithm

(Ariyus, 2006:13).

(29)

tersebut. Menurut Ariyus (2006:13), algoritma kriptografi terdiri dari tiga

fungsi dasar, yaitu :

Enkripsi

: Enkripsi merupakan pesan asli disebut

plaintext

yang

dirubah menjadi kode-kode yang tidak dapat dimengerti. Enkripsi bisa

diartikan dengan

chiper

atau kode.

Dekripsi

: Dekripsi merupakan kebalikan dari enkripsi, pesan yang

telah dienkripsi dikembalikan ke bentuk asalnya (

Plaintext

) disebut

dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu

berbeda dengan yang digunakan untuk enkripsi.

Kunci

: Kunci yang dimaksud di sini adalah kunci yang dipakai untuk

melakukan enkripsi dan dekripsi, kunci terbagi jadi dua bagian, yaitu

kunci pribadi (

private key

) dan kunci umum (

public key

).

Secara umum operasi enkripsi dan dekripsi dapat diterangkan

secara matematis sebagai berikut (Wahana Komputer, 2003:97) :

EK (M) = C (Proses Enkripsi)

DK (C) = M (Proses Dekripsi)

(30)

Dengan demikian, keamanan suatu pesan tergantung pada kunci

ataupun kunci-kunci yang digunakan dan tidak tergantung pada algoritma

yang digunakan sehingga algoritma-algoritma yang digunakan tersebut

dapat dipublikasikan dan dianalisis, serta produk-produk yang

menggunakan algoritma tersebut dapat diproduksi secara umum. Tidaklah

menjadi masalah apabila seseorang mengetahui algoritma yang kita

gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak

dapat membaca pesan (Wahana Komputer, 2003:98).

2.4.4 Macam-macam Algoritma Kriptografi

Algoritma Kriptografi secara umum dibagi menjadi 2 (dua)

berdasarkan jenis kuncinya dan fungsi hash.

2.4.4.1 Algoritma Kriptografi Kunci Rahasia

(31)
[image:31.612.117.530.114.555.2]

Gambar 2.2

Algoritma kriptografi kunci rahasia

(Materi Kuliah

e-Business

, 1998:13)

Algoritma kriptografi kunci rahasia juga disebut algoritma kriptografi

kunci simetris. Disebut juga algoritma kriptografi

konvensional

, karena algoritma

yang biasa digunakan orang sejak berabad-abad lalu adalah algoritma jenis ini.

Keamanan algoritma kriptografi simetri tergantung

pada kunci

(

password

). Membocorkan kunci berarti orang lain dapat mengenkrip dan

mendekrip pesan. Agar komunikasi tetap aman, kunci harus tetap dirahasiakan.

Yang termasuk algoritma kunci simetri adalah OTP, DES, RC2, RC4, RC5, RC6,

IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES),

Blowfish, GOST, A5, Kasumi dan lain-lain.

Algoritma kriptografi kunci rahasia (simetri) dapat dibagi dalam dua

kategori ( Kurniawan, 2004: 9 dan 50), yaitu :

(32)

b.

Jenis kedua beroperasi pada plaintext dalam grup bit-bit. Grup bit-bit

ini disebut

blok

. Dan algoritmanya disebut sebagai

algoritma blok

atau

kode rahasia blok

. Untuk algoritma komputer modern, ukuran

blok dasarnya adalah 64 bit atau 128 bit, cukup besar untuk

menghindari analisis pemecahan kode dan cukup kecil agar dapat

bekerja dengan cepat. Yang termasuk dalam algortima blok

ciphers

ialah DES, AES, dan IDEA.

2.4.4.2 Algoritma Kriptografi Kunci Publik

(33)
[image:33.612.116.526.113.512.2]

Gambar 2.3

Algoritma kriptografi kunci publik

2.4.4.3 Algoritma

Hash

Fungsi satu arah (

one-way function

) sering disebut juga sebagai fungsi

hash

,

message digest

,

fingerprint

(sidik jari), fungsi kompresi dan

message

authentication code

(MAC). Fungsi ini biasanya diperlukan bila kita

menginginkan pengambilan sidik jari suatu pesan.

(34)
[image:34.612.113.521.114.522.2]

Gambar 2.4

Skema Fungsi Hash (Materi Kuliah

e-Business

, 1998:20)

Fungsi

hash

beroperasi pada pesan M dengan panjang sembarang dan

menghasilkan keluaran h yang selalu sama panjangnya. Jadi persamaannya yaitu

h = H (M)

M

= pesan panjang sembarang

h

= nilai

hash

(

hash value

) atau pesan-ringkas (

message-digest

)

h

<<<<

M

Fungsi

hash

harus memiliki sifat-sifat sebagai berikut:

1. Diberikan M, harus mudah menghitung H (M) = h;

2. Diberikan h, sangat sulit atau mustahil mendapatkan M sedemikian

sehingga H(M) = h;

(35)

4. Sangat sulit atau mustahil mendapatkan dua pesan M dan M’

sedemikian sehingga H(M) = H(M’).

1. Secure Hash Algorithm (SHA)

NIST bersama NSA mendesain

Secure Hash Algorithm

(SHA) untuk

digunakan sebagai komponen

Digital Signature Standard

(DSS). Standar

hash

adalah

Secure Hash Standard

(SHS) sedangkan SHA adalah Algoritma. SHA

dikatakan aman karena didesain supaya secara matematis tidak dimungkinkan

untuk mendapatkan pesan aslinya bila diberikan

hash

-nya atau tidak mungkin

mendapatkan dua pesan yang berbeda yang menghasilkan MD (

Message Digest

)

yang sama (Kurniawan, 2004:116).

2. MD5

Salah satu fungsi

hash

yang paling banyak digunakan dalam keamanan

jaringan komputer dan internet adalah MD5 (

Message Digest

) versi 5 yang

dirancang oleh Ron Rivest. MD5 merupakan kelanjutan MD4 yang dirancang

dengan tujuan sebagai berikut ( Kurniawan, 2004:120) :

(36)

penyerang mencoba kemungkinan-kemungkinan untuk menemukan kunci

sampai kunci itu ditemukan).

Keamanan Langsung

. Keamanan MD5 tidak didasarkan pada suatu asumsi,

seperti kesulitan pemfaktoran.

Kecepatan.

MD5 sesuai untuk diimplementasikan dengan perangkat lunak

yang berkecepatan tinggi, karena berdasar pada sekumpulan manipulasi

operan 32-bit.

Kesederhanaan dan Kompak

. MD5 sederhana tanpa struktur data atau

program yang komplek.

Selain pada PGP, MD5 juga digunakan untuk mengkodekan

password

pada

Windows NT 4.0, Windows 2000 dan sistem operasi Linux.

2.4.5 Kriptografi Klasik

(37)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 1 2

2.4.5.1 Teknik Substitusi

Substitusi adalah penggantian setiap karakter

plaintext

dengan karakter

lain. Beberapa istilah yang mungkin perlu diingat adalah:

a.

Monoalphabet

: Setiap karakter

ciphertext

mengganti satu macam karakter

plaintext

tertentu.

b.

Polyalphabet

: Setiap karakter

ciphertext

dapat mengganti lebih dari satu

macam karakter

plaintext

.

c.

Monograf / unilateral

: Satu enkripsi dilakukan terhadap satu karakter

plaintext

.

d.

Polygraph / multilateral

: Satu enkripsi dilakukan terhadap lebih dari satu

karakter

plaintext

sekaligus.

Jenis-jenis Teknik Substitusi yang ada saat ini yaitu :

1. Caesar Cipher

Substitusi

chiper

yang pertama dalam dunia penyandian pada waktu

pemerintahan Yulius Caesar dikenal dengan nama

Caesar Cipher

(Ariyus,

2006:16), dengan mengganti posisi huruf awal dari alphabet sebagai contoh :

(38)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D O N Y A R I U S B C E F G H J K L M P Q T V W X Z

Jika pergeseran yang dilakukan sebanyak tiga kali maka, kunci untuk

dekripsinya adalah 3, penggeseran kunci yang dilakukan tergantung dari

keinginan pengirim pesan. Bisa saja kunci yang dipakai a = 7, b = 9 dan

seterusnya. Untuk plaintext diberikan symbol “P” dan ciphertextnya “C” dengan

kunci “K”, jadi rumusnya adalah sebagai berikut (Ariyus, 2006:17) :

C = E (P) = (P+K) mod 26

Dan rumus untuk dekripsinya sebagai berikut :

P = D (C) = (C-K) mod 26

2. Substitusi Deret Campuran Kata Kunci

Caesar Cipher dengan menggunakan satu kunci atau bisa disebut dengan

substitusi deret campur kata kunci, yang perlu diingat, tidak ada perulangan huruf

dalam hal ini. DONY ARIYUS menjadi DONYARIUS, huruf Y terjadi

perulangan jadi tidak dipakai lagi

Menggunakan satu kunci :

Plaintext

: “KENAIKAN HARGA BBM MEMBUAT RAKYAT

KECIL MENDERITA”

Kunci

: DONY ARIYUS menjadi DONYARIUS

Ciphertext

: CAGDSCDGUDLIDOOFFAFOQDPLDCXDP

(39)

3. Substitusi Monome-Dinome-Trinome

Monome berarti bahwa setiap satu karakter

plaintext

akan disubstitusi oleh 1

karakter

ciphertext

, dinome disubstitusi 2 karakter

ciphertext

, sedangkan trinome

disubstitusi 3 karakter

ciphertext

. Jadi sistem monomer-dinome-trinome berarti

sistem yang menggunakan campuran ketiga sistem dasarnya.

4. Substitusi Polialfabet Periodik

Dalam sistem Polialfabet, setiap

ciphertex

t dapat memiliki banyak

kemungkinan

plaintext

. Jadi, bila

plaintext

“a” memiliki

ciphertext

“1” atau “23””

atau “43”, maka sistem tetap dikatakan sebagai mono alfabet, karena

ciphertext

“1” pasti melambangkan

plaintext

“a”, demikian pula dengan

plaintext

“23” dan

“43”. Sedangkan, pada sistem Polialfabet,

ciphertext

“1” mungkin menggantikan

plaintext “a” pada suatu saat dan dapat menggantikan

plaintext

“b” pada saat yang

lain. Jenis poli alfabet klasik yang terkenal adalah

Vigenere

(Kurniawan,

2004:29). Pada teknik

vigenere

, setiap

ciphertext

bisa memiliki banyak

kemungkinan

plaintext

nya. Teknik dari substitusi

vigenere

bisa dilakukan dengan

dua cara, yaitu angka dan huruf.

2.4.5.2 Teknik Transposisi

(40)

M

S

A Y A

B E L A J

A R K E A M A

N A N K O M P U T

E R X X X X X X X X X

kunci untuk mengembalikan pesan tersebut ke bentuk semula atau disebut dengan

dekripsi (Ariyus, 2006:36). Metode transposisi dapat berupa :

Zig –zag

: Memasukkan plaintext degan pola zig-zag seperti contoh di bawah

ini :

A G A A X

Y S N B J R N O P R

A E A E A K A A K U E

S D

L

E

N

T

Ciphertext dari teknik ini yaitu dengan membaca dari baris atas ke baris

bawah, yaitu

“AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX”

Segi tiga

: dengan pola ini masukkan plaintext dengan pola segi tiga dan

dibaca dari atas ke bawah.

Ciphertextnya adalah :

“ENRAAX BRNXAE KKXSYL EOXAAA MXJMPX AUXTXX”

(41)

S A Y A S E

A M A N A D

E E R X N A

K T X X K N

R U P M O G

A J A L E B

Ciphertextnya adalah :

SAEKRA AMETUJ YARXPA ANXXML SANKOE EDANGB

Diagonal

: dengan menggunakan pola ini, plaintext dimasukkan dengan cara

diagonal, perhatikan contoh dibawah ini :

S D L E N T

A A A A K E

Y N J M O R

A G A A M X

S B R N P X

E E K A U X

Ciphertextnya adalah :

SDLENT AAAAKE YNJMOR AGAAMX SBRNPX EEKAUX

Dari teknik Transposisi (Permutasi) dengan berbagai macam pola yang

bisa dilakukan untuk menyembunyikan pesan dari orang-orang yang tidak berhak.

Dari kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi

yang kita kenal sekarang ini (modern).

2.4.6 Kriptografi Modern

(42)

H ash Function

pengoperasiannya, yang berfungsi mengamankan data baik yang ditransfer

melalui jaringan komputer maupun tidak. Hal ini sangat berguna untuk

melindungi

privacy

, integritas data,

authentication

dan

non repudiation

(Ariyus, 2006:49). Di bawah ini digambarkan bagaimana enkripsi modern

saling mendukung satu dengan yang lainnya.

S ecure Network Protocols

Confidentiality Data

Integrity A uthentication R epudiation N on-

Encryption M ACs M ICs Challenge R esponses Sm art Cards D igital Signatures

Sym m etric Key Cryptograph y

M essage

D igest IVs Nonces Secret Ke ys

[image:42.612.114.545.197.519.2]

Public Key C ryptography Block C ipher Stream C ipher Pseudo Random Random Source Elliptic C urve DH R SA

Gambar 2.5

Skema Kriptografi Modern (Munir, 2006:4)

(43)

Enkripsi terdiri dari

symmetric key

,

public key

dan IVs, sedangkan

symmetric key

terdiri dari

block cipher

dan

stream cipher

. Sedangkan

public key

terdiri dari ECC dan RSA. MAC dibentuk dari hash function

yang kan menghasilkan

message digests

,

Pseudo Random

digunakan

untuk IVs, Nonces, serta pembuatan

Secret Key

yang disimpan di dalam

Smart Cards

, sedangkan untuk Nonces sendiri digunakan untuk

menghasilkan

Challenge Response

(Ariyus, 2006:50).

2.5 Metode DES (

Data Encryption Standard

)

Data Encryption Standard

(DES) merupakan algoritma yang paling

banyak dipakai di dunia yang diadopsi oleh NIST (

National Institute of Standards

and Technology

) sebagai standar pengolahan informasi

Federal

AS. Secara

umum

Data Encryption Standard

(DES) terbagi menjadi tiga kelompok, yaitu

pemrosesan kunci, enkripsi data 64-bit, dan dekripsi data 64-bit

yang

masing-masing saling berinteraksi satu dengan yang lainnya (Ariyus, 2006:64).

2.6 Algoritma DES

(44)
[image:44.612.114.509.186.601.2]

Setiap blok (plainteks dan cipherteks) dienkripsi dalam 16 putaran. Setiap

putaran menggunakan kunci internal berbeda. Kunci internal (56-bit)

dibangkitkan dari kunci eksternal. Setiap blok mengalami permutasi awal (IP), 16

putaran

enciphering

dan

inverse

permutasi awal (IP

-1

).

Gambar 2.6

Skema Global Algoritma DES

(Rinaldi Munir:Bahan Kuliah ke-1 DES, 2004:8)

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 46 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

Tabel 2.1

Tabel

PC-1

(45)

bit tersebut diurutkan perbaris dari

57

sampai

4

menjadi

K+

, jadi bit pertama

K+

adalah bit

57

dari bit

K

, bit kedua

K+

adalah bit ke-

49

dari bit

K

dan begitu

seterusnya sampai bit

K+ 56

adalah bit ke-

4

dari

K

, setelah itu, kunci

K+

dibagi

menjadi 2 (dua)

K

kiri

n

dan

K

kanan

n

dari

K

kiri

n

dan

K

kanan

n

dibagi 16 (enam

belas) blok, dimana 1<=n<=16.

Pemindahan Bit

Iterasi

Ke

Jumlah

Step

1

1

2

1

3

2

4

2

5

2

6

2

7

2

8

2

9

1

10

2

11

2

12

2

13

2

14

2

15

2

16

1

Tabel 2.2

Tabel Pemindahan Bit

Tiap pasang

K

kiri

n

dan

K

kanan

n

dibuat dari pasang

K

kiri

n-1

dan

K

kanan

n-1

(46)

ke paling Kanan dari bit

K

kiri

0

dan

K

kanan

0

, untuk mendapatkan

K

kiri

4

dan

K

kanan

4

pindahkan bit paling sebelah Kiri sebanyak 2 bit ke paling Kanan dari bit

K

kiri

3

dan

K

kanan

3,

begitu seterusnya sampai putaran ke 16 yaitu n sudah mencapai 16.

Setelah selesai

K

kiri

n

dan

K

kanan

n

digabungkan kembali dan di

permutasikan kembali mengikuti aturan tabel

PC-2

menjadi 48 bit, hasilnya akan

mendapatkan

K

n dimana 1<=n<=16.

PC-2

[image:46.612.113.503.244.509.2]

14

17

11

24

1

5

3

28

15

6

21

10

23

19

12

4

26

8

16

7

27

20

13

2

41

52

31

37

47

55

30

40

51

45

33

48

4

49

39

56

34

53

46

42

50

36

29

32

Tabel 2.3

Tabel PC-2

Setelah selesai, gabungkan

K

kiri

dan

K

kanan

kembali setelah digabung

permutasikan

K

kiri

n

dan

K

kanan

n

sesuai aturan

PC-2

yang akan menghasilkan

P

n

pada

PC-2

di atas dari 64 bit

K

kiri

n

dan

K

kanan

n

hanya diambil 48 bit. Bit pertama

pada

K

n adalah bit ke-14 dan

K

kiri

n

dan

K

kanan

n

bit ke-2 dari

P

n adalah bit ke-17

dari

K

kiri

n

dan

K

kanan

n

begitu seterusnya sampai bit ke-48 dari

P

n adalah bit ke-32

dari

K

kiri

n

dan

K

kanan

n

.

(47)

melakukan 16 iterasi untuk 1<=n<=16 menggunakan fungsi yang beroperasi pada

2 blok 32 bit kita anggap

adalah penambahan XOR (pertambahan bit demi bit

Modulo 2) dan n bertambah sampai 16

M

kiri

n

=

M

kanan

n-1

M

kanan

n

=

M

kiri

n-1

f (

M

kanan

n-1, Kn

)

Pemilihan Bit E

32

1

2

3

4

5

4

5

6

7

8

9

[image:47.612.114.524.168.489.2]

8

9

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

1

Tabel 2.4

Tabel Pemilihan Bit E

Untuk fungsi

f

pertama, kita harus menambahkan tiap blok

M

kanan

n-1

menjadi

E

(

M

kanan

n-1

) dari 32 bit menjadi 48 bit agar bisa dioperasikan dengan

K

n. Untuk itu, perlu tabel pemilihan bit

E

sehingga persamaan

M

kanan

n-1

menjadi

E

(

M

kanan

n-1

)

setelah itu

kita

XOR-kan E(

M

kanan

n-1

)dengan

persamaannya menjadi :

Kn

E

(

M

kanan

n-1

).

(48)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 14 4 13 1 5 15 11 8 3 10 6 12 5 9 0 7

1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10

1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5

2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15

3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1

2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

K

n +

E

(

M

kanan

n-1

) =

B1, B2, B3, B4, B4, B5, B6, B7, B8

Dimana setiap

B1

adalah sekumpulan bit. Sekarang kita hitung :

S1(B1), S2(B2), S3(B3), S4(B4), S5(B5), S6(B6), S7(B7), S8(B8)

Dimana setiap S1B1 adalah hasil dari

Sbox

ke

Sbox 1

Tabel 2.5

Tabel Sbox 1

Sbox 2

Tabel 2.6

Tabel Sbox 2

Sbox 3

(49)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15

1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9

2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4

3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9

1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6

2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11

1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8

2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6

3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

Sbox 4

Tabel 2.8

Tabel Sbox 4

Sbox 5

Tabel 2.9

Tabel Sbox 5

Sbox 6

(50)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6

2 1 4 11 13 12 13 7 14 10 15 6 8 0 5 9 2

3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2

2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

Sbox 7

Tabel 2.11

Tabel Sbox 7

Sbox 8

Tabel 2.12

Tabel Sbox 8

Setiap kelompok akan memberikan kita sebuah alamat pada sebuah Sbox

yang berbeda. Ada 4 bit angka pada alamat tersebut yang akan menggantikan 6

bit tersebut, hasil setiap kelompok 6 bit dirubah menjadi 4 bit untuk menjadi 32

bit. Misalkan kita memasukkan sebuah nilai 32

10

= 100000

2

ke dalam Sbox1,

pertama pisahkan bit pertama dan terakhir kemudian satukan keduanya menjadi

10

2

= 2

10

nilai yang kita dapat akan kita gunakan untuk menentukan baris pada

Sbox1 kemudian bit ke-2 sampai bit-5 atau nilai tengah 0000

2

= 0

10

kita gunakan

(51)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 14 4 13 1 5 15 11 8 3 10 6 12 5 9 0 7

1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Sbox 1

Tabel 2.5

Tabel Sbox 1

Nilai yang kita dapatkan akan kita substitusi dengan nilai yang kita input

(32=>4). Dengan penjelasan tersebut, maka akan kita dapatkan nilai

M

kanan

n

=

M

kir

i

n-1

f

(

M

kanan

n-1

,

K

n) dan ini berlangsung sampai nilai

n

mencapai 16,

setelah didapati nilai

M

kiri

16

dan

M

kanan

16

gabungkan kembali, akan tetapi

dengan urutan di balik menjadi 64 bit blok :

M

kanan

16 M

kiri

16

.

Setelah digabungkan, maka lakukan operasi terakhir dengan mengikuti

aturan IP-1 hasilnya adalah

ciphertext

. Untuk melakukan dekripsi cukup

membalik dari yang akhir ke paling awal dari proses enkripsi (Wirawan,

2006:42).

2.7 Metode RSA (Rivest, Shamir, Adleman)

(52)

sangat besar. RSA termasuk algoritma asimetri, yang berarti memiliki dua kunci,

yaitu kunci publik dan kunci privat.

Skema yang dikembangkan oleh Rivest, Shamir dan Adleman

mengekspresikan bahwa

plaintext

dienkripsi menjadi

block-block

yang setiap

block

memiliki nilai bilangan biner yang diberi simbol “n”,

plaintext

blok “M”

dan

ciphertext

“C”. Untuk melakukan enkripsi pesan “M”, pesan dibagi ke dalam

block-block numeric

yang lebih kecil daripada “n” (data biner dengan pangkat

terbesar), jika bilangan prima yang panjangnya 200 digit dan dapat menambah

beberapa bit 0 di kiri bilangan untuk menjaga agar pesan tetap kurang dari nilai

“n” (Ariyus, 2006:113).

Sekali kunci telah diciptakan, sebuah pesan dapat dienkrip dalam blok dan

melewati persamaan berikut ini :

C = M

e

mod n (1)

, dimana C adalah

ciphertext

. M adalah

message

(

plaintext

), sedangkan

e

adalah kunci publik penerima. Dengan demikian, pesan

di atas dapat didekrip dengan persamaan berikut :

M = C

d

mod n (2)

, dimana

d

adalah kunci pribadi penerima.

(53)

2.8 Algoritma RSA

2.8.1 Properti Algoritma RSA

Besaran-besaran yang digunakan pada algoritma RSA (Rinaldi Munir:

Bahan Kuliah ke-15, 2004:1) :

1)

p

dan

q

bilangan prima

(rahasia)

2)

n

=

p . q

(tidak rahasia)

3)

φ

(

n

) = (

p

– 1)(

q

– 1)

(rahasia)

4)

e

(kunci enkripsi)

(tidak rahasia)

5)

d

(kunci dekripsi)

(rahasia)

6)

m

(plainteks)

(rahasia)

7)

c

(cipherteks)

(tidak rahasia)

2.8.2 Algoritma Membangkitkan Pasangan Kunci

(Stallings, 2004:569)

1. Pilih dua buah bilangan prima sembarang,

p

dan

q

dan

p

q

.

2. Hitung

n

=

p x q

3. Hitung

φ

(

n

) = (

p

– 1)(

q

– 1)

4. Pilih bilangan integer

e

,

gcd(

φ

(

n

),

e

) = 1

; 1<

e

<

φ

(

n

)

5. Hitung

d

yang didapatkan dari :

de

mod

φ

(

n

) = 1

6.

Public Key

KU = {

e, n

}

(54)

2.8.3 Algoritma Enkripsi/Dekripsi

(Stallings, 2004:569)

Enkripsi

1.

Plaintext

:

M

<

n

2.

Ciphertext

:

C

=

M

e

(mod

n

)

Contoh (

1

) Misalkan A mengirim pesan ke B. pesan (plainteks) yang akan

dikirim oleh A adalah :

m

= PUASA atau dalam sistem desimal

(pengkodean ASCII) adalah : 8085658365.

B memecah

m

menjadi blok yang lebih kecil, misalnya

m

dipecah menjadi

enam blok yang berukuran 3 digit :

m

1

= 808

m

3

= 836

m2

= 565

m4

= 005

A memilih p = 53 dan q = 61 (keduanya prima). Hitung n = 53x61 = 3233.

Hitung

φ

(

n

)

= (

p

– 1)(

q

– 1) = (53-1)(61-1) = 52x60 =

3120

.

Pilih

e = 71

karena gcd(

φ

(

n

),

e

) = 1; 1<

e

<

φ

(

n

)

Hitung

de

mod

φ

(

n

) = 1, d*71 mod 3120 = 1 dan d < 3120, maka

didapatkan

d = 791

, karena 791*71 mod 3120 = 1.

C

1

= 808

71

mod 3233 = 2696

C

3

= 836

71

mod 3233 = 722

C

2

= 565

71

mod 3233 = 2770

C

4

= 005

71

mod 3233 = 2261

(55)

Dekripsi

1.

Ciphertext

:

C

2.

Plaintext

:

M

=

C

d

(mod

n

)

Contoh (

2

) dekripsi dilakukan dengan mengunakan kunci privat, d = 791

Blok-blok cipherteks didekripsikan sebagai berikut :

M

1

= 2696

791

mod 3233 = 808

M

3

= 722

791

mod 3233 = 836

M

2

= 2770

791

mod 3233 = 565

M

4

= 2261

791

mod 3233 = 005

Akhirnya kita memperoleh kembali plainteks semula

M = 8085658365 atau M = PUASA

2.8.4 Keamanan RSA

Keamanan algoritma RSA didasarkan pada sulitnya memfaktorkan

bilangan besar menjadi faktor-faktor primanya. Masalah pemfaktoran:

Faktorkan

n

, yang dalam hal ini

n

adalah hasil kali dari dua atau lebih

bilangan prima.

Pada RSA, masalah pemfaktoran berbunyi: Faktorkan

n

menjadi dua

faktor primanya,

p

dan

q

, sedemikian sehingga

n

=

p

.

q

(56)

φ

(n) = (

p

– 1) (

q

– 1) dapat dihitung. Selanjutnya, karena kunci

enkrispi

e

diumumkan (tidak rahasia), maka kunci dekripsi

d

dapat

dihitung dari persamaan

de

mod

φ

(

n

)

1

Penemu algoritma RSA menyarankan nilai

p

dan

q

panjangnya lebih

dari 100 digit. Dengan demikian hasil kali

n

=

p

q

akan berukuran

lebih dari 200 digit.

Menurut Rivest dan kawan-kawan, usaha untuk mencari faktor prima

dari bilangan 200 digit membutuhkan waktu komputasi selama 4

milyar tahun, sedangkan untuk bilangan 500 digit membutuhkan

waktu 10

25

tahun! (dengan asumsi bahwa algoritma pemfaktoran yang

digunakan adalah algoritma yang tercepat saat ini dan komputer yang

dipakai mempunyai kecepatan 1 milidetik).

Untunglah algoritma yang dapat memfaktorkan bilangan yang besar

belum ditemukan. Selama 300 tahun para matematikawan mencoba

mencari faktor bilangan yang besar namun tidak banyak membuahkan

hasil. Semua bukti yang diketahui menunjukkan bahwa upaya

pemfaktoran itu luar biasa sulit.

(57)

Untuk

informasi

RSA

lebih

lanjut,

kunjungi

situs

web

www.rsasecurity.com

2.9 Keamanan Algoritma

Suatu algoritma dikatakan aman, bila tidak ada cara untuk ditemukan

plaintext

nya, berapa pun banyaknya

ciphertext

yang dimiliki

cryptanalyst

.

Sampai saat ini, hanya algoritma

one-time-pad

(OTP) yang dinyatakan tidak

dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas.

Karena selalu terdapat kemungkinan ditemukannya cara baru untuk

menembus suatu algoritma kriptografi, maka algoritma kriptografi yang dikatakan

“cukup“ atau “mungkin” aman bila memiliki keadaan sebagai berikut

(Kurniawan, 2004:14-15) :

Bila harga untuk menjebol algoritma lebih besar daripada nilai informasi yang

dibuka, maka algoritma tersebut cukup aman. Misalkan, diperlukan komputer

senilai 1 juta dolar untuk menjebol algoritma yang digunakan untuk

melindungi informasi senilai 100 ribu dolar, maka anda mungkin aman.

(58)

Bila jumlah data yang dienkrip dengan kunci dan algoritma yang sama lebih

sedikit dari jumlah data yang diperlukan untuk menembus algoritma tersebut,

maka anda aman. Misalnya diperlukan 100

ciphertext

untuk menebak kunci

yang digunakan pada algoritma X. Sedangkan satu kunci hanya digunakan

untuk satu pesan, maka anda mungkin aman.

2.10

Standar Kriptografi

Standar kriptografi dibutuhkan sebagai landasan dari teknik-teknik

kriptografi karena protokol yang rumit cenderung memiliki cacat dalam

rancangan. Dengan menerapkan standar yang telah diuji dengan baik, industri

dapat memproduksi produk yang lebih terpercaya. Bahkan protokol yang

aman pun dapat lebih dipercaya pelanggan setelah menjadi standar, karena

telah melalui proses pengesahan.

(59)

kesempatan untuk memilih diantara produk atau layanan yang berkompetisi

(Rahayu, 2005:37).

Based on Handbook of Applied Cryptography, there are five Basic

cryptographic patents which are fundamental to current cryptographic

practice, three involving basic ideas of public-key cryptography. These

patents are discussed in chronological order. (Berdasarkan ebook Handbook

of Applied Cryptography, ada lima dasar hak paten dalam kriptografi

berdasarkan kriptografi tertentu, 3 (tiga) diantaranya merupakan kunci publik

kriptografi. Hak paten ini didiskusikan dalam permintaan kronologis).

Tabel 2. 13

Lima Hak Paten dalam Kriptografi

2.10.1 ANSI X3.92 (

American National Standards Institute

)

[image:59.612.112.540.123.521.2]
(60)

2.10.2 FIPS (

Federal Information Processing Standards

)

Standar FIPS merupakan ketentuan untuk semua badan federal

Amerika Serikat yang menggunakan sistem keamanan berbasis kriptografi

untuk melindungi informasi dalam komputer dan sistem telekomunikasi.

Penting juga bagi Pemerintah Kanada dan di banyak negara-negara anggota

NATO di Eropa. Divisi Keamanan Komputer di NIST (

National Institute of

Standards and Technology

) mempertahankan standar kriptografi seperti FIPS

dan mengkoordinasikan program Modul Validasi Kriptografi (CMV) untuk

menguji modul kriptografi dan algoritma. Ketentuan keamanan mencakup 11

daerah yang berhubungan dengan rancangan dan penerapan modul kriptografi

(http://csrc.nist.gov). Di bawah ini merupakan beberapa FIPS :

[image:60.612.110.525.217.586.2]
(61)

2.10.3 PKCS (

Public-Key Cryptography Standards

)

PKCS adalah sekumpulan standar untuk kriptografi kunci publik,

dikembangkan oleh RSA

Laboratories

bekerja sama dengan konsorsium

informal, termasuk

Apple, Microsoft

, DEC,

Lotus, Sun

dan MIT. PKCS

mendapatkan pujian dari OIW (

OSI Implementers' Workshop

) sebagai metode

untuk implementasi standar OSI. PKCS dirancang untuk data biner dan

ASCII; PKCS juga kompatibel dengan standar ITU-T X.509. Standar yang

telah dipublikasikan adalah PKCS #1, #3, #5, #7, #8, #9, #10 #11, #12, dan

#15; PKCS #13 dan #14 sedang dalam pengembangan (Rahayu, 2005:40).

PKCS terdiri dari standar implementasi yang

algorithm-specific

dan

algorithm-independent

. Banyak algoritma didukung, termasuk RSA dan

Diffie-Hellman

key exchange

. Bagaimanapun juga, hanya dua algoritma ini

yang dispesifikasikan secara detail. PKCS juga mendefinisikan

algorithm-

independent syntax

untuk tanda tangan digital, amplop digital, dan sertifikat.

Ini memungkinkan seseorang untuk mengimplementasi algoritma kriptografi

apapun untuk disesuaikan dengan sintaks standar, sehingga dapat mencapai

interoperabilitas. Dibawah ini adalah

Public-Key Cryptography Standards

<

Gambar

Gambar 2.2 Algoritma kriptografi kunci rahasia
Gambar 2.3 Algoritma kriptografi kunci publik
Gambar 2.4 Skema Fungsi Hash (Materi Kuliah e-Business, 1998:20)
Gambar 2.5 Skema Kriptografi Modern (Munir, 2006:4)
+7

Referensi

Dokumen terkait

tambahan pada konversi basis bilangan dalam Teknik kriptografi RSA, diharapkan mampu menambah keamanan, karena dalam proses penyandian pesan melalui proses konversi basis

diangkat pada skripsi ini dengan judul “Implementasi Algoritma Kriptografi RSA Dalam Pengamanan Pengiriman Dokumen”, RSA yang digunakan untuk enksripsi file .doc,

Pada pengerjaan skripsi dengan judul Implementasi Algoritma Kriptografi Rsa Dan Rabin Pada Three-Pass Protocol Untuk Pengamanan Data Pada Aplikasi Chat Berbasis Android,

Dari hal ini disimpulkan bahwa kunci publik yang dibangkitkan melalui teori matriks cukup sulit untuk dipecahkan, sehingga keamanan dan kerahasiaan pesan

Pada paper tersebut dijelaskan sebuah metode yang memungkinkan enkripsi dilakukan menggunakan kunci yang bersifat publik.. Metode tersebut dinamakan dengan Sistem Kriptografi

Dalam kriptografi ada beberapa Algoritma yang digunakan dalam pengamanan data atau informasi pun beragam jenisnya, seperti , DES ,RSA.Penelitian ini bertujuan untuk

Penelitian serupa juga dilakukan oleh Ashari Arief dkk (Arief, Ashari &amp; Saputra, Ragil, 2016) dengan judul Implementasi Kriptografi Kunci Publik dengan Algoritma

LAPORAN AKHIR IMPLEMENTASI KEAMANAN DATA FILE EMAIL DENGAN KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE CIPHER DAN METODE STEGANOGRAFI END OF FILE BERBASIS WEB Laporan Akhir ini