John the Ripper 1.9.0-jumbo-1 faʻatasi ma le lagolago FPGA

Fa'asa'oloto lomiga fou o le polokalama matemate upu faataga matua lagolago lagolago John le Ripper 1.9.0-jumbo-1. (O le poloketi ua atiae talu mai le 1996.) On itulau o galuega faatino O puna'oa e avanoa mo le la'uina mai, fa'apea fo'i ma fa'apotopotoga ua saunia mo Windows.

Ua maitauina e 1.8.0 tausaga ua mavae talu mai le tatalaina o le version 1-jumbo-4.5, lea na sili atu i le 6000 suiga (git commits) na faia mai le silia ma le 80 developers. I lenei vaitau, na fautuaina e le au atinaʻe le faʻaaogaina lomiga nei mai GitHub, o le tulaga lea sa tumau mautu e ui lava i suiga na faia faafetai i tuufaatasia faifaipea, lea e aofia ai faʻamaoniga muamua o suiga taʻitasi (talosaga toso) i luga o le tele o faʻasalalauga. O se vaega faʻapitoa o le lomiga fou o le faʻaalia o le lagolago mo FPGA (FPGA) faʻaopoopo i le PPU, GPU ma Xeon Phi.


Mo laupapa ZTEX 1.15y, e aofia ai le 4 FPGA meataalo ma muamua faʻaaogaina mo Bitcoin mining, 7 ituaiga o upu faʻaupuga faʻapipiʻi ua faʻatinoina nei: bcrypt, descrypt masani (e aofia ai le bigcrypt), sha512crypt, sha256crypt, md5crypt (e aofia ai Apache apr1 ma AIX smd5), Drupal7 ma phpass (faʻaaogaina). , aemaise ile WordPress). O nisi oi latou o loʻo faʻatinoina ile FPGA mo le taimi muamua. Mo le bcrypt, o le ausiaina o le ~ 119k c / s ma le 2 ^ 5 iterations ("$ 2b $ 05") faʻatasi ai ma le faʻaaogaina o le eletise e tusa ma le 27 watts e sili atu nai lo taunuuga mo GPU lata mai i le laupapa, tau meafaigaluega ma le watt. E lagolagoina foi fuifui o laupapa o lenei ituaiga, lea ua tofotofoina e oo atu i le 16 laupapa (64 FPGAs) pulea mai se tasi Raspberry Pi 2. O le masani John le Ripper functionality e lagolagoina, e aofia ai upu faataga uma modes ma sii mai le taimi e tasi o se numera tele o hashes. Ina ia faʻavaveina le galuega, matou te faʻaogaina le faʻaogaina o se matapulepule (o le "--mask" mode, e aofia ai le tuʻufaʻatasia ma isi auala) ma le faʻatusatusaina o faʻamau faʻatatau ma i latou na utaina i le itu FPGA. Mai se vaaiga faʻatinoga, o le tele o mamanu (eg. sha512crypt ma Drupal7) poloka e aofia ai le tele-filo processor cores (cores CPU malu) fegalegaleai ma cryptographic cores o loo faaaogaina. O le atinaʻeina o lenei faʻatinoga na taʻitaʻia e Denis Burykin i le faʻamaopoopoina ma isi atinaʻe jumbo.

O isi suiga tetele:

  • Lagolago mo se numera tele o isi ituaiga o hashes, ciphers, ma isi mea, e aofia uma ai upu faʻamaonia faʻailoga (mo se faʻataʻitaʻiga, mai lomiga fou o le QNX), faʻapea foʻi ma pusa tupe, faʻamaufaʻailoga faila ma faila faila (mo se faʻataʻitaʻiga, Bitlocker ma FreeBSD geli), faʻapea foʻi ma le lagolago mo ituaiga fou o faʻasologa na lagolagoina muamua (mo se faʻataʻitaʻiga, faʻaopoopo lagolago mo bcrypt-pbkdf mo OpenBSD softraid) ma sili atu. I le aofaʻi, 80 faʻapipiʻi faʻapipiʻi i luga o le PPU ma le 47 i luga o OpenCL (ma o se numera laʻititi o mea tuai ua aveese e pei ona tuʻufaʻatasia i ni mea fou ma le le toe aoga). Ole aofa'iga o fa'asologa ua 407 nei ile PPU (po'o le 262 e le aofia ai fa'asologa "malosi" fa'atulagaina mai faila fa'atulagaina) ma le 88 ile OpenCL.
  • O le mumusu e lagolagoina le gagana CUDA e fiafia i le OpenCL, e leai se auala e faʻalavelave ai i le faʻaaogaina atoatoa o NVIDIA GPUs (ma e fesoasoani foi, faʻafetai i le taulaʻi atu o le atinaʻe ma le faʻamoemoeina i luga o le tasi faʻatinoga o faatulagaga taʻitasi mo le GPU nai lo le lua faʻatinoga muamua).
  • Lagolago mo seti fou a le SIMD - AVX2, AVX-512 (e aofia ai mo le lona lua o augatupulaga Xeon Phi) ma le MIC (mo le augatupulaga muamua) - faʻapea foʻi ma le faʻaogaina lautele ma le atoatoa o le SIMD i faʻatinoga o le tele o faʻatulagaga, e aofia ai le faʻaogaina o fa'atonuga na lagolagoina muamua ua setiina i le AVX ma le XOP ile x86(-64) ma
    NEON, ASIMD ma AltiVec i luga ole ARM, Aarch64 ma le POWER. (O se vaega o se vaega ole GSoC 2015.)
  • Le tele optimizations mo PPU ma OpenCL, e lua e sili atu ona lelei le galulue faatasi ma se numera tele o hashes i le taimi e tasi (mo se faataitaiga, utaina 320 miliona SHA-1 hashes i luga o le GPU na tofotofoina), ma ia faateleina le saoasaoa o le fuafuaina o hash. O nisi o nei su'esu'ega e lautele, o nisi e aofia ai vaega eseese o fa'atulagaga, ma o le tele e fa'apitoa i fa'atulagaga ta'itasi.
  • (Auto-) fetuutuunaiga o le puipuia lelei o upu faʻamaonia siaki i luga o le PPU (“—tune=auto —verbosity=5”) ma galuega sili ona lelei i luga o OpenCL (faʻatagaina e ala i le faaletonu), e aofia ai le amanaia o le faʻagesegese o le NVIDIA GTX GPU fa'asologa i le fa'agaoioiga atoa taimi 10xx ma fou. Fa'aaogāina fa'ato'a fa'amomoli ma le umi moni o fa'aupuga o lo'o siaki (pe a iloa muamua) mo ia fa'alogo-auto.
  • Fa'aopoopoina o se tu'ufa'atasia mo "fa'amatalaga fa'amalosi" fa'amaoti sa'o i luga o le laina fa'atonu ma fa'atinoina ituaiga fou o hash, mo se fa'ata'ita'iga "-format=dynamic='sha1(md5($p).$s)'", fa'atatau ile PPU e fa'aaoga ai le SIMD . I le avea ai ma vaega o ia faʻamatalaga, o le tele o faʻamatalaga vave e lagolagoina (mai i mea masani e pei o le MD5 i mea faʻapitoa e pei o Whirlpool), substring concatenation, encoding ma decoding, faʻaliliuga mataʻitusi, faʻasino i upu faʻamaonia, masima, igoa ole igoa ma manoa tumau.
  • Ave'esea ese'esega e le mana'omia mai le hashcat, e aofia ai le lagolago mo tulafono fa'apitoa a hashcat (fa'atonu tulafono o le lisi o upu), suiga i le masini OpenCL fa'anumeraina mai le 1, fa'aaoga le fa'aoga tutusa le umi o upu (e masani lava le umi 7) mo su'ega fa'atinoga.
  • Faiga fou mo le fa'atupuina o fa'aupuga fa'amaonia (faiga ta'e), e aofia ai le PRINCE mai le hashcat (faiga "fuaiupu" e ala i le tu'ufa'atasia o ni upu i le fa'aopoopoina o le fa'asologa o le umi atoa), subsets (a'e upu fa'aulu e le lava le numera o mataitusi eseese, tusa lava pe o'o mai nei mataitusi. mai se seti tele o mea e mafai) ma hybrid fafo (fa'atagaina auala i fafo, faʻamatalaina i faila faʻatulagaina i se gagana C-pei, e faʻatupuina le tele o upu faʻamaonia e faʻavae i luga o "upu" faavae taʻitasi maua mai se isi faiga). E le gata i lea, o nisi o auala fou fa'apitoa i fafo.
  • Fa'aopoopo vaega mo le fa'aogaina o le tele o auala i le taimi e tasi (tasi i luga o le isi - fa'aputu), fa'apea fo'i ma le fa'aogaina o seti o tulafono (fa'apipi'i tulafono lisi o upu).
  • Faʻaleleia faiga faʻalelei (faʻasolosolo malie o le matapulepule i se laina faʻapitoa o umi, faʻaogaina o se matapulepule i le itu o le OpenCL masini poʻo le FPGA board) ma le taʻe tasi (amio talafeagai i luga o masini e faʻatatauina le tele o hashes i le tutusa. , lea sa leʻi lava faʻamaonia upu faʻamaonia i lenei faiga, faʻapea foʻi ma tapulaʻa i le taumafaina manatua).
  • Le tele o faʻaleleia e lagolago ai le Unicode ma isi faʻasologa i vaega laiti eseese.
  • Le tele o faʻaleleia i polokalame *2john (faaliliuina faila o faatulagaga eseese mo
    faʻaoga ma john), aemaise lava wpapcap2john (taulima le WiFi feʻaveaʻi).
  • E tele filifiliga fou laina, faʻatulagaina i john.conf, faʻatulagaina filifiliga o tusitusiga ma foliga fou e fetaui, e le o mea uma na taʻua iinei.
  • Faʻaleleia le faʻaogaina o le code faʻafetai i le lagolago faʻapipiʻiina mo le faʻapipiʻiina o le faʻaogaina ma le AddressSanitizer (muamua) ma le UndefinedBehaviorSanitizer (faʻaopoopoina), faʻaopoopoina se fuzzer faʻapipiʻiina (o se vaega o le GSoC 2015), faʻaaoga faʻaauau le tuʻufaʻatasia (fausia mo le tele o faiga faʻaogaina ma le tuʻufaʻatasia. tu'ufa'atasiga ma su'esu'e mo le lagolago sa'o mo fa'asologa uma).

puna: linux.org.ru

Faaopoopo i ai se faamatalaga