Pengembangan Algoritma RC6 Dalam Proteksi Transmisi Data Dengan Mengkombinasikan RC5 Dan RC

(1)

PENGEMBANGAN ALGORITMA RC6 DALAM PROTEKSI TRANSMISI DATA DENGAN

MENGKOMBINASIKAN RC5 DAN RC6

TESIS

KHAIRUMAN 117038058

PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN


(2)

PERSETUJUAN

Judul : Pengembangan Algoritma RC6 Dalam Proteksi Transmisi

Data Dengan Mengkombinasikan RC5 Dan RC6 Katagori : Tesis

Nama : Khairuman

Nomor Induk Mahasiswa : 117038058

Program Studi : Magister (S2) Teknik Informatika

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Prof. Dr. Muhammad Zarlis Prof. Dr. Herman Mawengkang

Diketahui/disetujui oleh

Magister (S2) Teknik Informatika Ketua,

Prof. Dr. Muhammad Zarlis NIP. 195707011986011003


(3)

PERNYATAAN ORISINALITAS

PENGEMBANGAN ALGORITMA RC6 DALAM PROTEKSI TRANSMISI DATA DENGAN

MENGKOMBINASIKAN RC5 DAN RC6

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan masing – masing telah disebutkan sumbernya.

Medan, 27 Juli 2013

Khairuman 117038058


(4)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai Sivitas akademika Universitas Sumatera Utara, saya bertanda tangan di bawah ini:

Nama : Khairuman NIM : 117038058

Program Studi : Magister (S2) Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:

PENGEMBANGAN ALGORITMA RC6 DALAM PROTEKSI TRANSMISI DATA DENGAN

MENGKOMBINASIKAN RC5 DAN RC6

Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencamtumkan nama saya sebagai penulis dan sebagai pemegang atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 27 Juli 2013

Khairuman 117038058


(5)

Telah diuji pada Tanggal : 27 Juli 2013

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Herman Mawengkang Anggota : 1. Prof. Dr. Muhammad Zarlis

2. Prof. Dr. Tulus

3. Dr. Erna Budhiarti Nababan, M.IT 4. Dr. Zakarias Situmorang


(6)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : Khairuman, S.Kom Tempat dan Tanggal Lahir : Ruak, 18 Januari 1980

Alamat Rumah : Desa Kampung Tinggi Kluet Utara A. Selatan E_Mail : chairumanmonev@yahoo.com

Instansi Tempat Bekerja : Piteknik Aceh Selatan

Alamat Kantor : Jl. Merdeka Tapak Tuan Aceh Selatan

DATA PENDIDIKAN

SD : SD Negeri Ruak TAMAT : 1991 SLTP : SMP Negeri 2 Kota Fajar TAMAT : 1995 SLTA : SMK Negeri Pertanian Kluet Utara TAMAT : 1999 D1 : LP-MI Banda Aceh TAMAT : 2000 S1 : STMIK Abulyatama Aceh TAMAT : 2008 S2 : Teknik Informatika USU TAMAT : 2013


(7)

KATA PENGANTAR

Pertama-tama kami panjatkan puji syukur kehadirat Allah SWT, atas segala limpahan rahmat dan karunia-Nya sehingga tesis ini dapat diselesaikan tepat pada waktunya. Dengan selesainya tesis ini, perkenanlah saya mengucapkan terima kasih yang sebesar-besarnya kepada :

Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc (CTM), Sp. A(K) atas kesempatan yang diberikan kepada saya untuk mengikuti dan menyelesaikan pendidikan Program Magister.

Ketua Program Studi Magister (S2) Teknik Informatika, Prof. Dr. Muhammad Zarlis dan sekretaris Program Studi Magister (S2) Teknik Informatika M. Andri Budiman, S.T, M.Comp, M.E.M beserta seluruh staff pengajar pada Program Studi Magister (S2) Teknik Informatika Fakultas Teknologi Informasi Universitas Sumatera Utara Universitas Sumatera Utara.

Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya ucapkan kepada Prof. Dr. Herman Mawengkang, selaku pembimbing utama dan kepada Prof. Dr. Muhammad Zarlis, selaku pembimbing lapangan yang dengan penuh kesabaran membimbing saya hingga selesainya tesis ini dengan baik.

Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya ucapkan kepada Prof. Dr. Tulus, Dr. Zakarias Situmorang dan Dr. Erna Budhiarti Nababan, sebagai pembanding yang telah memberikan saran dan masukan serta arahan yang baik demi penyelesaian tesisi ini.

Staff Pegawai dan Administrasi pada Program Studi Magister (S2) Teknik Informatika Program Pascasarjana Fakultas Teknologi Informasi Universitas Sumatera Utara yang telah memberikan bantuan dan pelayanan terbaik kapada penulis selama mengikuti perkuliahan hingga saat ini. Kepada Ayahanda Ahmad Azmi, Ibunda Keumala sari selaku orang tua, abg ku Adnan dan adik-adikku Rosma, Anisah, dan Sofia Elfiani serta kepada seluruh keluarga besar yang tidak dapat saya sebutkan satu persatu, terimakasih atas segala pengorbanannya, baik moril maupun materil budi baik ini tidak dapat dibalas hanya diserahkan pada Allah SWT.


(8)

Rekan mahasiswa/I angkatan ketiga tahun 2011 pada Program Pascasarjana Fakultas Teknologi Informasi Universitas Sumatera Utara yang telah banyak membantu penulis baik berupa dorongan semangat dan doa selama mengikuti perkuliahan.

Seluruh pihak yang tidak dapat penulis sebutkan satu persatu dalam tesis ini, terimakasih atas segala bantuan dan doa yang diberikan. Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan terimakasih. Semoga kiranya Allah SWT membalas segala bantuan dan kebaikan yang telah kalian berikan.

Medan, 27 Juli 2013

Khairuman NIM 117038058


(9)

ABSTRAK

Dalam penelitian ini penulis mengembangkan block cipher rahasia-kunci baru yang disebut pengembangan algoritma RC6 diusulkan yang penyempurnaan evolusioner dari 128 bit RC6 dirancang untuk memenuhi persyaratan Advanced Encryption Standard (AES) untuk meningkatkan keamanan transmisi data dan meningkatkan kinerja. Bagian dalam loop berbasis di sekitar putaran yang sama ditemukan dalam 128 bit RC6. Algoritma yang dikembangkan mencakup dua hal, pertama adalah penambahan bit dari 128 bit RC6 menjadi 256 bit RC6, Sebuah properti yang diinginkan dari suatu algoritma enkripsi adalah bahwa perubahan kecil baik dalam plaintext atau kunci harus menghasilkan perubahan yang signifikan dalam ciphertext. Hal ini disebut valanche efek. Sebuah efek Avalanche dari 128 bit RC6 adalah sekitar 43,25%. Jika kita mengubah jumlah informasi yang sama di kunci 512 bit RC6 maka efek Avalanche adalah sekitar 257,27%. Algoritma yang yang dikembangkan tahan terhadap serangan sehingga mampu meningkatkan keamanan sebelumnya 128 bit RC6 algoritma dengan menggunakan ukuran blok 512 bit. Dan yang kedua mengkombinasikan algoritma RC5 dengan RC6, Ada empat kombinasi algoritma RC5

dengan RC6 yang penulis teliti Kombinasi pertama RC5 dengan RC5, kombinasi kedua RC6 dengan RC6, kombinasi ketiga RC5 dengan RC6 dan kombinasi keempat

RC6 dengan RC5. Dari empat kombinasi ini akan ditentukan kombinasi yang paling aman.


(10)

ALGORITHM DEVELOPMENT IN RC6 PROTECTION WITH DATA TRANSMISSION COMBINING RC5 AND RC6

ABSTRACT

In this study the authors developed a secret-key block cipher called the new development proposed RC6 algorithm is an evolutionary improvement of 128 bit RC6 is designed to meet the requirements of the Advanced Encryption Standard (AES) to enhance the security of data transmission and improve the performance. The inside of the loop based around the same rotation found in 128 bit RC6. Algorithm developed includes two things, the first is the addition of bits from 128 bits to 256 bits RC6 RC6, a desirable property of an encryption algorithm is that a small change in either the plaintext or the key should produce a significant change in the ciphertext. This is called valanche effect. Avalanche effects of a 128 bit RC6 is approximately 43.25%. If we change the same amount of information in the key of 512 bits RC6 the Avalanche effect is approximately 257.27%. Developed algorithms that are resistant to attack so as to improve the previous security 128 bit RC6 algorithm by using a block size of 512 bits. And the second algorithm combines with RC6 RC5, RC5 There are four combinations of algorithms with RC6 first thing I researched combination with RC5 RC5, RC6 combination with RC6 second, third combination with RC6 RC5 and RC6 fourth combination with RC5. The combination of the four will be determined combination of the safest.

Keywords: Cryptography RC5, RC6 Cryptography, Data Transmission. encryption, decryption.


(11)

DAFTAR ISI

Halaman

PENGESAHAN

ABSTRAK i

ABSTRACT ii

DAFTAR ISI iii

DAFTAR TABEL v

DAFTAR GAMBAR vi

KATA PENGANTAR

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 4

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

BAB 2 TINJAUAN PUSTAKA 4

2.1 Kriptografi 4

2.1.1 Definisi Kriptografi 5

2.1.2 Sejarah Kriptografi 6

2.1.3 Tujuan Kriptografi 8

2.1.4 Istilah dan Konsep Dasar Kriptografi 10

2.1.5 Jenis Kriptografi 11

2.2 Algoritma RC5 13

2.3. Algoritma RC6 14

2.3.1 Enkripsi Algoritma RC 6 15

2.3.2 Dekripsi Algoritma RC 6 15

2.4 Riset-Riset Terkait 15


(12)

BAB 3 METODOLOGI PENELITIAN 18

3.1 Pengantar 18

3.2 Variabel Yang Diamati 19

3.3 Teknik Pengembangan 19

3.3.1 Enkripsi Algoritma RC6 20

3.3.2 Dekripsi Algoritma RC6 20

3.3.3 Kunci Pebjadwalan Algoritma 21

3.4 Analisis Kriptografi RC6 24

3.5 Proses Kombinasi 28

3.6 Perbandingan RC5 dengan RC6 31

3.7 Perancangan Program 31

3.8 Proses Analisis 32

BAB 4 HASIL DAN PEMBAHASAN 34

4.1 Pengantar 34

4.2 Hasil Simulasi 35

4.2.1 Hasil Simulasi Kombinasi Pertama 35 4.2.2 Hasil Simulasi Kombinasi Kedua 36 4.2.3 Hasil Simulasi Kombinasi Ketiga 36 4.2.4 Hasil Simulasi Kombinasi Keempat 38

4.3 Pembahasan 41

4.3.1 Kombinasi Algoritma RC5 dengan RC5 42 4.3.2 Kombinasi Algoritma RC6 dengan RC6 43 4.3.3 Kombinasi Algoritma RC5 dengan RC6 43 4.3.4 Kombinasi Algoritma RC6 dengan RC5 44

4.3.5 Analisa Hasil 44

BAB 5 KESIMPULAN DAN SARAN 45

5.1 Kesimpulan 45

5.2 Saran 45


(13)

ABSTRAK

Dalam penelitian ini penulis mengembangkan block cipher rahasia-kunci baru yang disebut pengembangan algoritma RC6 diusulkan yang penyempurnaan evolusioner dari 128 bit RC6 dirancang untuk memenuhi persyaratan Advanced Encryption Standard (AES) untuk meningkatkan keamanan transmisi data dan meningkatkan kinerja. Bagian dalam loop berbasis di sekitar putaran yang sama ditemukan dalam 128 bit RC6. Algoritma yang dikembangkan mencakup dua hal, pertama adalah penambahan bit dari 128 bit RC6 menjadi 256 bit RC6, Sebuah properti yang diinginkan dari suatu algoritma enkripsi adalah bahwa perubahan kecil baik dalam plaintext atau kunci harus menghasilkan perubahan yang signifikan dalam ciphertext. Hal ini disebut valanche efek. Sebuah efek Avalanche dari 128 bit RC6 adalah sekitar 43,25%. Jika kita mengubah jumlah informasi yang sama di kunci 512 bit RC6 maka efek Avalanche adalah sekitar 257,27%. Algoritma yang yang dikembangkan tahan terhadap serangan sehingga mampu meningkatkan keamanan sebelumnya 128 bit RC6 algoritma dengan menggunakan ukuran blok 512 bit. Dan yang kedua mengkombinasikan algoritma RC5 dengan RC6, Ada empat kombinasi algoritma RC5

dengan RC6 yang penulis teliti Kombinasi pertama RC5 dengan RC5, kombinasi kedua RC6 dengan RC6, kombinasi ketiga RC5 dengan RC6 dan kombinasi keempat

RC6 dengan RC5. Dari empat kombinasi ini akan ditentukan kombinasi yang paling aman.


(14)

ALGORITHM DEVELOPMENT IN RC6 PROTECTION WITH DATA TRANSMISSION COMBINING RC5 AND RC6

ABSTRACT

In this study the authors developed a secret-key block cipher called the new development proposed RC6 algorithm is an evolutionary improvement of 128 bit RC6 is designed to meet the requirements of the Advanced Encryption Standard (AES) to enhance the security of data transmission and improve the performance. The inside of the loop based around the same rotation found in 128 bit RC6. Algorithm developed includes two things, the first is the addition of bits from 128 bits to 256 bits RC6 RC6, a desirable property of an encryption algorithm is that a small change in either the plaintext or the key should produce a significant change in the ciphertext. This is called valanche effect. Avalanche effects of a 128 bit RC6 is approximately 43.25%. If we change the same amount of information in the key of 512 bits RC6 the Avalanche effect is approximately 257.27%. Developed algorithms that are resistant to attack so as to improve the previous security 128 bit RC6 algorithm by using a block size of 512 bits. And the second algorithm combines with RC6 RC5, RC5 There are four combinations of algorithms with RC6 first thing I researched combination with RC5 RC5, RC6 combination with RC6 second, third combination with RC6 RC5 and RC6 fourth combination with RC5. The combination of the four will be determined combination of the safest.

Keywords: Cryptography RC5, RC6 Cryptography, Data Transmission. encryption, decryption.


(15)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Dalam era konektifitas elektronik universal, hacker, virus, penipuan elektronik, maka keamanan transmisi data benar-benar menjadi permasalahan yang sangat penting. Perkembangan sistem komputer dan interkoneksinya melalui jaringan telah meningkat, tentu saja hal ini membutuhkan keamananan data dan message yang handal agar terhindar dari serangan (attack). Untuk mengamankan transmisi data atau

message dijaringan diperlukan kriptografi dengan metode enkripsi. Dalam penelitian ini metode enkripsi data yang akan digunakan adalah pengembangan algoritma RC 6 dengan mengkombinasikan RC5 Dengan RC6.

Saat ini sistem komputer yang terpasang makin mudah diakses. Sistem time sharing

dan akses jarak jauh menyebabkan masalah keamanan menjadi salah satu kelemahan komuniksi data seperti internet. Disamping itu kecendrungan lain saat ini adalah memberikan tanggung jawab sepenuhnya ke komputer untuk mengelola aktifitas pribadi dan bisnis seperti sistem transfer dana elekronis yang melewatkan uang sebagai aliran bit dan lain sebagainya. Untuk itu diperlukan sistem komputer yang memiliki tingkat keamanan yang dapat terjamin, walaupun pada akhirnya akan terjadi

trade off antara tingkat keamanan dan kemudahan akses. Enkripsi merupakan salah satu cara yang dilakukan untuk mengamankan sistem atau informasi dari hal yang akan menyebabkan aspek-aspek diatas tidak terpenuhi, seperti untuk menjaga integritas data atau informasi.

RC6 adalah algoritma kriptografi symmetric-key yang merupakan perkembangan dari algoritma RC5 yang disertakan dalam Advances Encrytion Standard (AES). RC6 menggunakan esensi dari data-dependent rotations. RC6 adalah algoritma yang menggunakan ukuran blok hingga 128 bit, dengan ukuran kunci yang digunakan bervariasi antara 128, 192 dan 256 bit. RC6 memecah blok 128 bit menjadi 4 buah blok 32-bit, dan mengikuti aturan enam operasi dasar yaitu : penjumlahan,


(16)

bit ke kiri. Proses utama dalam algoritma ini adalah penjadwalan kunci, dan enkripsi - dekripsi.

RC6 merupakan algoritma cipher blok baru yang didaftarkan ke NIST yang diajukan oleh RSA Security Laboratories. Algoritma ini dirancang oleh Ronald L Rivest, M.J.B. Robshaw, R. Sidney dan Y.L. Yin untuk mengikuti kontes Advanced Ecryption Standard (AES) dan berhasil menjadi salah satu dari lima (5) finalisnya. Design dari berawal dari keinginan untuk meningkatkan performansi dan tingkat keamanan dari RC5 untuk dapat memenuhi standar dari kontes tersebut.

RC6 memiliki struktur yang sederhana. RC6 terdiri dari dua jaringan Feistel dimana datanya dicampur dengan rotasi yang bergantung pada isi data tersebut. Dalam sekali putaran RC6, ada beberapa operasi yang terjadi, antara lain : dua (2) aplikasi dari fungsi persamaan f(x) = x(2x + 1) mod 232, dua (2) rotasi 32-bit yang tidak berubah, dua (2) rotasi 32-bit yang bergantung pada data, dua (2) eksklusif OR dan dua (2) fungsi modulo 232 tambahan. Algoritma cipher ini biasanya memakai 20 putaran.

Penelitian sebelumnya : Abdul Hamid M. Ragab, Nabil A. Ismail, 2005, Osama S. Farag Allah, 2005, menjelaskan Dekripsi algoritma dan kunci yang sama yang digunakan untuk enkripsi. Keamanan dalam sistem ini tergantung pada enkripsi dan dekripsi algoritma dan kerahasiaan kunci. Cryptanalyst adalah proses mencoba serangan untuk menemukan X atau K dengan menghasilkan perkiraan plaintext (X) atau perkiraan kunci rahasia (&).

Blok cipher RC5, dan RC6 Itu Data Encryption Standard (DES) menggunakan 64 bit data dan 56-bit kunci. Algoritma DES menggunakan ukuran kunci tetap dan tetap Data ukuran blok. Blok cipher RC5 menggunakan data-dependent rotasi, kata ukuran variabel, variabel jumlah putaran, dan variabel-panjang kunci rahasia. RC6 merupakan perbaikan dari RC5, dan menggunakan empat register kerja bukan dua, dan meliputi perkalian bilangan bulat sebagai primitif tambahan operasi. Penggunaan perkalian sangat meningkatkan difusi dicapai per putaran, memungkinkan untuk keamanan yang lebih besar, sedikit putaran, dan throughput meningkat. Karena RC5 dan RC6 diusulkan, berbagai penelitian telah memberikan pemahaman yang lebih besar tentang


(17)

bagaimana struktur dan operasi berkontribusi terhadap keamanan mereka. studi-studi menyediakan beberapa serangan teoritis yang menarik, berdasarkan fakta bahwa "jumlah rotasi" di RC5 tidak tergantung pada semua bit dalam register. Penelitian ini menjelaskan cipher blok ditingkatkan yang bertindak pada 256-bit blok input dan output, sehingga memperluas RC6 untuk bertindak atas 256-bit blok dengan cara yang paling alami akan menghasilkan menggunakan empat 64-bit register bekerja. Target yang ditentukan arsitektur dan bahasa untuk AES belum mendukung 64 - bit operasi secara efisien dan bersih. Jadi kita telah memodifikasi desain untuk menggunakan delapan 32-bit register lebih dari empat 64-bit register. Hal ini memiliki keuntungan yang memberikan kontribusi untuk meningkatkan jumlah rotasi per putaran, dan kami menggunakan lebih banyak bit

RC6, bila dibandingkan dengan RC5, menggunakan 4 (empat) working registers, dan menyertakan operasi perkalian integer sebagai operasi primitif tambahan. Operasi perkalian meningkatkan penyebaran untuk tiap putarannya sehingga meningkatkan faktor keamanan, mengurangi putaran, dan meningkatkan performa hasil. Tingkat keamanan pada algoritma ini terletak pada kekuatan rotasi yang berdasarkan data, penggunaan eksklusif OR yang bergantian, fungsi modulo dan fungsi persamaan yang menggunakan rotasi yeng tetap. Dengan menghilangkan salah satu atau beberapa aspek di atas, maka cipher yang dihasilkan akan menjadi lebih lemah terhadap beberapa serangan yang sudah diketemukan sebelumnya. Beberapa jenis serangan modern terhadap algoritma ini hanya dapat dilakukan secara teori tanpa praktek serangan sesungguhnya.

1.2 Perumusan Masalah

Di dalam konsep Transmisi data tidak ditemukan pendistribusian atau pertukaran kunci diantara masing-masing pihak. RC5 dan RC6 merupakan kriptografi klasik yang dianggap sudah tidak aman lagi dalam proses pengiriman pesan. Untuk memperkuat algoritma tersebut dalam menjaga keamanan pesan maka dilakukan kombinasi algoritma RC5 dengan RC6 dalam Proteksi Transmsi data sehingga pesan lebih aman


(18)

dan terjaga kerahasiannya serta algoritma RC5 dan RC6 dapat lebih aman digunakan dalam proses pengiriman pesan.

1.3Batasan Masalah

Agar dapat memberikan gambaran yang lebih rinci, terarah dan tidak menyimpang dari yang telah diuraikan dalam latar belakang masalah serta tujuan penelitian, maka batasan masalah dalam penelitian ini adalah :

1. Hanya melakukan Proteksi transmisi data untuk 2 metode algoritma yaitu RC5

dan RC6.

2. Ada empat kombinasi algoritma block ciper RC5 dengan RC6 digunakan dalam penelitian ini.

3. Tidak melakukan uji serangan terhadap sistem .

1.4Tujuan Penelitian

Pada penelitian ini akan dibahas tentang sejauh mana konsep dasar kriptografi serta implementasi dari algoritma RC 6 dalam proses enkripsi dan dekripsi data. Implementasi diwujudkan dalam sebuah aplikasi yang dapat digunakan untuk melakukan proses enkripsi dan dekripsi transmisi data. Untuk melihat sejuah mana kinerja dari kombinasi algoritma RC5 dan RC6, serta analisa singkat terkait dengan perbandingan dengan algoritma RC5 dan RC6

1.5Manfaat Penelitian Manfaat penelitian adalah :

1. Pesan dapat dikirim dengan aman tanpa harus mendistribusikan kunci enkripsi.

2. Dapat menggunakan dua algoritma yang berbeda dalam proses pengiriman pesan.


(19)

BAB 2

TINJAUAN PUSTAKA 2.1 Kriptografi

Kriptografi telah menjadi bagian penting dalam dunia teknologi informasi saat ini terutama dalam bidang komputer. Hampir semua penerapan teknologi informasi menggunakan kriptografi sebagai alat untuk menjamin keamanan dan kerahasiaan informasi. Karena itu pulalah kriptografi menjadi ilmu yang berkembang pesat dan dalam waktu singkat banyak bermunculan algoritma-algoritma baru yang dianggap lebih unggul daripada pendahulunya. Oleh sebab itu pada bab ini penulis akan membahas teori-teori yang berkait dengan ilmu kriptografi.

2.1.1 Definisi Kriptografi

Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri dari dua kata yaitu

cryptós dan gráphein. Kata cryptós artinya rahasia sedangkan gráphein artinya tulisan. Sehingga secara umum kriptografi adalah tulisan rahasia. Ada beberapa definisi kriptografi yang telah dikemukakan didalam berbagai literatur . Definisi yang digunakan dalam buku-buku terbaru menyatakan kriptografi merupakan ilmu mengenai metode untuk mengirimkan pesan secara rahasia sehingga hanya penerima yang dimaksud dapat menghapus dan membaca pesan atau memahaminya (Mollin,2007). Sedangkan definisi yang digunakan sekitar tahun 80-an yaitu kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Penggunaan kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan.

Jadi secara umum kriptografi merupakan teknik pengamanan informasi dimana informasi tersebut diubah dengan menggunakan kunci tertentu melalui proses enkripsi menjadi informasi baru yang tidak dapat dimengerti oleh orang yang tidak berhak menerimanya, kemudian informasi tersebut dapat diubah kembali oleh orang yang berhak menerimanya melalui proses dekripsi.


(20)

2.1.2 Sejarah Kriptografi

Kriptografi dimulai pertama sekali dengan menggunakan metode pertukaran posisi untuk mengenkripsi suatu pesan. Dalam sejarah perkembangannya, Julius Caesar dalam mengirimkan pesan selalu mengacak pesannya sebelum diberikan kepada kurir. Ada yang mengatakan bahwa apa yang dilakukan oleh Julius Caesar dianggap sebagai awal mula dari kriptografi. Kriptografi digunakan pertama sekali oleh bangsa Mesir 4000 tahun yang lalu sampai saat ini (David,1963). Sehingga sampai dengan saat ini kriptografi pun mulai diperbincangkan secara luas.

Kriptografi digunakan sebagai suatu alat untuk melindungi kerahasian dan strategi-strategi suatu negara. Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pencil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokan menjadi dua kategori yaitu algoritma transposisi (transposition cipher) dan algoritma substitusi (substitution cipher). Cipher transposisi mengubah susunan huruf-huruf didalam pesan, sedangkan cipher subtitusi mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain.

Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara Sparta di Yunani pada permulaan tahun 400 SM kemudian. Mereka menggunakan alat yang namanya scytale. Scytale terdiri dari sebuah kertas panjang dan daun

papyrus yang dililitkan pada sebuah selinder dari diameter tertentu (diameter selinder meyatakan kunci penyandian pesan). Pesan ditulis secara horizontal, baris per baris. Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun secara acak membentuk pesan rahasia. Untuk membaca pesan, penerima pesan harus melilitkan kembali kertas tersebut keselinder yang diameternya sama dengan diameter selinder pengirim. Sedangkan algoritma substitusi paling awal dan paling sederhana adalah

Caesar cipher, yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah dengan mengganti setiap karakter di dalam alphabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alphabet. Kriptografi juga digunakan untuk tujuan keamanan. Kalangan gereja pun menggunakan kriptografi pada masa awal agama kristen, tujuan penggunaannya yaitu untuk menjaga tulisan religius dari


(21)

gangguan otoritas politik atau budaya yang dominan pada saat itu. Yang terkenal pada saat itu adalah “Angka si Buruk Rupa” (Number of the beast) di dalam kitab perjanjian baru. Angka “666” menyatakan cara kriptografi untuk menyembunyikan pesan berbahaya, para ahli percaya bahwa pesan tersebut mengacu pada Kerajaan Romawi (Munir,2006).

Di india kriptografi juga digunakan oleh para pecinta untuk berkomunikasi tanpa diketahui oleh orang lain. Ini kebanyakan digunakan oleh masyarakat, hal ini terbukti dengan ditemukannya di dalam buku Kama Sutra yang merekomendasikan wanita seharusnya mempelajari seni dengan memahami cipher. Pada abad ke-17 Ratu Skotlandia, Queen Mary merupakan salah seorang korban pancung. Ratu tersebut dipancung setelah ditemukannya surat rahasianya di balik penjara (surat yang terenkripsi berisi rencana pembunuhan terhadap Ratu Elizabeth I) berhasil dipecahkan oleh seorang pemecah kode.

Pada abad ke-15 ditemukan kode roda (wheel cipher) oleh Leo Battista Alberti. Kode ini terus dikembangkan menjadi alat enkripsi dan dekripsi hingga saat ini. Metode ini dikembangkan pada awalnya oleh Thomas Jefferson yang kemudian diberi nama roda kode Jefferson. Kemudian kode ini dikembangkan lagi oleh Bazeries yang diberi nama silinder Bazerries. Alat ini lebih fleksibel, memungkinkan untuk dikembangkan secara terus menerus untuk menghindari code breaking. Meskipun demikian metode ini dapat dipecahkan oleh Deviaris pada tahun1893, tetapi metode ini tetap terus dikembangkan dan dianggap aman untuk kasus-kasus tertentu.

Saat ditemukan pertama kali oleh Leon Albertini roda kode ini terdiri dari dua buah potongan silendris yaitu potongan silendris dalam dan potongan silendris luar, yang dikenal dengan cipher disk. Masing-masing potongan silendris memiliki seluruh label alfabet, dengan susunan yang tidak harus terurut dan sama. Potongan silendris luar merupakan alfabet untuk teks-kode dengan metode monoalphabetic substitution cipher alphabet, yaitu metode enkripsi yang mana satu karakter di teks asli diganti dengan satu karakter bersesuaian atau fungsi satu ke satu.

Pada abad ke-20 kriptografi lebih banyak digunakan oleh kalangan militer. Pada perang dunia ke II, pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan


(22)

dengan enigma. Mesin ini menggunakan beberapa buah rotor (roda berputar) dan melakukan proses enkripsi yang sangat rumit. Jerman percaya pesan akan dikirim melalui enigma tidak akan terpecahkan kode enkripsinya. Tetapi anggapan Jerman tersebut salah, setelah mempelajari mesin enigma bertahun-tahun sekutu berhasil memecahkan kode tersebut. Setelah Jerman mengetahui kode-kode mereka telah terpecahkan, kemudian enigma mengalami beberapa kali perubahan.

Enigma yang digunakan Jerman bisa mengenkripsi satu pesan dengan 15 milyar kemungkinan. Enigma yang termasuk kriptografi berbasis rotor. Mesin berbasis rotor ini dibangun dan dipatenkan oleh beberapa orang penemu dari negara-negara yang berbeda dari tahun 1917 sampai 1921, diantaranya oleh warga Amerika Edward Hug Hebern, warga Jerman Arthur Scherbius, warga Belanda Alexander Koch, dan warga Swedia Arvid Gerhard Damm. Milik Koch dikembangkan oleh Arthur Scherbius yang dipatenkan diberi nama enigma untuk versi militer dibangun. Diperkirakan mesin

enigma yang digunakan pada tahun 1935 sampai 1945 adalah 100.000 mesin.

Perkembangan yang paling pesat dan berpengaruh dalam sejarah kriptografi ialah pada tahun 1976 di mana Whitfield Diffie dan Martin Hellman mempublikasikan sebuah tesis berjudul New Direction in Cryptography. Dalam tesis ini diperkenalkan konsep kunci publik kriptografi yang paling revolusioner dan juga menyediakan metode baru dalam pertukaran kunci, yaitu keamanan yang didasarkan atas algoritma diskrit. Pada tahun 1978, Rivest, Shamir, dan Adleman menemukan enkripsi kunci publik yang pertama dan sekarang ini dikenal dengan nama RSA (Rivest, Shamir, and Adleman). Skema RSA didasarkan pada permasalahan matematika sulit yang terdiri dari pemfaktoran terhadap bilangan yang besar nilainya. Salah satu sumbangan yang paling penting dari kriptografi kunci publik ialah tanda tangan digital. Pada tahun 1991, standar internasional yang pertama untuk tanda tangan digital yang dipergunakan ialah berdasarkan pada skema kunci publik RSA.

Kriptografi memang banyak sekali memiliki sejarah yang panjang, dari awal munculnya kriptografi yang biasa dikenal dengan kriptografi klasik sampai dengan berkembang dengan algoritma – algoritma baru yang dikenal dengan kriptografi modern. Perkembangan dari kriptografi tidak lain karena dasar dari kriptografi klasik.


(23)

Berbagai standar dan infrastruktur yang berhubungan dengan kriptografi sedang dibangun dan produk–produk keamanan sedang dikembangkan untuk memenuhi kebutuhan akan keamanan informasi di masyarakat.

2.1.3 Tujuan Kriptografi

Aspek keamanan di dalam kriptografi yaitu : 1. Kerahasiaan (confidentiality) 2. Integritas data (data integrity) 3. Otentikasi (authentication)

4. Penyangkalan( Non-repudiation)

Tujuan kriptografi secara umum yaitu mewujudkan keempat aspek keamanan tersebut dalam teori dan praktek (Hankerson et al.2004)

1. Kerahasiaan (confidentiality)

Kerahasiaan bertujuan untuk melindungi suatu informasi dari semua pihak yang tidak berhak atas informasi tersebut. Terdapat beberapa cara yang dapat digunakan untuk menjaga kerahasiaan suatu informasi, mulai dari penjagaan secara fisik misalnya menyimpan data pada suatu tempat khusus sampai dengan penggunaan algoritma matematika untuk mengubah bentuk informasi menjadi tidak dapat terbaca.

2. Integritas data (data integrity)

Integritas data bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berhak atas informasi tersebut. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data.

3. Otentikasi (authentication)

Otentikasi merupakan identifikasi yang dilakukan oleh masing–masing pihak yang saling berkomunikasi, maksudnya beberapa pihak yang berkomunikasi harus mengidentifikasi satu sama lainnya. Informasi yang didapat oleh suatu pihak dari pihak lain harus diidentifikasi untuk memastikan keaslian dari informasi yang diterima. Identifikasi terhadap suatu informasi dapat berupa


(24)

tanggal pembuatan informasi, isi informasi, waktu kirim dan hal-hal lainnya yang berhubungan dengan informasi tersebut.

4. Penyangkalan( Non-repudiation)

Non-repudiation berfungsi untuk mencegah terjadinya penyangkalan terhadap suatu aksi yang telah dilakukan oleh pelaku aksi itu sendiri. Jika terjadi penyangkalan, maka diperlukan suatu prosedur yang melibatkan pihak ke tiga untuk menyelesaikan masalah tersebut.

2.1.4 Istilah dan Konsep Dasar Kriptografi

Dalam bidang kriptografi ada beberapa istilah atau terminologi. Istilah-istilah tersebut sangat penting untuk diketahui dalam memahami ilmu kriptografi. Oleh karena itu penulis akan menjelaskan beberapa istilah penting dalam bidang kriptografi yang penulis gunakan dalam tulisan ini. Berikut istilah-istilah penting tersebut adalah :

a) Plainteks dan Cipherteks b) Peserta Komunikasi c) Enkripsi dan Dekripsi d) Kriptanalis dan Kriptologi

a. Plainteks dan Cipherteks

Pesan merupakan data atau informasi yang dimengerti maknanya. Nama lain dari pesan adalah plaintext. Pesan tersebut dapat dikirim melalui kurir, saluran telekomunikasi dan lain-lain, dan juga dapat disimpan dalam media penyimpanan seperti kertas, storage, dan lain. Pesan dapat berupa teks, video, gambar dan lain-lain. Agar pesan tersebut tidak dapat dimengerti maknanya bagi pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang telah tersandikan tersebut dinamakan dengan ciphertext.


(25)

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Entitas yang pertama adalah pengirim yang berfungsi mengirim pesan kepada entitas lain. Entitas kedua adalah penerima, yang berfungsi sebagai penerima pesan yang dikirimkan. Entitas-entitas ini dapat berupa orang, mesin (komputer), kartu kredit dan lain sebagainya.

c. Enkripsi dan Dekripsi

Proses penyandian pesan dari plaintext ke ciphertext dinamakan dengan enkripsi (encryption) atau enchipering (standard nama menurut ISO 7498-2), sedangkan proses mengembalikan pesan dari ciphertext menjadi plaintext, disebut dekripsi (decryption), menurut ISO 7498-2. Proses enkripsi dan deskripsi dapat diterapkan pada pesan yang dikirim dan pesan yang disimpan. Encryption of data in motion mengacu pada enkripsi pesan ditransmisikan melalui saluran komunikasi, sedangkan istilah

encryption of data at-rest mengacu pada enkripsi pesan yang tersimpan di dalam

storage.

d. Kriptanalis dan Kriptologi

Kriptografi selalu memiliki perkembangan, karena kriptografi memiliki ilmu yang berlawanan yang disebut dengan kriptanalisis. Kriptografi (Cryptografi) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks, tanpa memerlukan kunci yang digunakan. Pelakunya disebut dengan kriptanalis. Jika seorang kriptografer mentransformasikan plainteks ke cipherteks dengan menggunakan kunci, maka sebaliknya kriptanalis berusaha memecahkan cipherteks tersebut untuk menemukan

plainteks atau kunci. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalis. Hubungan antara kriptologi, kriptografi dan kriptanalis dapat dilihat pada gambar di bawah ini.

Gambar 2.1 Hubungan Antara Kriptologi, Kriptografi dan Kriptanalisis (Sumber : Munir,2006)

Kriptologi


(26)

2.1.5 Jenis Kriptografi

Berdasarkan kunci enkripsi dan dekripsi algoritma kriptografi dibagi menjadi dua bagian yaitu :

1. Kriptografi Simetris

Konsep dasar dari kriptografi kunci simetris adalah kunci untuk enkripsi dan dekripsi sama. Istilah lain dari kriptografi simetris ini adalah kriptografi kunci privat ( privat-key cryptography), kriptografi kunci rahasia (secret-key cryptography) atau kriptografi konvensional (conventional cryptography). Dalam kriptografi kunci simetris dapat diasumsikan bahwa si penerima dan pengirim pesan telah terlebih dahulu berbagi kunci sebelum pesan dikirimkan. Keamanan dari sistem ini terletak pada kerahasiaan kuncinya.

Semua kriptografi klasik menggunakan sistem kunci simetris ini. Sebelum tahun1976 hanya kriptografi simetris inilah yang terkenal. Pada umumnya cipher yang termasuk ke dalam kriptografi simetris ini beroperasi dalam mode blok (block cipher), yaitu setiap kali proses enkripsi atau dekripsi dilakukan terhadap satu blok data (yang berukuran tertentu), atau beroperasi dalam mode aliran (stream cipher), yaitu setiap kali enkripsi atau dekripsi dilakukan terhadap satu bit atau satu byte data. Proses dari skema kriptografi simetris dapat dilihat di pada gambar bawah ini :

K

K

Enkripsi Dekripsi

Gambar 2.2. Skema Kriptografi Simetris (Sumber : Mollin,2007)

2. Kriptografi Asimetri

Berbeda dengan kriptografi kunci simetris, kriptografi kunci publik memiliki dua buah kunci yang berbeda pada proses enkripsi dan dekripsinya. Nama lain dari kunci asimetris adalah kriptografi kunci publik (public-key cryptography). Kunci untuk


(27)

enkripsi pada kriptografi asimetri tidak rahasia (kunci privat). Entitas pengirim akan mengenkripsi dengan menggunakan kunci publik, sedangkan entitas penerima mendekripsikan kunci privat. Skema dari kriptografi asimetri dapat di lihat pada gambar di bawah ini.

K

1

K

2

Plainteks Cipherteks

Enkripsi Dekripsi

Gambar 2.3 Skema Kriptografi Asimetris (Sumber : Mollin,2007)

Kriptografi asimetris ini dapat dianalogikan seperti kotak surat yang terkunci dan memiliki lubang untuk memasukan surat. Setiap orang dapat memasukkan surat ke dalam kotak surat tersebut, tetapi hanya pemilik surat yang memiliki kunci dan yang dapat membuka kotak surat. Kunci publik dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang digunakan untuk mengirim pesan tidak perlu takut, karena pihak yang tidak berkepentingan tidak akan dapat mendeskripsi pesan tersebut, karena tidak memiliki kunci privat.

2.2 Algoritma RC 5

Algoritma RC-5 merupakan metode enkripsi menggunakan metode simetrik dan pengolahan dalam bentuk blok chiper, jadi kata kunci yang sama digunakan untuk proses enkripsi dan dekripsi. Parameter-parameter yang digunakan dalam RC-5 adalah sebagai berikut :

1. Jumlah putaran ini disimbolkan dengan r yang merupakan parameter untuk rotasi dengan nilai 0, 1, …… 255.

2. Jumlah word dalam bit disimbolkan dengan w. Nilai bit yang di support adalah 16 bit, 32 bit, dan 64 bit.


(28)

3. Kata kunci (key word) Variable ini disimbolkan dengan b dengan range 0, 1, 2,….255. Key word ini dikembangkan menjadi array S yang digunakan sebagai

key pada proses untuk enkripsi dan dekripsi.

2.3 Algoritma RC6

Algoritma RC6 merupakan salah satu kandidat Advanced Encryption Standard (AES) yang diajukan oleh RSA Laboratoriest kepada NIST. Dirancang oleh Ronald L Rivest, M.J.B. Robshaw, R. Sidney dan Y.L. Yin, algoritma ini merupakan pengembangan dari algoritma sebelumnya yaitu RC5 dan telah memenuhi semua kriteria yang diajukan oleh NIST.

Algoritma RC6 adalah versi yang dilengkapi dengan beberapa parameter, sehingga dituliskan sebagai RC6-w/r/b, dimana parameter w merupakan ukuran kata dalam satuan bit, r adalah bilangan bulat bukan negatif yang menunjukan banyaknya iterasi selam proses enkripsi, dan b menunjukan ukuran kunci enkripsi dalam byte. Ketika algoritma ini masuk sebagai kandidat AES, maka ditetapkan nilai parameter w = 32, r = 20 dan b bervariasi antara 16, 24, dan 32 byte.

RC6-w/r/b memecah block 128 bit menjadi 4 buah block 32 bit, dan mengikuti enam aturan operasi dasar sebagai berikut :

A + B Operasi penjumlahan bilangan integer. A – B Operasi pengurangan bilangan integer. A B Operasi exclusive-OR (XOR

A x B Operasi perkalian bilangan integer.

A<<<B A dirotasikan ke kiri sebanyak variabel kedua (B) A>>>B A dirotasikan ke kanan sebanyak variabel kedua (B)

2.3.1 Enkripsi Algoritma RC 6

Karena RC6 memecah block 128 bit menjadi 4 buah block 32 bit, maka algoritma ini bekerja dengan 4 buah register 32-bit A, B, C, D. Byte yang pertama dari plaintext

atau ciphertext ditempatkan pada byte A, sedangkan byte yang terakhirnya ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C, D,


(29)

A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari register disisi kiri

Algoritma RC6 menggunakan 44 buah sub kunci yang dibangkitkan dari kunci dan dinamakan dengan S[0] hingga S[43]. Masing-masing sub kunci panjangnya 32 bit. Proses enkripsi pada algoritma RC6 dimulai dan diakhiri dengan proses whitening

yang bertujuan untuk menyamarkan iterasi yang pertama dan yang terakhir dari proses enkripsi dan dekripsi. Pada proses whitening awal, nilai B akan dijumlahkan dengan S[0], dan nilai D dijumlahkan dengan S[i]. Pada masing-masing iterasi pada RC6 menggunakan 2 buah sub kunci. Sub kunci pada iterasi yang pertama menggunakan S[2] dan S[3], sedangkan iterasi-iterasi berikutnya menggunakan sub-sub kunci lanjutannya. Setelah iterasi ke-20 selesai, dilakukan proses whitening akhir dimana nilai A dijumlahkan dengan S[42],dan nilai C dijumlahkan dengan S[43].

Setiap iterasi pada algoritma RC6 mengikuti aturan sebagai berikut, nilai B dimasukan ke dalam fungsi f, yang didefinisikan sebagai f(x) =x(2x+1) , kemudian diputar kekiri sejauh lg-w atau 5 bit. Hasil yang didapat pada proses ini dimisalkan sebagai u. Nilai u kemudian di XOR dengan C dan hasilnya menjadi nilai C. Nilai t juga digunakan sebagai acuan bagi C untuk memutar nilainya kekiri. Begitu pula dengan nilai u, juga digunakan sebagai acuan bagi nilai A untuk melakukan proses pemutaran kekiri. Kemudian sub kunci S[2i] pada iterasi dijumlahkan dengan A, dan sub kunci S[2i+1] dijumlahkan dengan C. keempat bagian dari block kemudian akan dipertukarkan dengan mengikuti aturan, bahwa nilai A ditempakan pada D, nilai B ditempatkan pada A, nilai C ditempatkan pada B, dan nilai (asli) D ditempatkan pad C. demikian iterasi tersebut akan terus berlangsung hingga 20 kali.

2.3.2 Dekripsi Algoritma RC 6

Proses dekripsi ciphertext pada algoritma RC6 merupakan pembalikan dari proses enkripsi. Pada proses whitening, bila proses enkripsi menggunakan operasi penjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Sub kunci yang digunakan pada proses whitening setelah iterasi terakhir diterapkan sebelum iterasi pertama, begitu juga sebaliknya sub kunci yang diterapkan pada proses


(30)

Akibatnya, untuk melakukan dekripsi, hal yang harus dilakukan semata-mata hanyalah menerapkan algoritma yang sama dengan enkripsi, dengan tiap iterasi menggunakan sub kunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan sub kunci yang digunakan terbalik.

2.4 Riset-Riset Terkait

Terdapat beberapa riset yang telah dilakukan banyak peneliti yang berkaitan dengan penelitian yang penulis buat diantara penelitian tersebut yaitu :

Rudianto, (1999) menjelaskan dalam RC6 merupakan algoritma cipher blok baru yang didaftarkan ke NIST yang diajukan oleh RSA Security Laboratories. Algoritma ini dirancang oleh Ronald L Rivest, M.J.B. Robshaw, R. Sidney dan Y.L. Yin untuk mengikuti kontes Advanced Ecryption Standard (AES) dan berhasil menjadi salah satu dari lima (5) finalisnya. Design dari berawal dari keinginan untuk meningkatkan performansi dan tingkat keamanan dari RC5 untuk dapat memenuhi standar dari kontes tersebut. RC6 memiliki struktur yang sederhana. RC6 terdiri dari dua jaringan Feistel dimana datanya dicampur dengan rotasi yang bergantung pada isi data tersebut. Dalam sekali putaran RC6, ada beberapa operasi yang terjadi, antara lain : dua (2) aplikasi dari fungsi persamaan f(x) = x(2x + 1) mod 232, dua (2) rotasi 32-bit yang tidak berubah, dua (2) rotasi 32-bit yang bergantung pada data, dua (2) eksklusif OR dan dua (2) fungsi modulo 232 tambahan. Algoritma cipher ini biasanya memakai 20 putaran.

Abdul Hamid M. Ragab, Nabil A. Ismai, (2005) menerangkan perluasan peningkatan dari RC6 cipher blok dengan potensi meningkatkan keamanan dan meningkatkan kinerja. cipher blok yang diusulkan membuat penggunaan berat penting data-dependent rotasinya fitur yang menonjol termasuk penggunaan delapan register bekerja bukan empat, dan masuknya perkalian integer sebagai operasi primitif tambahan. Penggunaan perkalian dengan delapan register bekerja sangat meningkatkan difusi dicapai per putaran, memungkinkan untuk keamanan yang lebih besar, lebih sedikit putaran, dan throughput meningkat. Hal ini juga mampu menangani 256-bit plaintext dan ukuran blok ciphertext dan cocok untuk diimplementasikan hanya menggunakan perangkat keras atau software. Peningkatan


(31)

ini diharapkan untuk memenuhi pasar tuntutan dan pengembang sistem keamanan menggunakan maju tersedia prosesor. Spesifikasi lengkap dan implementasi untuk blok cipher ditingkatkan diberikan. Vektor beberapa tes digunakan untuk memeriksa keabsahan enkripsi dan dekripsi algoritma. Komparatif evaluasi kinerja blok cipher yang diusulkan, RC5, RC6, Hasil simulasi menunjukkan bahwa blok cipher ditingkatkan mencapai throughput maksimal dan waktu minimal enkripsi. memperkenalkan arsitektur baru dan implementasi untuk blok cipher yang diusulkan, yang merupakan ekstensi untuk terkenal RC5 blok cipher dan RC6. Parameter desain Beberapa algoritma yang diusulkan adalah diselidiki di antaranya adalah ukuran word, jumlah putaran, dan panjang kunci rahasia. Perbandingan analisis dan evaluasi kinerja yang dicapai dengan menggunakan simulasi program. Pengaruh jumlah putaran, panjang kunci rahasia, dan data ukuran blok pada waktu enkripsi dan sistem throughput dievaluasi dan dibandingkan dengan menggunakan beberapa tes nilai-nilai. Hasil yang diperoleh menunjukkan bahwa blok yang diusulkan cipher mencapai throughput maksimum dan minimum waktu enkripsi dibandingkan dengan DES, RC5, dan RC6. Blok cipher yang diusulkan menawarkan, kompak sederhana, dan fleksibel blok cipher. Hal ini dapat dengan mudah diimplementasikan dengan menggunakan perangkat keras atau perangkat lunak untuk mencapai komputer bertingkat tinggi keamanan data. Ini mencapai persyaratan Lanjutan Enkripsi Standar (AES) dan computer pengembang sistem keamanan gol.

Nawal A. El-Fishawy, Osama M Abou Zaid (2005) menerangkan, modifikasi dari RC6 cipher blok (MRC6) diperkenalkan. MRC6 adalah algoritma enkripsi simetrik dirancang untuk memenuhi persyaratan Lanjutan Encryption Standard (AES). Ini adalah perluasan ditingkatkan dari RC6 dengan meningkatkan kinerja. Itu membuat penting berat penggunaan data-dependent rotasi. fitur menggunakan enam belas register bukan empat register di RC6. Menggunakan perkalian bilangan bulat dengan enam belas bekerja register sangat meningkatkan difusion dicapai per putaran, dan memungkinkan untuk lebih besar keamanan dengan putaran sedikit. Hal ini juga mampu menangani 512-bit plaintext dan ukuran blok ciphertext dengan penurunan dalam waktu encryptioddecryption dan meningkatkan throughput. Perbandingan


(32)

kinerja evaluasi MRC6 dengan ERC6,, RC6 dan RC5 diperkenalkan. Hasil simulasi menunjukkan bahwa MRC6 mencapai minimum Ekripsi dan Dekripsi waktu dan throughput maksimal.

2.5 Kontribusi Riset

Penelitian ini memberikan kontribusi kepada pemahaman kita tentang aspek penting keamanan dari suatu jalur tranmisi data, apalagi pesan teks yang ingin kita sampaikan bersifat rahasia. Dimana kriptografi merupakan seni dalam menjaga keamanan pesan sehingga penggunaan kriptgrafi RC6 kurang baik dalam pengamanan pesan, tetapi dapat di gunakan kembali dengan konsep yang berbeda yaitu dengan menambah kunci rahasianya pada algoritma RC6 tersebut atau di istilahkan dengan pengembangan algoritma RC6 sehingga proses pengamanan jalur tranmisi data tetap terjaga kerahasiannya. Pada konsep ini keamanan pesan di jalur tranmisi lebih terjaga serta memberikan pemahaman baru tentang algoritma RC6 yang di kembangkan dari hasil kombinasi algoritma RC5 dengan RC6 makan hasil enkripsi dan dekripsi algoritma tersebut berbeda dengan algoritma biasanya.


(33)

BAB 3

METODOLOGI PENELITIAN 3.1Pengantar

Tujuan dari penelitian ini, penulis mengembangkan block cipher rahasia-kunci baru yang disebut RC6 512 bit yang diusulkan penyempurnaan evolusioner dari 128 bit RC6 dirancang untuk memenuhi persyaratan Advanced Encryption Standard (AES) untuk meningkatkan keamanan transmisi data dan meningkatkan kinerja. Bagian dalam loop berbasis di sekitar putaran yang sama ditemukan dalam 128 bit RC6. Algoritma yang dikembangkan mencakup dua hal, pertama adalah penambahan bit dari 128 bit RC6 menjadi 256 bit RC6, Sebuah properti yang diinginkan dari suatu algoritma enkripsi adalah bahwa perubahan kecil baik dalam plaintext atau kunci harus menghasilkan perubahan yang signifikan dalam ciphertext. Hal ini disebut valanche Efek. Sebuah Efek Avalanche dari 128 bit RC6 adalah sekitar 43,25%. Jika kita mengubah jumlah informasi yang sama di kunci 512 bit RC6 maka Efek Avalanche adalah sekitar 257,27%. Algoritma yang yang dikembangkan tahan terhadap serangan sehingga mampu meningkatkan keamanan sebelumnya 128 bit RC6 algoritma dengan menggunakan ukuran blok 512 bit. Dan yang kedua mengkombinasikan algoritma RC5 dengan RC6, Ada empat kombinasi algoritma RC5

dengan RC6 yang penulis teliti Kombinasi pertama RC5 dengan RC5, kombinasi kedua RC6 dengan RC6, kombinasi ketiga RC5 dengan RC6 dan kombinasi keempat

RC6 dengan RC5. Dari empat kombinasi ini akan ditentukan kombinasi yang paling aman.


(34)

3.2Variabel Yang Diamati

Variabel yang akan digunakan dalam penelitian ini yaitu berbentuk pesan teks, dimana pesan tersebut akan diproses melalui proses enkripsi dan dekripsi. Terdapat tiga tahapan dalam proses enkripsi dan dekripsi pesan tersebut. Teks yang digunakan dalam penelitian ini terdiri dari huruf besar dan huruf kecil, angka 0 sampai 9 dan dua karakter khusus yaitu spasi dan titik.

3.3 Teknik Pengembangan

Sistem ini menggunakan penambahan bit dari 128 bit RC6 menjadi 512 bit RC6 dan

RC5 dan RC6 yang akan dikombinasikan untuk proses enkripsi dan dekripsi. Dimana proses tersebut akan menghasilkan pesan yang terjaga kerahasiannya dari pihak yang tidak berkepentingan, RC6 adalah sepenuhnya parameter keluarga algoritma enkripsi. versi RC6 lebih akurat ditetapkan sebagai RC6-w/r/b dimana kata ukuran w bit, enkripsi terdiri dari nomor non negatif putaran r, dan b menunjukkan panjang kunci enkripsi byte pada AES pengajuan ditargetkan pada w = 32 dan r = 20. Nilai lainnya w atau r dimaksudkan dalam teks, nilai parameter akan ditetapkan sebagai RC6-w / r. Relevansi khusus untuk AES usaha akan menjadi versi RC6 dengan 16 -, 24 -, dan kunci 32-byte. untuk semua varian, RC6-w/r/b beroperasi pada unit empat kata w-bit menggunakan enam berikut operasi dasar. Basis-dua logaritma w akan dilambangkan dengan lgw.

a + b bilangan bulat penambahan modulo 2 a - b bilangan bulat pengurangan modulo 2

w

a

w b bitwise eksklusif-atau kata-kata w-bit a × b bilangan bulat perkalian modulo 2

a <<< b memutar kata w-sedikit ke kiri oleh jumlah diberikan oleh sedikitnya bit lgw signifikan b

w

a >>> b memutar kata w-sedikit ke kanan dengan jumlah yang diberikan oleh sedikitnya bit lgw signifikan b.


(35)

3.3.1 Algoritma Enkripsi RC6

RC6 memecah blok 128 bit menjadi 4 buah blok 32 bit, maka algoritma ini bekerja dengan 4 buah register 32-bit A, B, C, D. Byte yang pertama dari plaintext atau ciphertext ditempatkan pada byte A, sedangkan byte yang terakhirnya ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C, D, A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari register disisi kiri. Algoritma RC6 menggunakan 44 buah sub kunci yang dibangkitkan dari kunci dan dinamakan dengan S[0] hingga S[43]. Masing-masing sub kunci panjangnya 32 bit. Proses enkripsi pada algoritma RC6 dimulai dan diakhiri dengan proses whitening yang bertujuan untuk menyamarkan iterasi yang pertama dan yang terakhir dari proses enkripsi dan dekripsi. Pada proses whitening awal, nilai B akan dijumlahkan dengan S[0], dan nilai D dijumlahkan dengan S[i]. Pada masing-masing iterasi pada RC6 menggunakan 2 buah sub kunci. Sub kunci pada iterasi yang pertama menggunakan S[2] dan S[3], sedangkan iterasi-iterasi berikutnya menggunakan sub-sub kunci lanjutannya. Setelah iterasi ke-20 selesai, dilakukan proses whitening akhir dimana nilai A dijumlahkan dengan S[42], dan nilai C dijumlahkan dengan S[43]. Setiap iterasi pada algoritma RC6 mengikuti aturan sebagai berikut, nilai B dimasukan ke dalam fungsi f, yang didefinisikan sebagai f(x) =x(2x+1) , kemudian diputar kekiri sejauh lg-w atau 5 bit. Hasil yang didapat pada proses ini dimisalkan sebagai u. Nilai u kemudian di XOR dengan C dan hasilnya menjadi nilai C.

Nilai t juga digunakan sebagai acuan bagi C untuk memutar nilainya kekiri. Begitu pula dengan nilai u, juga digunakan sebagai acuan bagi nilai A untuk melakukan proses pemutaran kekiri. Kemudian sub kunci S[2i] pada iterasi dijumlahkan dengan A, dan sub kunci S[2i+1] dijumlahkan dengan C. keempat bagian dari blok kemudian akan dipertukarkan dengan mengikuti aturan, bahwa nilai A ditempakan pada D, nilai B ditempatkan pada A, nilai C ditempatkan apda B, dan nilai (asli) D ditempatkanpada C. demikian iterasi tersebut akan terus berlangsung hingga 20 kali.


(36)

3.3.2 Algoritma Dekripsi RC6

Proses dekripsi ciphertext pada algoritma RC6 merupakan pembalikan dari proses enkripsi. Pada proses whitening, bila proses enkripsi menggunakan operasi penjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Sub kunci yang digunakan pada proses whiteneing setelah iterasi terakhir diterapkan sebelum iteasi pertama, begitu juga sebaliknya sub kunci yang diterapkan pada proses whitening sebelum iterasi pertama digunakan pada whitening setelah iterasi terkahir. Akibatnya, untuk melakukan dekripsi, hal yang harus dilakukan semata-mata hanyalah menerapkan algoritma yang sama dengan enkripsi, dengan tiap iterasi menggunakan sub kunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan sub kunci yang digunakan terbalik.

3.3.3 Kunci Penjadwalan algoritma

Dari 255 byte kunci ini kemudian ditempatkan dalam array c w-bit words L[0]…L[c-1]. Byte pertama kunci akan ditempatkan sebagai pada L[0], byte kedua pada L[1], dan seterusnya. (Catatan, bila b=0 maka c=1 dan L[0]=0). Masing-masing nilai kata w-bit akan dibangkitkan pada penambahan kunci round 2r+4 dan akan ditempatkan pada array S[0,…,2r+3].≤b≤Pengguna memasukkan sebuah kunci yang besarnya b byte, dimana 0 dapat dikatakan sebagai “golden ratio” (rasio emas).∅-1, dimana

∅Konstanta P32 = B7E15163 dan Q32 = 9E3779B9 (dalam satuan heksadesimal) adalah “konstanta ajaib”yang digunakan dalam penjadwalan kunci pada RC6. nilai P32 diperoleh dari perluasan bilangan biner e-2, dimana e adalah sebuah fungsi logaritma. Sedangkan nilai Q32 diperoleh dari perluasan bilangan biner Array S. [0; :::, 2r + 3] array ini digunakan dalambaik enkripsi dan dekripsi.

Berikut ini algoritma-algoritma untuk mengimplementasikan simulator kriptografi RC6. Dengan algoritma-algoritma ini dibuat sebuah simulator kriptografi RC6 yang dapat menghasilkan data analaisis performansinya.


(37)

KAMUS

Type Word32 : 32 bit {tipe data 32 bit}

Kunci : string {kunci yang dimasukkan oleh pemakai} i, j, c, s, v : integer

A : integer B : integer

S : array [0..43] of word32 L : array [0..43] of word32

Word32◊Function ROTL (X:Word32; Y : integer) (fungsi untuk merotasi bit sebanyak variabel kedua) ALGORITMA

Input (Kunci) P32⇓S[0] 1 to 43 do⇓For i S[i-1]+Q32⇓S[i] Endfor

0⇓j⇓i⇓B⇓A 44⇓V If (c>v) then c⇓V

v*3⇓V

1 to v do⇓For s

ROTL ((S[i]+A+B),3)⇓ S[i] ⇓A ROTL (L[j]+A+B,A+B)⇓L[j] ⇓B (i+1) mod 44⇓I

(j+1) mod c⇓J Endfor


(38)

b. Algoritma Baca File Masukan Procedure baca_file

{I.S : File belum dibuka}

{F.S : File dibaca per 16 karakter dan ditampung dalam buffer} KAMUS

Nama_file : string {nama file masukan} Buff : array [0..15] of char

i : integer ALGORITMA Input (nama_file) Open (nama_file) 0⇓i

15) and not (EOF) do≤while (i Read (nama_file, Buff[i]) Endwhile

Close (nama_file)

3. Algoritma whitening awal Procedure whitening_awal

{I.S : blok kedua dan keempat belum dijumlahkan dengan sub kunci} {F.S : blok kedua dan keempat yang telah dijumlahkan dengan sub kunci} KAMUS

Type word32 : 32 bit (tipe data sebesar 32 bit) X : word32 array [0..3] {blok enkripsi/plaintext} S : array [0..43] of word32 {sub kunci}

ALGORITMA X[1] + S[0]⇓X[1] X[3] +S[1]⇓X[3]


(39)

c. Algoritma Iterasi Procedure iterasi

{I.S : keempat blok setelah whitening awal belum diproses} {F.S : keempat blok yang telah diproses dan saling dipertukarkan} KAMUS

Type word32 : 32 bit {tipe data sebesar 32 bit} X : word32 array [0..3] {blok enkripsi/plaintext} word32◊Function ROTL(X:Word32; Y : integer) {Merotasi bit kekiri sebanyak variabel kedua} Temp : word32

u, t: word32 i : integer ALGORITMA 1 to 20 do⇓For i

ROTL ((X[1]*(2*X[1]+1)), 5)⇓t ROTL ((X[3]*(2*X[3]+1)), 5)⇓u

(ROTL((X[0] XOR t), u )) + S[2*i]⇓X[0] (ROTL((X[2] XOR u), t )) + S[2*i + 1]⇓X[0] X[0]⇓Temp

X[1]⇓X[0] X[2]⇓X[1] X[3]⇓X[2] Temp⇓X[3] End for

d. Algoritma Whitening Akhir Procedure Whitening_akhir

{I.S : blok pertama dan ketiga belum dijumlahkan dengan sub kunci} {F.S : blok pertama dan ketiga yang telah dijumlahkan dengan sub kunci} KAMUS


(40)

X : word32 array [0..3] {blok enkripsi/plaintext} S : array[0..43] of word32 {sub kunci}

ALGORITMA X[0] + S[42]⇓X[0] X[2] + S[43]⇓X[2]

3.4Analisis Kriptografi RC6 3.4.1 Kajian Teoritis

Pada struktur cipher Mekanisme yang digunakan pada algoritma RC6 ini adalah pembagian blok dari 128 bit menjadi empat buah blok yang masing-masing besarnya 32 bit. Fungsi f(x)= x(2x+1) yang diikuti dengan pergeseran 5 bit ke kiri digunakan untuk memberikan tingkat keamanan data yang tinggi. Pada RC6 tidak ditemui adanya Feistel Network seperti pada DES, namun fungsi f(x)=x(2x+1) dan pergeseran 5 bit ke kiri sudah dapat menghasilkan tingkat pengacakan data yang tidak kalah dengan algoritma yang menggunakan feistel network.

Penentuan banyaknya iterasi didasarkan atas azas keseimbangan. Dimana jika jumlah round sedikit akan menyebabkan cipher menjadi mudah untuk dipecahkan. Sedangkan jika jumlah iterasi semakin banyak, akan menyebabkan kecepatan proses enkripsi/dekripsi akan semakin berkurang. Sebenarnya jumlah round sebanyak 20 cukup beralasan. Akan tetapi berdasarkan analisis keamanan yang sangat mendalam, diketahui serangan terbaik terahadap RC6 dapat mencapai 8 round. Untuk alasan ini, pencipta RC6 memeberikan “security margin” yang cukup besar yaitu sebanyak 20 round untuk memberikan perlindungan keamanan yang tinggi terhadap RC6.

Penjadwalan kunci pada RC6 menggunakan sebuah sBox untuk melakukan iterasi awal terhadap S[0]…S[43]. Nilai konstanta P32=B7E15163 (heksadesimal) didefinisikan sebagai inisialisasi awal terhadap S[0] dan inisialisasi awal S[1] hingga S[43] didapatkan dengan menambahkan Q32=9E3779B9 (heksadesimal) terhadap inisialisasi awal subkunci-subkunci sebelumnya. Pada proses utama penjadwalan kunci, digunakan beberapa operasi seperti pergeseran bit dan operasi penjumlahan


(41)

yang menyebabkan proses penjadwalan kunci pada RC6 mempunyai kekuatan yang sama dengan RC6 cipher itu sendiri.

3.4.2 Perubahan Besar Arsip

Arsip ciphertext mempunyai ukuran yang lebih besar dari arsip plaintext. Hal ini terjadi karena adanya proses pedding. Pada mode EBC maupun pada metode CBC, perubahan maksimum besarnya arsip ciphertext adalah sebesar satu blok penyandian data (16 byte). Hal ini terjadi semata-mata karena adanya proses padding (16 byte). Walaupun pada metode CBC terdapat proses inisial vektor, namun yang terjadi hanyalah operasi XOR antara inisial vektor dan blok 128 bit sehingga tidak akan merubah besar ukuran ciphertext menjadi lebih besar dibanding mode EBC.

3.4.3 Avallanche Effect

Salah satu karakteristik untuk menentukan baik atau tidaknya suatu algoritma kriptografi adalah dengan melihat avalanche effect-nya. Perubahan yang kecil pada plaintext maupun key akan menyebabkan perubahan yang signifikan terhadap ciphertext yang dihasilkan. Atau dengan kata lain, perubahan satu bit pada palintext maupun key akan menghasilkan perubahan banyak bit pada ciphertext. Suatu avalanche effect dikatakan baik jika perubahan bit yang dihasilkan berkisar antara 45-60% (sekitar separuhnya, 50 % adalah hasil yang sangat baik). Hal ini dikarenakan perubahan tersebut berarti membuat perbedaan yang cukup sulit untuk kriptanalis melakukan serangan. RC6 memperlihatkan sebuah avalanche effect yang baik.

Hasil yang ditunjukan ini sesuai dengan parameter yang ditetapkan yaitu 50% dari besar blok penyandian. Hal tersebut ditunjukan dari hasil yang diperlihatkan dibawah ini:

Plaintext 1 : 0000000000000000000000000000000016 Plaintext 2 : 1000000000000000000000000000000016 Kunci :

000000000000000000000000000000000000000000000000000000000000000016 Ciphertext 1 : 8F5FBD0510D15FA893FA3FDA6E857EC216


(42)

Dari hasil diatas terlihat bahwa perbedaan bit yang dihasilkan pada ciphertext 1 dan ciphertext 2 adalah sebanyak 72 bit atau sekitar 56% dari besar blok (128 bit). Sedangkan untuk perubahan kunci satu bit akan ditunjukan pada hasil dibawah ini

Plaintext : 0000000000000000000000000000000016 Kunci 1

000000000000000000000000000000000000000000000000000000000000000016 Kunci 2

100000000000000000000000000000000000000000000000000000000000000016 Ciphertext 1 8F5FBD0510D15FA893FA3FDA6E857EC216

Ciphertext 2 11395D4BFE4C8258979EE2BF2D24DFF416

Dari hasil tersebut tampak bahwa perbedaan kunci satu bit menghasilkan perbedaan bit sebesar 64 bit atau sekitar 50% dari besar blok (128 bit).

3.5Proses Kombinasi

Ada empat kombinasi dalam proses enkripsi dan dekripsi pengembangan algoritma tersebut.

3.5.1 Proses Kombinasi Pertama RC5 dan RC5

Tahapan enkripsi digunakan untuk mengubah plainteks menjadi cipherteks agar pesan tidak dapat dibaca oleh orang yang tidak berhak. Tahapan ini dimulai dari proses penginputan kunci simetris dengan menggunakan algoritma RC5, Setelah kunci diinputkan kemudian dilanjutkan ke proses penginputan plainteks.

Proses selanjutnya penerima pesan melakukan proses dekripsi terhadap cipherteks tersebut dengan algoritma RC5, dan hasil dari proses dekripsi tersebut masih berbentuk cipherteks dan di kirim kembali kepada penerima pesan. Penerima pesan melakukan proses dekripsi kembali terhadap cipherteks yang diterima dari pengirim Dan hasil dari proses enkripsi tersebut berbentuk cipherteks juga. Cipherteks tersebut dikirim kembali oleh penerima pesan kepada pengirim pesan.


(43)

pesan, algoritma yang digunakan yaitu RC5 untuk proses dekripsi nya sehingga menghasilkan sebuah plainteks. Flowchart dari proses kombinasi pertama RC5

dengan RC5 block Cipher digambarkan pada gambar 3.7.1

Pass 1 Pass 3

Pass 2

Gambar 3.5.1 Flowchart Kombinasi Pertama RC5 dengan RC5

3.5.2 Proses Kombinasi Kedua RC6 dan RC6

Pada proses kombinasi yang kedua si pengirim pesan menggunakan algoritma RC6

untuk proses enkripsi dan dekripsi dan si penerima pesan juga menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi serta masing-masing pihak tidak berbagi kunci enkripsi. Pada tahapan yang pertama dalam kombinasi yang kedua ini, dimana si pengirim pesan akan menggunakan algoritma RC6 untuk melakukan proses enkripsi pesan. Dalam proses tersebut pesan, plainteks akan dienkripsi dengan kunci

Cipherteks

A

Cipherteks di enkripsi dengan RC5

Input kunci -2 Start

Input Plainteks, Kunci -1

Plainteks di enkripsi dengan RC5

Cipherteks

Stop Plainteks

Cipherteks di dekripsi dengan RC5

Cipherteks

Cipherteks di dekripsi dengan RC5


(44)

yang di inputkan oleh si pengirim pesan kemudian melakukan proses enkripsi dengan menggunakan algoritma RC6 dan menghasilkan sebuah cipherteks

Setelah pengirim pesan menerima cipherteks tersebut, maka akan dilakukan proses dekripsi pertama terhadap cipherteks tersebut dengan menggunakan algoritma

RC6, hasil dari proses dekripsi pertama masih berbentuk cipherteks dan dikirim kembali kepada penerima pesan. Untuk proses selanjutnya si penerima pesan akan melakukan proses dekripsi yang kedua dengan menggunakan algoritma RC6 dan hasil dekripsi yang kedua ini akan menghasilkan sebuah plainteks. flowchart dari proses kombinasi Kedua RC6 dengan RC6 digambarkan pada gambar 3.7.2

Pass 1

Pass 3

Pass 2

Gambar 3.5.2 Flowchart Kombinasi kedua RC6 dengan RC6

3.5.3 Proses Kombinasi Ketiga RC5 dengan RC6

Pada proses kombinasi yang ketiga dimana pihak pengirim pesan menggunakan algoritma RC5 untuk proses enkripsi dan dekripsi sedangkan penerima pesan

Cipherteks

B

Cipherteks di enkripsi dengan RC6

Input kunci -2 Start

Input Plainteks, Kunci -1

Plainteks di enkripsi dengan RC6

Cipherteks

Stop

Plainteks

Cipherteks di dekripsi dengan RC6

Cipherteks

Cipherteks di dekripsi dengan RC6


(45)

menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi. Pada proses pertama dalam kombinasi ketiga ini pengirim pesan melakukan penginputan plainteks dan kunci nya, lalu menggunakan algoritma RC5 untuk mengubah plainteks menjadi cipherteks.

Untuk proses selanjutnya pengirim pesan melakukan proses dekripsi terhadap cipherteks yang dikirim oleh penerima pesan dan algoritma yang digunakan dalam proses dekripsi ini yaitu algoritma RC, selanjutnya penerima pesan melakukan dekripsi kembali terhadap cipherteks tersebut dengan menggunakan algoritma RC6

dan hasil dari proses dekripsi tersebut berupa plainteks yang merupakan pesan yang dapat dipahami atau dimengerti. Flowchart dari proses kombinasi Ketiga RC5 dengan

RC6 digambarkan pada gambar 3.7.3

Pass 1

Pass 3

Pass 2

Gambar 3.5.3 Flowchart Kombinasi Ketiga RC5 dengan RC6

Stop

Plainteks

Cipherteks di dekripsi dengan RC6

Cipherteks

Cipherteks di dekripsi dengan RC5

C

Cipherteks

C

Cipherteks di enkripsi dengan RC6

Input kunci -2 Start

Input Plainteks, Kunci -1

Plainteks di enkripsi dengan RC5


(46)

3.5.4 Proses Kombinasi Keempat RC6 dengan RC5

Kombinasi yang keempat ini merupakan kebalikan dari kombinasi ketiga dimana pada proses kombinasi keempat si pengirim pesan menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi sedangkan si penerima pesan menggunakan algoritma

RC5 untuk proses enkripsi dan dekripsi pesan. Pada kombinasi keempat ini untuk proses pertama pengirim pesan menginputkan kunci dan plainteksnya dan menggunakan algoritma RC6 untuk mengubah plainteks tersebut menjadi cipherteks dan mengirimkan nya kepada penerima pesan.

Flowchart dari proses kombinasi Keempat RC6 dengan RC5 digambarkan pada gambar 3.7.4

Pass 1

Pass 3

Pass2

Gambar 3.5.4 Flowchart Kombinasi Keempat RC6 dengan RC5

Cipherteks

D

Cipherteks di enkripsi dengan RC5

Input kunci -2 Start

Input Plainteks, Kunci -1

Plainteks di enkripsi dengan RC6

Cipherteks

Stop

Plainteks

Cipherteks di dekripsi dengan RC5

Cipherteks

Cipherteks di dekripsi dengan RC6


(47)

3.6 Perbandingan RC5 dengan RC6

Beberapa perbedaan mendasar antara RC5 dengan RC6.

1. RC6 menggunakan 4 register berukuran b/4-bit, sedangkan RC5 menggunakan 2 register berukuran b/2-bit, dengan b menyatakan panjang blok. RC6 menggunakan 4 register karena dirancang untuk memenuhi spesifikasi AES, yaitu kemampuan beroperasi dalam mode 128 bit. Dengan 4 register kerja, maka besar masing-masing register kerja yang diperlukan hanya 32 bit (4 × 32 = 128 bit)

2. RC6 memiliki operasi primitif tambahan, yaitu perkalian integer. Operasi perkalian ini digunakan untuk meningkatkan penyebaran bit yang dicapai setiap ronde. Hal ini tentunya berakibat pada tidak diperlukannya banyak ronde untuk mencapai tingkat penyebaran bit yang optimal, sehingga meningkatkan kecepatan pemrosesan.

3. RC6 menggunakan fungsi transformasi f(x) = x(2x + 1) (mod 2w) yang kemudian diikuti oleh rotasi ke kiri sebanyak 5 bit untuk menentukan banyaknya bit yang akan dirotasi dalam setiap ronde.

Pemilihan fungsi transformasi ini adalah demi memberikan RC6 ketahanan terhadap serangankriptanalisis diferensial. Fungsi kuadrat yang digunakan dapat memberikan tingkat penyebaran bit yang lebih cepat yang oleh karena itu akan memungkinkan RC6 menggagalkan proses menemukan karakteristiknya. Selain itu, dengan menggunakan fungsi kuadrat, maka RC6 dapat mengurangi sifat linearitas yang dapat dieksploitasi dalam kriptanalisis linear. Selain itu, rotasi sebanyak 5 bit yang mengikuti fungsi kuadrat juga memiliki peran dalam meningkatkan kompleksitas penyerangan RC6 dengan kriptanalisis diferensial dan kriptanalisis linear.

3.7 Perancangan Program

Perancangan program pada penelitian ini menggunakan dua algoritma yaitu RC5 dan

RC6. Pada form rancangan terdapat dua kelompok yaitu kelompok pengirim pesan dan kelompok penerima pesan, dimana untuk pengirim dan penerima pesan dapat menggunakan algoritma RC5 atau RC6 dalam proses enkripsi dan dekripsi. Pada kelompok pengirim pesan untuk proses pertama dapat memilih algoritma yang digunakan, RC6 atau RC5, kemudian dapat menginputkan pesan untuk dienkripsi


(48)

beserta kunci enkripsi nya. Untuk proses selanjutnya kita dapat memilih tombol enkripsi untuk melakukan proses enkripsi pada pesan tersebut sehingga menghasilkan sebuah cipherteks. Tampilan cipherteks terletak pada kolom hasil, dan selanjutnya cipherteks tersebut dapat dikirim kepada penerima pesan.

Pada rancangan program ini terdapat tombol kirim yang berfungsi untuk mengirim pesan, tombol tersebut berada pada kelompok pengirim pesan dan penerima pesan. Jadi dalam rancangan program ini untuk proses pengiriman tidak mengikutsertakan kunci enkripsinya tetapi hanya mengirimkan pesan saja. Program ini juga memiliki tombol dekripsi yang berfungsi untuk mengembalikan cipherteks manjadi plainteks. Pada kelompok penerima pesan juga sama dengan pengirim pesan untuk tampilan desain form nya serta fungsinya.

3.8 Proses Analisis

Proses analisis merupakan bagian dalam perancangan suatu sistem agar sistem yang dirancang sesuai dengan perencanaan. Tujuan dari proses analisis yaitu agar sistem yang dirancang menjadi tepat guna dan ketahanan dari sistem terjaga. Disamping itu dengan dilakukannya analisis dapat mempermudah dalam membuat sistem dan apabila ada perbaikan atau penambahan dalam sistem tersebut, akan lebih mudah untuk menyelesaikannya. Berikut ini akan dijelaskan mengenai cara mengkombinasikan kedua algoritma tersebut secara sederhana dalam suatu kasus.

3.10.1 Analisis Kombinasi Enkripsi

Pada proses kombinasi yang pertama pengirim pesan menggunakan algoritma RC5

untuk proses enkripsi dan dekripsi dan penerima pesan menggunakan algoritma RC6

dalam proses enkripsi dan dekripsi. Dalam algoritma RC5 yang pertama kita tentukan yaitu plainteks yang akan kita enkripsi serta kunci enkripsinya.

RC6 lebih akurat ditetapkan sebagai RC6-w/r/b mana kata ukuran adalah w bit, enkripsi terdiri dari sejumlah nonnegatif dari putaran r dan b menunjukkan panjang kunci enkripsi byte. Sejak pengajuan AES ditargetkan pada w = 32 dan r = 20, kita akan menggunakan RC6 sebagai singkatan untuk merujuk seperti versi. Ketika nilai lain dari w atau r dimaksudkan dalam teks, nilai parameter dapat ditentukan sebagai


(49)

RC6-w / r. dari relevansi khusus untuk usaha AES akan menjadi versi RC6 dengan 16 ,24 - dan kunci 32-byte. Untuk semua varian, RC6-w/r/b beroperasi pada unit empat kata w-bit menggunakan mengikuti operasi dasar.

3.10.2 Analisis Kombinasi Dekripsi

Pada tahapan ini proses dekripsi dilakukan dua kali berturut turut , dimana untuk penerima pesan menggunakan algoritma RC6 dan pengirim pesan menggunakan algoritma RC5.

3.11 Implementasi Program

Block diagram dari program implementasi secara umum algoritma RC6 yang akan dibuat diperlihatkan pada gambar 3.2 Pertama-tama yang dilakukan adalah inisialisasi data asli. Data ini akan disandikan/dienkripsi dengan menggunakan algoritma RC6 kemudian hasilnya akan di tampilkan, dari data yang telah disandikan akan dikembalikan ke data asli dengan proses dekripsi. Proses enkripsi/dekrispi memerlukan masukan/input key yaitu berupa karakter ASCII. Key input digunakan untuk masukan baik sebelum enkripsi maupun dekripsi. Operasi key dimasukan sebagai kunci untuk proses dekripsi atau pengubahan data sandi ke data asli, data yang disandikan tidak dapat dikembailkan ke data asli jika kita tidak mempunyai kunci atau


(50)

BAB 4

HASIL DAN PEMBAHASAN 4.1 Pengantar

Pada bab ini akan dijelaskan mengenai hasil penelitian yang dilakukan penulis terhadap kombinasi RC5 dengan RC, dari hasil penelitian tersebut dapat ditarik suatu kesimpulan, kombinasi yang mana yang paling aman untuk proses enkripsi dan dekripsi pesan. Dalam penelitian ini kombinasi yang lakukan ada empat jenis. Untuk kombinasi yang pertama pengirim pesan menggunakan algoritma RC5 untuk proses enkripsi dan dekripsi pesan dan penerima pesan menggunakan algoritma RC5 untuk proses enkripsi dan dekripsi pesan. Untuk kombinasi yang kedua, dimana pengirim pesan menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi pesan sedangkan penerima pesan menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi pesan. Dalam kombinasi yang ketiga pengirim pesan menggunakan algoritma

RC5 untuk enkripsi dan dekripsi pesan, sedangkan penerima pesan menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi pesan. Kombinasi yang terakhir adalah kebalikan dari kombinasi yang ketiga, untuk proses enkripsi dan dekripsi pesan pengirim menggunakan algoritma RC6, sedangkan penerima pesan menggunakan algoritma RC5 untuk proses enkripsi dan dekripsi pesan.

4.2 Hasil Simulasi

Empat kombinasi yang diteliti dalam penelitian ini akan disimulasikan menggunakan program yang telah penulis rancang. Sehingga hasil simulasi dari masing-masing kombinasi tersebut dapat terlihat hasilnya. Berikut ini adalah hasil simulasi dari empat kombinasi yang penulis teliti .


(51)

4.2.1 Hasil Simulasi Kombinasi Pertama

Pada bab ini dilakukan proses ujicoba terhadap pesan teks dengan menggunakan kombinasi pertama dimana untuk proses enkripsi dan dekripsi pengirim pesan menggunakan algoritma RC5 dan penerima pesan juga menggunakan algoritma RC5

untuk proses enkripsi dan dekripsi pesan.

1. Pesan teks dienkripsi dengan menggunakan algoritma RC5

Gambar 4.1 Hasil Proses Enkripsi Pertama dengan Algoritma RC5

2. Hasil dari proses enkripsi pertama masih berbentuk cipherteks, setelah proses enkripsi dengan algoritma RC5 selesai, kemudian cipherteks tersebut dikirim kepada penerima pesan tanpa mengikutsertakan kunci enkripsi nya. Untuk proses selanjutnya penerima pesan melakukan proses enkripsi kembali terhadap cipherteks tersebut dengan menggunakan algoritma RC5.


(52)

3. Hasil dari proses enkripsi dengan RC5 tersebut dikirim kembali kepada pengirim pesan tanpa mengikutsertakan kunci enkripsinya. Kemudian pengirim pesan melakukan proses dekripsi dengan menggunakan algoritma RC5.

Gambar 4.3 Hasil Proses Dekripsi Pertama dengan RC5

4. Hasil dari proses dekripsi dengan RC5 yang dilakukan oleh pengirim pesan masih berbentuk cipherteks. Kemudian pengirim pesan mengirim kembali pesan yang masih berbentuk cipherteks tersebut kepada penerima pesan, dan akhirnya penerima pesan dapat membaca isi pesan tersebut setelah melakukan proses dekripsi yang kedua dengan algoritma RC5.


(53)

4.2.2 Hasil Simulasi Kombinasi Kedua

Dalam kombinasi yang kedua ini pengirim pesan dan penerima pesan menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi pesan, dan masing – masing pihak tidak akan mengirimkan kunci enkripsinya.

1. Pesan teks dienkripsi dengan menggunakan RC6

Gambar 4.5 Hasil Proses Enkripsi Pertama dengan RC6

2. Untuk proses selanjutnya cipherteks tersebut dikirim kepada penerima pesan. Setelah diterima oleh si penerima pesan, cipherteks tersebut dienkripsi kembali oleh penerima pesan dengan menggunakan algoritma RC6 dengan kunci yang berbeda dan hasil dari proses enkripsi kedua ini dikirim kembali kepada pengirim pesan.


(54)

3. Setelah pengirim pesan menerima cipherteks tersebut, untuk proses selanjutnya dilakakukan proses dekripsi pertama dengan menggunakan algoritma RC6.

Gambar 4.7 Hasil Proses Dekripsi Pertama dengan RC6

4. Proses dekripsi yang dilakukan oleh pengirim pesan dan hasilnya masih berbentuk cipherteks. Kemudian pengirim pesan mengirim kembali cipherteks tersebut kepada penerima pesan. Untuk proses selanjutnya penerima pesan mendekripsi kembali cipherteks tersebut dengan algoritma

RC6 dan hasil dekripsi tersebut berbentuk plainteks atau pesan aslinya.


(1)

ada tiga proses pengiriman pesan. Dari empat kombinasi ini akan diteliti keamanan pesan berdasarkan proses pengiriman yang paling aman dan ditentukan satu kombinasi yang paling aman diantara empat kombinasi tersebut. Adapun pembahasan tersebut akan dijelaskan pada sub bab dibawah ini.

4.3.1 Kombinasi Algoritma RC6 dengan RC5

Pada kombinasi ini algoritma yang digunakan yaitu RC6, algoritma RC6 dikenal lebih kuat terhadap serangan dibandingkan dengan RC5. Pengirim dan penerima pesan pada kombinasi ini menggunakan algoritma RC5 untuk proses enkripsi dan dekripsi di dalam pengembangan algoritma RC6. Sehingga pesan akan lebih terjaga kerahasiannya dengan menggunakan algoritma RC6 512 Bit dalam proses pengiriman pesan dan algoritma yang digunakan tidak mudah dipecahkan oleh kriptanalis.

Proses enkripsi pertama menggunakan algoritma RC5, kemudian hasil dari proses tersebut dikirim kepada penerima pesan tanpa mengikutsertakan kunci enkripsinya. Keamanan dalam proses pengiriman pesan pertama lebih terjaga, karena algoritma RC5 menggunakan banyak kunci dalam melakukan proses enkripsi. Untuk proses selanjutnya pesan tersebut di enkripsi kembali dengan menggunakan algoritma yang sama yaitu RC5, kemudian hasil dari proses tersebut dikirim kembali kepada pengirim pesan. Dalam proses pengiriman pesan yang kedua lebih aman, karena pesan di enkripsi dua kali dengan dua kunci yang berbeda. Setelah pesan diterima oleh pengirim dilakukan proses dekripsi, kemudian pesan dikirim kembali kepada penerima pesan. Pada proses pengiriman yang ketiga, pesan juga lebih aman terhadap serangan karena pesan masih berbentuk cipherteks dan algoritma yang digunakan yaitu algoritma RC5. Untuk kelemahan kombinasi yang pertama ini sangat kecil karena algoritma yang digunakan penerima dan pengirim pesan memilki daya tahan yang cukup kuat terhadap serangan para kriptanalis.

4.3.2 Kombinasi Algoritma RC6 dengan RC6

Kombinasi yang kedua dalam penelitian ini menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi. RC6 merupakan algoritma kriptografi simetris dimana kunci


(2)

enkripsi harus sama dengan kunci dekripsinya. Tetapi saat ini algoritma tersebut tidak digunakan karena dianggap rentan terhadap serangan, sehingga dilakukan kombinasi antara algoritma RC6 dengan.. Dengan kombinasi tersebut algoritma RC6 lebih tahan terhadap serangan para kriptanalis dibandingkan berdiri sendiri tanpa adanya kombinasi dan algoritma RC6 tetap dapat digunakan dalam proses pengiriman pesan. Kelemahan dari kombinasi yang kedua ini yaitu pada saat proses pengiriman pesan pertama dan ketiga. Pesan masih rentan terhadap serangan karena hanya menggunakan satu buah kunci enkripsi saja dan algoritma yang digunakan sangat mudah dipecahkan oleh para kriptanalis. Dibandingkan dengan proses pengiriman pesan yang kedua, pesan sangat aman karena menggunakan dua kunci enkripsi. Sehingga keamanan pesan untuk kombinasi yang kedua ini masih kurang baik.

4.3.3 Kombinasi Algoritma RC5 dengan RC6

Kombinasi ketiga ini menggunakan algoritma RC5 dan RC6 untuk proses enkripsi dan dekripsi pesan. Pengirim pesan menggunakan algoritma RC5 untuk proses enkripsi dan dekripsi sedangkan penerima pesan menggunakan algoritma RC6 untuk proses enkripsi dan dekripsi. Algoritma RC5 merupakan turunan dari RC6 sedangkan algoritma RC6 merupakan algoritma tertua yang dianggap rentan terhadap serangan, Kelemahan dari kombinasi ketiga ini yaitu pada saat proses pengiriman pesan yang ketiga, sebab pesan terakhir dikirim oleh pengirim kepada penerima pesan pesan pada proses pengiriman pesan yang ketiga. Untuk proses pengiriman pesan pertama dan kedua lebih aman, karena proses pengiriman pertama menggunakan algoritma yang lebih tahan terhadap serangan kriptanalis. Pada proses kedua keamanan pesan lebih kuat lagi, karena pesan di enkripsi dengan dua kunci yang berbeda dan algoritma yang berbeda. Keamanan proses pengiriman pesan dari kombinasi ketiga ini lebih kuat dibandingkan dengan kombinasi yang kedua.

4.3.4 Kombinasi Algoritma RC6 dengan RC5


(3)

menggunakan RC5. Dalam kombinasi ini penerima menggunakan algoritma yang lebih kuat dibandingkan dengan pengirim pesan, karena algoritma RC6 lebih kuat terhadap serangan dibandingkan dengan RC5.

Kelemahan dari kombinasi ini yaitu pada proses pengiriman pesan yang pertama. Karena pesan pertama dienkripsi dengan RC6, dimana RC5 lebih rentan terhadap serangan dibandingkan dengan RC6. Untuk proses pengiriman pesan yang kedua lebih aman, karena pesan dienkripsi dua kali berturut-turut dengan kunci yang berbeda dan algoritma yang berbeda juga. Sedangkan proses pengiriman pesan yang ketiga sangat aman dibandingkan dengan yang pertama, karena menggunakan algoritma yang tahan terhadap serangan. Keamanan dari kombinasi yang keempat ini lebih kuat dibandingkan dengan kombinasi kedua dan ketiga.

4.3.5 Analisa Hasil

Setelah dilakukan pembahasan terhadap empat kombinasi yang diteliti, maka dapat diambil kesimpulan bahwa proses kombinasi algoritma RC5 dan RC6 tidak bisa dilakukan karena masing masing mempunyai kelebihan dan kekurangan, Dalam algoritma enkripsi, panjang kunci yang biasanya dalam ukuran bit, juga menentukan kekuatan dari enkripsi. Kunci yang lebih panjang biasanya lebih aman daripada kunci yang pendek. Jadi enkripsi dengan menggunakan kunci 128-bit lebih sukar dipecahkan dengan algoritma enkripsi yang sama tetapi memiliki kunci 56-bit. Semakin panjang sebuah kunci, semakin besar keyspace yang harus dijalani untuk mencari kunci dengan cara brute force attack atau coba-coba karena key space yang harus dilihat merupakan pangkat bilangan dari 2. Jadi kunci 128-bit memiliki keyspace 2128, sedangkan kunci 56-bit memiliki keyspace 256. Artinya semakin lama kunci baru bisa ditemukan.


(4)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut:

1. RC6 adalah algoritma enkripsi dengan model private key/kunci pribadi yang mempunyai key.

2. Algoritma RC6 merupakan block cipher dengan ukuran block hingga128 bit dan parameter yaitu RC6-w/r/b dengan nilai w=32 sebagai ukuran kata dalam bit, r=20 sebagai banyaknya iterasi/round dan b ukuran kunci yang bervariasi antara 16, 24 dan 32 byte.

3. Dengan menggunakan panjang kunci yang berbeda pada proses enkripsi yang dilakukan pada file yang sama, waktu proses tidakmengalami perubahan yang besar.

4. Dibandingkan dengan algoritma RC5, maka algoritma RC6 merupakanalgoritma enkripsi yang lebih simple, fast, and secure.

5.2 Saran

Berikut adalah saran-saran untuk pengembangan lebih lanjut terhadap penelitian ini: 1. Penelitian ini dapat dikembangkan lagi dengan menambahkan avalanche

effect dan jaringan Feistal.

2. Penggunaan karakter dalam penelitian ini dapat dikembangkan lagi dengan menambahkan set karakter yang umum digunakan dalam proses enkripsi dan dekripsi pesan.


(5)

DAFTAR PUSTAKA

Abdul Hamid M. Ragab, Nabil A. Ismail, Senior Member IEEE, and Osama S. Farag Allah, 2005, Enhancements and Implementation of RC6 Block Cipher for Data Security.

Abdurohman, 2002. Analisis Performansi Algoritma Kriptografi RC6. Fakultas Teknologi Informasi, T. Elektro, ITB. Bandung,

Gil-Ho Kim, Jong-Nam Kim, Gyeong-Yeon Cho, Dept of Computer Engineering PuKyong National Univ, 2005, An improved RC6 algorithm with the same structure of encryption and decryption.

H.E.H.Ahmed, H.M. Kalash and O.S. Farag Allah, Department of Electronics & Communication Eng., Faculty of Electronic Engineering, Menouf-32952, Egypt 2001, Encryption Efficiency Analysis and Security Evaluation of RC6 Block Cipher for Digital Images

Nawal A. El-Fishawy, Osama M Abou Zaid, 2000. Modifikasi dari RC6 cipher blok (MRC6)

Nawal A. El-Fishaw, Talat E. El-Danaf , 2000, A Modification Of Rc6tm Block cipher algorithm for data security (mrc6).

Kurniawan, 2004. Kriptografin Keamanan Internet dan Jaringan Komunikasi. Bandung: Informatika Bandung,

Kaliski, B. S., Yin, Y. L. (1998) On the Security of the RC5 Encryption Algorithm. RSA Laboratories.

Rudianto, Jurusan Teknik Informatika ITB, Bandung 2009, Analisis Keamanan Algoritma Kriptografi RC6.

Moolin,A.R.2007. An Introduction to Cryptography. Second Edition.taylor & Francis Group.LLC

Schneir,B.1996.Aplied Cryptography. Second Edition. Springer-Verlag.

Rivest, R. L., Robshaw M.J.B, Sydney, R., Yin, Y. L. (1998) The RC6™ Block Chiper. RSA Laboratories

Rivest, R. L. (1997) The RC5 Encryption Algorithm. MIT Laboratory for Computer Science


(6)

Singh, Y. K, 2011. A Simple, Fast And Secure Cipher. ARPN Journal of Engineering and Applied Sciences.Vol 6 No.10, 61-69.

Sivagurnathan, G and Purusothaman, T, 2011. Reduction of Key Search Space of Vigenere Cipher Using Particle Swarm Optimization. Journal of Computer Science.Vol 7 No11, 1633-1638.

Sokouti, M., Sokouti, B., Pashazadeh.S and Mohammad, K.L, 2010. FPGA Implementation of improceed version of the Vigenere Cipher.Indian Journal of Science and Technologi.Vol 3 No.4, 459-462.

Yudi Prayudi dan Idham Halik, 2005, Studi Dan Analisis Algoritma Rivest Code 6 (Rc6) Dalam Enkripsi/Dekripsi Data.