Karolo e ikhethang ea mofuta o mocha ke ponahalo ea tšehetso ea FPGA (ho kenyelletsa CPU, GPU le Xeon Phi). Bakeng sa mapolanka
Bakeng sa bcrypt, ts'ebetso e fihletsoeng ea ~ 119k c/s ka 2^ 5 iterations ("$2b $05") ka tšebeliso ea matla ea ~ 27 watts e feta haholo liphetho tsa li-GPU tsa morao-rao ka boto, ka theko ea hardware, le watt ka 'ngoe. . E boetse e tšehetsoa
Ho potlakisa mosebetsi, re sebelisitse ts'ebeliso ea mask (mokhoa oa "-mask", ho kenyeletsoa hammoho le mekhoa e meng) le ho bapisa li-hashes tse baloang le tse jereng lehlakoreng la FPGA. Ho latela pono ea ts'ebetsong, meralo e mengata (mohlala.
Liphetoho tse ling tsa bohlokoa:
- Ts'ehetso bakeng sa palo e kholo ea mefuta e meng ea li-hashes, li-ciphers, joalo-joalo, ho kenyelletsa le li-hashes tsa khale tsa password (mohlala, ho tsoa liphetolelong tse ncha tsa QNX), hammoho le li-wallet tsa cryptocurrency, li-archives tse patiloeng le litsamaiso tsa faele tse patiloeng (mohlala, Bitlocker le FreeBSD geli), hammoho le ts'ehetso ea mefuta e mecha ea lifomate tse neng li tšehetsoa pele (mohlala, tšehetso e ekelitsoeng bakeng sa bcrypt-pbkdf bakeng sa OpenBSD softraid) le tse ling tse ngata. Ka kakaretso, liforomo tse 80 li kentsoe ho CPU le 47 ho OpenCL. Palo eohle ea lifomate e se e le 407 ho CPU (kapa 262 e sa kenyelletse lifomate tse "dynamic" tse hlophisitsoeng ho tsoa lifaeleng tsa tlhophiso) le 88 ho OpenCL.
- Ho hana ho ts'ehetsa puo ea CUDA molemong oa OpenCL, eo ho hang ha e sitise ts'ebeliso e felletseng ea NVIDIA GPUs (ebile e thusa, ka lebaka la ho tsepamisa maikutlo ho nts'etsopele le ntlafatso ts'ebetsong e le 'ngoe ea sebopeho ka seng bakeng sa GPU ho fapana le ts'ebetsong tse peli tse fetileng).
- Ts'ehetso bakeng sa lisebelisoa tse ncha tsa litaelo tsa SIMD - AVX2, AVX-512 (ho kenyeletsoa moloko oa bobeli Xeon Phi) le MIC (bakeng sa moloko oa pele) - hammoho le ts'ebeliso e felletseng le e felletseng ea SIMD ts'ebetsong ea liforomo tse ngata, ho kenyelletsa ts'ebeliso ea taeo e neng e tšehetsoa pele e theha ho AVX le XOP ho x86 (-64) le
NEON, ASID le AltiVec ho ARM, Aarch64 le POWER, ka ho latellana. - Lintlafatso tse ngata bakeng sa CPU le OpenCL, ka bobeli ho sebetsa ka katleho le palo e kholo ea li-hashe ka nako e le 'ngoe (mohlala, ho lekoa ho kenya li-hashe tse limilione tse 320 ho GPU), le ho eketsa lebelo la lipalo tsa hash. Tse ling tsa lintlafatso tsena ke tsa bokahohleng, tse ling li koahela liforomo tse fapaneng, 'me tse ngata li tobane le lifomate tsa motho ka mong.
- (Auto-) tlhophiso ea ho boloka li-password tse hlahlobiloeng ho CPU (“—tune=auto —verbosity=5”) le boholo bo nepahetseng ba mosebetsi ho OpenCL (e nolofalitsoeng ke kamehla), ho kenyeletsoa ho ela hloko tsela e tsamaeang butle e fihlang ho lebelo le felletseng la ts'ebetso. ea letoto la NVIDIA GTX GPUs 10xx le ho feta. Ho sebelisa li-hashes tse laetsoeng le bolelele ba 'nete ba li-password tse hlahlojoang (ha li tsejoa esale pele) bakeng sa tokiso e joalo ea boiketsetso.
- Ho kenya sekopanyi bakeng sa "dynamic expressions" e boletsoeng ka kotloloho moleng oa taelo le ho kenya ts'ebetsong mefuta e mecha ea li-hash, mohlala "-format=dynamic='sha1(md5($p).$s)'", e baloang ho CPU ho sebelisoa SIMD. . E le likarolo tsa lipolelo tse joalo, li-hashe tse ngata tse potlakileng li tšehetsoa (ho tloha ho tse tloaelehileng tse kang MD5 ho ea ho tse sa tloaelehang tse kang Whirlpool), concatenation ea substring, encoding le decoding, phetoho ea litlhaku, litemana tsa password, letsoai, lebitso la mosebedisi le likhoele tse tsitsitseng.
- Ho felisoa ha liphapang tse sa batleheng ho tloha ho hashcat, ho kenyelletsa le ts'ehetso bakeng sa melao e tobileng ea hashcat (litaelo tsa melao ea mantsoe), ho fetela ho nomoro ea sesebelisoa sa OpenCL ho tloha ho 1, tšebeliso ea kamehla ea bolelele bo tšoanang ba password (hangata bolelele ba 7) bakeng sa liteko tsa ts'ebetso.
- Mekhoa e mecha ea ho hlahisa li-passwords tse netefalitsoeng (mekhoa ea ho qhekella), ho kenyelletsa le PRINCE ho tloha hashcat (liforomo "lipoleloana" ka ho kopanya mantsoe a 'maloa ka tatellano e ntseng e eketseha ea bolelele bohle), li-subsets (ho hlahisa li-password tse nang le palo e sa lekaneng ea litlhaku tse fapaneng, leha litlhaku tsena li tla. ho tloha sehlopheng se seholo sa tse ka khonehang) le lebasetere la ka ntle (e lumella mekhoa ea ka ntle, e hlalositsoeng lifaeleng tsa tlhophiso ka puo e kang C, ho hlahisa li-passwords tse ngata tse ka netefatsoang ho latela "lentsoe" le leng le le leng la motheo le amoheloang ho tsoa mokhoeng o mong). Hape, mekhoa e mengata e mecha e hlalositsoeng esale pele.
- Likarolo tse eketsehileng bakeng sa ho sebelisa mekhoa e mengata ka nako e le 'ngoe (e' ngoe ka holim'a e 'ngoe - stacking), hammoho le ho sebelisa lihlopha tsa melao (lenane la mantsoe la melao ea stacking).
- Lintlafatso tsa mekhoa ea mask (ho otlolla mask butle-butle ka bolelele bo itseng, ts'ebeliso ea mask ka lehlakoreng la sesebelisoa sa OpenCL kapa boto ea FPGA) le crack e le 'ngoe (boitšoaro bo loketseng ho lisebelisoa tse balang palo e kholo ea li-hashes ka ho tšoana. , eo pele ho moo ho neng ho se na li-passwords tse netefalitsoeng ka mokhoa ona, hammoho le lithibelo tsa tšebeliso ea memori).
- Lintlafatso tse ngata ho ts'ehetsa Unicode le li-encodings tse ling lits'ebetsong tse fapaneng tse fapaneng.
- Lintlafatso tse ngata ho mananeo a *2john (a fetolelang lifaele tsa lifomate tse fapaneng bakeng sa
sebelisa le john), haholo-holo wpapcap2john (e sebetsana le sephethephethe sa WiFi). - Ho na le likhetho tse ngata tse ncha tsa taelo, litlhophiso ho john.conf, lokisa likhetho tsa script le likarolo tse ncha tse tsamaisanang, eseng kaofela tse boletsoeng mona.
- Ho ntlafatsa boleng ba khoutu ka lebaka la ts'ehetso e hahelletsoeng bakeng sa meaho ea debug e nang le AddressSanitizer (pele) le UndefinedBehaviorSanitizer (e kenyellelitsoe), e kenyelletsa fuzzer e hahelletsoeng kahare (e le karolo ea GSoC 2015), e sebelisa khokahano e tsoelang pele (e hahela lits'ebetso tse ngata tsa ts'ebetso le komporo. kopanya le ho li leka bakeng sa tšehetso e nepahetseng bakeng sa lifomate tsohle).
Source: opennet.ru