Perbandingan Algoritma LOKI, GOST, Dan Blowfish Yang Merupakan Kelompok Dari Algorima Block Cipher
Total Page:16
File Type:pdf, Size:1020Kb
Perbandingan Algoritma LOKI, GOST, dan Blowfish yang Merupakan Kelompok dari Algorima Block Cipher Yongke Yoswara - 13508034 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia [email protected] Abstrak—Saat ini begitu banyak algoritma kriptografi karakter. Namun dengan semakin banyaknya penggunaan modern. Algoritma kriptografi modern beroperasi dalam komputer dijital, maka kriptografi modern beroperasi mode bit (berbeda dengan algoritma kriptografi klasik yang dalam mode bit (satuan terkecil dalam dunia dijital). beroperasi pada mode karakter). Ada 2 jenis algoritma yang Walaupun menggunakan mode bit, algoritma dalam beroperasi pada mode bit, yaitu stream cipher dan block cipher. Dalam block cipher, ada 5 prinsip perancangan, yaitu kriptografi modern tetap menggunakan prinsip substitusi : Prinsip Confusion dan Diffusion, Cipher berulang, dan transposisi yang sebenarnya telah digunakan sejak Jaringan Feistel, Kunci lemah, Kotak-S. Jaringan Feistel kriptografi klasik. banyak dipakai pada algoritma DES, LOKI, GOST, Feal, Algoritma kriptografi modern dapat dibagi menjadi Lucifer, Blowfish, dan lain-lain karena model ini bersifat dua, yaitu algoritma simetri dan kunci public. Algoritma reversible untuk proses dekripsi dan enkripsi. Sifat simetri adalah algoritma yang menggunakan kunci yang reversible ini membuat kita tidak perlu membuat algoritma baru untuk mendekripsi cipherteks menjadi plainteks. sama untuk proses enkripsi dan dekripsi. Algoritma simetri yang beroperasi pada mode bit itu sendiri dapat Kata Kunci—block cipher, jaringan feistel, reversible dibagi menjadi 2 jenis, yaitu stream cipher dan block cipher. Stream cipher adalah algoritma kriptografi yang beroperasi dalam bentuk bit tunggal. Sedangkan block I. PENDAHULUAN cipher beroperasi dalam bentuk blok-blok bit. Ada banyak jenis algoritma yang menggunakan stream Sekarang ini, teknologi berkembang sangat pesat. Hal cipher dan block cipher. Untuk stream cipher, beberapa serupa juga terjadi di dunia informatika. Perkembangan algoritma terkenal di antaranya adalah RC4, Seal, A5, dunia informatika sangat cepat. Kemajuan dunia Oryx, dll. sedangkan dalam block cipher, beberapa informatika juga mengakibatkan semakin berkembangnya algoritma terkenal di antaranya DES, Blowfish, Twofish, teknologi informasi. Salah satu hal yang penting dalam LOKI, GOST, dan masih banyak lagi. teknologi informasi adalah nilai dari informasi itu sendiri. GOST merupakan algoritma block cipher yang Nilai dari sebuah informasi sangat penting untuk sebagian beroperasi pada mode 64 bit. Panjang kunci dalam orang yang tidak ingin isi dari informasi tersebut algoritma ini adalah 256 bit. diketahui oleh orang yang tidak berhak melihatnya. Ada beberapa macam versi untuk algoritma LOKI, di Informasi itu disebarkan melalui media komunikasi yang antaranya adalah LOKI89, LOKI91, LOKI97. Sejak tidak dapat kita ketahui dengan pasti keamanannya. pertama kali dibuat, LOKI terus diperbaiki sehingga Banyak media komunikasi yang tidak dapat menjamin menghasilkan beberapa versi dari algoritma LOKI. LOKI keamanan data yang disalurkan melalui media tersebut. menggunakan blok data 64 bit dan kunci sepanjang 64 bit Contoh media komunikasi yang berkembang pesat pula. sekarang ini adalah internet. Algoritma Blowfish adalah sebuah algoritma yang Oleh karena tidak adanya kepastian tentang keamanan ditujukan untuk diimplementasikan pada sebuah suatu informasi yang disalurkan melalui media mikroprosesor berskala besar. Algoritma blowfish sendiri komunikasi, maka diperlukan metode yang dapat tidak dipatenkan sehingga dapat digunakan oleh orang digunakan untuk menjaga isi dari informasi tersebut. banyak. Algoritma ini beroperasi dengan ukuran blok Metode yang dimaksudkan adalah kriptografi. Kriptografi sebesar 64 bit. Kunci yang digunakan dalam algoritma adalah sebuah seni dan bidang keilmuan dalam Blowfish sepanjang 32 sampai 388 bit. penyandian informasi atau pesan dengan tujuan menjaga II. CIPHER BLOCK keamanannya. Kriptografi sudah ada sejak jaman dahulu, namun seiring dengan berkembangnya teknologi, maka Cipher block adalah algoritma kriptografi modern krptografi ini juga semakin berkembang. Perkembangan yang beroperasi dalam brntuk blok bit. Biasanya plainteks kriptografi ini dimakudkan supaya tidak ada yang bisa akan dibagi ke dalam blok-blok bit yang mempunyai memecahkannya. panjang yang sama. Misalnya, kita akan melakukan Awal mulanya, kriptografi beroperasi dalam mode proses enkripsi pada sebuah plainteks yang panjangnya 64 Makalah IF3058 Kriptografi – Sem. II Tahun 2010/2011 bit, maka ketika kita menggunakan cipher block, akan digunakan untuk proses enkripsi dan dekripsi. Empat dihasilkan block cipherteks sepanjang 64 bit juga. Begitu mode tersebut adalah : juga dengan proses dekripsi. Apabila kita memiliki 1. Electronic Code Book (ECB) sebuah cipherteks sepanjang 128 bit yang terbagi ke 2. Cipher Block Chaining (CBC) dalam blok-blok kecil, maka akan dihasilkan plainteks 3. Cipher Feedback (CFB) dari proses dekripsi dengan panjang 128 bit. Kunci yang 4. Output Feedback (OFB) digunakan untuk melakukan enkripsi dan dekripsi Penggunaan mode tersebut tidak akan mengubah fungsi mempunyai panjang yang samadengan blok bit plainteks. enkripsi dan dekripsi yang telah ada. Proses enkripsi dengan kunci K dinyatakan secara II.1 ELECTRONIC CODE BOOK (ECB) formal dengan persamaan Mode ECB merupakan mode yang paling sederhana. E (P) = C K Pada mode ECB, setiap mode plainteks Pi dienkripsi Sedangkan persamaan yang menyatakan proses masing-masing dan terpisah menjadi cipherteks Ci. dekripsi dengan kunci K adalah Secara matematis,proses enkripsi dengan mode ini adalah D (C) = P K sebagai berikut : Fungsi E yang digunakan dalam proses enkripsi harus Ci = E (Pi) merupakan fungsi yang berkorespondensi satu-satu K Dan proses dekripsi sebagai berikut ; dengan fungsi D, sehingga Pi = D (Ci) E-1= D K Skema enkripsi dan dekripsi pada block cipher dapat dilihat pada gambar 1 Gambar 2 Gambar Proses Enkripsi pada Mode ECB Dalam hal ini, Pi dan Ci merupakan blok plainteks dan cipherteks ke – i. Gambar 1 Gambar Proses Enkripsi dan Dekripsi pada Block Cipher Pada block cipher, plainteks dibagi menjadi beberapa blok dengan panjang yang sama, yaitu sama dengan panjang kunci yang akan digunakan. Oleh sebab itu, ada kemungkinan sebuah plainteks tidak habis dibagi dengan panjang kunci / panjang ukuran blok yang ditetapkan. Hal ini mengakibatkan blok terakhir memiliki panjang lebih pendek daripada blok lainnya. kita dapat memberikan solusi, yaitu dengan padding. Yang dimaksud dengan padding adalah dengan menambahkan blok terakhir Gambar 3 Gambar Proses Dekripsi pada Mode ECB dengan pola bit yang teratur hingga panjang blok terakhir itu sama dengan panjang blok lainnya. Pola bit teratur ini Keuntungan dari mode ini adalah kesalahan satu bit misalnyaditambahkan bit 0 semua, atau bit 1 semua, atau pada satu blok hanya akan mempengaruhi blok cipherteks bit 0 dan 1 secara bergantian. yang berkoresponden dengan blok plainteks tersebut. Ukuran blok yang digunakan umumnya 64 bit atau 128 Kelemahan mode ini adalah sebuah plainteks akan bit. Akan tetapi ada beberapa algoritma block cipher yang dienkripsi menjadi sebuah cipherteks yang identic. menggunakan ukuran blok yang berbeda. Ukuran blok 64 Dengan demikian, mode EBC ini tidak dapat bit biasanya digunakan untuk desain yang dirancang menyembunyikan pola dari data. Hal ini mengakibatkan sampai pertengahan tahun1990. Desain-desain yang baru mode EBC tidak mendukung message confidentially. umumnya menggunakan 128 bit. Ukuran kunci yang Oleh karena itu mode ini tidak disarankan untuk umumnya digunakan adalah 40, 56, 64, 80, 128, 192, dan digunakan sebagai protokol kriptografi. 256 bit. II.2 CIPHER BLOCK CHAINING (CBC) Pada algoritma kriptografi yang beroperasi dalam mode Pada mode CBC, ada mekanisme umpan balik pada bit ini, dikenal empat mode operasi dasar yang sering sebuah blok, yaitu blok plainteks sekarang current) akan Makalah IF3058 Kriptografi – Sem. II Tahun 2010/2011 di-XOR-kan dahulu dengan blok cipherteks hasil enkripsi mode ini dapat digunakan dalam komunikasi data. sebelumnya. Selanjutnya, hasil operasi XOR ini Apabila unit yang dienkripsi berupa satu karakter setiap dimasukkan ke dalam fungsi enkripsi. Jadi, pada mode kalinya, maka mode CFB ini disebut dengan CFB 8-bit. CBC, setiap blok cipherteks tidak hanya bergantung pada Mode ini membutuhkan sebuah antrian yang berukuran plainteksnya, tetapi juga bergantung dengan blok sama dengan ukuran blok masukan. Secara formal, proses plainteks lainnya. Proses dekripsi dilakukan dengan cara enkripsi mode CFB n-bit dapat dinyatakan sebagai memasukkan blok cipherteks current ke dalam fungsi berikut. dekripsi, kemudian meng-XOR-kan hasilnya dengan blok Ci= Pi ⊕MSBm ( EK(Xi)) cipkerteks sebelumnya. Xi+1= LSBm-n(Xi) || Ci Untuk blok pertama, digunakan Initial Vector(IV) Sedangkan proses dekripsi dapat dinyatakan sebagai sebagai pengganti cipherteks sebelumnya. Initial Vector berikut : dapat diberikan oleh pengguna atau dibangkitkan secara Pi= Ci ⊕MSBm( DK(Xi)) acak oleh aplikasi. Dengan adanya Intitial Vector ini Xi+1= LSBm-n(Xi) || Ci maka pesan menjadi unik. Keterangan rumus tersebut adalah sebagai berikut : Secara matematis, proses enkripsi pada mode CBC Xi = isi antrian dengan X1 adalah IV adalah sebagai berikut : E = fungsi enkripsi Ci=EK(Pi⊕Ci-1) K = kunci Sedangkan proses dekripsinya dapat dinyatakan dengan M = panjang blok enkripsi Pi=DK(Ci) ⊕Ci-1