Una caratteristica speciale di a nova versione hè l'apparizione di supportu FPGA (in più di CPU, GPU è Xeon Phi). Per tavule
Per bcrypt, a prestazione ottenuta di ~ 119k c / s cù 2 ^ 5 iterazioni ("$ 2b $ 05") cun un cunsumu di energia di ~ 27 watt supera significativamente i risultati per l'ultime GPU per scheda, per prezzu di hardware è per watt. . Ancu supportatu
Per accelerà u travagliu, avemu implementatu l'usu di una maschera (u modu "-mask", cumpresu in cumminazione cù altri modi) è paragunà i hashes calculati cù quelli caricati in u latu FPGA. Da una perspettiva di implementazione, parechji di i disinni (per esempiu.
Altri cambiamenti impurtanti:
- Supportu per un gran numaru di tippi supplementari di hash, cipher, etc., cumpresi tramindui i classici hash di password (per esempiu, da e novi versioni di QNX), è ancu i portafogli di criptovaluta, l'archivi criptati è i sistemi di schedari criptati (per esempiu, Bitlocker è FreeBSD geli), è ancu supportu per novi tipi di formati supportati prima (per esempiu, aghjustatu supportu per bcrypt-pbkdf per OpenBSD softraid) è assai di più. In totale, 80 formati sò stati aghjunti in CPU è 47 in OpenCL. U numeru tutale di furmati hè avà 407 nantu à u CPU (o 262 senza include furmati "dinamici" cunfigurati da i schedarii di cunfigurazione) è 88 in OpenCL.
- Rifiuta di sustene a lingua CUDA in favore di l'OpenCL, chì in alcun modu interferiscenu cù l'usu pienu di GPU NVIDIA (è ancu aiuta, grazia à u sviluppu è l'ottimisazione di cuncentrazione nantu à una implementazione di ogni formatu per a GPU invece di duie implementazioni prima).
- Supportu per novi setti di struzzioni SIMD - AVX2, AVX-512 (cumpresu per a seconda generazione Xeon Phi) è MIC (per a prima generazione) - è ancu un usu più universale è cumpletu di SIMD in implementazioni di parechji formati, cumpresu l'usu di set di struzzioni supportati prima à AVX è XOP nantu à x86 (-64) è
NEON, ASIMD è AltiVec nantu à ARM, Aarch64 è POWER, rispettivamente. - Numerose ottimisazioni per CPU è OpenCL, tramindui per travaglià in modu più efficace cù un gran numaru di hashes simultaneamente (per esempiu, carica 320 million SHA-1 hashes in a GPU hè statu pruvatu), è per aumentà a velocità di calculi di hash. Alcune di queste ottimisazioni sò universali, alcune coprenu diverse sottogruppi di formati, è parechji sò specifichi per formati individuali.
- (Auto-)configurazione di buffering ottimali di password verificate nantu à u CPU ("-tune = auto -verbosity = 5") è dimensioni di travagliu ottimali nantu à OpenCL (attivatu per difettu), cumpresu tenendu in contu a rampa lenta finu à a frequenza operativa piena di GPU di a serie NVIDIA GTX 10xx è più recenti. Utilizà l'hash veramente caricati è a durata reale di e password chì sò verificate (quandu hè cunnisciutu in anticipu) per tali auto-tuning.
- Aghjunghjendu un compilatore per "espressioni dinamiche" specificate direttamente nantu à a linea di cummanda è implementendu novi tipi di hash hibridi, per esempiu "-format=dynamic='sha1(md5($p).$s)'", calculatu nantu à u CPU cù SIMD. . Cum'è cumpunenti di tali espressioni, decine di hashes veloci sò supportati (da quelli cumuni cum'è MD5 à quelli moderatamente esotici cum'è Whirlpool), concatenazione di substring, codificazione è decodificazione, cunversione di casu di caratteri, riferimenti à password, sal, username è string constants.
- Eliminazione di differenze indesiderate da l'hashcat, cumpresu u supportu per e regule specifiche di l'hashcat prima (cumandamenti di regula di lista di parole), a transizione à a numerazione di u dispositivu OpenCL da 1, l'usu predeterminatu di e stesse lunghezze di password (di solitu lunghezza 7) in teste di rendiment.
- Modi novi per generà password verificabili (modi di cracking), cumpresu PRINCE da hashcat (forma "frasi" cumminendu parechje parolle in ordine crescente di lunghezza tutale), sottogruppi (porta password cù un numeru insufficiente di caratteri diffirenti, ancu s'ellu venenu sti caratteri). da un grande gruppu di pussibuli) è ibridi esterni (permette à i modi esterni, descritti in i schedarii di cunfigurazione in una lingua C-like, per generà parechje password verificabili basatu annantu à ogni "parola" basica ricevuta da un altru modu). Inoltre, parechji novi modi esterni predefiniti.
- Funzioni supplementari per aduprà parechje modi simultaneamente (una sopra à l'altru - stacking), è ancu per aduprà set di regule (stacking di reguli di lista di parole).
- Migliuramentu di i modi di maschera (allungamentu graduale di a maschera in una gamma specifica di lunghezze, applicazione di una maschera à u latu di u dispositivu OpenCL o FPGA) è un crack unicu (cumportamentu raghjone nantu à i dispositi chì calculanu un gran numaru di hashes in parallelu). , per quale prima ùn ci era micca abbastanza password verificabile in questu modu, è ancu restrizioni à u cunsumu di memoria).
- Molte migliure per supportà Unicode è altre codificazioni in diversi sottosistemi.
- Parechje migliure à i prugrammi *2john (chì cunverte i fugliali di diversi formati per
aduprà cù John), in particulare wpapcap2john (maneggia u trafficu WiFi). - Ci sò parechje novi opzioni di linea di cummanda, paràmetri in john.conf, cunfigurà l'opzioni di scrittura è e funzioni novi currispundenti, micca tutti quelli chì sò stati citati quì.
- Migliurà a qualità di u codice grazia à u supportu integratu per e custruzzioni di debug cù AddressSanitizer (precedentemente) è UndefinedBehaviorSanitizer (aghjuntu), aghjunghjendu un fuzzer di furmatu integratu (cum'è parte di GSoC 2015), utilizendu integrazione continua (custruisce per decine di sistema operatore è compilatore). cumminazzioni è pruvà per un supportu currettu per tutti i formati).
Source: opennet.ru