Twofish

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Lompat ke: navigasi, cari
Twofish
Twofishalgo.svg

Twofish merupakan algoritme kriptografi yang beroperasi dalam mode blok cipher berukuran 128 bit dengan ukuran kunci sebesar 256 bit, ukuran kunci yang besar ditujukan untuk meniadakan kemungkinan kunci lemah (weak-key). Algoritme Twofish sendiri merupakan pengembangan dari algoritme Blowfish. Perancangan Twofish dilakukan dengan memperhatikan kriteria-kriteria yang diajukan National Institute of Standards and Technology (NIST) untuk kompetisi Advanced Encryption Standard (AES), namun algoritme ini tidak terpilih sebagai basis standardisasi.

Tujuan dari perancangan Twofish yang selaras dengan kriteria NIST untuk AES adalah untuk membuat suatu algoritme kriptografi yang efisien dan portabel, rancangan yang fleksibel yang dapat menerima panjang kunci tambahan sehingga dapat diterapkan pada platform dan aplikasi yang sangat bervariatif serta cocok untuk cipher aliran, fungsi hash, dan MAC, serta rancangan yang sederhana agar memudahkan proses analisis dan implementasi algoritme.

Algoritme Twofish menggunakan struktur sejenis Feistel dalam 16 putaran dengan tambahan teknik whitening terhadap input dan output. Teknik whitening sendiri adalah teknik melakukan operasi XOR terhadap materi kunci sebelum putaran pertama dan sesudah putaran akhir. Elemen di luar jaringan feistel normal yang terdapat dalam algoritme twofish adalah rotasi 1 bit. Proses rotasi ini dapat dipindahkan ke dalam fungsi F untuk membentuk struktur jaringan Feistel yang murni, tetapi hal ini membutuhkan tambahan rotasi kata sebelum langkah output whitening.

Rujukan[sunting | sunting sumber]

  1. ^ Shiho Moriai, Yiqun Lisa Yin (2000). "Cryptanalysis of Twofish (II)" (PDF). Diakses pada 13 Agustus 2006.

Lihat pula[sunting | sunting sumber]