Blowfish, tarafından 1993 yılında tasarlanmış, çok sayıda şifreleyici ve şifreleme ürününe dahil olan; anahtarlanmış, simetrik bir (öbek şifreleyici)dir. Blowfish ile ilgili olarak şu ana kadar etkin bir şifre çözme analizi var olmasa da, artık AES ya da Twofish gibi daha büyük ebatlı öbek şifreleyicilerine daha fazla önem verilmektedir.
Schneier; Blowfish'i bir genel kullanım algoritması olarak, eskiyen DES'ın yerini alması için ve diğer algoritmalarla yaşanan sorunlara çözüm olarak tasarlamıştır. O zamanlarda, birçok diğer tasarım lisanslı, patentle korunmakta ya da devlet sırrı olarak saklanmaktaydı.
Bruce Schneier, bunu şu şekilde ortaya koymaktadır :
“ | Blowfish, patentsizdir ve tüm ülkelerde bu şekilde yer alacaktır. Algoritma genel kamusal alanda bulunmakta olup, herkes tarafından özgürce kullanılabilir. | „ |
Tasarımın belirgin özellikleri anahtar-bağımlı S-boxes ve oldukça karmaşık anahtar çizelgesini içerir.
Algoritma
Blowfish, 64-bit öbek büyüklüğüne ve 32 bit'ten 448 bit'e kadar anahtar uzunluğuna sahiptir. 16-tur Feistel Cipher'dır ve anahtar-bağımlı S-boxes kullanır. Sabit S-boxes kullanan CAST-128 yapısına benzer.
Blowfish'in hareketi; algoritma iki alt anahtar sırası (subkey array) tutar: 18-girişli P-sırası ve dört 256-girişli S-boxes. S-boxes 8-bit girdi kabul eder ve 32-bit çıktı oluşturur. P-sırasının bir girişi her turda kullanılır ve son turdan sonra veri öbeğinin her bir yarısı geri kalan kullanılmamış iki P-girişinden biri tarafından XOR'lanır.
F-işlevi
İşlev, 32-bit girdiyi, dört adet sekiz-bitlik çeyreğe böler ve çeyrekleri S-boxes'lara girdi olarak kullanır. Çıktılar modulo 2^32 a eklenir ve son 32-bit çıktıyı oluşturmak üzere XOR'lanır.
Blowfish bir Feistel ağı olduğundan, basitçe P17 XOR'layarak ve şifreleyici metin öbeğine P18 ile, daha sonra P-girişlerini ters sırayla kullanarak ters çevrilebilir.
Blowfish'in anahtar çizelgesi P-sıralarını ve S-box'ları, hiçbir belirgin şablon (pattern) içermeyen; pi sayısının hexadecimal (onaltılık) dijitlerinden türetilen değerlerle başlangıç konumuna getirerek başlar. Sonra, gizli anahtar, sırayla P-girişleri ile XOR'lanır (gerekirse anahtarı devrederek). 64-bit sıfır öbeği olduğu gibi algoritma ile şifrelenir. Sonuç şifreleyici metni P1 ve P2 nin yerini alır. Şifreleyici metin yeni alt anahtarlarla yeniden şifrelenir ve yeni şifreleyici metin P3 ve P4 yerini alır. Tüm P-sıraları ve S-box girişlerinin yerini alarak devam eder. Sonuçta, Blowfish şifreleme algoritması tüm alt anahtarları oluşturmak için 521 kez çalışacaktır - yaklaşık 4KB veri işlenmiş olur.
Şifre Çözümü
2006 itibarıyla Blowfish'in genel olarak bilinen etkin bir kriptanalizi mevcut değildir. 64 bit öbek büyüklüğü günümüzde çok kısa olarak düşünülse de; 2^32den fazla veri öbeğini şifrelemek doğumgünü saldırıları nedeniyle plaintext hakkında bilgi sızmasını başlatabilir. Buna rağmen, Blowfish şu ana kadar güvenli görünmektedir. Kısa öbek büyüklüğü, e-posta gibi rutin kullanıcı uygulamaları konusunda ciddi endişeler yaratmasa da, Blowfish veri arşivleme gibi büyük şifresiz metinler konusunda uygun olmayabilir.
1996'da kırmak için 28r + 1 şifresiz metin gerektiren (r turların sayısını ifade eder) bir bilinen-şifresiz metin saldırısı keşfetti. Daha da fazlası, yalnızca 24r + 1 bilinen-şifresiz metinlerle aynı saldırılarla kırılabilecek bir weak key (zayıf anahtar) sınıfı buldu. Bu saldırı tam 16-tur Blowfish 'e karşı kullanılamadığından; Vaudenay Blowfish'in indirgenmiş-turlu bir türevini kullandı. , doktora tezinde, dört turdan fazlasını kıramayan ikincil-sıra diferansiyel saldırıyı sundu. Halen, tam 16-tur'u kırabilecek, brute-force search dışında bir yol bilinmemektedir.
2005'te , Blowfish anahtar çizelgesini araştırdı ve üçüncü ve dördüncü turlar için alt anahtarların ilk 64 bitlik kullanıcı anahtarından bağımsız olduğunu ortaya koydu.
Pratikte Blowfish
Blowfish, anahtar değiştirme dışında; geniş kullanımdaki en hızlı öbek şifreleyecilerden biridir. Her yeni anahtar metnin yaklaşık 4 KB'ını şifrelemek için ön-işleme (pre-processing) eşdeğeri gerektirir ki bu diğer öbek şifreleyicilerine kıyasla çok yavaştır. Bu, bazı uygulamalarda kullanımı engeller. Bir uygulamada, aslında bu bir faydadır: OpenBSD'de kullanılan parola-bozma (password-hashing) yöntemi Blowfish'ten türetilen yavaş anahtarlı bir algoritma kullanır; burada düşünce, gereken fazladan hesaba dayalı çabanın dictionary attack (sözlük saldırılarına) karşı koruma sağlamasıdır.
Bazı uygulamalarda, Blowfish, 4 kilobyte RAM dan biraz fazla, göreceli olarak büyük hafıza ayakizine sahiptir. Bu, eski daha küçük masa üstü ve diz üstü bilgisayarlar için bile bir sorun değildir, ancak, ilk (akıllı kartlar) gibi en küçük embedded systems 'lerde kullanımı engeller.
Kaynakça
- http://tr.opensuse.org/Blowfish#Hakk.C4.B1nda 4 Temmuz 2008 tarihinde Wayback Machine sitesinde .
- Vincent Rijmen, "Cryptanalysis and design of iterated block ciphers", doctoral dissertation, Ekim 1997.
- Bruce Schneier, Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish). Fast Software Encryption 1993: 191-204 [2].
- Bruce Schneier, The Blowfish Encryption Algorithm—One Year Later, Dr. Dobb's Journal, 20(9), p. 137, Eylül 1995 [3].
- Serge Vaudenay, "On the weak keys of Blowfish," Fast Software Encryption (FSE'96), LNCS 1039, D. Gollmann, Ed., Springer-Verlag, 1996, pp. 27–32.
- ^ "Arşivlenmiş kopya". 29 Eylül 2007 tarihinde kaynağından . Erişim tarihi: 15 Temmuz 2007.
Dış bağlantılar
- Resmi Blowfish sitesi 10 Temmuz 2007 tarihinde Wayback Machine sitesinde .
- Blowfish kullanan ürünler 14 Temmuz 2007 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Blowfish tarafindan 1993 yilinda tasarlanmis cok sayida sifreleyici ve sifreleme urunune dahil olan anahtarlanmis simetrik bir obek sifreleyici dir Blowfish ile ilgili olarak su ana kadar etkin bir sifre cozme analizi var olmasa da artik AES ya da Twofish gibi daha buyuk ebatli obek sifreleyicilerine daha fazla onem verilmektedir Schneier Blowfish i bir genel kullanim algoritmasi olarak eskiyen DES in yerini almasi icin ve diger algoritmalarla yasanan sorunlara cozum olarak tasarlamistir O zamanlarda bircok diger tasarim lisansli patentle korunmakta ya da devlet sirri olarak saklanmaktaydi Bruce Schneier bunu su sekilde ortaya koymaktadir Blowfish patentsizdir ve tum ulkelerde bu sekilde yer alacaktir Algoritma genel kamusal alanda bulunmakta olup herkes tarafindan ozgurce kullanilabilir Tasarimin belirgin ozellikleri anahtar bagimli S boxes ve oldukca karmasik anahtar cizelgesini icerir AlgoritmaBlowfish 64 bit obek buyuklugune ve 32 bit ten 448 bit e kadar anahtar uzunluguna sahiptir 16 tur Feistel Cipher dir ve anahtar bagimli S boxes kullanir Sabit S boxes kullanan CAST 128 yapisina benzer Blowfish in hareketi algoritma iki alt anahtar sirasi subkey array tutar 18 girisli P sirasi ve dort 256 girisli S boxes S boxes 8 bit girdi kabul eder ve 32 bit cikti olusturur P sirasinin bir girisi her turda kullanilir ve son turdan sonra veri obeginin her bir yarisi geri kalan kullanilmamis iki P girisinden biri tarafindan XOR lanir F islevi Islev 32 bit girdiyi dort adet sekiz bitlik ceyrege boler ve ceyrekleri S boxes lara girdi olarak kullanir Ciktilar modulo 2 32 a eklenir ve son 32 bit ciktiyi olusturmak uzere XOR lanir Blowfish bir Feistel agi oldugundan basitce P17 XOR layarak ve sifreleyici metin obegine P18 ile daha sonra P girislerini ters sirayla kullanarak ters cevrilebilir Blowfish in anahtar cizelgesi P siralarini ve S box lari hicbir belirgin sablon pattern icermeyen pi sayisinin hexadecimal onaltilik dijitlerinden turetilen degerlerle baslangic konumuna getirerek baslar Sonra gizli anahtar sirayla P girisleri ile XOR lanir gerekirse anahtari devrederek 64 bit sifir obegi oldugu gibi algoritma ile sifrelenir Sonuc sifreleyici metni P1 ve P2 nin yerini alir Sifreleyici metin yeni alt anahtarlarla yeniden sifrelenir ve yeni sifreleyici metin P3 ve P4 yerini alir Tum P siralari ve S box girislerinin yerini alarak devam eder Sonucta Blowfish sifreleme algoritmasi tum alt anahtarlari olusturmak icin 521 kez calisacaktir yaklasik 4KB veri islenmis olur Sifre Cozumu2006 itibariyla Blowfish in genel olarak bilinen etkin bir kriptanalizi mevcut degildir 64 bit obek buyuklugu gunumuzde cok kisa olarak dusunulse de 2 32den fazla veri obegini sifrelemek dogumgunu saldirilari nedeniyle plaintext hakkinda bilgi sizmasini baslatabilir Buna ragmen Blowfish su ana kadar guvenli gorunmektedir Kisa obek buyuklugu e posta gibi rutin kullanici uygulamalari konusunda ciddi endiseler yaratmasa da Blowfish veri arsivleme gibi buyuk sifresiz metinler konusunda uygun olmayabilir 1996 da kirmak icin 28r 1 sifresiz metin gerektiren r turlarin sayisini ifade eder bir bilinen sifresiz metin saldirisi kesfetti Daha da fazlasi yalnizca 24r 1 bilinen sifresiz metinlerle ayni saldirilarla kirilabilecek bir weak key zayif anahtar sinifi buldu Bu saldiri tam 16 tur Blowfish e karsi kullanilamadigindan Vaudenay Blowfish in indirgenmis turlu bir turevini kullandi doktora tezinde dort turdan fazlasini kiramayan ikincil sira diferansiyel saldiriyi sundu Halen tam 16 tur u kirabilecek brute force search disinda bir yol bilinmemektedir 2005 te Blowfish anahtar cizelgesini arastirdi ve ucuncu ve dorduncu turlar icin alt anahtarlarin ilk 64 bitlik kullanici anahtarindan bagimsiz oldugunu ortaya koydu Pratikte BlowfishBlowfish anahtar degistirme disinda genis kullanimdaki en hizli obek sifreleyecilerden biridir Her yeni anahtar metnin yaklasik 4 KB ini sifrelemek icin on isleme pre processing esdegeri gerektirir ki bu diger obek sifreleyicilerine kiyasla cok yavastir Bu bazi uygulamalarda kullanimi engeller Bir uygulamada aslinda bu bir faydadir OpenBSD de kullanilan parola bozma password hashing yontemi Blowfish ten turetilen yavas anahtarli bir algoritma kullanir burada dusunce gereken fazladan hesaba dayali cabanin dictionary attack sozluk saldirilarina karsi koruma saglamasidir Bazi uygulamalarda Blowfish 4 kilobyte RAM dan biraz fazla goreceli olarak buyuk hafiza ayakizine sahiptir Bu eski daha kucuk masa ustu ve diz ustu bilgisayarlar icin bile bir sorun degildir ancak ilk akilli kartlar gibi en kucuk embedded systems lerde kullanimi engeller Kaynakcahttp tr opensuse org Blowfish Hakk C4 B1nda 4 Temmuz 2008 tarihinde Wayback Machine sitesinde Vincent Rijmen Cryptanalysis and design of iterated block ciphers doctoral dissertation Ekim 1997 Bruce Schneier Description of a New Variable Length Key 64 bit Block Cipher Blowfish Fast Software Encryption 1993 191 204 2 Bruce Schneier The Blowfish Encryption Algorithm One Year Later Dr Dobb s Journal 20 9 p 137 Eylul 1995 3 Serge Vaudenay On the weak keys of Blowfish Fast Software Encryption FSE 96 LNCS 1039 D Gollmann Ed Springer Verlag 1996 pp 27 32 Arsivlenmis kopya 29 Eylul 2007 tarihinde kaynagindan Erisim tarihi 15 Temmuz 2007 Dis baglantilarResmi Blowfish sitesi 10 Temmuz 2007 tarihinde Wayback Machine sitesinde Blowfish kullanan urunler 14 Temmuz 2007 tarihinde Wayback Machine sitesinde