ืืืคืจืืื ื ืืึทืข ืืืขืจืกืืข ืคืื โโโโืื ืึธืืืืึทืกื ืืขืฉืืืฆื ืคึผืึทืจืึธื ืืขืกืื ื ืคึผืจืึธืืจืึทื 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