John the Ripper 1.9.0-jumbo-1 ืžื™ื˜ FPGA ืฉื˜ื™ืฆืŸ

ื‘ืืคืจื™ื™ื˜ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืึธื•ืœื“ืึทืกื˜ ื’ืขืฉื˜ื™ืฆื˜ ืคึผืึทืจืึธืœ ื’ืขืกื™ื ื’ ืคึผืจืึธื’ืจืึทื John the Ripper 1.9.0-jumbo-1. (ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื–ื™ื ื˜ 1996.) ืื•ื™ืฃ ืคึผืจื•ื™ืขืงื˜ ื‘ืœืึทื˜ ืงื•ื•ืืœืŸ ื–ืขื ืขืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ ืืจืืคืงืืคื™ืข, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืคืึทืจื˜ื™ืง ืึทืกืขืžื‘ืœื™ื– ืคึฟืึทืจ Windows.

ืขืก ืื™ื– ื‘ืืžืขืจืงื˜ ืึทื– 1.8.0 ื™ืึธืจ ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื–ื™ื ื˜ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื•ื•ืขืจืกื™ืข 1-jumbo-4.5, ื‘ืขืฉืึทืก ื•ื•ืึธืก ืžืขืจ ื•ื•ื™ 6000 ืขื ื“ืขืจื•ื ื’ืขืŸ (ื’ื™ื˜ ืงืึทืžื™ืฅ) ื–ืขื ืขืŸ ื’ืขืžืื›ื˜ ืคื•ืŸ ืžืขืจ ื•ื•ื™ 80 ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ื‘ืขืฉืึทืก ื“ืขื ืคึผืขืจื™ืึธื“, ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ ืงืจืึทื ื˜ ืจืขื•ื•ื™ื–ื™ืข ืคึฟื•ืŸ GitHub, ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืžื™ื™ื ื˜ื™ื™ื ื“ ืกื˜ืึทื‘ื™ืœ ื˜ืจืึธืฅ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ื’ืขืžืื›ื˜ ื“ืึทื ืง ืฆื• ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ, ื•ื•ืึธืก ื›ื•ืœืœ ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ื™ืขื“ืขืจ ืขื ื“ืขืจื•ื ื’ (ืฆื™ืขืŸ ื‘ืขื˜ืŸ) ืื•ื™ืฃ ืคื™ืœืข ืคึผืœืึทื˜ืคืึธืจืžืก. ื ืกืคึผืขืฆื™ืขืœ ืฉื˜ืจื™ืš ืคื•ืŸ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืื™ื– ื“ืขืจ ืื•ื™ืกื–ืขืŸ ืคื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ FPGA (FPGA) ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืงืคึผื•, ื’ืคึผื• ืื•ืŸ ืงืกืขืึธืŸ ืคื™.


ืคึฟืึทืจ ื‘ืึธืจื“ื– Ztex 1.15ื™, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ 4 FPGA ื˜ืฉื™ืคึผืก ืื•ืŸ ืขืจื™ื“ื–ืฉื ืึทืœื™ ื’ืขื•ื•ื™ื™ื ื˜ ื“ืขืจ ื”ื•ื™ืคึผื˜ ืคึฟืึทืจ ื‘ื™ื˜ืงืึธื™ืŸ ืžื™ื™ื ื™ื ื’, 7 ื˜ื™ื™ืคึผืก ืคื•ืŸ ืคึผืึทืจืึธืœ ื”ืึทืฉืขืก ื–ืขื ืขืŸ ืื™ืฆื˜ ื™ืžืคึผืœืึทืžืขื ืึทื“: bcrypt, classic descrypt (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื‘ื™ื’ืงืจื™ืคึผื˜), sha512crypt, sha256crypt, md5crypt (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ Apache apr1 ืื•ืŸ AIX smd5), Drupal7 ืื•ืŸ phpass (ื’ืขื•ื•ื™ื™ื ื˜). , ืกืคึผืขืฆื™ืขืœ ืื™ืŸ ื•ื•ืึธืจื“ืคึผืจืขืกืก). ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื–ื™ื™ ื–ืขื ืขืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื•ื™ืฃ FPGA ืคึฟืึทืจ ื“ื™ ืขืจืฉื˜ืขืจ ืžืึธืœ. ืคึฟืึทืจ bcrypt, ื“ื™ ืึทื˜ืฉื™ื•ื•ื“ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ~ 119 ืง / s ืžื™ื˜ 2 ^ 5 ื™ื˜ืขืจืึทื˜ื™ืึธื ืก ("$ 2b $ 05") ืžื™ื˜ ืึท ืžืึทื›ื˜ ืงืึทื ืกืึทืžืฉืึทืŸ ืคื•ืŸ ื•ื•ืขื’ืŸ 27 ื•ื•ืื˜ืก ื‘ืื˜ื™ื™ื˜ื™ืง ื™ืงืกื™ื“ื– ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคึฟืึทืจ ื“ื™ ืœืขืฆื˜ืข ื’ืคึผื•ืก ืคึผืขืจ ื‘ืจืขื˜, ืคึผืขืจ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืคึผืจื™ื™ึทื– ืื•ืŸ ืคึผืขืจ ื•ื•ืื˜. ืื•ื™ืš ื’ืขืฉื˜ื™ืฆื˜ ืงืœืึทืกื˜ืขืจื– ืคื•ืŸ ื‘ืึธืจื“ื– ืคื•ืŸ ื“ืขื ื˜ื™ืคึผ, ื•ื•ืึธืก ืื™ื– ื˜ืขืกื˜ืขื“ ืึทืจื•ื™ืฃ ืฆื• 16 ื‘ืึธืจื“ื– (64 FPGAs) ืงืึทื ื˜ืจืึธื•ืœื“ ืคึฟื•ืŸ ืึท ืื™ื™ืŸ Raspberry Pi 2. ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš John the Ripper ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื’ืขืฉื˜ื™ืฆื˜, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึทืœืข ืคึผืึทืจืึธืœ ื’ืขืกื™ื ื’ ืžืึธื“ืขืก ืื•ืŸ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืก ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ืคื•ืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื”ืึทืฉืขืก. ืฆื• ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ ืึทืจื‘ืขื˜, ืžื™ืจ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืžืึทืกืงืข (ื“ื™ "--ืžืึทืกืงืข" ืžืึธื“ืข, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืžื™ื˜ ืื ื“ืขืจืข ืžืึธื“ืขืก) ืื•ืŸ ืคืึทืจื’ืœื™ื™ึทืš ืคื•ืŸ ื“ื™ ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื“ ื”ืึทืฉืขืก ืžื™ื˜ ื“ื™ ืœืึธื•ื“ื™ื“ ืื•ื™ืฃ ื“ื™ FPGA ื–ื™ื™ึทื˜. ืคึฟื•ืŸ ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึผืขืจืกืคึผืขืงื˜ื™ื•ื•, ืคื™ืœืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื“ื™ื–ื™ื™ื ื– (ืœืžืฉืœ. sha512crypt ืื•ืŸ Drupal7) ื’ืขื•ื•ื™ื™ื ื˜ ื‘ืœืึทืงืก ืงืึทื ืกื™ืกื˜ื™ื ื’ ืคื•ืŸ ืžืึทืœื˜ื™-ื˜ืจืขื“ื™ื“ ืคึผืจืึทืกืขืกืขืจ ืงืึธืจืขืก (ื•ื•ื™ื™ืš ืงืคึผื• ืงืึธืจืขืก) ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืง ืงืึธืจืขืก. ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ืขื ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื’ืขื•ื•ืขืŸ ื’ืขืคื™ืจื˜ ื“ื•ืจืš ื“ืขื ื™ืก ื‘ื•ืจื™ืงื™ืŸ ืื™ืŸ ืงืึธื•ืึธืจื“ืึทื ื™ื™ืฉืึทืŸ ืžื™ื˜ ืื ื“ืขืจืข ื“ื–ืฉืึทืžื‘ืึธื• ื“ืขื•ื•ืขืœืึธืคึผืขืจืก.

ืื ื“ืขืจืข ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื ืึธืš ื˜ื™ื™ืคึผืก ืคื•ืŸ ื”ืึทืฉืขืก, ืกื™ืคืขืจืก, ืืื–"ื• ื• FreeBSD geli), ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ื™ื™ึทืข ื˜ื™ื™ืคึผืก ืคื•ืŸ ืคืึธืจืžืึทืฅ ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ื’ืขืฉื˜ื™ืฆื˜ (ืœืžืฉืœ, ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ bcrypt-pbkdf ืคึฟืึทืจ OpenBSD ืกืึธืคื˜ืจืึทื™ื“) ืื•ืŸ ืคื™ืœ ืžืขืจ. ืื™ืŸ ื’ืึทื ืฅ, 80 ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืื•ื™ืฃ ืงืคึผื• ืื•ืŸ 47 ืื•ื™ืฃ OpenCL (ืื•ืŸ ืึท ืงืœื™ื™ืŸ ื ื•ืžืขืจ ืคื•ืŸ ืึทืœื˜ ืึธื ืขืก ื–ืขื ืขืŸ ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื•ื•ื™ ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ืื™ืŸ ื ื™ื™ึทืข ืื•ืŸ ืคืึทืจืขืœื˜ืขืจื˜ ืึธื ืขืก). ื“ื™ ื’ืึทื ืฅ ื ื•ืžืขืจ ืคื•ืŸ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ ืื™ื– ืื™ืฆื˜ 407 ืื•ื™ืฃ ื“ื™ ืงืคึผื• (ืึธื“ืขืจ 262 ื ื™ื˜ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ "ื“ื™ื ืึทืžื™ืฉ" ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ืคึฟื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก) ืื•ืŸ 88 ืื•ื™ืฃ OpenCL.
  • ื‘ืึทื–ื™ื™ึทื˜ื™ืงื•ื ื’ ืคื•ืŸ CUDA ืฉืคึผืจืึทืš ืฉื˜ื™ืฆืŸ ืื™ืŸ ื˜ื•ื™ื•ื•ืข ืคื•ืŸ โ€‹โ€‹OpenCL, ื•ื•ืึธืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื™ื™ึทื ืžื™ืฉื  ื–ื™ืš ืžื™ื˜ ื“ื™ ืคื•ืœ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ NVIDIA GPU ืื™ืŸ ื“ืขืจ ืงืœืขื ืกื˜ืขืจ (ืื•ืŸ ืืคื™ืœื• ื”ืขืœืคึผืก, ื“ืึทื ืง ืฆื• ื“ื™ ืคืึธืงื•ืก ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ืŸ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทื ื– ืื•ื™ืฃ ืื™ื™ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื™ืขื“ืขืจ ืคึฟืึธืจืžืึทื˜ ืื•ื ื˜ืขืจ ื“ื™ ื’ืคึผื• ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืฆื•ื•ื™ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทื ื– ืคืจื™ืขืจ).
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ื™ื™ึทืข SIMD ื™ื ืกื˜ืจื•ืงื˜ื™ืึธื ืก - AVX2, AVX-512 (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืคึฟืึทืจ ื“ื™ ืจื’ืข ื“ื•ืจ ืคื•ืŸ Xeon Phi) ืื•ืŸ MIC (ืคึฟืึทืจ ื“ืขืจ ืขืจืฉื˜ืขืจ ื“ื•ืจ) - ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืžืขืจ ื•ื ื™ื•ื•ืขืจืกืึทืœ ืื•ืŸ ืคื•ืœืฉื˜ืขื ื“ื™ืง ื ื•ืฆืŸ ืคื•ืŸ SIMD ืื™ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืคื™ืœืข ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคืจื™ืขืจ ื’ืขืฉื˜ื™ืฆื˜ ื™ื ืกื˜ืจื•ืงื˜ื™ืึธื ืก ืฆื• AVX ืื•ืŸ XOP ืื•ื™ืฃ x86 (-64) ืื•ืŸ
    NEON, ASIMD ืื•ืŸ AltiVec ืื•ื™ืฃ ARM, Aarch64 ืื•ืŸ POWER, ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™. (ื˜ื™ื™ืœ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ GSoC 2015.)
  • ืคื™ืœืข ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืงืคึผื• ืื•ืŸ OpenCL, ื‘ื™ื™ื“ืข ืฆื• ืึทืจื‘ืขื˜ืŸ ืžืขืจ ื™ืคื™ืฉืึทื ื˜ืœื™ ืžื™ื˜ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื”ืึทืฉืขืก ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ (ืœืžืฉืœ, ืœืึธื•ื“ื™ื ื’ 320 ืžื™ืœื™ืึธืŸ SHA-1 ื”ืึทืฉืขืก ืื•ื™ืฃ ื“ื™ ื’ืคึผื•) ืื•ืŸ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ื”ืึทืฉ ื›ืขื–ืฉื‘ืŸ. ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื–ืขื ืขืŸ ื•ื ื™ื•ื•ืขืจืกืึทืœ, ืขื˜ืœืขื›ืข ื“ืขืงืŸ ืคืึทืจืฉื™ื“ืŸ ืกืึทื‘ืกืขืฅ ืคื•ืŸ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ, ืื•ืŸ ืคื™ืœืข ื–ืขื ืขืŸ ืคึฟืึธืจืžืึทื˜-ืกืคึผืขืฆื™ืคื™ืฉ.
  • (ืึทื•ื˜ืึธ-) ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ืึธืคึผื˜ื™ืžืึทืœ ื‘ืึทืคืขืจื™ื ื’ ืคื•ืŸ ืึธืคึผื’ืขืฉื˜ืขืœื˜ ืคึผืึทืกื•ื•ืขืจื“ื– ืื•ื™ืฃ ื“ื™ ืงืคึผื• ("-ื˜ื•ืŸ = ืึทื•ื˜ืึธ - ื•ื•ืขืจื‘ืึธืกื™ื˜ื™ = 5") ืื•ืŸ ืึธืคึผื˜ื™ืžืึทืœ ืึทืจื‘ืขื˜ ืกื™ื–ืขืก ืื•ื™ืฃ OpenCL (ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜), ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ืคึผืึทืžืขืœืขืš ืจืึทืžืคึผ-ืึทืจื•ื™ืฃ ืคื•ืŸ NVIDIA GTX ืกืขืจื™ืข ื’ืคึผื•ืก ืฆื• ืคื•ืœ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืึธืคื˜ืงื™ื™ึทื˜ 10ืงืกืงืก ืื•ืŸ ื ื™ื™ึทืขืจ. ื ื™ืฆืŸ ืคืืงื˜ื™ืฉ ืœืึธื•ื“ื™ื“ ื”ืึทืฉืขืก ืื•ืŸ ื“ื™ ืคืึทืงื˜ื™ืฉ ืœืขื ื’ ืคื•ืŸ ื“ื™ ืคึผืึทืกื•ื•ืขืจื“ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืึธืคึผื’ืขืฉื˜ืขืœื˜ (ื•ื•ืขืŸ ืขืก ืื™ื– ื‘ืึทื•ื•ื•ืกื˜ ืื™ืŸ ืฉื˜ื™ื™ึทื’ืŸ) ืคึฟืึทืจ ืึทื–ืึท ืึทื•ื˜ืึธ-ื˜ื•ื ื™ื ื’.
  • ืึทื“ื™ื ื’ ืึท ืงืึทืžืคึผื™ื™ืœืขืจ ืคึฟืึทืจ "ื“ื™ื ืึทืžื™ืฉ ืื•ื™ืกื“ืจื•ืงืŸ" ืกืคึผืขืกื™ืคื™ืขื“ ื’ืœื™ื™ึทืš ืื•ื™ืฃ ื“ื™ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืื•ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื ื™ื™ึท ื›ื™ื™ื‘ืจื™ื“ ื”ืึทืฉ ื˜ื™ื™ืคึผืก, ืœืžืฉืœ "-format=dynamic='sha1(md5($p).$s)'", ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื“ ืื•ื™ืฃ ื“ื™ ืงืคึผื• ื ื™ืฆืŸ SIMD . ื•ื•ื™ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคื•ืŸ ืึทื–ืึท ืื•ื™ืกื“ืจื•ืงืŸ, ื“ืึทื–ืึทื ื– ืคื•ืŸ ืฉื ืขืœ ื”ืึทืฉืขืก ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜ (ืคื•ืŸ ืคึผืจืึธืกื˜ ืึธื ืขืก ื•ื•ื™ MD5 ืฆื• ืžืึทื“ืขืจืึทื˜ืœื™ ืขืงื–ืึธื˜ื™ืฉ ืึธื ืขืก ื•ื•ื™ ื•ื•ื”ื™ืจืœืคึผืึธืึธืœ), ืกื•ื‘ืกื˜ืจื™ื ื’ ืงืึทื ืงืึทื˜ืึทื ื™ื™ืฉืึทืŸ, ืงืึธื“ื™ืจื•ื ื’ ืื•ืŸ ื“ื™ืงืึธื•ื“ื™ื ื’, ื›ืึทืจืึทืงื˜ืขืจ ืคืึทืœ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ, ืจืขืคืขืจืขื ืฆืŸ ืฆื• ืคึผืึทืจืึธืœ, ื–ืึทืœืฅ, ื ืืžืขืŸ ืื•ืŸ ืฉื˜ืจื™ืงืœ ืงืึทื ืกื˜ืึทื ืฅ.
  • ื™ืœื™ืžืึทื ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึทื ื“ื™ื–ื™ื™ืจืึทื‘ืึทืœ ื“ื™ืคืขืจืึทื ืกื™ื– ืคื•ืŸ ื”ืึทืฉืงืึทื˜, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืจื™ืขืจ ื”ืึทืฉืงืึทื˜-ืกืคึผืขืฆื™ืคื™ืฉ ื•ื•ืึธืจื“ืœื™ืกื˜ ื”ืขืจืฉืŸ ืงืึทืžืึทื ื“ื–, ืกื•ื•ื™ื˜ืฉื™ื ื’ ืฆื• OpenCL ืžื™ื˜ืœ ื ื•ืžืขืจื™ื ื’ ืคึฟื•ืŸ 1, ื ื™ืฆืŸ ื“ื™ ื–ืขืœื‘ืข ืคืขืœื™ืงื™ื™ึทื˜ ืคึผืึทืจืึธืœ ืœืขื ื’ (ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืœืขื ื’ 7) ืคึฟืึทืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื˜ืขืกืฅ.
  • ื ื™ื• ืงืจืึทืงื™ื ื’ ืžืึธื“ืขืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ PRINCE ืคึฟื•ืŸ hashcat (ื“ื–ืฉืขื ืขืจื™ื™ืฅ "ืคืจืึทืกืขืก" ื“ื•ืจืš ืงืึทื ืงืึทื˜ืึทื ื™ื™ื˜ื™ื ื’ ืงื™ื™ืคืœ ื•ื•ืขืจื˜ืขืจ ืื™ืŸ ืึทืกืขื ื“ื™ื ื’ ืกื“ืจ ืคื•ืŸ ื’ืึทื ืฅ ืœืขื ื’), ืกืึทื‘ืกืขืฅ (ื‘ืจืขื ื’ื˜ ืคึผืึทืกื•ื•ืขืจื“ื– ืžื™ื˜ ื ื™ื˜ ื’ืขื ื•ื’ ืคืึทืจืฉื™ื“ืขื ืข ืื•ืชื™ื•ืช ืืคื™ืœื• ืื•ื™ื‘ ื“ื™ ืื•ืชื™ื•ืช ืงื•ืžืขืŸ ืคื•ืŸ ืึท ื’ืจื•ื™ืก ื’ืึทื ื’ ืคื•ืŸ ืžืขื’ืœืขืš ืึธื ืขืก) ืื•ืŸ ื›ื™ื™ื‘ืจื™ื“ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง. (ื“ืขืจืœื•ื™ื‘ื˜ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืžืึธื“ืขืก, ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก ืื™ืŸ C-ื•ื•ื™ ืฉืคึผืจืึทืš, ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืคื™ืœืข ื•ื•ืขืจืึทืคื™ื™ืึทื‘ืึทืœ ืคึผืึทืกื•ื•ืขืจื“ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื™ืขื“ืขืจ ื‘ืึทื–ืข "ื•ื•ืึธืจื˜" ื‘ืืงื•ืžืขืŸ ืคื•ืŸ ืืŸ ืื ื“ืขืจ ืžืึธื“ืข). ืื•ื™ืš ืขื˜ืœืขื›ืข ื ื™ื™ึทืข ืคึผืจืขื“ืขืคื™ื ืขื“ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืžืึธื“ืขืก.
  • ื ืึธืš ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคึฟืึทืจ ื ื™ืฆืŸ ืขื˜ืœืขื›ืข ืžืึธื“ืขืก ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ (ืื™ื™ื ืขืจ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ ืื ื“ืขืจืข - ืกื˜ืึทืงื™ื ื’), ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืคึฟืึทืจ ืึทื–ืึท ื ื•ืฆืŸ ืคื•ืŸ ื”ืขืจืฉืŸ ืฉื˜ืขืœื˜ (ืกื˜ืึทืงื™ื ื’ ื•ื•ืึธืจื“ืœื™ืกื˜ ื›ึผืœืœื™ื).
  • ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืฆื• ื“ื™ ืžืึทืกืงืข ืžืึธื“ืขืก (ื’ืจืึทื“ื–ืฉื•ืึทืœ ืžืึทืกืงืข ืกื˜ืจืขื˜ืฉื™ื ื’ ืื™ืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืงื™ื™ื˜ ืคื•ืŸ ืœืขื ื’ืงื˜ืก, ืึทืคึผืœื™ื™ื™ื ื’ ื“ื™ ืžืึทืกืงืข ืื•ื™ืฃ ื“ื™ ื–ื™ื™ึทื˜ ืคื•ืŸ ืึท OpenCL ืžื™ื˜ืœ ืึธื“ืขืจ FPGA ื‘ืจืขื˜) ืื•ืŸ ืื™ื™ืŸ ืคึผืœืึทืฆืŸ (ื’ืœื™ื™ึทืš ื ืึทื˜ื•ืจ ืื•ื™ืฃ ื“ืขื•ื•ื™ืกืขืก ื•ื•ืึธืก ืจืขื›ืขื ืขืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื›ืึทืฉื™ื– ืื™ืŸ ืคึผืึทืจืึทืœืขืœ, ื•ื•ืึธืก ืคืจื™ืขืจ ืื™ืŸ ื“ืขื ืžืึธื“ืข ืคืขืœืŸ ืคึผืึทืกื•ื•ืขืจื“ื– ืฆื• ื–ื™ื™ืŸ ืึธืคึผื’ืขืฉื˜ืขืœื˜, ืื•ืŸ ืื•ื™ืš ืœื™ืžืึทืฅ ืื•ื™ืฃ ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ).
  • ืคื™ืœืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื™ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืื•ื ื™ืงืึธื“ ืื•ืŸ ืื ื“ืขืจืข ืงืึธื“ื™ืจื•ื ื’ ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืกืึทื‘ืกื™ืกื˜ืึทืžื–.
  • ืคื™ืœืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืฆื• * 2john ืžื’ื™ืœื” (ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ื˜ืขืงืขืก ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ ืฆื•
    ื ื•ืฆืŸ ืžื™ื˜ John), ืกืคึผืขืฆื™ืขืœ wpapcap2john (ื›ืึทื ื“ืึทืœื– ื•ื•ื™ืคื™ ืคืึทืจืงืขืจ).
  • ืคื™ืœืข ื ื™ื™ึทืข ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืึธืคึผืฆื™ืขืก, john.conf ืกืขื˜ื˜ื™ื ื’ืก, ืงืึทื ืคื™ื’ื™ืขืจ ืฉืจื™ืคื˜ ืึธืคึผืฆื™ืขืก ืื•ืŸ ื–ื™ื™ืขืจ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื ื™ื™ึท ืคึฟืขื™ึดืงื™ื™ื˜ืŸ, ื ื™ื˜ ืึทืœืข ืคื•ืŸ โ€‹โ€‹ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ืขืจืžืื ื˜ ื“ืึธ.
  • ื™ืžืคึผืจื•ื•ื•ื™ื ื’ ืงืึธื“ ืงื•ื•ืึทืœื™ื˜ืขื˜ ืจืขื›ื˜ ืฆื• ื“ืขืจ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ื‘ืึทื’ ื‘ื•ื™ืขืŸ ืžื™ื˜ AddressSanitizer (ืคืจื™ืขืจ) ืื•ืŸ UndefinedBehaviorSanitizer (ืฆื•ื’ืขืœื™ื™ื’ื˜), ืึทื“ื™ื ื’ ืึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคึฟืึธืจืžืึทื˜ ืคื•ื–ืขืจ (ื™ืŸ GSoC 2015), ื ื™ืฆืŸ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ (ื‘ื•ื™ื˜ ืคึฟืึทืจ ื“ืึทื–ืึทื ื– ืคื•ืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืื•ืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ืงืึทืžื‘ืึทื ื™ื™ืฉืึทื ื– ืื•ืŸ ื˜ืขืกื˜ื™ื ื’ ื–ื™ื™ ืคึฟืึทืจ ืจื™ื›ื˜ื™ืง ืฉื˜ื™ืฆืŸ ืคื•ืŸ ืึทืœืข ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ).

ืžืงื•ืจ: linux.org.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’