In skaaimerk fan 'e nije ferzje is it uterlik fan FPGA-stipe (neist CPU, GPU en Xeon Phi). Foar boards
Foar bcrypt prestearret de berikke prestaasjes fan ~119k c/s by 2^5 iteraasjes ("$2b $05") mei in enerzjyferbrûk fan sawat ~27 watt de lêste GPU's per boerd, per hardwarepriis en per watt signifikant better. Ek stipe
Om it wurk te fersnellen, hawwe wy it gebrûk fan in masker ymplementearre ("--masker" modus, ynklusyf yn kombinaasje mei oare modi) en in fergeliking fan 'e berekkene hashes mei dy laden op' e FPGA-kant. Yn termen fan ymplemintaasje, yn in protte fan 'e ûntwerpen (bygelyks foar
Oare wichtige feroarings:
- Stipe foar in grut oantal ekstra soarten hashes, sifers, ensfh., ynklusyf sawol klassike wachtwurdhashes (bygelyks fan nije ferzjes fan QNX), en cryptocurrency wallets, fersifere argiven en fersifere bestânssystemen (bygelyks Bitlocker en FreeBSD geli ), lykas ek stipe foar nije farianten fan formaten dy't earder stipe binne (bygelyks bcrypt-pbkdf-stipe foar OpenBSD softraid is tafoege) en folle mear. Yn totaal binne 80 formaten tafoege oan CPU en 47 op OpenCL. It totale oantal formaten is no 407 op 'e CPU (of 262 net ynklusyf "dynamyske" formaten konfigureare út konfiguraasjebestannen) en 88 op OpenCL.
- Ferwidering fan CUDA-taalstipe yn it foardiel fan OpenCL, dy't it folsleine gebrûk fan 'e NVIDIA GPU yn' t minste net bemuoit (en sels helpt, troch de fokus fan ûntwikkeling en optimisaasjes op ien ymplemintaasje fan elk formaat ûnder de GPU ynstee fan twa eardere ymplemintaasjes).
- Stipe foar nije SIMD-ynstruksjesets - AVX2, AVX-512 (ynklusyf foar de twadde generaasje fan Xeon Phi) en MIC (foar de earste generaasje) - lykas ek mear universele en folsleine gebrûk fan SIMD yn ymplemintaasjes fan in protte formaten, ynklusyf it gebrûk fan earder stipe ynstruksje sets oant AVX en XOP op x86 (-64) en
NEON, ASIMD en AltiVec op respektivelik ARM, Aarch64 en POWER. - Tal fan optimisaasjes foar CPU en OpenCL, sawol om effisjinter te wurkjen mei in grut oantal hashes tagelyk (bygelyks laden fan 320 miljoen SHA-1-hashes op 'e GPU) en om de snelheid fan hash-berekkening te ferheegjen. Guon fan dizze optimalisaasjes binne universele, guon dekke ferskate subsets fan formaten, en in protte binne opmaakspesifyk.
- (Auto-) tuning fan optimale buffering fan kontrolearre wachtwurden op 'e CPU ("-tune=auto —verbosity=5") en optimale taakdimensjes op OpenCL (standert ynskeakele), ynklusyf rekken hâldend mei it stadige herstel nei de folsleine wurkfrekwinsje fan NVIDIA GTX rige GPUs 10xx en nijer. Gebrûk fan echte laden hashes en echte lingte fan kontrolearre wachtwurden (as it fan tefoaren bekend is) foar sa'n auto-tuning.
- It tafoegjen fan in "dynamyske útdrukkingen" kompilator dy't direkt op 'e kommandorigel oantsjutte is en nije hybride hash-typen ymplemintearret, bygelyks "--format=dynamic='sha1(md5($p).$s)'", berekkene op de CPU mei help fan SIMD. Tsientallen rappe hashes (fan gewoane lykas MD5 oant myld eksoatyske lykas Whirlpool), substring-konkatenaasje, kodearring en dekodearring, konverzje fan tekens, wachtwurdferwizings, sâlt, brûkersnamme en tekenrige konstanten wurde stipe as komponinten fan sokke útdrukkingen.
- Eliminaasje fan net winske ferskillen fan hashcat, ynklusyf stipe foar earder hashcat-spesifike wurdlist-regel-kommando's, oerskeakelje nei OpenCL-apparaatnûmering fan 1, mei deselde standertwachtwurdlingten (meastentiids lingte 7) foar prestaasjetests.
- Nije kraakmodi, ynklusyf PRINCE fan hashcat (generearret "frases" troch meardere wurden yn opkommende folchoarder fan totale lingte oan te keppeljen), subsets (bringt wachtwurden mei net genôch ferskillende karakters, sels as dy karakters komme út in grutte set fan mooglike) en hybride eksterne (litit eksterne modi, beskreaun yn konfiguraasjetriemmen yn C-like taal, in protte ferifieare wachtwurden generearje op basis fan elk basis "wurd" ûntfongen fan in oare modus). Ek ferskate nije foardefinieare eksterne modi.
- Oanfoljende funksjes foar it brûken fan ferskate modi tagelyk (ien boppe op 'e oare - stapeljen), lykas ek foar sa'n gebrûk fan regelsets (stapeljen fan regels foar wurdlist).
- Ferbetterings oan 'e maskermodi (gradueel útwreidzjen fan masker yn it oantsjutte berik fan lingten, it oanbringen fan it masker oan 'e kant fan in OpenCL-apparaat as FPGA-boerd) en ienige crack (ferstannich gedrach op apparaten dy't in grut oantal hashes parallel berekkenje, wat earder yn dizze modus ûntbrekt wachtwurden om te kontrolearjen, en ek limiten op ûnthâldferbrûk).
- In protte ferbetterings yn stipe foar Unicode en oare kodearrings yn ferskate subsystemen.
- In protte ferbetterings oan * 2john-programma's (konvertearjen fan bestannen fan ferskate formaten nei
brûke mei john), benammen wpapcap2john (hantearret WiFi-ferkear). - In protte nije kommandorigelopsjes, john.conf-ynstellingen, konfigurearje skriptopsjes, en har oerienkommende nije funksjes, dy't net allegear hjir neamd binne.
- Ferbetterjen fan koade kwaliteit troch ynboude stipe foar debug builds mei AddressSanitizer (earder) en UndefinedBehaviorSanitizer (tafoege), it tafoegjen fan in ynboude opmaak fuzzer (binnen GSoC 2015), mei help fan trochgeande yntegraasje (bout foar tsientallen bestjoeringssysteem en kompilator kombinaasjes en se testen foar juste stipe fan alle formaten).
Boarne: opennet.ru