2.5 Metoda MARS.
2.5.1 Sejarah Algoritma MARS.
MARS adalah cipher block yang didesain oleh tim dari IBM Corporation, yaitu Carolynn Burwick, Don Coppersmith, Edward D.Avignon, Rosario Gennaro, Shai
Halevi, Charanjit Jutla, Stephen M.Matyas, Jr., Luke O’Connor, Mohammad Peyravian, David Safford, dan Nevenko Zunic. MARS merupakan block cipher
dengan panjang blok 128 bit dan panjang kunci fleksible dari 128 bit sampai 499 bit. Algoritma ini bekerja dengan word
32 bit, dan menggunakan jaringan Feistel Feistel network tipe-3.
MARS menerima input dan menghasilkan output empat word 32 bit. Cipher ini berorientasi pada word, di mana semua operasi internalnnya bekerja
pada word 32 bit, sehingga struktur internal dari MARS adalah endian-neutral code yang sama dapat bekerja pada mesin little - endian maupun big - endian.
Jika input atau output cipher adalah byte stream, maka digunakan pengurutan little - endian byte untuk menginterpretasi masing masing empat byte sebagai
sebuah word 32 bit. Gambar 4, memperlihatkan skema dari MARS yang dibagi menjadi 3 fase. Fase pertama, Forward Mixing berisi pengacakan besar besaran
dan hujan kunci untuk membuat frustasi serangan chosen-plaintext.
Di dalam fase ini dilakukan penambahan word kunci ke word data, diikuti dengan delapan putaran berbasis S-Box. Fase kedua merupakan
Cryptographic Core inti kriptografi dari cipher ini, yang berisi 16 putaran transformasi dengan jaringan Feistel. Untuk memastikan enkripsi dan dekripsi
memiliki kekuatan yang sama, maka 8 putaran pertama dilakukan dengan forward mode sedangakan sisanya dengan backward mode. Fase terakhir, Backward
Missing operasi yang dilakukan hampir sama seperti fase pertama, namun merupakan kebalikan dari fase pertama. Fase ini bertujuan melindungi
cipher dari serangan chosen-ciphertext.
Universitas Sumatera Utara
Gambar 2.6 Algoritma MARS
2.5.2 Algoritma Enkripsi MARS.
Penelitian ini menggambarkan dan menganalisis MARS algoritma enkripsi simetris-key yang merupakan blok baru cipher diserahkan kepada NIST untuk
dipertimbangkan sebagai Advanced Encryption Standard AES. MARS mendukung blok 128-bit dan ukuran kunci variabel. Hal ini
dirancang untuk mengambil keuntungan dari kuat operasi didukung dalam komputer saat ini, menghasilkan banyak peningkatan keamanan trade off kinerja
Khususnya, dalam MARS kami menggunakan kombinasi yang unik dari lookup S-box, perkalian dan rotasi data-dependent. MARS memiliki struktur
heterogen, dengan kriptografi putaran inti yang dibungkus oleh putaran pencampuran sederhana. Putaran inti kriptografi memberikan kuat perlawanan
terhadap semua serangan cryptanalytical dikenal, sedangkan putaran pencampuran memberikan guguran baik dan menawarkan margin keamanan yang sangat luas
untuk menggagalkan sebelum diketahui serangan.
Universitas Sumatera Utara
2.5.2.1 Struktur Cipher Algoritma MARS.
Struktur cipher pada MARS dibagi dalam 3 tahap yakni :
1 Tahap Pertama
adalah Forward Mixing.
Berfungsi untuk mencegah serangan terhadap chosen plainlext. Terdiri dari
penambahan sub kunci pada setiap word data atau plaimezr, diikuti dengan
delapan iterasi mixing tipe-3 feitsal dalam forward mode dengan berbasis S-
box.
2 Tahap Kedua adalah
“ Cryptographic Core” dan “ Cipher ”.
Terdiri dari enam belas iterasi tranformasi kunci tipe-3 feistal. Untuk menjamin bahwa proses enkripsi dan dekripsi mempunyai
kekuatan yang sama, delapan iterasi pertama ditunjukkan
dalam forward mode dan delapan iterasi terakhir ada dalam “
backward mode”.
3 Tahap Terakhir Adalah
Backward Mixing.
Berfungsi untuk melindungi serangan kembali terhadap chosen chipertext.
Tahap ini merupakan invers dari tahap pertama, terdiri dari delapan iterasi mixing tipe-3 feistel dalam backward
mode dengan berbasis s-box, diikuti dengan pengurangan sub kunci dari word data. Hasil pengurangan inilah yang disebut
dengan ciphertext. Notasi yang digunakan dalam cipher: 1.
D[ ] adalah sebuah array untuk 4 32-bit data. Inisial D berisi plaintext dan pada akhir proses enkripsi berisi
ciphertext. 2.
K[ ] adalah array untuk expanded key, terdiri dari 40 32 bit word.
3. S [ ] adalah sebuah S-box, terdiri dari 512 32-bit word.
3 1 Tahap Pertama : Forward Mixing.
Dalam tahap ini, pertama-tama sebuah sub kunci ditambahkan pada setiap word data dari plaintext, dan kemudian dilakukan delapan iterasi mixing
tipe-3 feistel network dalam forward mode, dikombinasikan dengan operasi mixing tambahan.
Universitas Sumatera Utara
Dalam setiap iterasi digunakan sebuah word data source word untuk memodifikasi tiga word data target word.
Keempat byte source word digunakan sebagai indeks untuk S-box, kemudian nilai S-box entri akan di-XOR-kan, atau ditambahkan pada
ketiga word data yang lain. Keempat byte dari source word dinotasikan dengan b0, b1, b2, b3 dimana b0 adalah byte terendah dan b3 adalah byte
tertinggi dan digunakan sebagai indeks untuk S-box. S-box[b0] di-XOR- kan dengan target word pertama, dan S box[b1+256] ditambahkan dengan
target word yang sama. S box[b2] ditambahkan dengan target word kedua dan S
box[b3+256] di-XOR-kan dengan target word ketiga. Terakhir source word dirotasikan sebanyak 24 posisi ke kanan. Untuk iterasi berikutnya
keempat word data dirotasikan, sehingga target word pertama saat ini menjadi source word berikutnya, target word kedua saat ini menjadi target
word pertama berikutnya, target word ketiga saat ini menjadi target word kedua berikutnya dan source word saat ini menjadi target word ketiga
berikutnya.
3.2 Tahap Kedua: Transformasi Kunci Utama.