Yeni sürümün özel bir özelliği, FPGA desteğinin ortaya çıkmasıdır (CPU, GPU ve Xeon Phi'ye ek olarak). Panolar için
Bcrypt için, ~119 watt güç tüketimiyle 2^5 yinelemede ("$2b$05") elde edilen ~27k c/s performansı, kart başına, donanım fiyatı başına ve watt başına en yeni GPU'ların sonuçlarını önemli ölçüde aşıyor . Ayrıca destekleniyor
Çalışmayı hızlandırmak için bir maske kullanımını (diğer modlarla kombinasyon dahil “—mask” modu) ve hesaplanan karmaların FPGA tarafında yüklenenlerle karşılaştırılmasını uyguladık. Uygulama açısından bakıldığında, tasarımların çoğu (örn.
Diğer önemli değişiklikler:
- Hem klasik şifre karmaları (örneğin, QNX'in yeni sürümlerinden), hem de kripto para birimi cüzdanları, şifrelenmiş arşivler ve şifrelenmiş dosya sistemleri (örneğin, Bitlocker ve FreeBSD gel), ayrıca daha önce desteklenen yeni format türleri için destek (örneğin, OpenBSD softraid için bcrypt-pbkdf desteği eklendi) ve çok daha fazlası. Toplamda CPU'ya 80, OpenCL'e ise 47 format eklendi. Formatların toplam sayısı artık CPU'da 407'dir (veya yapılandırma dosyalarından yapılandırılan "dinamik" formatlar hariç 262) ve OpenCL'de 88'dir.
- OpenCL lehine CUDA dilini desteklemeyi reddetmek; bu, hiçbir şekilde NVIDIA GPU'ların tam kullanımına müdahale etmez (ve hatta geliştirme ve optimizasyonun, daha önce iki uygulama yerine GPU için her formatın tek bir uygulamasına odaklanılması sayesinde yardımcı olur).
- Yeni SIMD talimat setleri desteği - AVX2, AVX-512 (ikinci nesil Xeon Phi dahil) ve MIC (birinci nesil için) ve ayrıca SIMD'nin kullanımı da dahil olmak üzere birçok formatın uygulamalarında daha evrensel ve eksiksiz kullanımı x86(-64) ve üzerinde AVX ve XOP'a kadar önceden desteklenen talimat setleri ve
ARM, Aarch64 ve POWER'da sırasıyla NEON, ASIMD ve AltiVec. - Hem çok sayıda hash ile aynı anda daha verimli çalışmak (örneğin, GPU'ya 320 milyon SHA-1 hash yüklemek test edildi) hem de hash hesaplamalarının hızını artırmak için CPU ve OpenCL için çok sayıda optimizasyon. Bu optimizasyonlardan bazıları evrenseldir, bazıları farklı format alt kümelerini kapsar ve çoğu da bireysel formatlara özeldir.
- Tam çalışma frekansına yavaş yükselişin hesaba katılması da dahil olmak üzere, CPU'da kontrol edilen parolaların (“—tune=auto —verbosity=5”) ve OpenCL'deki optimum iş boyutlarının (varsayılan olarak etkindir) optimum ara belleğe alınmasının (otomatik) yapılandırılması NVIDIA GTX serisi GPU'lar 10xx ve daha yenisi. Bu tür bir otomatik ayarlama için, fiili olarak yüklenmiş karmaların ve kontrol edilen şifrelerin gerçek uzunluğunun (önceden bilindiğinde) kullanılması.
- Doğrudan komut satırında belirtilen "dinamik ifadeler" için bir derleyici ekleme ve SIMD kullanılarak CPU üzerinde hesaplanan "-format=dynamic='sha1(md5($p).$s)'" gibi yeni karma karma türlerini uygulama . Bu tür ifadelerin bileşenleri olarak düzinelerce hızlı karma (MD5 gibi yaygın olanlardan Whirlpool gibi orta derecede egzotik olanlara kadar), alt dize birleştirme, kodlama ve kod çözme, karakter büyük/küçük harf dönüşümü, parolaya, tuza, kullanıcı adına ve dize sabitlerine referanslar desteklenir.
- Daha önce hashcat'e özgü kuralların (kelime listesi kural komutları) desteklenmesi, 1'den OpenCL cihaz numaralandırmasına geçiş, performans testleri için aynı şifre uzunluklarının (genellikle uzunluk 7) varsayılan kullanımı da dahil olmak üzere, hashcat'ten istenmeyen farklılıkların ortadan kaldırılması.
- Doğrulanabilir şifreler oluşturmak için yeni modlar (kırma modları), hashcat'ten PRINCE (birkaç kelimeyi artan toplam uzunlukta birleştirerek "ifadeler" oluşturur), alt kümeler (bu karakterler gelse bile yetersiz sayıda farklı karaktere sahip şifreler getirir) dahil geniş bir olası parola kümesinden) ve hibrit harici (C benzeri bir dilde yapılandırma dosyalarında açıklanan harici modların, başka bir moddan alınan her temel "kelime" temelinde birçok doğrulanabilir parola oluşturmasına olanak tanır). Ayrıca birkaç yeni önceden tanımlanmış harici mod.
- Birkaç modu aynı anda kullanmak (biri diğerinin üstünde - istifleme) ve ayrıca kural kümelerini (kelime listesi kuralları istifleme) kullanmak için ek özellikler.
- Maske modlarında iyileştirmeler (maskenin belirli bir uzunluk aralığında kademeli olarak uzatılması, OpenCL cihazının veya FPGA kartının yan tarafına maske uygulanması) ve tek çatlak (paralel olarak çok sayıda karma hesaplayan cihazlarda makul davranış) , daha önce bu modda yeterli sayıda doğrulanabilir şifrenin bulunmadığı ve ayrıca bellek tüketimiyle ilgili kısıtlamaların olduğu).
- Farklı alt sistemlerdeki Unicode ve diğer kodlamaları desteklemek için birçok iyileştirme.
- *2john programlarında (farklı formatlardaki dosyaları dönüştüren) birçok iyileştirme
john ile kullanın), özellikle wpapcap2john (WiFi trafiğini yönetir). - John.conf'ta birçok yeni komut satırı seçeneği, ayarlar, komut dosyası yapılandırma seçenekleri ve bunlara karşılık gelen yeni özellikler bulunmaktadır; bunların hepsi burada belirtilmemiştir.
- AdresSanitizer (önceden) ve UnDefinitionBehaviorSanitizer (eklendi) ile hata ayıklama derlemelerine yönelik yerleşik destek sayesinde kod kalitesini artırma, yerleşik bir format fuzzer ekleme (GSoC 2015'in bir parçası olarak), sürekli entegrasyon kullanma (düzinelerce işletim sistemi ve derleyici için derlemeler) kombinasyonları ve bunların tüm formatlar için doğru destek açısından test edilmesi).
Kaynak: opennet.ru