- I-Blowfish iyi-64-bit symmetric block cipher enokhiye abafika kumabhithi angu-448.
- Isebenzisa uhlaka lwe-Feistel oluyimizuliswano engu-16 namabhokisi ashintshayo ukuze kuvikeleke okwengeziwe.
- Inikeza isivinini esikhulu nokuguquguquka, kodwa i-AES ithathe indawo yokusetshenziswa kwayo ezinhlelweni eziningi.
- Naphezu kweminyaka yayo, ihlala iyindlela ethembekile ezindaweni ezithile.
El I-Blowfish cipher Kuyi-algorithm ye-block cipher eyakhiwe ngo-1993 nguBruce Schneier njengendlela esheshayo nevikelekile ku-DES. Le ndlela yokubethela iye yamukelwa kabanzi ezinhlelweni ezihlukahlukene ngenxa yokusebenza kahle kwayo nokuvumelana nezimo ekusebenziseni okhiye bosayizi abahlukene. Ukuze ujule esihlokweni se-cryptography, ungafunda kabanzi mayelana Iyini i-cryptography?.
Ngokuhamba kweminyaka, i-Blowfish ifakazele ukuthi iyi-cipher ethembekile, yize manje isithathelwe indawo ezinhlelweni eziningi izindlela ezithuthuke kakhulu njenge-AES. Noma kunjalo, isalokhu iyinketho efanele ezimweni ezithile lapho ukuphepha nesivinini kuyizinto eziza kuqala.
Kuyini ukubethela kwe-Blowfish?
I-Blowfish iyi- algorithm yokubethela ehambisanayo esebenza ngamabhulokhi angu-64-bit futhi isebenzisa okhiye abasukela kuma-bit angu-32 kuya kwangu-448. Yaklanywa ukunikeza ukusebenza okuphezulu ngokwejubane ngaphandle kokubeka engcupheni ukuphepha. Uma unesifiso sokufunda ngezinye i-ciphers ezihambisanayo , kukhona nolwazi olubalulekile ngazo.
Le algorithm isebenzisa isakhiwo se -Feistel cipher esiyindilinga eziyi-16 . Umklamo wayo we-modular wenza kube lula ukuzivumelanisa nehadiwe ehlukene kanye nokusetshenziswa kwesofthiwe.
Izici eziyinhloko ze-algorithm
- Ubude bokhiye oguquguqukayo: Ivumela ukulungiselelwa ngokwezifiso phakathi kwamabhithi angu-32 no-448.
- Kuyashesha futhi kusebenza kahle: Idizayinelwe ukuletha ukusebenza okuphezulu kwesoftware.
- Ilungelo lobunikazi: Ingasetshenziswa ngaphandle kwemikhawulo yelayisensi.
- Ayikaphulwa: Kuze kube manje, akukho ukuhlasela okusebenzayo ngokumelene nokuphepha kwayo okutholiwe.
Isebenza kanjani i-Blowfish Cipher
I-Blowfish cipher isebenzisa ama-subkey angu-18 kanye namabhokisi amane okufaka angu-256 (amabhokisi e-S) ukucubungula idatha. Inqubo yokubethela incike ekusebenzeni okuphindaphindwayo kwe-XOR kanye nokushintshana kusetshenziswa lezi zakhiwo.
Ukhiye wokufaka uqala ama-subkey nama-S-boxes ngaphambi kokusebenzisa. Ukuze wenze lokhu, amanani alezi zakhiwo asekelwe kumadijithi e-hexadecimal ka-π , okuqinisekisa ukusatshalaliswa kwedatha okungahleliwe.
Inqubo yokubhala ngemfihlo
- Ibhulokhi engu-64-bit ihlukaniswe yaba izingxenye ezimbili ze-32-bit: kwesokunxele (L) nesokudla (R).
- Ingxenye engakwesokunxele ifakwe u-XOR nge-subkey yokuqala futhi yadlula kumsebenzi ongu-F.
- Umphumela uthi XORed ngesigamu esifanele.
- Ama-halves ayashintshaniswa futhi inqubo iphindaphindiwe imijikelezo engu-16.
- Ngemuva komzuliswano wokugcina, kusetshenziswa ama-XOR amabili wokugcina nama-subkeys wokugcina.
Lo mklamo uqinisekisa ukuthi ngisho nezinguquko ezincane embhalweni wokuqala zizoholela ekushintsheni okukhulu kombhalo oyimfihlo. Ukuze uthole umbono ophelele wezindlela zokubethela, ungavakashela isigaba sezindlela zokubethela.
Isizukulwane Esibalulekile ku-Blowfish
Ukudalwa kwezihluthulelo ku-Blowfish kuyinqubo eyinkimbinkimbi edinga ukuphindaphinda okungu-521 ukuze kuqalwe ngokugcwele izihluthulelo ezincane kanye nama-S-boxes. Lokhu kwenziwa ngokubethela ngokuphindaphindiwe ibhulokhi lama-zero nokufaka amanani esikhundleni sezihluthulelo ezincane kanye namabhokisi okufaka esikhundleni.
Ngenxa yalokhu bunzima ekukhiqizeni okubalulekile, i-Blowfish ivimbela ukuhlaselwa okusekelwe emaphethini edatha aphindaphindayo.
Izinzuzo kanye nokubi kwe-Blowfish
Izinzuzo
- Ukubethela ngesivinini esiphezulu kanye nokuqaqwa kwemfihlo.
- Okhiye bobude obuguquguqukayo.
- Kumahhala ukuze kusetshenziswe.
- Ukuvikeleka okuqinile okungenayo imibiko yokuba sengozini okubalulekile.
nebubi
- Amabhulokhi angu-64-bit, avikeleke kancane kunamabhulokhi angu-128-bit asetshenziswa yi-AES.
- Ukuqaliswa kwayo kungaba yinkimbinkimbi ngenxa yenqubo eyinhloko yokuqalisa.
I-Blowfish iqhudelana namanye ama-algorithms wokubethela
I-Blowfish incintisana namanye ama-algorithms afana ne -DES, i-Triple DES, kanye ne-AES . Uma iqhathaniswa ne-DES, i-Blowfish inikeza ukuphepha okungcono kanye nokuguquguquka okukhulu ngenxa yobude bayo bokhiye obuguquguqukayo.
Kodwa-ke, i-AES , enamabhulokhi ayo angu-128-bit kanye nesakhiwo sayo esithuthukisiwe, ithathe indawo ye-Blowfish ezinhlelweni eziningi zesimanje. Enye indlela ethuthukisiwe esikhundleni se-Blowfish yi -Twofish , eklanywe ngumbhali ofanayo nomuntu ofanelekela izinga le-AES.
Ukubethela kwe-Blowfish kuhlala kuyinketho esebenzayo ezindaweni ezithile lapho ukuphepha nesivinini kubaluleke kakhulu. Idizayini yayo engenalungelo lobunikazi kanye nesakhiwo se-modular kuyenza ithandeke ekusetshenzisweni lapho ukuguquguquka kuwukhiye. Yize i-AES isithole ukuduma, i-Blowfish iseyithuluzi eliwusizo ezindaweni ezidinga ukubethela okusheshayo nokuthembekile.