IMPLEMENTASI ALGORITMA RIJNDAEL DAN RSA PADA PENGAMANAN DATA TEKS
SKRIPSI
REYCHO SURAHMAN SINAGA 081401004
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA RIJNDAEL DAN RSA PADA PENGAMANAN DATA TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
REYCHO SURAHMAN SINAGA 081401004
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA RIJNDAEL DAN RSA PADA PENGAMANAN DATA TEKS
Kategori : SKRIPSI
Nama : REYCHO SURAHMAN SINAGA
Nomor Induk Mahasiswa : 081401004
Program Studi : S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI)
Diluluskan di
Medan, 5 Desember 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syahriol Sitorus S.si, MIT Drs. James P. marbun M.kom NIP. 197103101997031004 NIP. 195806111986031002
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA RIJNDAEL DAN RSA PADA PENGAMANAN DATA TEKS
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 5 Desember 2013
PENGHARGAAN
Alhamdulillahirabbil’alamin, penulis mengucapkan puji syukur yang tiada hentinya kehadirat Allah SWT atas limpahan rahmat dan karunia-Nya serta segala nikmat iman, islam, pikiran dan pemahaman terhadap ilmu pengetahuan sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat dan salam penulis ucapkan kepada Rasulullah Muhammad SAW beserta para sahabat dan keluarganya yang telah menjadi tauladan bagi penulis dalam menjalani kehidupan.
Pada kesempatan ini penulis mengucapkan terima kasih kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada:
1. Prof. Dr. dr. Syahril Pasaribu, DTM&H, Msc(CTM). Sp.A(K) selaku Rektor Universitas Sumatra Utara.
2. Prof. DR. Muhammad Zarlis, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.
3. Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara.
4. Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu Komputer.
5. Drs. James Piter Marbun M.kom selaku Dosen Pembimbing I yang telah banyak memberikan bimbingan, motivasi, dan nasehatnya kepada penulis dalam menyelesaikan skripsi ini.
6. Syahriol Sitorus S.Si, MIT selaku Dosen Pembimbing II atas bimbingan, nasehat dan motivasi kepada penulis selama penulisan skripsi ini.
7. Mohammad Andri Budiman, S.T, M.Comp.Sc, MEM selaku dosen penguji I dan Bapak Amer Sharif, S.Si, M.Kom selaku dosen penguji II atas masukan dan nasehatnya kepada penulis dalam menyelesaikan skripsi ini.
8. Seluruh Dosen Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
9. Seluruh pegawai administrasi Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membantu penulis dalam pengurusan administrasi selama perkuliahan, seminar dan sidang meja hijau.
11. Fitrah Hasunah Sinaga S.E, Ade Elvirahma Sinaga, Rifqi Ayunda Pratama S.kom, Rahma Rosita S.Pdi, Fadillah Mukminah,Sultan Rafid, Rahmi Mironi, Susinta Sitorus dan Wilhelmina Sinaga selaku keluarga tercinta yang selalu memberikan dukungan, motivasi, keceriaan, do’a dan kasih sayang kepada penulis untuk dapat menyelesaikan skripsi ini.
12. Zulia Ayunani S.pdi, atas kesetiaan, semangat, doa, dukungan, dan motivasi yang diberikan kepada penulis.
13. Irfan Antoni Siregar S.Kom, Ahmad Ihsan, Saria Mahdi S.kom, Sohib R. Siregar, Arion Imanuel Sitorus, Marthin Febrianto selaku sahabat yang selalu memberikan dukungan, kebersamaan dan motivasi, serta teman-teman khususnya angkatan 2008 yang telah memberikan warna serta keceriaan selama belajar di S1 Ilmu Komputer.
14. Keluarga besar BKM AL-KHAWARIZMI yang telah banyak memberikan dukungan, masukan serta nasihat selama belajar di S1 Ilmu Komputer.
15. Keluarga Besar A2GR ( Roni Astria, Hendrik Karisma, Herri Salputra, Adi juliadi, Deni, Hendri, Putra dan Andar Boy) yang telah memberikan semangat, motivasi dan kebersamaan baik suka maupun duka.
16. Semua pihak yang terlibat langsung ataupun tidak langsung dalam membantu penyelesaian skripsi ini yang tidak dapat penulis ucapkan satu persatu.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, karena kesempurnaan hanyalah milik Allah semata.Oleh karena itu penulis menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini.Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.
Medan, 5 Desember 2013
ABSTRAK
Pada penelitian ini akan membahas kombinasi dua buah algoritma kriptografi simetris dan asimetris yaitu Rijndael dan RSA. Algoritma kriptografi Rijndael bersifat simetris itu artinya kunci yang digunakan pada saat enkripsi dan dekripsi sama, oleh sebab itu pengguna harus terlebih dahulu menyepakati kunci yang akan digunakan, hal ini memberikan kemungkinan ketidak amanan pada saat pengiriman kunci tersebut. Algoritma RSA merupakan algoritma kriptografi yang sifatnya asimetris yang berarti memiliki pasangan kunci yang berbeda pada setiap prosesnya yaitu publik key dan privat key. Dalam penelitian ini algoritma Rijndael berfungsi untuk enkripsi plainteks dan dekripsi cipherteks dengan menggunakan kunci simetris (sessionkey), sedangkan pasangan kunci RSA digunakan untuk enkripsi kunci simetris (sessionkey) dengan menggunakan kunci publik dan hasil enkripsi tersebut yaitu cipherkey didekripsi dengan menggunakan kunci privat. Algoritma Rijndael pada penelitian ini menggunakan kunci 128-bit dan untuk algoritma RSA menggunakan 1024-bit. Hasil pengujian ini bertujuan untuk meningkatkan integritas data dan melakukan sistem pengamanan pertukaran kunci (key exchange).
IMPLEMENTATION OF RIJNDAEL AND RSA ON THE TEXT DATA SECURITY
ABSTRCT
This research discuss the combination of two symmetric and asymmetric cryptographic algorithms, namely Rijndael and RSA. Rijndael is a symmetric cryptographic algorithms it means used the same key at time of encryption and decryption process, therefore users must first agree on a key they used, this give the possibility of insecurity at the time of delivery of the key. RSA algorithm is an asymmetric cryptographic algorithms that are meaningful to have different key pair for each process those are public key and private key. In this study the Rijndael algorithm function using symmetric key ( sessionkey ) to encryption plaintext and decryption ciphertext, while key pair of the RSA used to encrypt the symmetric key (sessionkey) using the public key and the encryption result is cipherkey decrypted using the private key. Rijndael algorithm in this study using 128-bit key and for RSA algorithm use1024-bit. The results of this research can help to improve data integrity and perform key exchange security system (key exchange ).
DAFTAR ISI
Persetujuan ... iii
Pernyataan ... iv
penghargaan ...v
Abstrak ... vi
Abstract ... vii
Daftar Isi ... viii
Daftar Tabel ...x
Daftar Gambar ... xi
BAB 1 Pendahuluan 1.1 Latar Belakang ...1
1.2 Rumusan Masalah ...2
1.3 Batasan Masalah ...3
1.4 Tujuan Penelitian ...3
1.5 Manfaat Penelitian ...4
1.6 Metode Penelitian ...4
1.7 Sistematika Penulisan ...4
BAB 2 Landasan Teori 2.1 Kriptografi...6
2.1.1 Algoritma kriptografi kunci simetris ...7
2.1.2 Algoritma kriptografi kunci asimetris ...8
2.2Jenis-Jenis Serangan Terhadap Kriptografi ...10
2.3Algoritma Rijndael (AES) ...12
2.3.1 Prose enkripsi algoritma Rijndael ...14
2.3.2 Proses dekripsi algoritma Rijndael ...18
2.3.3 Key expantion ...20
2.4Algoritma Kriptografi RSA ...21
2.4.1 Algoritma pembangkit bilangan prima ...23
BAB 3 Analisis Dan Perancangan 3.1 Analisis Masalah ...24
3.2Analisis Sistem...24
3.2.1 Analisis kebutuhan perangkatlunak ...25
3.2.2 Analisis kebutuhan fungsional dan non-fungsional ...26
3.3 Perancangan Sistem ...26
3.3.1 Skema kosep dasar perancangan sistem ...27
3.3.2 Dekripsi umum perangkat lunak ...28
3.3.3 Rancangan proses kerja sistem secara umum ...29
3.4Diagram alir (Flowchart) ...30
3.5Use Case diagram ...36
3.6Perancangan Interface ...40
3.6.1 Rancangan menu utama ...41
3.6.2 Rancangan halaman enkripsi ...42
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1Proses Algoritma Rijndael ...44
4.1.1 Key expantion...44
4.1.2 Enkripsi plainteks...47
4.1.3 Dekripsi plainteks ...52
4.2Algoritma Kriptografi RSA ...54
4.2.1 Proses enkripsi RSA ...55
4.2.2 Proses dekripsi RSA ...57
4.3Implementasi padaSistem ...59
4.3.1 Tampilan awal sistem ...59
4.3.2 Tanpilan menu enkripsi...60
4.3.3 Tampilan menu dekripsi ...67
BAB 5 KESIMPULAN DAN SARAN 5.1Kesimpulan ...69
5.2Saran ...70
Daftar Pustaka ...72
DAFTAR GAMBAR
Skema Kriptografi Simetri Skema Kriptografi Asimetri Diagram Proses Enkripsi Rijndael Perkalian Matriks Mixcoloumn Rijndael Diagram Proses Dekripsi Rijndael
Konsep Perancangan Proses Pengamanan Plainteksdan Sessionkey Konsep Perancangan Proses Pendekripsian Plainteksdan Sessionkey Rancangan Proses Kerja Sistem Secara Umum
Flowchart Proses Enkripsi Plaintekspada Algoritma Rijndael Flowchart Proses Dekripsi Ciphertekspada Algoritma Rijndael Flowchart Pembangkitan Kunci Publik dan Privat Algoritma RSA Flowchart Enkripsi Sessionkeypada Algoritma RSA
Flowchart Proses Dekripsi Cipherkey pada Algoritma RSA Flowchart Gambaran Umum Sistem
Uses Case Diagram pada Sistem Enkripsi Rijndael dan RSA Rancangan Menu Utama
Rancangan Halaman Enkripsi Rancangan Halaman Dekripsi Operasi Rot Word
Proses Subtitusi Byte S-Box dengan Hasil Rot Word Nilai R-con
Proses Pengisian Kolom Ke-1 pada Roundkey Pertama Proses Pengisian Roundkey pada Kolom 2-4
Hasil Seluruh Roundkey
Proses Pengisian Array State dan Hasil Addroundkey
Hasil Representasi Bilangan Hex dengan Menggunakan S-Box Proses Transformasi Siftrows
Hasil Proses Mixcolumn
Operasi Transformasi Addroundkey dengan Operasi XOR Halaman Main Menu
Halaman Menu Enkripsi
Tampilan Hasil Proses Open File pada Menu Enkripsi Tampilan Input Sessionkey pada Menu Enkripsi Tampilan Hasil Enkripsi Plainteks
Tampilan Hasil proses Enkripsi Plainteks dan Sessionkey Tampilan Halaman Menu Dekripsi
Tampilan Hasil Inputan Cipherteks dan Cipherkey pada Menu Dekripsi Tampilan Proses Dekripsi Cipherkey
Tampilan Hasil Proses Dekripsi Cipherkey dan Cipherteks
DAFTAR TABEL
Table Perbandingan Jumlah Putaran pada Rijndael
S-BoxYang Digunakan dalam Transformasi Subbyte Rijndael Jumlah Pergeseran State pada Tahap Shiftrow
S-Box yang Digunakan dalam Transformas InvSubbyte Rijndael Kegiatan Use Case Enkripsi Plainteks
Kegiatan Use Case Enkripsi Sessionkey Kegiatan Use Case Dekripsi Cipherkey Kegiatan Use Case Dekripsi Cipherteks Hasil Proses Enkripsi
Proses Dekripsi Cipherteks Menjadi Plainteks Konversi Karakter Plainteks Menjadi Kode ASCII Proses Enkripsi Algoritma RSA
Proses Dekripsi Algoritma RSA
Konversi Karakter Kode ASCII Desimal menjadi Plainteks