Blowfish (penyandian): Perbedaan antara revisi
perbaikan artikel; penambahan templat |
Fitur saranan suntingan: 3 pranala ditambahkan. Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala |
||
(2 revisi perantara oleh 2 pengguna tidak ditampilkan) | |||
Baris 19: | Baris 19: | ||
| analisis = Empat ronde Blowfish rentan terkena [[serangan diferensial]] derajat dua.<ref name=rijmen1997>{{cite journal |author=Vincent Rijmen |author-link=Vincent Rijmen |year=1997 |title=Cryptanalysis and Design of Iterated Block Ciphers |work=Disertasi doktor |url=https://www.cosic.esat.kuleuven.be/publications/thesis-4.ps |format=[[PostScript]] |url-status=live |archive-url=https://web.archive.org/web/20130508181935/http://www.cosic.esat.kuleuven.be/publications/thesis-4.ps |archive-date=8 Mei 2013}}</ref> Untuk [[kunci lemah]], empat belas ronde Blowfish dapat dibedakan dari [[permutasi acak semu]].<ref>{{cite journal |last=Vaudenay |first=Serge |date=Februari 1996 |title=On the weak keys of Blowfish |journal=International Workshop on Fast Software Encryption |pp=27-32 |location=Berlin |publisher=Springer}}</ref> |
| analisis = Empat ronde Blowfish rentan terkena [[serangan diferensial]] derajat dua.<ref name=rijmen1997>{{cite journal |author=Vincent Rijmen |author-link=Vincent Rijmen |year=1997 |title=Cryptanalysis and Design of Iterated Block Ciphers |work=Disertasi doktor |url=https://www.cosic.esat.kuleuven.be/publications/thesis-4.ps |format=[[PostScript]] |url-status=live |archive-url=https://web.archive.org/web/20130508181935/http://www.cosic.esat.kuleuven.be/publications/thesis-4.ps |archive-date=8 Mei 2013}}</ref> Untuk [[kunci lemah]], empat belas ronde Blowfish dapat dibedakan dari [[permutasi acak semu]].<ref>{{cite journal |last=Vaudenay |first=Serge |date=Februari 1996 |title=On the weak keys of Blowfish |journal=International Workshop on Fast Software Encryption |pp=27-32 |location=Berlin |publisher=Springer}}</ref> |
||
}} |
}} |
||
'''Blowfish''' merupakan [[algoritme]] [[penyandian blok]] [[kunci simetris]] yang dirancang pada tahun [[1993]] oleh [[Bruce Schneier]] untuk menggantikan [[DES]]. Pada saat itu, banyak sekali rancangan algoritme yang ditawarkan. Namun, hampir semua terhalang oleh [[paten]] atau kerahasiaan pemerintah Amerika Serikat. Schneier menyatakan bahwa Blowfish bebas paten dan akan berada dalam domain publik. Dengan pernyataan Schneier tersebut, Blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritme kriptografi yang cepat, kuat, dan tidak terhalang oleh [[lisensi]].<ref name=blowfishPaper>{{cite journal |author=Bruce Schneier |author-link=Bruce Schneier |year=1993 |title=Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish) |work=[[Fast Software Encryption]], Cambridge Security Workshop Proceedings |publisher=[[Springer-Verlag]] |pp=191–204 |url=https://www.schneier.com/paper-blowfish-fse.html |url-status=live |archive-url=https://web.archive.org/web/20140126182135/https://www.schneier.com/paper-blowfish-fse.html |archive-date=26 Januari 2014}}</ref> |
'''Blowfish''' merupakan [[algoritme]] [[penyandian blok]] [[kunci simetris]] yang dirancang pada tahun [[1993]] oleh [[Bruce Schneier]] untuk menggantikan [[DES]]. Pada saat itu, banyak sekali rancangan algoritme yang ditawarkan. Namun, hampir semua terhalang oleh [[paten]] atau kerahasiaan pemerintah [[Amerika Serikat]]. Schneier menyatakan bahwa Blowfish bebas paten dan akan berada dalam [[domain publik]]. Dengan pernyataan Schneier tersebut, Blowfish telah mendapatkan tempat di dunia [[kriptografi]], khususnya bagi masyarakat yang membutuhkan algoritme kriptografi yang cepat, kuat, dan tidak terhalang oleh [[lisensi]].<ref name=blowfishPaper>{{cite journal |author=Bruce Schneier |author-link=Bruce Schneier |year=1993 |title=Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish) |work=[[Fast Software Encryption]], Cambridge Security Workshop Proceedings |publisher=[[Springer-Verlag]] |pp=191–204 |url=https://www.schneier.com/paper-blowfish-fse.html |url-status=live |archive-url=https://web.archive.org/web/20140126182135/https://www.schneier.com/paper-blowfish-fse.html |archive-date=26 Januari 2014}}</ref> |
||
Keberhasilan Blowfish dalam menembus pasar telah terbukti dengan diadopsinya Blowfish sebagai [[Open Cryptography Interface]] (OCI) pada [[kernel Linux]] versi 2.5 ke atas. Dengan diadopsinya Blowfish, dunia sumber terbuka menganggap Blowfish adalah salah satu algoritme yang terbaik. Kesuksesan Blowfish mulai memudar setelah kehadiran algoritme-algoritme dengan ukuran blok yang lebih besar, seperti [[Standar Enkripsi Lanjutan|AES]]. AES sendiri memang dirancang untuk menggantikan DES. Schneier pun lebih menyarankan [[Twofish]] untuk penggunaan modern.<ref name=schneierInterview2007>{{cite web |url=https://www.computerworld.com.au/article/46254/bruce_almighty_schneier_preaches_security_linux_faithful/?pp=3 |last=Dahna |first=McConnachie |date=27 Desember 2007 |title=Bruce Almighty: Schneier preaches security to Linux faithful |work=[[Computerworld]] |pp=3 |access-date=26 Januari 2018 |url-status=live |archive-url=https://web.archive.org/web/20161202063854/https://www.computerworld.com.au/article/46254/bruce_almighty_schneier_preaches_security_linux_faithful/?pp=3 |archive-date=2 Desember 2016 |quote=At this point, though, I'm amazed it's still being used. If people ask, I recommend Twofish instead.}}</ref> |
Keberhasilan Blowfish dalam menembus pasar telah terbukti dengan diadopsinya Blowfish sebagai [[Open Cryptography Interface]] (OCI) pada [[kernel Linux]] versi 2.5 ke atas. Dengan diadopsinya Blowfish, dunia sumber terbuka menganggap Blowfish adalah salah satu algoritme yang terbaik. Kesuksesan Blowfish mulai memudar setelah kehadiran algoritme-algoritme dengan ukuran blok yang lebih besar, seperti [[Standar Enkripsi Lanjutan|AES]]. AES sendiri memang dirancang untuk menggantikan DES. Schneier pun lebih menyarankan [[Twofish]] untuk penggunaan modern.<ref name=schneierInterview2007>{{cite web |url=https://www.computerworld.com.au/article/46254/bruce_almighty_schneier_preaches_security_linux_faithful/?pp=3 |last=Dahna |first=McConnachie |date=27 Desember 2007 |title=Bruce Almighty: Schneier preaches security to Linux faithful |work=[[Computerworld]] |pp=3 |access-date=26 Januari 2018 |url-status=live |archive-url=https://web.archive.org/web/20161202063854/https://www.computerworld.com.au/article/46254/bruce_almighty_schneier_preaches_security_linux_faithful/?pp=3 |archive-date=2 Desember 2016 |quote=At this point, though, I'm amazed it's still being used. If people ask, I recommend Twofish instead.}}</ref> |
||
== Algoritme == |
== Algoritme == |
||
[[Gambar:Blowfish diagram. |
[[Gambar:Blowfish diagram.svg|left|thumb|150px|Struktur Feistel dari Blowfish]] |
||
Blowfish memiliki [[ukuran blok]] 64 bit dan ukuran kunci dari 32 sampai 448 bit.<ref name=blowfishPaper /> Algortime menggunakan [[sandi Feistel]] 16 ronde dan menggunakan [[kotak-S]] besar yang bergantung pada kunci. Strukturnya menyerupai [[CAST-128]] yang menggunakan kotak-S tetap. |
Blowfish memiliki [[ukuran blok]] 64 bit dan ukuran kunci dari 32 sampai 448 bit.<ref name=blowfishPaper /> Algortime menggunakan [[sandi Feistel]] 16 ronde dan menggunakan [[kotak-S]] besar yang bergantung pada kunci. Strukturnya menyerupai [[CAST-128]] yang menggunakan kotak-S tetap. |
||
Baris 59: | Baris 59: | ||
{{kriptografi blok}} |
{{kriptografi blok}} |
||
{{Authority control}} |
|||
[[Kategori:Algoritme kriptografi]] |
[[Kategori:Algoritme kriptografi]] |
Revisi terkini sejak 28 September 2023 13.59
Informasi umum | |
---|---|
Pendesain | Bruce Schneier |
Pertama kali dipublikasikan | 1993 |
Penerus | Twofish |
Detail penyandian | |
Ukuran kunci | 32–448 bit |
Ukuran blok | 64 bit |
Struktur | Jaringan Feistel |
Ronde | 16 |
Analisis kriptografi publik terbaik | |
Empat ronde Blowfish rentan terkena serangan diferensial derajat dua.[1] Untuk kunci lemah, empat belas ronde Blowfish dapat dibedakan dari permutasi acak semu.[2] |
Blowfish merupakan algoritme penyandian blok kunci simetris yang dirancang pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Pada saat itu, banyak sekali rancangan algoritme yang ditawarkan. Namun, hampir semua terhalang oleh paten atau kerahasiaan pemerintah Amerika Serikat. Schneier menyatakan bahwa Blowfish bebas paten dan akan berada dalam domain publik. Dengan pernyataan Schneier tersebut, Blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritme kriptografi yang cepat, kuat, dan tidak terhalang oleh lisensi.[3]
Keberhasilan Blowfish dalam menembus pasar telah terbukti dengan diadopsinya Blowfish sebagai Open Cryptography Interface (OCI) pada kernel Linux versi 2.5 ke atas. Dengan diadopsinya Blowfish, dunia sumber terbuka menganggap Blowfish adalah salah satu algoritme yang terbaik. Kesuksesan Blowfish mulai memudar setelah kehadiran algoritme-algoritme dengan ukuran blok yang lebih besar, seperti AES. AES sendiri memang dirancang untuk menggantikan DES. Schneier pun lebih menyarankan Twofish untuk penggunaan modern.[4]
Algoritme
[sunting | sunting sumber]Blowfish memiliki ukuran blok 64 bit dan ukuran kunci dari 32 sampai 448 bit.[3] Algortime menggunakan sandi Feistel 16 ronde dan menggunakan kotak-S besar yang bergantung pada kunci. Strukturnya menyerupai CAST-128 yang menggunakan kotak-S tetap.
Diagram di sebelah menampilkan proses enkripsi Blowfish. Tiap garis menggambarkan 32 bit. Ada lima larik subkunci: satu larik-P (disimbolkan K pada diagram untuk membedakan dari teks asli P) berukuran 18 dan empat kotak-S berukuran 256 (S0, S1, S2, S3).
Tiap ronde terdiri dari empat langkah:
- Lakukan XOR pada bagian kiri data (L) dengan nilai ke-r pada larik-P.
- Pakai hasil XOR sebagai masukan ke fungsi F Blowfish.
- Lakukan XOR pada keluaran fungsi F dengan bagian kanan data (R).
- Tukar L dan R.
Fungsi F memecah data 32 bit ke dalam empat data 8 bit. Keempat pecahan data tadi dimasukkan ke dalam kotak-S. Kotak-S menerima data 8 bit dan menghasilkan data 32 bit. Keluarannya dikenai modulus 232 dan dikenai XOR untuk menghasilkan keluaran final 32 bit.[3]
Lihat pula
[sunting | sunting sumber]Rujukan
[sunting | sunting sumber]- ^ Vincent Rijmen (1997). "Cryptanalysis and Design of Iterated Block Ciphers". Disertasi doktor. Diarsipkan dari versi asli (PostScript) tanggal 8 Mei 2013.
- ^ Vaudenay, Serge (Februari 1996). "On the weak keys of Blowfish". International Workshop on Fast Software Encryption. Berlin: Springer: 27–32.
- ^ a b c Bruce Schneier (1993). "Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish)". Fast Software Encryption, Cambridge Security Workshop Proceedings. Springer-Verlag: 191–204. Diarsipkan dari versi asli tanggal 26 Januari 2014.
- ^ Dahna, McConnachie (27 Desember 2007). "Bruce Almighty: Schneier preaches security to Linux faithful". Computerworld. hlm. 3. Diarsipkan dari versi asli tanggal 2 Desember 2016. Diakses tanggal 26 Januari 2018.
At this point, though, I'm amazed it's still being used. If people ask, I recommend Twofish instead.
Bacaan lanjutan
[sunting | sunting sumber]- Vincent Rijmen (Oktober 1997). "Cryptanalysis and design of iterated block ciphers". Disertasi doktor.
- Bruce Schneier (1993). "Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)". Fast Software Encryption: 191–204.
- Bruce Schneier (September 1995). "The Blowfish Encryption Algorithm -- One Year Later". Dr. Dobb's Journal. 20 (9): 137.
- Serge Vaudenay (1996). D. Gollmann, ed. "On the weak keys of Blowfish". Fast Software Encryption. Springer-Verlag (LNCS 1039): 27–32.
Pranala luar
[sunting | sunting sumber]- (Inggris) Laman resmi algoritme enkripsi Blowfish
- (Inggris) Produk yang memakai Blowfish
- (Inggris) Standard Cryptographic Algorithm Naming: Blowfish