рдЬреЙрди рдж рд░рд┐рдкрд░ 1.9.0-рдЬрдВрдмреЛ-1 FPGA рд╕рдорд░реНрдердирд╛рд╕рд╣

рд╕реЛрдбрд▓реЗ рдЬреЙрди рдж рд░рд┐рдкрд░ 1.9.0-рдЬрдВрдмреЛ-1 рдпрд╛ рд╕рд░реНрд╡рд╛рдд рдЬреБрдиреНрдпрд╛ рд╕рдорд░реНрдерд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдЕрдВрджрд╛рдЬ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА. (рдкреНрд░рдХрд▓реНрдк 1996 рдкрд╛рд╕реВрди рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ.) рдЪрд╛рд▓реВ рдкреНрд░рдХрд▓реНрдк рдкреГрд╖реНрда рд╕реНрд░реЛрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд, рддрд╕реЗрдЪ Windows рд╕рд╛рдареА рддрдпрд╛рд░-рддрдпрд╛рд░ рдЕрд╕реЗрдВрдмреНрд▓реА.

рд╣реЗ рдиреЛрдВрджрд╡рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдХреА рдЖрд╡реГрддреНрддреА 1.8.0-рдЬрдВрдмреЛ-1 рд░рд┐рд▓реАрдЭ рд╣реЛрдКрди 4.5 рд╡рд░реНрд╖реЗ рдЙрд▓рдЯреВрди рдЧреЗрд▓реА рдЖрд╣реЗрдд, рдЬреНрдпрд╛ рджрд░рдореНрдпрд╛рди 6000 рд╣реВрди рдЕрдзрд┐рдХ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдХрдбреВрди 80 рд╣реВрди рдЕрдзрд┐рдХ рдмрджрд▓ (рдЧрд┐рдЯ рдХрдорд┐рдЯ) рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. рдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрдд, рд╡рд┐рдХрд╕рдХрд╛рдВрдиреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА GitHub рд╡рд░реВрди рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА, рдЬреНрдпрд╛рдЪреЗ рдЖрднрд╛рд░ рдмрджрд▓реВрдирд╣реА рддреНрдпрд╛рдЪреА рд╕реНрдерд┐рддреА рд╕реНрдерд┐рд░ рдареЗрд╡рд▓реА рдЧреЗрд▓реА рд╕рддрдд рдПрдХреАрдХрд░рдг, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрдиреЗрдХ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рдмрджрд▓рд╛рдЪреА (рдкреБрд▓ рд╡рд┐рдирдВрддреА) рдкреНрд░рд╛рдердорд┐рдХ рдкрдбрддрд╛рд│рдгреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддреЗ. рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдЪреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдореНрд╣рдгрдЬреЗ CPU, GPU рдЖрдгрд┐ Xeon Phi рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд FPGA (FPGA) рд╕рд╛рдареА рд╕рдорд░реНрдерди рджрд┐рд╕рдгреЗ.


рдмреЛрд░реНрдб рд╕рд╛рдареА ZTEX 1.15y, 4 FPGA рдЪрд┐рдкреНрд╕рд╕рд╣ рдЖрдгрд┐ рдореВрд│рдд: Bitcoin рдЦрд╛рдгрдХрд╛рдорд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛, 7 рдкреНрд░рдХрд╛рд░рдЪреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╣реЕрд╢ рдЖрддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд: bcrypt, рдХреНрд▓рд╛рд╕рд┐рдХ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯ (bigcrypt рд╕рд╣), sha512crypt, sha256crypt, md5crypt (рдЕрдкрд╛рдЪреЗ apr1 рдЖрдгрд┐ AIXspussd5 рдЖрдгрд┐ AIXspssd7) , рд╡рд┐рд╢реЗрд╖рддрдГ WordPress рдордзреНрдпреЗ). рддреНрдпрд╛рдкреИрдХреА рдХрд╛рд╣реА рдкреНрд░рдердордЪ FPGA рд╡рд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд╣реЗрдд. bcrypt рд╕рд╛рдареА, 119^2 рдкреБрдирд░рд╛рд╡реГрддреНрддреА ("$5b$2") рд╕рд╣ ~05k c/s рдЪреА рд╕рд╛рдзреНрдп рдХреЗрд▓реЗрд▓реА рдХрд╛рдордЧрд┐рд░реА рд╕реБрдорд╛рд░реЗ 27 рд╡реЕрдЯреНрд╕рдЪреНрдпрд╛ рдЙрд░реНрдЬреЗрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╣, рдкреНрд░рддрд┐ рдмреЛрд░реНрдб, рдкреНрд░рддрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдХрд┐рдВрдордд рдЖрдгрд┐ рдкреНрд░рддрд┐ рд╡реЕрдЯрдЪреНрдпрд╛ рдирд╡реАрдирддрдо GPU рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдВрдкреЗрдХреНрд╖рд╛ рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗ. рддрд╕реЗрдЪ рд╕рдорд░реНрдерди рдХреЗрд▓реЗ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреЗ рдмреЛрд░реНрдб, рдЬреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА 16 рдмреЛрд░реНрдб (64 FPGAs) рдкрд░реНрдпрдВрдд рдПрдХрд╛рдЪ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 2 рд╡рд░реВрди рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдЬреЙрди рдж рд░рд┐рдкрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд▓рд╛ рд╕рд░реНрд╡ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдВрджрд╛рдЬ рдореЛрдб рдЖрдгрд┐ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╣реЕрд╢ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдХрд╛рдорд╛рд▓рд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдорд╛рд╕реНрдХрдЪрд╛ рд╡рд╛рдкрд░ ("--рдорд╛рд╕реНрдХ" рдореЛрдб, рдЗрддрд░ рдореЛрдбрд╕рд╣ рд╕рдВрдпреЛрдЬрдирд╛рдд) рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЖрдгрд┐ FPGA рдмрд╛рдЬреВрд▓рд╛ рд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╣реЕрд╢рдЪреА рдЧрдгрдирд╛ рдХреЗрд▓реА. рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдХреЛрдирд╛рддреВрди, рдЕрдиреЗрдХ рдбрд┐рдЭрд╛рдЗрдиреНрд╕ (рдЙрджрд╛. sha512crypt рдЖрдгрд┐ Drupal7) рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХреЛрд░рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгрд╛рд░реЗ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ (рд╕реЙрдлреНрдЯ CPU рдХреЛрд░) рдЕрд╕рд▓реЗрд▓реЗ рдмреНрд▓реЙрдХ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдЪреЗ рдиреЗрддреГрддреНрд╡ рдбреЗрдирд┐рд╕ рдмреБрд░реАрдХрд┐рди рдпрд╛рдВрдиреА рдЗрддрд░ рдЬрдВрдмреЛ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдЪреНрдпрд╛ рд╕рдордиреНрд╡рдпрд╛рдиреЗ рдХреЗрд▓реЗ.

рдЗрддрд░ рдкреНрд░рдореБрдЦ рдмрджрд▓:

  • рджреЛрдиреНрд╣реА рдХреНрд▓рд╛рд╕рд┐рдХ рдкрд╛рд╕рд╡рд░реНрдб рд╣реЕрд╢ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, QNX рдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреВрди), рддрд╕реЗрдЪ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдиреНрд╕реА рд╡реЙрд▓реЗрдЯреНрд╕, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЖрд░реНрдХрд╛рдЗрд╡реНрд╣ рдЖрдгрд┐ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмрд┐рдЯрд▓реЙрдХрд░ рдЖрдгрд┐ FreeBSD geli), рддрд╕реЗрдЪ рдкреВрд░реНрд╡реА рд╕рдорд░реНрдерд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдирд╡реАрди рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдлреЙрд░рдореЕрдЯрд╕рд╛рдареА рд╕рдорд░реНрдерди (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, OpenBSD softraid рд╕рд╛рдареА bcrypt-pbkdf рд╕рд╛рдареА рдЬреЛрдбрд▓реЗрд▓реЗ рд╕рдорд░реНрдерди) рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА. рдПрдХреВрдг, CPU рд╡рд░ 80 рдЖрдгрд┐ OpenCL рд╡рд░ 47 рдлреЙрд░рдореЕрдЯреНрд╕ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд (рдЖрдгрд┐ рдирд╡реАрди рдЖрдгрд┐ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ рдХрд╛рд╣реА рдЬреБрдиреЗ рдХрд╛рдврд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд). CPU рд╡рд░ рдПрдХреВрдг рд╕реНрд╡рд░реВрдкрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрддрд╛ 407 рдЖрд╣реЗ (рдХрд┐рдВрд╡рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдпрд▓реАрдВрдордзреВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ "рдбрд╛рдпрдиреЕрдорд┐рдХ" рд╕реНрд╡рд░реВрдкрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдирд╕рд▓реЗрд▓реНрдпрд╛ 262) рдЖрдгрд┐ OpenCL рд╡рд░ 88.
  • рдУрдкрдирд╕реАрдПрд▓рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ CUDA рднрд╛рд╖реЗрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕ рдирдХрд╛рд░, рдЬреА NVIDIA GPU рдЪреНрдпрд╛ рдкреВрд░реНрдг рд╡рд╛рдкрд░рд╛рдордзреНрдпреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рд╡реНрдпрддреНрдпрдп рдЖрдгрдд рдирд╛рд╣реА (рдЖрдгрд┐ рдорджрдд рджреЗрдЦреАрд▓ рдХрд░рддреЗ, рдЖрдзреАрдЪреНрдпрд╛ рджреЛрди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдРрд╡рдЬреА GPU рд╕рд╛рдареА рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд╡рд░реВрдкрд╛рдЪреНрдпрд╛ рдПрдХрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж).
  • рдирд╡реАрди SIMD рд╕реВрдЪрдирд╛ рд╕рдВрдЪрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди - AVX2, AVX-512 (рджреБрд╕рд▒реНрдпрд╛ рдкрд┐рдвреАрдЪреНрдпрд╛ Xeon Phi рд╕рд╣) рдЖрдгрд┐ MIC (рдкрд╣рд┐рд▓реНрдпрд╛ рдкрд┐рдвреАрд╕рд╛рдареА) - рддрд╕реЗрдЪ рдЕрдиреЗрдХ рд╕реНрд╡рд░реВрдкрд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ SIMD рдЪрд╛ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдг рд╡рд╛рдкрд░ рдкреВрд░реНрд╡реА рд╕рдорд░реНрдерд┐рдд рд╕реВрдЪрдирд╛ x86(-64) рд╡рд░ AVX рдЖрдгрд┐ XOP рдкрд░реНрдпрдВрдд рд╕реЗрдЯ рдХрд░рддреЗ рдЖрдгрд┐
    NEON, ASIMD рдЖрдгрд┐ AltiVec, ARM, Aarch64 рдЖрдгрд┐ POWER рд╡рд░ рдЕрдиреБрдХреНрд░рдореЗ. (рдЕрдВрд╢рддрдГ GSoC 2015 рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди.)
  • CPU рдЖрдгрд┐ OpenCL рд╕рд╛рдареА рдЕрд╕рдВрдЦреНрдп рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди, рджреЛрдиреНрд╣реА рдПрдХрд╛рдЪ рд╡реЗрд│реА рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╣реЕрд╢рд╕рд╣ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, GPU рд╡рд░ 320 рджрд╢рд▓рдХреНрд╖ SHA-1 рд╣реЕрд╢ рд▓реЛрдб рдХрд░рдгреЗ рддрдкрд╛рд╕рд▓реЗ рдЧреЗрд▓реЗ), рдЖрдгрд┐ рд╣реЕрд╢ рдЧрдгрдирд╛рдВрдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА. рдпрд╛рдкреИрдХреА рдХрд╛рд╣реА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЖрд╣реЗрдд, рдХрд╛рд╣реА рд╕реНрд╡рд░реВрдкрд╛рдВрдЪреЗ рднрд┐рдиреНрди рдЙрдкрд╕рдВрдЪ рдХрд╡реНрд╣рд░ рдХрд░рддрд╛рдд рдЖрдгрд┐ рдЕрдиреЗрдХ рд╡реИрдпрдХреНрддрд┐рдХ рд╕реНрд╡рд░реВрдкрд╛рдВрд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╣реЗрдд.
  • (рд╕реНрд╡рдпрдВ-)CPU рд╡рд░ рдЪреЗрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдбрдЪреНрдпрд╛ рдЗрд╖реНрдЯрддрдо рдмрдлрд░рд┐рдВрдЧрдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди (тАЬтАФtune=auto тАФverbosity=5тАЭ) рдЖрдгрд┐ OpenCL рд╡рд░ рдЗрд╖реНрдЯрддрдо рдЬреЙрдм рдЖрдХрд╛рд░ (рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо), NVIDIA GTX рдЪреНрдпрд╛ рдзреАрдореЗ рд░реЕрдореНрдк-рдЕрдк рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдКрди рдорд╛рд▓рд┐рдХрд╛ GPUs рдкреВрд░реНрдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ 10xx рдЖрдгрд┐ рдирд╡реАрди. рдЕрд╢рд╛ рд╕реНрд╡рдпрдВ-рдЯреНрдпреВрдирд┐рдВрдЧрд╕рд╛рдареА рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рд▓реЛрдб рдХреЗрд▓реЗрд▓реЗ рд╣реЕрд╢ рд╡рд╛рдкрд░рдгреЗ рдЖрдгрд┐ рдкрд╛рд╕рд╡рд░реНрдбрдЪреА рдЦрд░реА рд▓рд╛рдВрдмреА рддрдкрд╛рд╕рдгреЗ (рдЬреЗрд╡реНрд╣рд╛ рддреЗ рдЖрдзреАрдЪ рдорд╛рд╣рд┐рдд рдЕрд╕рддреЗ).
  • рдереЗрдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирд╡рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ "рдбрд╛рдпрдиреЕрдорд┐рдХ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕" рд╕рд╛рдареА рдХрдВрдкрд╛рдЗрд▓рд░ рдЬреЛрдбрдгреЗ рдЖрдгрд┐ рдирд╡реАрди рд╣рд╛рдпрдмреНрд░рд┐рдб рд╣реЕрд╢ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдгреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде "-format=dynamic='sha1(md5($p).$s)'", SIMD рд╡рд╛рдкрд░реВрди CPU рд╡рд░ рдЧрдгрдирд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ. . рдЕрд╢рд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдЪреЗ рдШрдЯрдХ рдореНрд╣рдгреВрди, рдбрдЭрдирднрд░ рдЬрд▓рдж рд╣реЕрд╢ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗрдд (рдПрдордбреА 5 рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдпрд╛рдВрдкрд╛рд╕реВрди рддреЗ рд╡реНрд╣рд░реНрд▓рдкреВрд▓ рд╕рд╛рд░рдЦреНрдпрд╛ рдорд╛рдлрдХ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд┐рджреЗрд╢реА), рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЙрдиреНрдХрдЯреЗрдиреЗрд╢рди, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЖрдгрд┐ рдбреАрдХреЛрдбрд┐рдВрдЧ, рдХреЕрд░реЗрдХреНрдЯрд░ рдХреЗрд╕ рдХрдиреНрд╡реНрд╣рд░реНрдЬрди, рдкрд╛рд╕рд╡рд░реНрдбрдЪреЗ рд╕рдВрджрд░реНрдн, рдореАрда, рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ рдЖрдгрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ.
  • рд╣реЕрд╢рдХреЕрдЯрдордзреАрд▓ рдЕрд╡рд╛рдВрдЫрд┐рдд рдлрд░рдХ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ, рдЬреНрдпрд╛рдд рдкреВрд░реНрд╡реАрдЪреНрдпрд╛ рд╣реЕрд╢рдХреЕрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдпрдорд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди (рд╡рд░реНрдбрд▓рд┐рд╕реНрдЯ рдирд┐рдпрдо рдЖрджреЗрд╢), 1 рд╡рд░реВрди рдУрдкрдирд╕реАрдПрд▓ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдХреНрд░рдорд╛рдВрдХрд╛рд╡рд░ рд╕рдВрдХреНрд░рдордг, рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рд▓рд╛рдВрдмреАрдЪрд╛ (рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд▓рд╛рдВрдмреА 7) рдбреАрдлреЙрд▓реНрдЯ рд╡рд╛рдкрд░.
  • рд╣реЕрд╢рдХреЕрдЯрдордзреВрди PRINCE (рдПрдХреВрдг рд▓рд╛рдВрдмреАрдЪреНрдпрд╛ рд╡рд╛рдврддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЕрдиреЗрдХ рд╢рдмреНрдж рдПрдХрддреНрд░ рдХрд░реВрди тАЬрд╡рд╛рдХреНрдпрд╛рдВрд╢тАЭ рдмрдирд╡рддрд╛рдд), рдЙрдкрд╕рдВрдЪ (рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд░реНрдгрд╛рдВрдЪреНрдпрд╛ рдЕрдкреБрд░реНтАНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╕рд╣ рдкрд╛рд╕рд╡рд░реНрдб рдЖрдгрддрд╛рдд, рдЬрд░реА рд╣реЗ рд╡рд░реНрдг рдЖрд▓реЗ рддрд░реАрд╣реА рд╢рдХреНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЪрд╛рддреВрди) рдЖрдгрд┐ рд╕рдВрдХрд░рд┐рдд рдмрд╛рд╣реНрдп (рд╕реА-рд╕рд╛рд░рдЦреНрдпрд╛ рднрд╛рд╖реЗрддреАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕рдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрд╛рд╣реНрдп рдореЛрдбрд▓рд╛, рджреБрд╕рд░реНтАНрдпрд╛ рдореЛрдбрдордзреВрди рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓рднреВрдд "рд╢рдмреНрдж" рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреЗрдХ рдкрдбрддрд╛рд│рдгреАрдпреЛрдЧреНрдп рд╕рдВрдХреЗрддрд╢рдмреНрдж рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ). рддрд╕реЗрдЪ, рдЕрдиреЗрдХ рдирд╡реАрди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдмрд╛рд╣реНрдп рдореЛрдб.
  • рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдореЛрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛ (рдПрдХрд╛рдЪреНрдпрд╛ рд╡рд░ рдПрдХ - рд╕реНрдЯреЕрдХрд┐рдВрдЧ), рддрд╕реЗрдЪ рдирд┐рдпрдорд╛рдВрдЪреЗ рд╕рдВрдЪ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА (рд╢рдмреНрджрд╕реВрдЪреА рдирд┐рдпрдо рд╕реНрдЯреЕрдХрд┐рдВрдЧ).
  • рдорд╛рд╕реНрдХ рдореЛрдбрдордзреНрдпреЗ рд╕реБрдзрд╛рд░рдгрд╛ (рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд╛рдВрдмреАрдЪреНрдпрд╛ рд╢реНрд░реЗрдгреАрдд рдорд╛рд╕реНрдХ рд╣рд│реВрд╣рд│реВ рд╕реНрдЯреНрд░реЗрдЪ рдХрд░рдгреЗ, рдУрдкрдирд╕реАрдПрд▓ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдХрд┐рдВрд╡рд╛ рдПрдлрдкреАрдЬреАрдП рдмреЛрд░реНрдбрдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рдорд╛рд╕реНрдХ рд▓рд╛рд╡рдгреЗ) рдЖрдгрд┐ рд╕рд┐рдВрдЧрд▓ рдХреНрд░реЕрдХ (рд╕рдорд╛рдВрддрд░рдкрдгреЗ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╣реЕрд╢рдЪреА рдЧрдгрдирд╛ рдХрд░рдгрд╛рд▒реНрдпрд╛ рдЙрдкрдХрд░рдгрд╛рдВрд╡рд░ рд╡рд╛рдЬрд╡реА рд╡рд░реНрддрди) , рдЬреНрдпрд╛рд╕рд╛рдареА рдкреВрд░реНрд╡реА рдпрд╛ рдореЛрдбрдордзреНрдпреЗ рдкреБрд░реЗрд╢реА рдкрдбрддрд╛рд│рдгреА рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╕рдВрдХреЗрддрд╢рдмреНрдж рдирд╡реНрд╣рддреЗ рдЖрдгрд┐ рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рд╡рд░реАрд▓ рдирд┐рд░реНрдмрдВрдз).
  • рд╡рд┐рд╡рд┐рдз рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдордзреНрдпреЗ рдпреБрдирд┐рдХреЛрдб рдЖрдгрд┐ рдЗрддрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рд╕реБрдзрд╛рд░рдгрд╛.
  • *2john рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреНрдпреЗ рдЕрдиреЗрдХ рд╕реБрдзрд╛рд░рдгрд╛ (рдЬреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдлреЙрд░рдореЕрдЯрдЪреНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕ рдХрдиреНрд╡реНрд╣рд░реНрдЯ рдХрд░рддрд╛рдд
    рдЬреЙрдирд╕рд╣ рд╡рд╛рдкрд░рд╛), рд╡рд┐рд╢реЗрд╖рдд: wpapcap2john (рд╡рд╛рдпрдлрд╛рдп рдЯреНрд░реЕрдлрд┐рдХ рд╣рд╛рддрд╛рд│рддреЗ).
  • рдЕрдиреЗрдХ рдирд╡реАрди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд, john.conf рдордзреАрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░реНрдпрд╛рдп рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд, рддреНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрдЪрд╛ рдпреЗрдереЗ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА.
  • рдЕреЕрдбреНрд░реЗрд╕ рд╕реЕрдирд┐рдЯрд╛рдпрдЭрд░ (рдкреВрд░реНрд╡реА) рдЖрдгрд┐ UndefinedBehaviorSanitizer (рдЬреЛрдбрд▓реЗ) рд╕рд╣ рдбреАрдмрдЧ рдмрд┐рд▓реНрдбрд╕рд╛рдареА рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рдкреЛрд░реНрдЯрдореБрд│реЗ рдХреЛрдбрдЪреА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реБрдзрд╛рд░рд▓реА, рдПрдХ рдЕрдВрдЧрднреВрдд рдлреЙрд░рдореЕрдЯ рдлрдЬрд░ рдЬреЛрдбреВрди (GSoC 2015 рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди), рд╕рддрдд рдПрдХрддреНрд░реАрдХрд░рдг рд╡рд╛рдкрд░реВрди (рдбрдЭрдирднрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рдХрдВрдкрд╛рдЗрд▓рд░рд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд╕рд░реНрд╡ рд╕реНрд╡рд░реВрдкрд╛рдВрд╕рд╛рдареА рдпреЛрдЧреНрдп рд╕рдорд░реНрдердирд╛рд╕рд╛рдареА рд╕рдВрдпреЛрдЬрди рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдХрд░рдгреЗ).

рд╕реНрддреНрд░реЛрдд: linux.org.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛