BAB 1 PENDAHULUAN 1.1. Latar Belakang Dewasa ini keamanan data dirasakan semakin penting, Keamanan pengiriman informasi melalui komputer menjadi bagian yang tidak terpisahkan dalam kehidupan sehari-hari. Seiring dengan peningkatan kepentingannya, banyak metode-metode yang ditemukan maupun diperluas penggunaannya. Diantara metode-metode tersebut terdapat metode yang hanya membutuhkan operasi matematika yang sederhana, tetapi juga terdapat metode yang melibatkan teori yang rumit dan sulit implementasinya. Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner, 1996 dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure). Saat ini telah banyak beredar program khusus proteksi data baik freeware, shareware, maupun komersial yang sangat baik. Pada umumnya program tersebut tidak hanya menyediakan satu metoda saja, tetapi beberapa jenis sehingga kita dapat memilih yang menurut kita paling aman. Salah satu metode enkripsi adalah public key Criptography. Sampai saat ini penulis memperhatikan telah banyak program proteksi data yang telah diterbitkan pada majalah Mikrodata ataupun Antivirus, tetapi jarang sekali yang cukup baik sehingga dapat dipercaya untuk melindungi data yang cukup penting dan masih memiliki beberapa kelemahan. Salah satu metode kriptografi yang terkenal adalah RC6 (Ron s Code 6) yang merupakan yang sederhana dan cepat sehingga mudah diaplikasikan untuk pengamanan data. ini biasanya dipakai untuk mengacak plain teks. Implementasi baru RC6 dapat dipakai untuk melakukan pengacakan terhadap citra. Sehingga citra asli
2 setelah diacak dengan block chipper ini menjadi citra yang tidak beraturan lagi. Citra tersebut setelah diacak dapat dikirim kepada orang yang berhak lewat jaringan terbuka seperti Internet. Ini bertujuan agar citra tidak dapat dibuka dan jatuh ketangan pihak yang tidak berkepentingan. RC6 memiliki struktur yang sederhana dan deskripsi relatif terhadap cipher blok yang lainnya. RC6 adalah salah satu finalis untuk Advanced Encryption Standard. Ini terdiri dari dua jaringan Feistel Data yang dicampur melalui data yang rotasi tergantung. Operasi dalam satu putaran RC6 adalah sebagai berikut: aplikasi dua mengkuadratkan fungsi f (x) (2x + 1) mod 232, dua rotasi 32-bit tetap, dua data tergantung rotasi 32-bit, dua eksklusif-ors dan dua penambahan modulo 232. Sebuah versi dari RC6 yang lebih akurat ditetapkan sebagai RC6-w/r/b dimana kata ukuran adalah w bit, enkripsi terdiri dari sejumlah non-negatif putaran r, dan b menunjukkan panjang kunci enkripsi dalam byte. RC6 adalah perpanjangan evolusi dari RC5 cipher blok, yang menerima banyak perhatian karena desainnya yang bahkan sederhana daripada RC6 dimana RC5 bekerja pada dua 32-bit kata, RC6 diperluas ke operasi pada empat kata 32-bit. Struktur sederhana relatif RC5 telah memungkinkan untuk beberapa mudah analisis dan namun tampaknya bahwa 16 putaran RC5 masih menolak semua serangan yang dikenal dengan baik. Desain RC6 lebih kompleks dari pada RC5 dan akibatnya analisis cipher mendapat lebih terlibat. Pada bagian ini, untuk mengevaluasi efisiensi RC6 blok cipher untuk aplikasi ke gambar digital. Jadi, RC6 blok cipher diterapkan beberapa gambar digital. Sebelum enkripsi / dekripsi, kita terlebih dahulu harus mengekstrak header image agar gambar bemeasurement. Citra yang digunakan adalah skala gambar abu-abu - Lena dan cman, masing-masing ukuran 256 x 256, skala abu-abu (0-255) sebagai gambar asli (plain images) dan menggunakan RC6-32/20/16 ( H.E.H. Ahmed, H.M. Kalash&O.S. Farag Allah 2007). RC6 algoritma memiliki struktur Feistel dimodifikasi dan disajikan secara simbolis sebagai RC6-w/r/b. w berarti 32 bit sebagai ukuran kata, r menunjukkan jumlah putaran. Jika ukuran blok adalah 128 bit, maka r, jumlah, adalah 20. b berarti 16 byte sebagai jumlah kunci. (Kim, G.-H., Kim, J.-N., & Cho, G.-Y. 2009). Algoritma RC6 merupakan salah satu kandidat Advanced Encryption Standard (AES) yang diajukan oleh RSA Laboratoriest kepada NIST. Dirancang oleh
3 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) Dari hasil studi analisis dan implementasi algoritma RC6 untuk enkripsi dan dekripsi data dapat diambil beberapa kesimpulan, yaitu RC6 adalah algoritma enkripsi dengan model private key/kunci pribadi yang mempunyai key dekripsi sama dengan key enkripsi, 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, Algoritma RC6 terdiri dari 3 bagian yaitu key setup, whitening dan ciphering, Waktu proses enkripsi dan deskripsi tergantung pada besarnya file yang akan dienkripsi/dekripsi. Hal ini disebabkan oleh efek cache dan efek penanganan file (file handling) oleh sistem operasi. Ukuran file pada proses enkripsi/dekripsi mengalami sedikit perubahan, hal ini dikarenakan terjadinya proses padding. Dengan menggunakan panjang kunci yang berbeda pada proses enkripsi yang dilakukan pada file yang sama, waktu proses
4 tidak mengalami perubahan yang besar. Dibandingkan dengan algoritma RC4 dan Blowfish, maka algoritma RC6 merupakan algoritma enkripsi yang lebih sederhana, cepat dan aman (Yudi Prayudi & Idham Halik, 2005). RC6 merupakan metode enkripsi baru yang menggunakan mode blok yang dasar operasinya merupakan pengembangan dari metode RC5. Perancangan metode RC6 didasari oleh pertimbangan dari metode RC5 adalah kandidat yang sangat potensial untuk ditetapkan sebagai AES (Advanced Encryption Standart). Untuk memenuhi persyaratan dan kebutuhan yang ditentukan oleh AES, maka metode RC5 dikembangkan menjadi RC6 untuk meningkatkan kemanan dan performa serta memenuhi persyaratan kebutuhan dari AES (Ronald L. Rivest, 1998). Salah satu kebutuhan AES, sebuah metode enkripsi harus dapat menangani blok input/output dengan ukuran 128bit. Dikarenakan RC5 menggunakan dua buah blok register dalam operasi nya, maka tiap register akan memiliki ukuran 64bit. Namun arsitektur dan bahasa yang dispesifikasikan belum mendukung operasi 64bit dengan efektif dan efisien, oleh karena itulah RC5 kemudian dikembangkan menggunakan empat buah blok yang masing-masing memiliki ukuran 32bit yang kemudian muncullah metode RC6 (Ronald L. Rivest, 1998). Dari hasil analisis diatas RC6 merupakan metode chipper blok yang menggunakan blok register sebanyak empat buah blok dengan ukuran masing-masing sebesar 32bit. Dengan kata lain setiap blok akan menyimpan empat karakter. Pada citra digital tiap pixel terdiri dari tiga komponen yaitu R, G, dan B. Jika tiga komponen tersebut digabungkan dalam sebuah blok maka blok tersebut akan memiliki data dengan ukuran 24bit atau tiga karakter. Secara default kekurangan bit pada tiap blok akan diisi oleh bit dari pixel berikut nya sehingga tiap blok akan memiliki ukuran yang sesuai yaitu 32bit. Permasalahan yang terjadi adalah jika jumlah pixel tidak sesuai dengan pembagian blok sehingga diperlukan adanya padding, jika padding terjadi maka ukuran data hasil enkripsi akan berubah yang berpengaruh pada ukuran citra yang akan berubah dan akan menjadi sulit sekali dalam penyusunan kembali data hasil enkripsi ke dalam bentuk citra. Untuk mengatasi permasalahan tersebut maka diusulkan modifikasi algoritma RC6 dengan spesifikasi sebagai berikut : 1. Tiap blok register A, B, C, dan D memiliki ukuran 24bit.
5 2. Nilai konstanta p dan q untuk expansi kunci: P24 = b7e151 Q24 = 9e3779 1.2. Rumusan Masalah Sesuai dengan latar belakang sebelumnya, maka yang menjadi masalah yang akan dikerjakan dan diselesaikan adalah: 1. Pada citra digital tiap pixel terdiri dari tiga komponen yaitu R, G, dan B. Secara default kekurangan bit pada tiap blok akan diisi oleh bit dari pixel berikut nya sehingga tiap blok akan memiliki ukuran yang sesuai yaitu 32bit. 2. Apabila jumlah pixel tidak sesuai dengan pembagian blok sehingga terjadi padding. Akibatnya ukuran data hasil enkripsi akan berubah. Hal ini berpengaruh terhadap ukuran citra yang akan berubah dan akan menjadi sulit sekali dalam penyusunan kembali data hasil enkripsi ke dalam bentuk citra. 1.3. Tujuan Penelitian Tujuan dari penelitian ini adalah untuk mengembangkan bagian kelemahan RC6 pada ukuran file image agar tidak terjadi perubahan ukuran file di file image atau padding dan menambah pengetahuan lebih lanjut mengenai cara kerja kriptografi RC6 yang sudah dikembangkan dan aplikasinya dalam mengacak file citra dengan menyandikan bagian RGB dari citra tersebut. Manfaat dari penelitian ini agar tulisan ini dapat berfungsi sebagai literature kriptografi RC6 sedangkan implementasinya berupa program alternatif yang dapat digunakan untuk menyandikan citra sehingga saat citra akan dikirim tidak dapat digunakan oleh pihak yang tidak berkepentingan. 1.4. Ruang Lingkup Penelitian Dalam penelitian ini, penulis melakukan studi pustaka dengan membahas suatu topik yang berhubungan dengan Algoritma RC6, pengolahan citra dan kriptografi.