Kamis, 29 Oktober 2009


Mutant algorithm salah satu Block Cipher

Semester empat di kampus saya mendapatkan mata kuliah Block Cipher selama satu semester. Block cipher merupakan ilmu yang perlu diketahui oleh seluruh mahasiswa, karena persandian sekarang kebanyakan menggunakan sistem block cipher. Dosen yang mengajar saya bisa dikatakan baik, sehingga selama satu semester sangat menikmati pelajaran tersebut. Selama mata kuliah, kelas teknik rancang bangun digabung dengan kelas manajemen persandian.

Pada akhir mata kuliah ini, kelas gabungan tersebut di beri tugas semacam projek akhir untuk membuat suatu desain block. Komposisinya adalah kelas gabungan itu harus bercampur dalam pembagian kelompoknya. Pada saat itu, saya satu kelompok dengan Magdalena dan Maulana. Di akhir semester kita mulai merancang projek tersebut. Dengan mengambil salah satu projek block cipher salah satu senior saya, itu dijadikan suatu dasar untuk menyelesaikan projek ini.

Projek akhir ini bisa kami selesaikan selama kurang lebih satu bulan. Dengan berbagai hambatan, tetapi semangat bisa mengalahkannya. Bahasan kali ini, saya akan memberikan projek akhir mata kuliah Block cipher yang kami beri nama MUTANT ALGORITMA, yang berasal dari singkatan Muka Tampan..hehehe... Okeh kita mulai aja yah..:)

Abstraksi


Dalam paper ini akan kami kenalkan mengenai algoritma block cipher Mutant. Algoritma pada block cipher mutant menggunakan basic arsitektur Feistel Network dengan memberi sedikit modifikasi dari arsitektur RC6. Feistel Network membagi plain text ke dalam beberapa blok dan melakukan penukaran letak blok dalam setiap roundnya, akan memberikan efek confusi dan difusi yang baik pada cipher yang dihasilkan. Algoritma mutant menggunakan 64 bit yang dipecah menjadi 4 blok. Selain itu terdapat operasi lain seperti penjumlahan dan exclusive¬OR. Operasi yang sederhana ini memiliki kerandoman yang cukup layak.


Keyword : Mutant.

1. Pendahuluan

Hal-hal yang perlu diperhatikan dalam mendesain sebuah cipher text terdapat prinsip-prinsip yang harus ada pada cipher text, yaitu menjamin tersedianya efek confusi dan difusi yang baik. Konsep Shannon yang berasal dari pakar kriptografi, Massey, yang sering digunakan hingga saat ini, yaitu confusi dan difusi yang baik sebagai berikut; Confusi : “Statistik dari ciphertext sebaiknya bergantung pada statistic plaintext secara kompleks agar menyulitkan upaya kriptanalis dalam mengexploitasi”. Difusi : “Setiap digit dari plaintext dan setiap digit dari secret key sebaiknya mempengaruhi banyak digit pada ciphertext.

Mutant block cipher didesain untuk memenuhi syarat umum seperti yang telah disebutkan. Desain Mutant blok cipher merupakan hasil adopsi dan modifikasi dari RC6 block cipher. RC6 merupakan salah satu block cipher yang tingkat ketangguhaannya sudah teruji. Dengan pengembangan dari RC5, RC6 memanfaatkan salah satu kekuatan RC5 yaitu pada data­dependent rotation. Pada algoritma Mutant ini, tidak menggunakan datadependent rotation. Selain itu, RC6 yang merupakan konsumen dari AES memanfaatkan operasi tersebut untuk meminimalkan pemakaian memory sehingga secara operasional akan efisien tetapi tidak mengurangi kekuatan kriptografisnya. Mutant block cipher memanfaatkan hal tersebut untuk memberi efek difusi pada ciphernya.

Feistel­ network merupakan arsitektur block cipher yang sudah teruji kekuatannya dan siap untuk dilakukan enkripsi maupun dekripsi. Feistel­ network yang aman harus memenuhi sifat :
1.Tidak memiliki hubungan yang sederhana
2.Seluruh kunci yang digunakan bagus
3.Resisten terhadap Diferential Cryptanalysis
4.Resisten terhadap Linear Cryptanalysis

Mutant block cipher menggunakan beberapa operasi aritmatika dasar yang dikombinasikan sehingga terlihat kompleks dalam strukturnya. Sebab itu, karena operasi yang digunakan sederhana maka dalam implementasi software diharapkan akan menghasilkan kecepatan proses yang cukup tinggi. Karena keterbatasan sumber daya penulis, maka kecepatan proses tersebut masih belum diketahui. Penulis percaya bahwa dengan membuat software yang efisien dan efektif akan memberi kecepatan proses algoritmanya.

2. Notasi

Operasi dasar aritmatika yang digunakan dalam mendesain Mutant block cipher dapat dilambangkan dengan notasi sebagai berikut ;
- a + b , penjumlahan integer dengan mod 216
- a – b , pengurangan integer dengan mod 216
- ab , bitwise exclusive ­OR
- <<< , rotasi

3. Deskripsi Algoritma,


Pada subbab ini akan dijelaskan mengenai Algoritma Mutant. Algoritma Mutant yang menggunakan basic struktur feistel memisahkan proses key­schedulling dengan proses enkripsi­-dekripsi. Dengan proses key­ schedulling yang telah dibuat terpisah, maka subkey dapat dihasilkan terlebih dahulu sebelum output berupa ciphertext.

3.1. Key schedulling
Key schedulling atau penjadwalan kunci merupakan salah satu bagian yang harus diperhatikan dalam sebuah algoritma kriptografi block. Pembangkitan subkunci yang buruk akan dapat memunculkan celah bagi kriptanalis untuk menganalisis kunci dari sebagian kunci lainnya agar didapatkan fix key untuk mendekript cipher text. Pembangkitan(generating) kunci dipengaruh oleh seberapa kuat fungsi-fungsi yang membentuknya agar diperoleh kunci yang bersifat acak (random).

Pada Mutant block cipher dengan inputan kunci 64 bit dengan menggunakan fungsi LFSR(Linear Feedback Shift register) 4 stages, dimanafeedback yang digunakan dianggap sudah memenuhi sifat primitif, akan menghasilkan periode maksimum, tepatnya . Kunci yang digunakan akan dipisahkan menjadi 64 buah blok subkey, yang setiap subkeynya berisi 16 bit yang siap untuk di operasikan. Dalam menghasilkan rangkaian kunci, LFSR ini menggunakan sebuah nilai yang diambil dari salah satu sbox AES berukuran 16 bit yang dinamakan platinum_Number. Nilai dari platinum_Number yang diberikan adalah 0x9e37.

Setelah subkey terbentuk sebanyak 64 blok, tiap 4 blok subkey akan dipakai dalam setiap round. Sehingga Aloritma Mutant akan terdapat 16 round dalam proses enkripsi/dekripsi.


Gambar. Fungsi LFSR sebagai key generator

3.2. Enkripsi

Pada subbab ini merupakan penjelasan dari algoritma Mutant. Plaintext berukuran 64 bit akan dipecah menjadi 4 blok plain text, kemudian dengan kunci 64 bit yang di generate menggunakan LFSR yang fungsi feedbacknya primitive sehingga akan menghasilkan sebanyak rangkaian bit kunci yang akan di kelompokkan menjadi 16 blok subkey, dimana setiap blok subkey terdiri dari 16 bit dengan proses 16 round. Setiap round hanya terdiri dari operasi dasar aritmatika sederhana, permutasi, dan substitusi. Pada substitusi box(s-box), algoritma Mutant menggunakan s-box AES, dimana s-box tersebut sudah terbukti sangat kuat dan memenuhi sifat confusi yang amat baik.


Gambar. Skematik Mutant Algorithm

4. Kesimpulan dan Saran

4.1 Kesimpulan
1. Algoritma ini sebagai block cipher sederhana.
2. Penggabungan konsep RC6 sebagai enkripsi dan LFSR sebagai pembangkit kunci, membuat algoritma ini memiliki kerandoman yang baik secara teoritis.

4.2 Saran
1. Perlu dilakukan analisis agar diketahui kelemahan dari algoritma ini.
2. Modifikasi untuk menambah kekuatan algoritma perlu dilakukan.


Tidak ada komentar:

Posting Komentar

Terima kasih atas komentar Anda :)

Komentar