Wani fasali na musamman na sabon sigar shine bayyanar tallafin FPGA (ban da CPU, GPU da Xeon Phi). Don alluna
Don bcrypt, aikin da aka samu na ~ 119k c / s tare da 2 ^ 5 iterations ("$ 2b$ 05") tare da amfani da wutar lantarki ~ 27 watts mahimmanci ya wuce sakamakon GPUs na baya-bayan nan a kowace jirgi, kowane farashin kayan aiki, da kowace watts. . Hakanan ana tallafawa
Don hanzarta aikin, mun aiwatar da amfani da abin rufe fuska (yanayin “-mask”, gami da haɗe da wasu hanyoyin) da kwatanta hashes ɗin da aka ƙididdige su tare da waɗanda aka ɗora a gefen FPGA. Daga mahangar aiwatarwa, yawancin ƙira (misali.
Wasu muhimman canje-canje:
- Taimakawa ƙarin ƙarin nau'ikan hashes, ciphers, da sauransu, gami da hashes na kalmar sirri (misali, daga sabbin nau'ikan QNX), da walat ɗin cryptocurrency, rufaffen kayan tarihi da tsarin fayil ɗin ɓoyayyen (misali, Bitlocker da FreeBSD geli), kazalika da goyan baya ga sababbin nau'ikan tsarin da aka goyi baya (misali, ƙarin tallafi don bcrypt-pbkdf don OpenBSD softraid) da ƙari mai yawa. Gabaɗaya, an ƙara tsari 80 akan CPU da 47 akan OpenCL. Jimlar adadin tsarin yanzu shine 407 akan CPU (ko 262 baya haɗa da tsarin "tsauri" da aka saita daga fayilolin sanyi) da 88 akan OpenCL.
- Ƙin tallafawa harshen CUDA don goyon bayan OpenCL, wanda ba ta da wata hanya ta tsoma baki tare da cikakken amfani da NVIDIA GPUs (har ma yana taimakawa, godiya ga mayar da hankali ga ci gaba da ingantawa akan aiwatar da kowane tsari na GPU maimakon aiwatarwa biyu a baya).
- Taimako don sabon saiti na koyarwa na SIMD - AVX2, AVX-512 (ciki har da ƙarni na biyu Xeon Phi) da MIC (na ƙarni na farko) - da ƙari na duniya da cikakken amfani da SIMD a aiwatar da tsarin da yawa, gami da amfani da umarnin da aka goyan baya ya saita har zuwa AVX da XOP akan x86(-64) da
NEON, ASIMD da AltiVec akan ARM, Aarch64 da POWER, bi da bi. - Haɓakawa da yawa don CPU da OpenCL, duka don aiki da inganci tare da adadi mai yawa na hashes lokaci guda (misali, an gwada hashes miliyan 320 SHA-1 akan GPU), kuma don haɓaka saurin ƙididdige hash. Wasu daga cikin waɗannan haɓakawa na duniya ne, wasu suna rufe ɓangarori daban-daban na tsari, kuma da yawa sun keɓance ga tsarin mutum ɗaya.
- (Auto-) daidaita madaidaicin buffer na kalmomin shiga da aka bincika akan CPU ("-tune = auto -verbosity=5") da mafi kyawun girman aiki akan OpenCL (wanda aka kunna ta tsohuwa), gami da la'akari da jinkirin haɓakawa zuwa cikakken mitar aiki. na NVIDIA GTX jerin GPUs 10xx da sababbi. Yin amfani da hashes da aka ɗora a zahiri da ainihin tsawon kalmomin kalmomin da ake bincika (lokacin da aka sani a gaba) don irin wannan daidaitawa ta atomatik.
- Ƙara mai tarawa don "ƙarfafa magana" ƙayyadaddun kai tsaye akan layin umarni da aiwatar da sabbin nau'ikan hash na matasan, misali "-format=dynamic='sha1(md5($p).$s)", da aka lissafta akan CPU ta amfani da SIMD . Kamar yadda aka haɗa nau'ikan irin waɗannan maganganun, ana samun goyan bayan hashes masu sauri (daga na gama gari kamar MD5 zuwa matsakaicin matsakaici kamar Whirlpool), haɗaɗɗen igiyoyi, ɓoyewa da yanke hukunci, canjin yanayin hali, nassoshi zuwa kalmar sirri, gishiri, sunan mai amfani da kirtani.
- Kawar da bambance-bambancen da ba a so daga hashcat, gami da goyan baya ga ƙayyadaddun ƙayyadaddun ƙayyadaddun hashcat a baya (umarnin ka'idojin lissafin kalmomi), canzawa zuwa lambar na'urar OpenCL daga 1, tsohuwar amfani da tsayin kalmar sirri iri ɗaya (yawanci tsawon 7) a cikin gwaje-gwajen aiki.
- Sabbin hanyoyi don ƙirƙirar kalmomin sirri masu tabbatarwa (hanyoyi masu fashewa), gami da PRINCE daga hashcat (samfuran "jumloli" ta hanyar haɗa kalmomi da yawa a cikin adadin tsayin jimlar), ƙayyadaddun bayanai (yana fitar da kalmomin shiga tare da ƙarancin adadin haruffa daban-daban, koda kuwa waɗannan haruffan sun zo. daga babban saiti na masu yiwuwa) da kuma matasan waje (yana ba da damar yanayin waje, wanda aka kwatanta a cikin fayilolin sanyi a cikin yare mai kama da C, don samar da kalmar sirri da yawa da za a iya tabbatar da su dangane da kowane ainihin “kalmar” da aka karɓa daga wani yanayin). Hakanan, sabbin hanyoyin waje da aka ƙirƙira.
- Ƙarin damar yin amfani da hanyoyi da yawa a lokaci guda (ɗaya a saman wani - stacking), da kuma yin amfani da tsarin dokoki (ka'idojin lissafin kalmomi).
- Haɓakawa ga yanayin abin rufe fuska (miƙewar abin rufe fuska a hankali a cikin kewayon tsayi, aikace-aikacen abin rufe fuska a gefen na'urar OpenCL ko allon FPGA) da fashe ɗaya (dabi'a mai ma'ana akan na'urori waɗanda ke ƙididdige adadin hashes a layi daya. , wanda a baya babu isassun kalmomin sirri da za a iya tabbatarwa a cikin wannan yanayin, da kuma ƙuntatawa akan amfani da ƙwaƙwalwar ajiya).
- Yawancin haɓakawa don tallafawa Unicode da sauran rikodi a cikin tsarin ƙasa daban-daban.
- Yawancin haɓakawa zuwa shirye-shiryen * 2john (mayar da fayiloli na nau'i daban-daban don
Yi amfani da john), musamman wpacap2john (yana sarrafa zirga-zirgar WiFi). - Akwai sabbin zaɓuɓɓukan layin umarni da yawa, saituna a john.conf, saita zaɓuɓɓukan rubutun da sabbin abubuwa masu dacewa, ba duka aka ambata anan ba.
- Haɓaka ingancin lambar godiya ga ginanniyar tallafi don gyara gyara gyara tare da AddressSanitizer (a da) da UndefinedBehaviorSanitizer (ƙara), ƙara ginanniyar tsarin fuzzer (a matsayin ɓangare na GSoC 2015), ta amfani da ci gaba da haɗin kai (gina ga yawancin tsarin aiki da mai tarawa). haɗuwa da gwada su don ingantaccen goyon baya ga kowane tsari).
source: budenet.ru