Çok amaçlı hızlandırıcı olarak FPGA. Kabakuvvet arama ne kadar uygulanabilir?

Komsularin WPA kullanmasi cok can sıkıcı. Araçlardaki son gelişmeler ne diye baktıktan sonra bulduklarımı paylaşmak istedim.

WPA'da kullanılmak üzere üretilen Pairwise Master Key, Secret'in bir tür hash işleminden geçmesi ile elde ediliyor. Lookup table yapılamıyor çünkü işlem sırasında salt olarak SSID kullanılıyor. Bu durumda Rainbow table dediğimiz hash lookup tabloları kullanılsa bile bir kaç marka ile sınırlı kalacak. Kaldı ki Eliizdeki 2 GHz'lik çift çekirdekli makine ile saniyede 70 şifre denemesi yapabiliyorken bu tablonun oluşturulması bile can sıkıcı. Özellikle *yavaş* hash alogritmalarının kullanılması bu yavaşlığın sebebi.

Hep merak edip de kurcalayamadım FPGA'ler geldi aklıma. kullansak ne olur.. Zaten kullanmışlar çok da güzel olmuş.

Saniyedeki 70 denemeyi 1000 deneme seviyesine yükseltebilen linux destekli kartlar zaten piyasadaymış haberim yokmuş.

aMimarı şu şekilde.. FPGA için kodu hazırlayın.. Devreye yükleyin CPU'nuzdan bağımsız hesaplamaları yapsın. Yani sistem brute force deneme yaparken biz DVD izleyebiliyoruz. İşin daha ilginç yanı Aynı entegre içinde paralel işlem yapabiliyor olmamız. Normalde işlemcilerde çoklu çekirdek, pipelining gibi yöntemler kullanılırken FPGA'lerde 100% paralelizasyondan bahsetmek mümkün.

Bu yazı biraz reklam oldu sanırım. Rakamlar oldukça dikkatimi çekti. Quantum'un eline su dökemez kabul, ama yine e hızlandırma süper.

Düşünsenize usb'ye takılan bir alet alıyorsunuz, hızlandırıcı, içine yüklediğiniz algoritmayı çalıştırıyor size sonuç döndürüyor. Misal oyunlardaki fizik motoru usb üzerinden çalışsa. Çözümler geliştirme ortamları için zaten mevcut. Sanırım ortam bir platform olmadığı için ucuz ürünler yok ortada. Fikir yine de güzel.. Oyunlar için fizik motoru, *unutulan* ya da hiç bilinmeyen şifreler için accelerator.

Brute force yine de uygulanabilir değil bir çok durumda ama bazı işler için 400 kat hız küçümsenemez diye düşünüyorum.

Berk hocam'dan gelen bir mailde sayesinde de Copacobana (http://www.copacobana.org) projesinden haberdar olmuş oldum. Saniyede 2^35 des anahtarı deneyebilen 120FPGA'lik bir canavar. 10.000$'ın altına üretilmesi mümkünmüş.

C-to-hardware solution accelerates algorithms up to 400x başlıklı bir yazı
http://www.directinsight.co.uk/insights/pico-e-12.html

OpenCipher's projesinden bir sayfa, sunum materyalleri de hoş
http://openciphers.sourceforge.net/oc/wpa.php

Saniyede 500 milyon Lanman/NTLM anahtarı deneyen alet
http://www.embeddedhandhelds.com/2005/appnotes/20050915axpicox.htm

Biraz daha fotoğraf ve linux da nasıl çalıştırıldığı
http://www.linuxjournal.com/article/9362