Yeni versiyanın xüsusiyyəti FPGA dəstəyinin görünüşüdür (CPU, GPU və Xeon Phi ilə yanaşı). Lövhələr üçün
Bcrypt üçün, təxminən ~119 vatt enerji istehlakı ilə 2^5 iterasiyada ("$2b$05") əldə edilən ~27k c/s performans hər bir lövhəyə, hər bir avadanlıq qiymətinə və hər vatt başına ən son GPU-ları əhəmiyyətli dərəcədə üstələyir. Həmçinin dəstəklənir
İşi sürətləndirmək üçün maskanın (“--maska” rejimi, o cümlədən digər rejimlərlə birlikdə) istifadəsini və hesablanmış hashlərin FPGA tərəfində yüklənmişlərlə müqayisəsini həyata keçirdik. Tətbiq baxımından bir çox dizaynda (məsələn, üçün
Digər mühüm dəyişikliklər:
- Həm klassik parol heşləri (məsələn, QNX-in yeni versiyalarından), həm də kriptovalyuta pul kisələri, şifrələnmiş arxivlər və şifrələnmiş fayl sistemləri (məsələn, Bitlocker və FreeBSD geli) daxil olmaqla çoxlu sayda əlavə növ həşlər, şifrələr və s. üçün dəstək ), həmçinin əvvəllər dəstəklənən formatların yeni növləri üçün dəstək (məsələn, OpenBSD softraid üçün bcrypt-pbkdf dəstəyi əlavə edilmişdir) və daha çox. Ümumilikdə CPU-da 80, OpenCL-də isə 47 format əlavə edilib. İndi formatların ümumi sayı CPU-da 407-dir (və ya konfiqurasiya fayllarından konfiqurasiya edilmiş "dinamik" formatlar daxil deyil 262) və OpenCL-də 88-dir.
- NVIDIA GPU-nun tam istifadəsinə ən azı mane olmayan (və hətta iki formatın əvəzinə GPU altında hər bir formatın bir tətbiqinə inkişaf və optimallaşdırmaların diqqəti sayəsində kömək edən OpenCL-in xeyrinə CUDA dil dəstəyinin aradan qaldırılması. əvvəl tətbiqlər).
- Yeni SIMD təlimat dəstləri üçün dəstək - AVX2, AVX-512 (ikinci nəsil Xeon Phi üçün daxil olmaqla) və MIC (birinci nəsil üçün) - həmçinin istifadə daxil olmaqla bir çox formatın tətbiqində SIMD-nin daha universal və tam istifadəsi. x86(-64)-də AVX və XOP-a qədər əvvəllər dəstəklənən təlimat dəstlərinin və
ARM, Aarch64 və POWER-də müvafiq olaraq NEON, ASIMD və AltiVec. - CPU və OpenCL üçün çoxsaylı optimallaşdırmalar, hər ikisi eyni vaxtda çoxlu sayda hashlərlə daha səmərəli işləmək (məsələn, GPU-ya 320 milyon SHA-1 hash yükləmək) və hash hesablama sürətini artırmaq üçün. Bu optimallaşdırmaların bəziləri universaldır, bəziləri müxtəlif format alt qruplarını əhatə edir və bir çoxu formata xasdır.
- CPU-da yoxlanılmış parolların optimal buferləşdirilməsinin (avtomatik) tənzimlənməsi (“-tune=auto —verbosity=5”) və OpenCL-də optimal iş ölçüləri (defolt olaraq aktivdir), o cümlədən tam işləmə tezliyinə yavaş bərpa olunması nəzərə alınmaqla NVIDIA GTX seriyalı GPU-ların 10xx və daha yeniləri. Belə avtomatik tənzimləmə üçün real yüklənmiş heşlərdən və yoxlanılmış parolların real uzunluğundan (əvvəlcədən məlum olduqda) istifadə.
- Birbaşa komanda xəttində təyin olunan və yeni hibrid hash növlərini həyata keçirən "dinamik ifadələr" kompilyatorunun əlavə edilməsi, məsələn, CPU-da hesablanmış "--format=dynamic='sha1(md5($p).$s)'", SIMD istifadə edərək. Belə ifadələrin komponentləri kimi onlarla sürətli hash (MD5 kimi ümumilərdən tutmuş, Whirlpool kimi yüngül ekzotiklərə qədər), alt sətir birləşməsi, kodlaşdırma və dekodlaşdırma, simvol rejissorunun çevrilməsi, parol istinadları, duz, istifadəçi adı və sətir sabitləri dəstəklənir.
- Performans testləri üçün eyni standart parol uzunluqlarından (adətən uzunluq 1) istifadə edərək, əvvəllər hashcat-ə xas söz siyahısı qayda əmrlərinin dəstəklənməsi, 7-dən OpenCL cihaz nömrələnməsinə keçid daxil olmaqla, hashcat-dan arzuolunmaz fərqlərin aradan qaldırılması.
- Yeni krekinq rejimləri, o cümlədən hashcat-dan PRINCE (ümumi uzunluğun artan ardıcıllığı ilə birdən çox sözləri birləşdirərək "ifadələr" yaradır), alt qruplar (həmin simvollar mümkün olanların böyük dəstindən gəlsə belə, kifayət qədər fərqli simvolları olmayan parollar gətirir) və hibrid xarici (C tipli dildə konfiqurasiya fayllarında təsvir edilən xarici rejimlərə başqa rejimdən alınan hər bir əsas "söz" əsasında çoxlu yoxlanıla bilən parollar yaratmağa imkan verir). Həmçinin, bir neçə yeni əvvəlcədən təyin edilmiş xarici rejimlər.
- Eyni zamanda bir neçə rejimi istifadə etmək üçün əlavə funksiyalar (biri digərinin üstündə - yığma), həmçinin qayda dəstlərinin bu cür istifadəsi üçün (wordlist qaydalarının yığılması).
- Maska rejimlərində təkmilləşdirmələr (müəyyən edilmiş uzunluq diapazonunda tədricən maskanın uzanması, maskanı OpenCL cihazının və ya FPGA lövhəsinin tərəfində tətbiq etmək) və tək çatlama (əvvəllər çoxlu sayda hashləri paralel olaraq hesablayan cihazlarda ağlabatan davranış) bu rejimdə yoxlanılacaq parollar, həmçinin yaddaş istehlakına məhdudiyyətlər yox idi).
- Müxtəlif alt sistemlərdə Unicode və digər kodlaşdırmalar üçün dəstəkdə bir çox təkmilləşdirmələr.
- *2john proqramlarında bir çox təkmilləşdirmələr (müxtəlif formatlı faylları
john ilə istifadə edin), xüsusilə wpapcap2john (WiFi trafikini idarə edir). - Bir çox yeni komanda xətti variantları, john.conf parametrləri, skript seçimlərini konfiqurasiya etmək və onlara uyğun gələn yeni funksiyalar, bunların hamısı burada qeyd olunmayıb.
- AddressSanitizer (əvvəllər) və UndefinedBehaviorSanitizer (əlavə edilib), davamlı inteqrasiyadan istifadə edərək (onlarca əməliyyat sistemi və kompilyator kombinasiyaları üçün qurur və) daxili format fuzzerinin əlavə edilməsi (GSoC 2015 daxilində) ilə sazlama quruluşlarına daxili dəstək sayəsində kod keyfiyyətinin yaxşılaşdırılması. bütün formatların düzgün dəstəklənməsi üçün onları sınaqdan keçirir).
Mənbə: opennet.ru