Twofish: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Ariyus (bicara | kontrib)
Tidak ada ringkasan suntingan
InternetArchiveBot (bicara | kontrib)
Add 1 book for Wikipedia:Pemastian (20231209)) #IABot (v2.0.9.5) (GreenC bot
 
(21 revisi perantara oleh 13 pengguna tidak ditampilkan)
Baris 1:
__NOTOC__ <!-- Hanya memiliki satu bagian teks -->
Twofish merupakan algoritma yang beroperasi dalam mode block. Algoritma Twofish sendiri merupakan pengembangan dari algoritma Blowfish. Perancangan Twofish dilakukan dengan memperhatikan kriteria-kriteria yang diajukan National Institute of Standards and Technology (NIST) untuk kompetisi Advanced Encryption Standard (AES). Tujuan dari perancangan Twofish yang selaras dengan kriteria NIST untuk AES adalah sebagai berikut:
{{kotak info metode enkripsi
| nama = Twofish
| gambar = Twofishalgo.svg
| ukuran gambar = 350px
| takarir = Algoritme Twofish
| pendesain = [[Bruce Schneier]]{{break}}[[John Kelsey]], [[Doug Whiting]], [[David A. Wagner|David Wagner]], [[Chris Hall]], dan [[Niels Ferguson]]
| tanggal publikasi = 1998
| seri =
| turunan dari = [[Blowfish (penyandian)|Blowfish]], [[SAFER]], [[Square (penyandian)|Square]]
| penerus =
| terkait = [[Threefish]]
| sertifikasi = Finalis AES
| ukuran digest =
| ukuran kunci = 128, 192, atau 256 bit
| klaim keamanan =
| ukuran blok = 128 bit
| ukuran status =
| struktur = [[Sandi Feistel|Jaringan Feistel]]
| ronde = 16
| analisis = [[Analisis kriptografi diferensial terpangkas]] membutuhkan sekitar 2<sup>51</sup> teks asal terpilih.<ref name=moriai2000>{{cite journal |author1=Ship Moriai |author2=Yiqun Lisa Yin |author2-link= Yiqun Lisa Yin |title=Cryptanalysis of Twofish (II) |year=2000 |url=http://www.schneier.com/twofish-analysis-shiho.pdf |access-date=14 Januari 2013}}</ref> [[Analisis kriptografi diferensial tak mungkin]] memecahkan enam dari enam belas ronde untuk kunci berukuran 256 bit dalam 2<sup>256</sup> langkah.<ref name=niels1999>{{cite journal |author=Niels Ferguson |title=Impossible differentials in Twofish |date=5 Oktober 1999 |url=https://www.schneier.com/paper-twofish-impossible.html |format=[[PDF]] |access-date=14 Januari 2013}}</ref>
}}
'''Twofish''' merupakan [[algoritme]] [[penyandian blok]] [[kunci simetris]] dengan ukuran blok 128 [[bit]] dan ukuran kunci hingga 256 bit. Algoritme ini termasuk lima finalis kontes [[Standar Enkripsi Lanjutan|AES]], tetapi tidak terpilih sebagai standar. Algoritme ini berkaitan dengan penyandian [[Blowfish (penyandian)|Blowfish]].
 
Tujuan dari perancangan Twofish yang selaras dengan kriteria NIST untuk AES adalah untuk membuat suatu algoritme kriptografi yang efisien dan [[portabel]]. Rancangan yang fleksibel dapat menerima panjang kunci tambahan sehingga dapat diterapkan pada berbagai platform dan aplikasi serta cocok untuk [[penyandian aliran]], fungsi [[hash]], dan MAC. Rancangan yang sederhana memudahkan proses analisis dan implementasi algoritme.
 
Pada tahun 2000-an, pada berbagai platform, Twofish sedikit lebih lambat daripada Rijndael (algoritme AES terpilih) untuk kunci 128 bit, tetapi lebih cepat untuk kunci 256 bit. Namun, setelah pemilihan AES, Twofish semakin lebih lambat daripada Rijndael pada prosesor yang mendukung [[set instruksi AES]].<ref>{{cite journal |author1=Bruce Schneier |author2=Doug Whiting |title=A Performance Comparison of the Five AES Finalists |date=7 April 2000 |url=https://www.schneier.com/paper-aes-comparison.html |format=[[PDF]]/[[PostScript]] |access-date=14 Januari 2013}}</ref>
# Merupakan cipher blok dengan kunci simetri dan blok sepanjang 128 bit.
# Panjang kunci yang digunakan adalah 128 bit, 192 bit. Dan 256 bit.
# Tidak mempunyai kunci lemah.
# Efisiensi alogoritma, baik pada Intel Pentium Pro dan perangkat lunak lainnya dan platform perangkat keras.
# Rancangan yang fleksibel. Rancangan yang fleksibel ini dapat diartikan misalnya dapat menerima panjang kunci tambahan, dapat diterapkan pada platform dan aplikasi yang sangat variatif, serta cocok untuk cipher aliran, fungsi hash, dan MAC.
# Rancangan yang sederhana agar memudahkan proses analisis dan implementasi algoritma.
 
Algoritme Twofish menggunakan struktur [[Sandi Feistel|jaringan Feistel]] dengan 16 putaran dan tambahan teknik [[Transformasi pemutihan|pemutihan]] terhadap masukan dan keluaran. Teknik pemutihan 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 Feistel (F) untuk membentuk struktur jaringan Feistel yang murni, tetapi hal ini membutuhkan tambahan rotasi kata sebelum langkah pemutihan keluaran.
 
Penyandian Twofish belum [[Paten|dipatenkan]] dan acuan implementasinya telah dipublikasikan di bawah [[domain publik]]. Hasilnya, algoritme Twofish dibebaskan kepada siapa pun untuk dipakai tanpa batasan tertentu. Ia termasuk ke dalam penyandian yang dimasukkan dalam standar [[OpenPGP]] (RFC 4880). Namun, Twofish masih kalah tenar daripada [[Blowfish (penyandian)|Blowfish]] yang telah tersedia lebih lama.
Selain kriteria-kriteria yang telah disebutkan di atas, pada Twofish ditambahkan kriteria performansi sebagai berikut:
 
== Rujukan ==
{{reflist}}
 
== Bacaan lebih lanjut ==
# Menerima kunci dengan panjang berapapun hingga 256 bit
* {{cite paper |author=Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, dan Niels Ferguson |title=The Twofish Encryption Algorithm |date=15 Juni 1998 |url=http://www.schneier.com/paper-twofish-paper.html |format=[[PDF]]/[[PostScript]] |access-date=4 Maret 2007}}
# Mengenkripsikan data dalam waktu kurang dari 500 clock cycles per blok pada Intel Pentium, Pentium # Pro, dan Pentium II, untuk versi algoritma yang teroptimasi sepenuhnya.
* {{cite book |authors=Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, dan Niels Ferguson |title=The Twofish Encryption Algorithm: A 128-Bit Block Cipher |url=https://archive.org/details/isbn_9780471353812 |publisher=[[John Wiley & Sons]] |date=22 Maret 1999 |location=[[New York]] |isbn=0-471-35381-7}}
# Mampu untuk membentuk sebuah kunci 128 bit (untuk kecepatan enkripsi yang optimal) dalam waktu yang kurang dari waktu yang dibutuhkan untuk mengenkripsikan 32 blok pada Pentium, Pentium Pro, dan Pentium II.
# Tidak menggunakan operasi-operasi yang membuat Twofish tidak efisien pada mikroprosesor selain 32 bit, mikroprosesor 8 bit, dan mikroprosesor 16 bit. Twofish juga tidak menggunakan operasi-operasi yang dapat mengurangi efisiensinya pada mikroprosesor 64 bit.
 
== Lihat pula ==
[http://belajarsandi.blogspot.com/2008/11/algoritma-twofish.html]
* [[Blowfish]]
* [[Threefish]]
* [[Standar Enkripsi Data]] (DES)
* [[Standar Enkripsi Lanjutan]] (AES)
 
{{kriptografi blok}}
 
[[Kategori:Algoritme kriptografi]]