Bertsio berriaren ezaugarri berezi bat FPGA euskarriaren agerpena da (PUZaz, GPUaz eta Xeon Phiz gain). Tauletarako
bcrypt-erako, ~ 119k c/s-ko errendimenduak 2^5 iteraziorekin ("$ 2b$ 05") ~ 27 watt-eko energia-kontsumoarekin nabarmen gainditzen ditu azken GPUen emaitzak plaka bakoitzeko, hardware prezio bakoitzeko eta watt bakoitzeko. . Baita onartzen
Lana bizkortzeko, maskara baten erabilera inplementatu dugu ("-mask" modua, beste modu batzuekin konbinatuta barne) eta kalkulatutako hashak FPGA aldean kargatutakoekin alderatu ditugu. Ezarpenaren ikuspegitik, diseinu asko (adibidez.
Beste aldaketa garrantzitsu batzuk:
- Hash, zifratu eta abar mota gehigarri asko onartzen ditu, bai pasahitz hash klasikoak (adibidez, QNX-en bertsio berrietakoak), bai kriptomoneta-zorroak, enkriptatutako artxiboak eta enkriptatutako fitxategi-sistemak (adibidez, Bitlocker eta FreeBSD geli), baita aurretik onartzen ziren formatu mota berrientzako laguntza ere (adibidez, OpenBSD softraid-erako bcrypt-pbkdf laguntza gehitu) eta askoz gehiago. Guztira, 80 formatu gehitu dira CPUan eta 47 OpenCLn. Formatu kopurua guztira 407 da CPUan (edo 262 konfigurazio fitxategietatik konfiguratutako formatu "dinamikoak" barne) eta 88 OpenCL-en.
- CUDA lengoaia onartzeari uko egitea OpenCL-en alde, eta horrek ez du inola ere oztopatzen NVIDIA GPUen erabilera osoa (eta are gehiago laguntzen du, garapena eta optimizazioa GPUrako formatu bakoitzaren inplementazio batean bideratzeari esker, lehenago bi inplementazioren ordez).
- SIMD instrukzio-multzo berrietarako laguntza - AVX2, AVX-512 (bigarren belaunaldiko Xeon Phi barne) eta MIC (lehen belaunaldirako) - eta SIMD erabilera unibertsalagoa eta osoa formatu askotako inplementazioetan, besteak beste. aurretik onartzen ziren instrukzioak AVX eta XOP-en x86(-64) eta
NEON, ASIMD eta AltiVec ARM, Aarch64 eta POWER-en, hurrenez hurren. - CPU eta OpenCL-rako optimizazio ugari, bai hash-kopuru handi batekin aldi berean modu eraginkorragoan lan egiteko (adibidez, 320 milioi SHA-1 hash kargatzea GPUan probatu zen), bai hash-kalkuluen abiadura handitzeko. Optimizazio horietako batzuk unibertsalak dira, beste batzuk formatu azpimultzo desberdinak hartzen dituzte eta asko formatu indibidualetarako espezifikoak dira.
- PUZan egiaztatutako pasahitzen buffer optimoaren (automatikoki) konfiguratzea ("βtune=auto βverbosity=5") eta OpenCL-en lan-tamaina optimoak (lehenespenez gaituta), funtzionamendu-maiztasun osorako igoera motela kontuan hartuta barne. NVIDIA GTX serieko GPU 10xx eta berriagoak. Benetan kargatutako hash-ak eta egiaztatzen ari diren pasahitzen benetako luzera (aldez aurretik ezagutzen denean) erabiltzea automatikoki sintonizatzeko.
- Zuzenean komando-lerroan zehaztutako "adierazpen dinamikoen" konpiladore bat gehitzea eta hash mota hibrido berriak inplementatzea, adibidez "-format=dynamic='sha1(md5($p).$s)'", SIMD erabiliz CPUan kalkulatua. . Adierazpen horien osagai gisa, dozenaka hash bizkor onartzen dira (MD5 bezalako ohikoetatik hasi eta nahiko exotikoetaraino, Whirlpool bezalakoetara), azpikateen kateamendua, kodeketa eta deskodeketa, karaktereen maiuskulak bihurtzea, pasahitz, gatz, erabiltzaile-izen eta kate konstanteen erreferentziak.
- Hashcat-en nahi ez diren desberdintasunak ezabatzea, lehenago hashcat-en arau espezifikoak (wordlist arauen komandoak), OpenCL gailuen zenbakitze 1etik igarotzea, pasahitz luzera berberen erabilera lehenetsia (normalean 7 luzera) errendimendu probetarako.
- Pasahitz egiaztagarriak sortzeko modu berriak (cracking moduak), besteak beste, PRINCE hashcat-etik (hainbat hitz βesaldiβ eratzen ditu luzera osoaren ordena gero eta handiagoan konbinatuz), azpimultzoak (karaktere ezberdinen kopuru nahikoa ez duten pasahitzak ekartzen ditu, karaktere horiek etorri arren). posibleen multzo handi batetik) eta kanpoko hibridoa (kanpoko moduak, konfigurazio-fitxategietan deskribatuta, C antzeko hizkuntzan deskribatuta, pasahitz egiaztagarri asko sortzeko beste modu batetik jasotako oinarrizko "hitz" bakoitzean oinarrituta). Gainera, aurrez zehaztutako kanpoko hainbat modu berri.
- Hainbat modu aldi berean erabiltzeko (bata bestearen gainean - pilatzea), baita arau multzoak erabiltzeko ere (hitzen zerrendako arauak pilatzea).
- Maskara moduen hobekuntzak (maskara pixkanaka luzatzea luzera zehatz batean, maskara OpenCL gailuaren edo FPGA plakaren alboan aplikatzea) eta pitzadura bakarra (arrazoizko portaera paraleloan hash kopuru handia kalkulatzen duten gailuetan). , aurretik ez zegoen modu honetan pasahitz egiaztagarri nahikorik, eta memoria-kontsumoaren murrizketak ere bai).
- Hobekuntza asko Unicode eta beste kodeketa batzuk onartzen dituzte azpisistema desberdinetan.
- Hobekuntza asko *2john programetan (formatu ezberdinetako fitxategiak bihurtzen dituztenak
johnekin erabili), batez ere wpapcap2john (WiFi trafikoa kudeatzen du). - Komando-lerroko aukera berri asko daude, john.conf-en ezarpenak, script-en aukerak konfiguratu eta dagozkien ezaugarri berriak, eta ez dira denak hemen aipatu.
- Kodearen kalitatea hobetzea AddressSanitizer-ekin (aurretik) eta UndefinedBehaviorSanitizer-ekin (gehituta) arazte-eraiketetarako integratutako euskarriari esker, integratutako formatu fuzzer bat gehituz (GSoC 2015-en barruan), etengabeko integrazioa erabiliz (dozenaka sistema eragile eta konpiladoreentzako eraikigarriak). konbinazioak eta formatu guztientzako euskarri zuzena probatzea).
Iturria: opennet.ru