Tinjauan Pustaka T1 672008313 Full text

2

1. Latar Belakang masalah

Pemakaian teknologi komputer sebagai salah satu aplikasi dari teknologi informasi sudah menjadi suatu kebutuhan, karena banyak pekerjaan yang dapat diselesaikan dengan cepat, akurat, dan efisien. Kemajuan teknologi memicu kebutuhan informasi yang semakin besar. Sayangnya kebutuhan informasi yang besar ini berdampak pada kebutuhan storage media penyimpanan yang semakin besar pula. Storage yang besar tentu saja membutuhkan cost harga yang besar dan kecepatan akses data yang semakin lambat. Untuk mengatasi masalah storage dan kecepatan akses, salah satunya dengan mengkompresi informasi yang disimpan. Kompresi file adalah sebuah cara yang bertujuan untuk menulis ulang suatu file supaya menjadi lebih ringkas namun informasi yang terdapat di dalam file aslinya tidak mengalami kerusakan atau pengurangan. Salah satu algoritma yang dapat digunakan untuk mengkompresi suatu file adalah algoritma Huffman Tree Perkembangan teknik telekomunikasi dan sistem pengolahan data berkaitan erat dengan komunikasi antar pengguna komputer yang satu dengan komputer yang lain yang berfungsi untuk menyalurkan data sehingga masalah keamanan merupakan salah satu aspek penting dari suatu informasi. Dalam komunikasi data terdapat sebuah metode pengamanan data yang dikenal dengan nama kriptografi. Kriptografi merupakan salah satu metode pengamanan data yang dapat digunakan untuk menjaga kerahasiaan data, keaslian data, serta keaslian pengirim. Salah satu jenis algoritma yang dapat digunakan untuk menyandikan pesan teks adalah algoritma GOST. GOST merupakan singkatan dari “Gosudarstvennyi Standard” atau “Government Standard”. Algoritma GOST memiliki jumlah proses sebanyak 32 round dan menggunakan 64 bit block cipher dengan panjang kunci 256 bit. Metoda GOST juga menggunakan 8 buah S-Box yang permanen dan operasi XOR serta Rotate Left Shift. Berdasarkan uraian tersebut, akan dibuat suatu aplikasi dengan Algoritma GOST untuk melakukan proses enkripsi dan dekripsi data. Penelitian mengambil topik “Perancangan dan Implementasi Aplikasi Kriptosistem Data File Terkompresi Menggunakan Algoritma GOST ”.

2. Tinjauan Pustaka

Penelitian sebelumnya yang terkait dalam penelitian ini, dengan judul “Perancangan Program Aplikasi Pengamanan Data Menggunakan Algoritma GOST 34.11, GOST 28147, d an Steganografi GLM”, menyatakan bahwa algoritma GOST 34.11 yang dapat menghasilkan message digest sebagai sidik jari pesan, akan menyediakan otentikasi, untuk mengetahui apakah pesan yang diterima adalah pesan yang asli, dan belum diubah selama proses pengiriman, Algoritma GOST 28147 dimana kunci yang digunakan pada proses enkripsi sama dengan kunci dekripsi. Sedangkan, steganografi GLM digunakan untuk melakukan proses embedd dan extract kunci simetris [1]. Penelitian lainnya membahas “Perancangan Perangkat Lunak Pembelajaran Kriptografi Untuk Pengamanan Record denga n Metode GOST”. Aplikasi yang dibuat adalah dengan merancang aplikasi pengamanan record dengan metode GOST, merancang aplikasi pembelajaran dengan metode CAI Computer Assisted Instucion. Pengujian pada penelitian ini adalah dengan data text dan record [2]. 3 Berdasarkan penelitian yang pernah dilakukan tentang penerapan algoritma GOST, maka dilakukan penelitian yang membahas perancangan dan implementasi algoritma GOST. Dalam penelitian ini, sebelum penerapan algoritma GOST, yaitu proses enkripsi data teks dan data image, terlebih dahulu data dikompresi dengan algoritma Huffman. Penelitian ini akan menganalisis ukuran file setelah mengalami proses kompresi dan dekompresi, serta proses enkripsi dan dekripsi. Algoritma GOST GOST merupakan singkatan dari “Gosudarstvennyi Standard” atau “Government Standard”. Metoda GOST merupakan suatu algoritma block cipher yang dikembangkan oleh seorang berkebangsaan Uni Soviet. Metoda ini dikembangkan oleh pemerintah Uni Soviet pada masa perang dingin untuk menyembunyikan data atau informasi yang bersifat rahasia pada saat komunikasi. Algoritma GOST merupakan suatu algoritma enkripsi sederhana yang memiliki jumlah proses sebanyak 32 round putaran dan menggunakan 64 bit block cipher dengan 256 bit key. Metoda GOST juga menggunakan 8 buah S-Box yang berbeda-beda dan operasi XOR serta Left Circular Shift [3]. Proses Pembentukan Kunci Proses pembentukan kunci dapat dilihat pada penjabaran berikut ini :  Input key berupa 256 bit key dengan perincian k1, k2, k3, k4, …, k256.  Input key tersebut dikelompokkan dan dimasukkan ke dalam 8 buah KSU dengan aturan seperti berikut, K1 = k32, …, k1 K2 = k64, …, k33 K3 = k96, …, k65 K4 = k128, …, k97 K5 = k160, …, k129 K6 = k192, …, k161 K7 = k224, …, k193 K8 = k256, …, k225 Proses Enkripsi Proses enkripsi dengan metoda GOST untuk satu putaran iterasi, dapat dilihat pada penjabaran berikut ini, 1. 64 bit plaintext dibagi menjadi 2 buah bagian 32 bit, yaitu L i dan R i . Caranya : Input a10, a20, …, a320, b10, …, b320 R0 = a32 0, a310, …, a10 L0 = b320, b310, …, b10 2. R i + K i mod 2 32 . Hasil dari penjumlahan modulo 2 32 berupa 32 bit. 3. Hasil dari penjumlahan modulo 2 32 dibagi menjadi 8 bagian, dimana masing- masing bagian terdiri dari 4 bit. Setiap bagian dimasukkan ke dalam tabel S- Box yang berbeda, 4 bit pertama menjadi input dari S-Box pertama, 4 bit kedua menjadi S-Box kedua, dan seterusnya. S-Box yang digunakan pada metoda GOST terlihat pada Tabel 1. 4 Tabel 1 S-Box dari Metoda GOST [3] Tabel S-Box 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 S-Box 0 4 10 9 2 13 8 14 6 11 1 12 7 15 5 3 S-Box 1 14 11 4 12 6 13 15 10 2 3 8 1 7 5 9 S-Box 2 5 8 1 13 10 3 4 2 14 15 12 7 6 9 11 S-Box 3 7 13 10 1 8 9 15 14 4 6 12 11 2 5 3 S-Box 4 6 12 7 1 5 15 13 8 4 10 9 14 3 11 2 S-Box 5 4 11 10 7 2 1 13 3 6 8 5 9 12 15 14 S-Box 6 13 11 4 1 3 15 5 9 10 14 7 6 8 2 12 S-Box 7 1 15 13 5 7 10 4 9 2 3 14 6 11 8 12 Cara melihat dari S-Box yaitu input biner diubah menjadi bilangan desimal dan hasilnya menjadi urutan bilangan dalam S-Box. Tabel 2 Penjelasan Cara Kerja S-Box dari Metoda GOST [3] Posisi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 S-Box 1 4 10 9 2 13 8 14 6 11 1 12 7 15 5 3 Contoh, jika data input ke S-Box adalah 5 maka dicari data pada posisi ke- 5. Output yang dihasilkan adalah 8. 4. Hasil yang didapat dari substitusi ke S-Box dan digabungkan kembali menjadi 32 bit dan kemudian dilakukan rotasi left shift sebanyak 11 bit. 5. R i+1 = R i hasil dari rotate left shift XOR L i . 6. L i+1 = R i sebelum dilakukan proses. Proses Dekripsi Proses dekripsi merupakan proses kebalikan dari proses enkripsi. Penggunaan kunci pada masing-masing putaran pada proses dekripsi adalah sebagai berikut, Putaran 1 – 8 : K1, K2, K3, …, K8 Putaran 9 – 16 : K8, K7, K6, …, K1 Putaran 17 – 24 : K8, K7, K6, …, K1 Putaran 25 – 32 : K8, K7, K6, …, K1 Algoritma yang digunakan untuk proses dekripsi sama dengan proses enkripsi dengan aturan untuk langkah 5 dan 6 pada putaran ke-31 adalah sebagai berikut, R32 = R31 sebelum dilakukan proses. L32 = R31 XOR L31. Plaintext yang dihasilkan pada proses dekripsi adalah, L32 = b32, b31, …, b1 R32 = a32, a31, …, a1 P = a1, …, a32, b1, …, b32 Kompresi Data Kompresi data pemampatan data merupakan pengurangan ukuran suatu data menjadi ukuran yang lebih kecil dari aslinya. Kompresi data ini sangat menguntungkan manakala terdapat suatu data yang berukuran besar dan di dalamnya mengandung banyak pengulangan karakter. Adapun teknik dari kompresi ini adalah dengan mengganti karakter yang berulang-ulang tersebut 5 dengan suatu pola tertentu sehingga berkas tersebut dapat meminimalisasi ukurannya. Kompresi data umumnya diterapkan pada mesin komputer, hal ini dilakukan karena setiap simbol yang dimunculkan pada komputer memiliki nilai bit-bit yang berbeda. Kompresi data digunakan untuk mengurangkan jumlah bit- bit yang dihasilkan dari setiap simbol yang muncul. Dengan kompresi ini diharapkan dapat mengurangi memperkecil ukuran data dalam ruang penyimpanan [4]. Algoritma Huffman Algoritma Huffman termasuk ke dalam kelas yang menggunakan metode statik. Metode statik adalah metode yang selalu menggunakan peta kode yang sama, metode ini membutuhkan dua fase two-pass: fase pertama untuk menghitung probabilitas kemunculan tiap simbolkarakter dan menentukan peta kodenya, fase kedua untuk mengubah pesan menjadi kumpulan kode yang akan ditransmisikan. Sedangkan berdasarkan teknik pengkodean simbol yang digunakan, algoritma Huffman menggunakan metode symbolwise. Metoda symbolwise adalah metode yang menghitung peluang kemunculan dari setiap simbol dalam satu waktu, dimana simbol yang lebih sering muncul diberi kode lebih pendek dibandingkan simbol yang jarang muncul [5]. Pembentukan Pohon Huffman Kode Huffman pada dasarnya merupakan kode prefiks prefix code. Kode prefiks adalah himpunan yang berisi sekumpulan kode biner, dimana pada kode prefiks ini tidak ada kode biner yang menjadi awal bagi kode biner yang lain. Kode prefiks biasanya direpresentasikan sebagai pohon biner yang diberikan nilai atau label. Untuk cabang kiri pada pohon biner diberi label 0, sedangkan cabang kanan pada pohon biner diberi label 1. Rangkaian bit yang terbentuk pada setiap lintasan dari akar ke daun merupakan kode prefiks untuk karakter yang berpadanan. Pohon biner ini biasa disebut pohon Huffman [6].

3. Metode dan Perancangan Sistem