Perancangan Dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Kriptografi Simetri Idea
PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN
DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI
SIMETRI IDEA
SKRIPSI
DEWI TRY AGUSTINA
041401015
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
(2)
PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
DEWI TRY AGUSTINA 041401015
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2008
(3)
PERSETUJUAN
Judul : PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA
Kategori : SKRIPSI
Nama : DEWI TRY AGUSTINA
Nomor Induk Mahasiswa : 041401015
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM
(FMIPA) USU
Diluluskan di
Medan, 20 Desember 2008
Komisi Pembimbing :
Pembimbing 2 : Pembimbing 1 :
Maya Silvi Lydia, B.Sc., M.Sc. Prof. Dr. Iryanto, M.Si.
NIP 132 299 349 NIP 130 353 140
Diketahui / Disetujui oleh
Departemen Ilmu Komputer FMIPA USU Ketua,
Prof. Dr. Muhammad Zarlis NIP 131 570 434
(4)
PERNYATAAN
PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA KRIPTOGRAFI SIMETRI IDEA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, 20 Desember 2008
DEWI TRY AGUSTINA 041401015
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT, Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpahan karunia–Nya maka kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih saya sampaikan kepada:
1. Bapak Prof. Dr. Iryanto, M.Sc. dan Ibu Maya Silvi Lydia, B.Sc, M.Sc. selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan professional telah diberikan kepada saya agar penulis dapat menyelesaikan tugas ini.
2. Ketua dan Sekretaris Departemen Bapak Prof. Dr. Muhammad Zarlis dan Syahriol Sitorus,S.Si,MIT, serta Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
3. Semua dosen pada Departemen Ilmu Komputer FMIPA USU, pegawai di FMIPA USU, dan rekan – rekan kuliah.
4. Juga tidak terlupakan kepada bapak, ibu, dan semua ahli keluarga yang saya cintai, yaitu bang Toni, bang Aris, Ihsan,serta para paman bibi yang selama ini memberikan bantuan dan dorongan yang diperlukan.
5. Serta takkan luput juga kepada sahabat-sahabat tersayang, yaitu: Nisa, Leni, Dian, Farida, Nita, Dewi, Tya, Tika, dll. yang telah berjuang membantu, baik material, pikiran, tenaga, dan waktu.
6. Terakhir kepada teman kuliah yang sudah sangat membantu dalam penyelesaian program skripsi ini yaitu Fahrur Razi.
7. Juga tidak terlewatkan kepada Bang Yunza, sahabat sekaligus abang, yang sudah banyak memberikan semangat dan dukungan serta motivasi yang membangun dalam menyelesaikan skripsi ini.
Semoga Allah SWT, Tuhan Yang Maha Esa dan Kuasa, membalas segala kebaikan mereka. Penulis berharap agar kelak dapat membalas kebaikan mereka dengan menjadi orang berguna bagi agama, nusa bangsa, Negara, dan masyarakat.
(6)
ABSTRAK
Banyak algoritma kriptografi modern yang walaupun menyediakan keamanan tinggi, namun sangat susah dimengerti dan dipelajari masyarakat awam. Tujuan dari penelitian ini adalah untuk membangun suatu perangkat lunak yang tidak hanya bisa menjaga keamanan data dengan kuat dan andal, tapi juga mudah dimengerti banyak orang. Untuk itulah algoritma IDEA dipilih, karena algoritma ini termasuk algoritma yang memuaskan user selain dengan kekuatan dan keandalannya dari berbagai serangan para kriptanalis, juga dengan kemudahannya dipelajari semua orang. Sistem ini dikembangkan menggunakan bahasa pemrograman C++. Analisis kebutuhan perangkat lunak algoritma IDEA dilakukan dengan menentukan nama perangkat lunak yang akan dibangun, mengetahui siapa yang akan menggunakan perangkat lunak tersebut, memahami konsep teknologi yang akan dipakai, membuat tampilan antarmuka yang mendidik, menentukan teknik yang dipergunakan untuk membentuknya, serta menguji hasil perangkat lunak tersebut. Objektif utama sistem ini adalah untuk melihat dan mempelajari berbagai konsep dan prinsip untuk merancang dan mengimplementasikan sistem keamanan data menggunakan algoritma IDEA.
(7)
DESIGN AND IMPLEMENTATION OF DATA SECURITY SYSTEM USING THE SYMETRIC CRYPTOGRAPHY IDEA ALGORITHM
ABSTRACT
Many of modern cryptography algorithm that although give high security, but very hard to understood and analysed by common people. The purpose of this research is to build a software that not only can protecting data security powerfully and reliable, but also easy to understood by many people. For that reason the IDEA algorithm was selected, because this algorithm not only satisfy many users by its strength from many attacks of cryptanalyst, but also with its simpleness to understood by many people. This system is developed by using the C++ programming language. The analyses of the IDEA algorithm software was done by determining the name of the software that will be builded, knowing who will use the software, comprehending the technology concepts that will be used, make the interview appearance of the software which are educative, determining the technique that will be used to forming it, and testing the result of the software. The main objective of this system is to comprehending, understanding, and learning any concepts and principles to design and implement the data security system using the IDEA algorithm.
(8)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1Latar Belakang 1
1.2Perumusan Masalah 2
1.3Batasan Masalah 2
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 3
1.6Metodologi Penelitian 3
1.7Sistematika Penulisan 4
Bab 2 Landasan Teori 6
2.1Kriptografi 6
2.1.1 Sejarah Kriptografi 7
2.1.2 Enkripsi dan Dekripsi 8
2.1.2.1Enkripsi Konvensional 9
2.1.2.2Enkripsi Kunci Publik 9
2.1.3 Pola-pola Penyerangan Data 10
2.1.4 Serangan terhadap Kriptografi 12 2.1.5 Kategori Cipher Kunci Simetri 12
2.2 Rekayasa Perangkat Lunak 13
2.2.1 Proses Rekayasa Perangkat Lunak 13
2.3 Matematika Kriptografi 13
2.3.1 Teorema Euclidean 13
2.3.2 PBB 14
2.3.3 Algoritma Euclidean 14
2.3.4 Relatif Prima 15
2.3.5 Aritmatika Modulo 15
2.3.6 Kekongruenan 15
2.3.7 Inversi Modulo 16
2.4 Algoritma IDEA 17
2.4.1 Proses Enkripsi IDEA 19
2.4.2 Pembentukan Subkunci Enkripsi 21
2.4.3 Proses Dekripsi IDEA 22
(9)
2.4.3.2Invers Perkalian 24 2.4.3.3Algoritma Extended Euclidean 24 2.4.4 Contoh Komput asi Penggunaan Algoritma IDEA 26
2.4.4.1Proses Enkripsi 26
2.4.4.2Proses Dekripsi 27
Bab 3 Analisis dan Pemodelan Perangkat Lunak 30 3.1 Analisis Permasalahan Algoritma IDEA 30
3.2 Analisis Kebutuhan Algoritma IDEA 30
3.3 Pemodelan Fungsional 32
3.4 DFD dan Spesifikasi Proses 32
3.4.1 Diagram Konteks 33
3.4.2 DFD level 1 33
3.4.3 DFD level 2 proses P.1 35
3.4.4 DFD level 3 proses P.1.1 36
3.4.5 DFD level 3 proses P.1.2 37
3.4.6 DFD level 2 proses P.3 38
3.4.7 DFD level 2 proses P.4 39
3.5 Kamus Data 40
3.5.1 Proses Pembentukan Kunci Enkripsi dan Dekripsi 41
3.5.2 Proses Enkripsi 42
3.5.3 Proses Dekripsi 42
Bab 4 Perancangan dan Implementasi Perangkat Lunak 44
4.1 Perancangan 44
4.1.1 Perancangan Data 44
4.1.2 Perancangan Struktur Program 45
4.1.3 Perancangan Prosedural 47
4.1.3.1Algoritma dan flowchart Proses
Pembangkitan Subkunci Enkripsi dan Dekripsi 47 4.1.3.2Algoritma dan flowchart Proses Enkripsi 49 4.1.3.3Algoritma dan flowchart Proses Dekripsi 50
4.2 Implementasi 54
4.2.1 Halaman Menu Utama 54
4.2.2 Halaman Menu Enkripsi 57
4.2.3 Halaman Menu Dekripsi 58
Bab 5 Penutup 60
5.1Kesimpulan 60
5.2Saran 60
Daftar Pustaka 61
Lampiran Listing Program 63
(10)
DAFTAR TABEL
Halaman
Tabel 2.1 Penggunaan Kunci di Tiap Putaran 22
Tabel 2.2 Subblok Kunci Enkripsi 23
Tabel 2.3 Subblok Kunci Dekripsi 23
Tabel 2.4 Subkunci-subkunci Enkripsi yang Berhasil Dibentuk 27 Tabel 2.5 HasilPerhitungan Setiap Subblok 16-bit dalam 9 Round 28 Tabel 2.6 Subkunci-subkunci Dekripsi yang Berhasil Dibentuk 29 Tabel 3.1 Spesifikasi Proses Diagram Konteks 33
Tabel 3.2 Spesifikasi Proses Diagram Level 1 35 Tabel 3.3 Spesifikasi Proses Diagram Level 2 Proses 1 36 Tabel 3.4 Spesifikasi Proses Diagram Level 3 untuk Proses 1.1 37 Tabel 3.5 Spesifikasi Proses Diagram Level 3 untuk Proses 1.2 38 Tabel 3.6 Spesifikasi Proses Diagram Level 2 untuk Proses 3 39 Tabel 3.7 Spesifikasi Proses Diagram Level 2 untuk Proses 4 41 Tabel 3.8 Kamus Data Proses Pembentukan Kunci Enkripsi dan Dekripsi 42
Tabel 3.9 Kamus Data Proses Enkripsi 43
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Proses Enkripsi–Dekripsi pada Enkripsi Konvensional 9 Gambar 2.2 Proses Enkripsi–Dekripsi pada Enkripsi Kunci Publik 9
Gambar 2.3 Interruption 10
Gambar 2.4 Interception 11
Gambar 2.5 Modification 11
Gambar 2.6 Fabrication 11
Gambar 2.7 Kotak MA (Multiplication - Addition) 18 Gambar 2.8 Algoritma kriptografi simetri IDEA 20
Gambar 3.1 Diagram Konteks 33
Gambar 3.2 DFD Level 1 34
Gambar 3.3 DFD Level 2 Proses 1 35
Gambar 3.4 DFD Level 3 Proses 1.1 36
Gambar 3.5 DFD Level 3 Proses 1.2 37
Gambar 3.6 DFD Level 2 Proses 3 39
Gambar 3.7 DFD Level 2 Proses 4 40
Gambar 4.1 Struktur Program IDEACrypt 46
Gambar 4.2 Flowchart Proses Pembangkitan Subkunci Enkripsi dan Dekripsi 48
Gambar 4.3 Flowchart Proses Enkripsi 52
Gambar 4.4 Flowchart Proses Dekripsi 53
Gambar 4.9 Tampilan Menu Utama 54
Gambar 4.10 Tampilan dengan Kunci yang Salah 55
Gambar 4.11 Tampilan Setelah Input Kunci 55
Gambar 4.12 Tampilan Kunci Enkripsi dan Dekripsi 56
Gambar 4.13 Tampilan Layar Enkripsi 57
Gambar 4.14 Tampilan Layar Enkripsi dengan Input yang Salah 58
Gambar 4.15 Tampilan Layar Dekripsi 59
(12)
ABSTRAK
Banyak algoritma kriptografi modern yang walaupun menyediakan keamanan tinggi, namun sangat susah dimengerti dan dipelajari masyarakat awam. Tujuan dari penelitian ini adalah untuk membangun suatu perangkat lunak yang tidak hanya bisa menjaga keamanan data dengan kuat dan andal, tapi juga mudah dimengerti banyak orang. Untuk itulah algoritma IDEA dipilih, karena algoritma ini termasuk algoritma yang memuaskan user selain dengan kekuatan dan keandalannya dari berbagai serangan para kriptanalis, juga dengan kemudahannya dipelajari semua orang. Sistem ini dikembangkan menggunakan bahasa pemrograman C++. Analisis kebutuhan perangkat lunak algoritma IDEA dilakukan dengan menentukan nama perangkat lunak yang akan dibangun, mengetahui siapa yang akan menggunakan perangkat lunak tersebut, memahami konsep teknologi yang akan dipakai, membuat tampilan antarmuka yang mendidik, menentukan teknik yang dipergunakan untuk membentuknya, serta menguji hasil perangkat lunak tersebut. Objektif utama sistem ini adalah untuk melihat dan mempelajari berbagai konsep dan prinsip untuk merancang dan mengimplementasikan sistem keamanan data menggunakan algoritma IDEA.
(13)
DESIGN AND IMPLEMENTATION OF DATA SECURITY SYSTEM USING THE SYMETRIC CRYPTOGRAPHY IDEA ALGORITHM
ABSTRACT
Many of modern cryptography algorithm that although give high security, but very hard to understood and analysed by common people. The purpose of this research is to build a software that not only can protecting data security powerfully and reliable, but also easy to understood by many people. For that reason the IDEA algorithm was selected, because this algorithm not only satisfy many users by its strength from many attacks of cryptanalyst, but also with its simpleness to understood by many people. This system is developed by using the C++ programming language. The analyses of the IDEA algorithm software was done by determining the name of the software that will be builded, knowing who will use the software, comprehending the technology concepts that will be used, make the interview appearance of the software which are educative, determining the technique that will be used to forming it, and testing the result of the software. The main objective of this system is to comprehending, understanding, and learning any concepts and principles to design and implement the data security system using the IDEA algorithm.
(14)
Bab 1
PENDAHULUAN
1.1.Latar Belakang
Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data yang terkirim melalui jaringan komputer. Dalam praktek, pencurian data berwujud pembacaan oleh pihak yang tidak berwenang biasanya dengan menyadap saluran publik. Teknologi jaringan komputer telah dapat mengurangi bahkan membuang kemungkinan adanya kerusakan data akibat buruknya konektivitas fisik, namun gangguan tetap bisa terjadi karena ada unsur kesengajaan yang mengarah ke penyalahgunaan sistem dari pihak-pihak tertentu.
IDEA (International Data Encryption Algorithm) merupakan sebuah algoritma kriptografi simetri yang diciptakan pada awalnya sebagai pengganti Data Encryption Standard (DES). IDEA adalah sebuah revisi kecil dari cipher yang lebih awal, yakni PES (Proposed Encryption Standard). Pada awalnya, IDEA disebut IPES (Improved PES). Algoritma IDEA terbilang sederhana karena hanya melibatkan 3 proses utama dan 9 putaran.
Algoritma ini merupakan algoritma yang menyediakan keamanan cukup tinggi yang tidak didasarkan atas kerahasiaan algoritmanya (algoritma restricted), akan tetapi lebih ditekankan pada keamanan/kerahasian kunci yang digunakan (algoritma kriptografi modern). Algoritma restricted biasanya digunakan oleh sekelompok orang untuk bertukar pesan satu sama lain, mereka membuat suatu algoritma enkripsi yang hanya diketahui oleh anggota kelompok itu saja, sehingga setiap kali ada anggota kelompok yang keluar, maka algoritma restricted tersebut harus diganti karena kemungkinan anggota kelompok yang keluar itu dapat membocorkan algoritmanya.
(15)
Namun algoritma kriptografi modern, seperti algoritma IDEA ini, dapat mengatasi masalah tersebut dengan menggunakan kunci, yang dalam hal ini algoritmanya tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiaannya. Sehingga setiap kali ada anggota kelompok yang keluar, maka algoritma yang dipakai tidak perlu diganti, namun cukup mengganti kuncinya saja.
Dengan perkataan lain, diperlukan algoritma kriptografi modern yang dapat digunakan dan gampang dimengerti oleh semua orang, juga algoritma yang menyediakan keamanan cukup tinggi yang tidak didasarkan atas kerahasiaan algoritmanya. Untuk itulah penulis mengambil judul “Perancangan dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Kriptografi Simetri IDEA”.
1.2. Perumusan masalah
Bagaimana merancang suatu perangkat lunak pada sistem keamanan data menggunakan algoritma kriptografi simetri IDEA.
1.3. Batasan Masalah
Agar penelitian yang dilakukan terfokus, maka penelitian dibatasi pada hal-hal berikut:
1.Komputer yang digunakan hanya berupa komputer pribadi (personal computer) dengan spesifikasi minimal.
2.Dilakukan secara sederhana hanya pada data yang disimpan di dalam storage (encryption of data at-rest), bukan pada data yang dikirim (ditransmisikan) dalam suatu saluran komunikasi (encryption of data in motion). Contoh encryption of data in motion adalah pengiriman nomor PIN dari mesin ATM ke komputer server di kantor bank pusat, sedangkan contoh encryption of data at-rest adalah enkripsi/dekripsi yang dilakukan pada file basis data, yakni proses tersebut hanya dilakukan terhadap field-field tertentu saja.
3.Interaksi antara program dan user hanya berupa proses pembangkitan kunci dengan menampilkan seluruh subkunci enkripsi maupun dekripsi yang telah
(16)
dibentuk; serta proses enkripsi dan dekripsi dengan menampilkan seluruh hasil setiap roundnya.
4.Plaintext hanya berupa file berupa teks yang dapat dipilih panjang karakternya: 8, 16, 24, atau 32 karakter.
5.Membahas dan menganalisis masalah XOR, penjumlahan modulo dan perkalian modulo ( + 1) yang merupakan konsep dasar dari algoritma IDEA.
6.Menggunakan bahasa pemrograman C++ dengan command line (tampilan yang mengarahkan user menggunakan barisan perintah).
1.4.Tujuan Penelitian
Penelitian ini bertujuan untuk memperoleh perangkat lunak dalam sistem keamanan data yang kuat (handal) dari berbagai serangan dengan menggunakan algoritma kriptografi simetri IDEA.
1.5. Manfaat Penelitian
Manfaat dilakukannya penelitian ini adalah sebagai berikut:
1.Menambah/memperkaya perangkat lunak dalam sistem keamanan data atau bidang kriptografi bagian algoritma simetris.
2.Memudahkan user untuk melindungi data agar tidak dapat dibaca oleh pihak-pihak yang tidak berhak, serta mencegah agar pihak-pihak-pihak-pihak yang tidak berhak tersebut tidak dapat memanipulasi, menyisipkan, atau menghapus data.
1.6. Metodologi Penelitian
Penelitian dalam skripsi ini dilakukan dengan beberapa tahapan, yaitu: 1. Studi Literatur
Penulisan ini dimulai dengan studi kepustakaan yaitu mengumpulkan bahan-bahan referensi baik dari buku, artikel, jurnal, makalah, maupun situs internet mengenai algoritma kriptografi simetri IDEA, konsep matematis yang
(17)
mendasarinya, serta bahasa pemrograman untuk pambuatan aplikasinya, dan beberapa referensi lainnya.
2. Analisis masalah
Pada tahap ini dilakukan analisis terhadap algoritma kriptografi simetri IDEA, yakni meliputi XOR, penjumlahan modulo dan inversnya, serta perkalian modulo ( +1) dan inversnya dari aspek matematis dan proses penyandian kemudian menerapkannya pada algoritma kriptografi simetri IDEA.
3. Perancangan Sistem
Pada tahap ini, sistem dirancang sehingga dapat menjamin keamanan data.
4. Pengkodean
Pada tahap ini, sistem yang telah dirancang kemudian diimplementasikan menggunakan bahasa pemrograman C++.
5. Pengujian
Pada tahap ini, menguji program dan mencari kesalahan pada program hingga program itu dapat berjalan sesuai dengan yang dirancang.
6. Penyusunan laporan dan kesimpulan akhir
Pada tahap ini, menyusun laporan hasil analisis dan perancangan kedalam format penulisan skripsi dengan disertai kesimpulan akhir.
1.7. Sistematika Penulisan
BAB 1 : PENDAHULUAN
Bab ini menjelaskan mengenai latar belakang pemilihan judul, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
(18)
BAB 2 :LANDASAN TEORI
Pada bab ini dibahas mengenai teori-teori yang mendukung pembahasan bab selanjutnya, implementasi enkripsi/dekripsi data sebagai hasil dari pengaplikasian XOR, penjumlahan modulo , dan perkalian modulo ( +1) pada algoritma kriptografi simetri IDEA.
BAB 3 :ANALISIS dan PEMODELAN PERANGKAT LUNAK
Bab ini berisikan analisis yang dilakukan terhadap perangkat lunak algoritma kriptografi simetri IDEA, yaitu analisis kebutuhan perangkat lunak algoritma kriptografi simetri IDEA dan analisis fungsi perangkat lunak algoritma kriptografi simetri IDEA, serta pemodelan sistemnya.
BAB 4: PERANCANGAN dan IMPLEMENTASI
Bab ini berisikan gambaran rancangan struktur program dan desain, serta memberikan gambaran dari rancang bangun yang lengkap kepada user dan pemakai komputer yang lain serta implementasinya yaitu menguji untuk menemukan kesalahan.
BAB 5: PENUTUP
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
(19)
Bab 2
LANDASAN TEORI
2.1. Kriptografi
Kriptografi berasal dari dua suku kata yaitu kripto dan grafi. Kripto artinya menyembunyikan, sedangkan grafi artinya ilmu. Kriptografi (Cryptography) adalah suatu ilmu yang mempelajari sistem sandi untuk menjamin kerahasiaan dan keamanan data, yang kegiatannya dilakukan oleh seorang kriptographer.
Kriptografi secara umum merupakan ilmu dan seni untuk menjaga kerahasian berita (Scheiner. B., 1996). Kriptografi juga dapat diartikan sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes. et al,1996).
Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi (Menezes. et al,1996) (Scheiner. B., 1996), yaitu:
1.Kerahasiaan (Confidentiality), adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun, kecuali yang memiliki kunci rahasia atau otoritas untuk membuka informasi yang telah disandikan.
2.Integritas Data (Message Integrity), berhubungan dengan penjagaan (perlindungan data) dari upaya-upaya pengubahan data secara tidak sah. Untuk dapat menjaga integritas data, suatu sistem harus memiliki kemampuan untuk mendeteksi pemanipulasian data yang dilakukan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pendistribusian data lain ke dalam data yang asli.
3.Autentifikasi (Authentication), berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomuniasi
(20)
harus saling memperkenalkan diri. Informasi yang dikirimkan harus diautentikasi keasliannya, isi datanya, waktu pengirimannya dan lain sebagainya.
4.Nirpenyangkalan (Non-repudiation), merupakan usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat, juga sebaliknya.
2.1.1. Sejarah Kriptografi
Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia ini dapat dilacak kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka menggunakan hieroglyphcs untuk menyembunyikan tulisan dari pihak yang tidak diharapkan. Hieroglyphcs diturunkan dari bahasa Yunani hieroglyphica yang berarti “ukiran rahasia”. Hieroglyphs berevolusi menjadi hieratic, yaitu stylized script yang lebih mudah untuk digunakan (Rahayu. F.S., 2005).
Sekitar 400 SM, kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papyrus atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale. Sekitar 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi untuk mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini, huruf-huruf alfabet disubstitusi dengan huruf-huruf-huruf-huruf yang lain pada alfabet yang sama.
Pada tahun 20-an, Herbert O. Yardley bertugas pada organisasi rahasia US MI-8 yang dikenal sebagai “Black Chamber”. MI-MI-8 menjebol kode-kode sejumlah negara. Selama konferensi Angkatan Laut Washington tahun 1921-1922, US membatasi negosiasi dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telah disadap oleh sekretaris negara US. Departemen negara menutup MI-8 pada tahun 1929 sehingga Yardley merasa kecewa. Sebagai wujud kekecewaanya, Yardley menerbitkan buku The American Black Chamber, yang menggambarkan kepada dunia rahasia dari MI-8. Sebagai konsekuensinya, pihak Jepang menginstal kode-kode baru. Karena kepeloporannya dalam bidang ini, Yardley dikenal sebagai “Bapak Kriptografi Amerika”.
(21)
2.1.2. Enkripsi dan Dekripsi
Enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan dan atau alat khusus. Sedangkan dekripsi merupakan algoritma atau cara yang dapat digunakan untuk membaca informasi yang telah dienkripsi untuk dapat dibaca kembali (Kurniawan. Y., 2004).
Cara yang digunakan untuk melakukan enkripsi ialah dengan cara melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca). Enkripsi dapat diartikan sebagai sebuah kode atau cipher. Sebuah cipher menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dapat dimengerti (Aryus. D., 2005).
Dengan demikian keamanan suatu pesan tergantung pada kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis. (Kristanto. A., 2003).
Terdapat tiga kategori enkripsi, yaitu: 1.Kunci enkripsi rahasia.
Dalam hal ini, terdapat sebuah kunci yang digunakan untuk mengenkripsi dan juga sekaligus mendekripsikan informasi.
2.Kunci enkripsi publik.
Dalam hal ini, terdapat dua kunci yang digunakan, satu kunci untuk proses enkripsi dan kunci yang lain untuk proses dekripsi.
3.Fungsi one-way (fungsi satu-arah)
Suatu fungsi dimana informasi dienkripsi untuk menciptakan signature dari informasi asli yang bisa digunakan untuk keperluan autentikasi.
(22)
Terdapat dua macam teknik enkripsi yang biasa digunakan dalam sistem keamanan pada sistem komputer dan jaringan, yaitu teknik enkripsi konvensional dan teknik enkripsi publik.
2.1.2.1. Enkripsi Konvensional (Kunci Simetri)
Pada enkripsi konvensional, kunci yang digunakan untuk mendekripsikan cipherteks ialah kunci yang sama dengan kunci yang digunakan saat mengenkripsi plainteks.
Plainteks
Kunci/Key User B
User A
Plainteks Algoritma
Dekripsi Cipherteks
Algoritma Enkripsi
Gambar 2.1 Proses Enkripsi – Dekripsi pada Enkripsi Konvensional
Keamanan pada enkripsi konvensional terdiri dari beberapa faktor. Pertama, algoritma enkripsi harus cukup kuat sehingga menjadikan kriptanalis sangat kesulitan dalam mendekripsikan cipherteks. Kedua, bergantung pada kerahasiaan kuncinya, yaitu tidak perlu merahasiakan algoritma, tetapi cukup merahasiakan kuncinya.
2.1.2.2. Enkripsi Kunci Publik
Kelemahan yang terdapat pada enkripsi konvensional yaitu perlunya mendistribusikan kunci yang digunakan dalam keadaan aman. Ada cara agar tidak perlu lagi mendistribusikan kunci, cara tersebut dikenal dengan nama enkripsi kunci publik.
Plainteks
Private Key B
User B User A
Plainteks Algoritma
Dekripsi Cipherteks
Algoritma Enkripsi
Public Key B
(23)
Teknik yang dilakukan pada enkripsi ini yaitu:
a)Masing-masing sistem dalam jaringan akan menciptakan sepasang kunci yang digunakan untuk enkripsi dan dekripsi dari informasi yang diterima.
b)Masing-masing sistem akan menerbitkan kunci enkripsinya yaitu kunci publik (public key) dengan memasang dalam register umum atau file, sedang pasangannya tetap dijaga sebagai kunci pribadi (private key).
c)Jika A ingin mengirim pesan kepada B, maka A akan mengenkripsi pesannya dengan kunci publik B.
d)Ketika B menerima pesan dari A, maka B akan menggunakan kunci privatnya untuk mendekripsi pesan dari A.
Enkripsi cara ini memang akan memecahkan masalah distribusi kunci, namun memiliki kelemahan dibandingkan enkripsi konvensional, yaitu algoritma enkripsi ini mempunyai algoritma yang lebih kompleks sehingga akan menghasilkan kinerja yang lebih rendah.
2.1.3. Pola-pola Penyerangan Data
Proteksi data dan informasi dalam komunikasi komputer menjadi penting karena nilai informasi itu sendiri dan meningkatnya penggunaan komputer di berbagai sektor. Melihat kenyataan semakin banyak data yang diproses dengan komputer dan dikirim melalui perangkat komunikasi elektronik maka ancaman terhadap pengamanan data akan semakin meningkat (Sobari. R., 2005).
Beberapa pola ancaman terhadap komunikasi data dalam komputer dapat diterangkan sebagai berikut:
1. Interruption
Interruption terjadi bila data yang dikirimkan dari A tidak sampai pada orang yang berhak (B). Interruption merupakan pola penyerangan terhadap sifat availability (ketersediaan data).
(24)
2. Interception
Serangan ini terjadi bila pihak ketiga C berhasil membaca data yang dikirimkan. Interception merupakan pola penyerangan terhadap sifat confidentiality (kerahasiaan data).
Gambar 2.4 Interception 3. Modification
Pada serangan ini pihak ketiga C berhasil merubah pesan yang dikirimkan dari A sebelum sampai ke B. Modification merupakan pola penyerangan terhadap sifat integrity (keaslian data).
Gambar 2.5 Modification
4. Fabrication
Pada serangan ini, penyerang berhasil mengirimkan data ke tujuan dengan memanfaatkan identitas orang lain. Fabrication merupakan pola penyerangan terhadap sifat authenticity.
Gambar 2.6 Fabrication
Untuk mengantisipasi ancaman-ancaman tersebut perlu dilakukan usaha untuk melindungi data yang dikirim melalui saluran komunikasi, salah satunya adalah dengan teknik enkripsi. Dan untuk masalah kekuatan pengamanannya tergantung pada algoritma metode enkripsi tersebut dan juga kunci yang digunakan di dalamnya (Sobari. R., 2005).
(25)
2.1.4. Serangan terhadap Kriptografi
Pada dasarnya serangan terhadap primitif dan protokol kriptografi dapat dibedakan menjadi dua jenis yaitu:
1)Serangan pasif adalah serangan dimana penyerang hanya memonitor saluran komunikasi. Penyerang pasif hanya mengancam kerahasiaan data.
2)Serangan aktif adalah serangan dimana penyerang mencoba untuk menghapus, menambahkan, atau dengan cara yang lain mengubah transmisi pada saluran. Penyerang aktif mengancam integritas, otentikasi, dan kerahasiaan data.
2.1.5. Kategori Cipher Kunci Simetri
Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini baik pengirim maupun penerima memiliki kunci yang sama.
Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori:
1.Cipher Aliran (Stream Cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsi/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit pada setiap kali proses enkripsi.
2.Cipher Blok (Block Cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64- bit, maka itu berarti algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit dalam pengkodean ASCII). Cipher blok mengenkripsi satu blok bit pada setiap kali proses enkripsi.
(26)
2.2. Rekayasa Perangkat Lunak
Rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan (Sommerville. I., 2001).
2.2.1. Proses Rekayasa Perangkat Lunak
Ada empat kegiatan proses dasar yang umum bagi seluruh kegiatan proses perangkat lunak, yaitu:
1.Spesifikasi perangkat lunak. Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefenisikan.
2.Pengembangan perangkat lunak. Perangkat lunak yang memenuhi spesifikasi tersebut harus diproduksi.
3.Validasi perangkat lunak. Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
4.Evolusi perangkat lunak. Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan yang berubah-ubah.
2.3. Matematika Kriptografi
Untuk memahami algoritma IDEA, terlebih dahulu perlu dipahami beberapa notasi matematika dasar, teori dan formula. Hal tersebut dibutuhkan untuk mendukung semua kalkulasi yang dilakukan dalam algoritma IDEA.
2.3.1. Teorema Euclidean
Jika0 r < n ; n > 0 ; m > n, maka:
……(1)
(1)
(2)
(3)
(4)
(5)
(6)