เจœเฉŒเจจ เจฆ เจฐเจฟเจชเจฐ 1.9.0-เจœเฉฐเจฌเฉ‹-1 FPGA เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ†

เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ ะฝะพะฒะฐั ะฒะตั€ัะธั ัั‚ะฐั€ะตะนัˆะตะน ะฟะพะดะดะตั€ะถะธะฒะฐะตะผะพะน ะฟั€ะพะณั€ะฐะผะผั‹ ะดะปั ะฟะพะดะฑะพั€ะฐ ะฟะฐั€ะพะปะตะน John the Ripper 1.9.0-jumbo-1 (ะฟั€ะพะตะบั‚ ั€ะฐะทะฒะธะฒะฐะตั‚ัั ั 1996 ะณะพะดะฐ). C ะฒั‹ั…ะพะดะฐ ะฟั€ะพัˆะปะพะน ะฒะตั€ัะธะธ 1.8.0-jumbo-1 ะฟั€ะพัˆะปะพ 4.5 ะณะพะดะฐ, ะทะฐ ะบะพั‚ะพั€ั‹ะต ะฑั‹ะปะพ ะฒะฝะตัะตะฝะพ ะฑะพะปะตะต 6000 ะธะทะผะตะฝะตะฝะธะน (git commits) ะพั‚ ะฑะพะปะตะต 80 ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ. ะ‘ะปะฐะณะพะดะฐั€ั เจฒเจ—เจพเจคเจพเจฐ เจเจ•เฉ€เจ•เจฐเจฃ, ะฒะบะปัŽั‡ะฐัŽั‰ะตะน ะฟั€ะตะดะฒะฐั€ะธั‚ะตะปัŒะฝัƒัŽ ะฟั€ะพะฒะตั€ะบัƒ ะบะฐะถะดะพะณะพ ะธะทะผะตะฝะตะฝะธั (pull request) ะฝะฐ ะผะฝะพะณะธั… ะฟะปะฐั‚ั„ะพั€ะผะฐั…, ะฒ ั‚ะตั‡ะตะฝะธะต ัั‚ะพะณะพ ัั€ะพะบะฐ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะธ ั€ะตะบะพะผะตะฝะดะพะฒะฐะปะธ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ GitHub เจคเฉ‹เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจเจกเฉ€เจธเจผเจจ, ัะพัั‚ะพัะฝะธะต ะบะพั‚ะพั€ะพะน ะฟะพะดะดะตั€ะถะธะฒะฐะปะพััŒ ัั‚ะฐะฑะธะปัŒะฝั‹ะผ ะฝะตัะผะพั‚ั€ั ะฝะฐ ะฒะฝะพัะธะผั‹ะต ะธะทะผะตะฝะตะฝะธั. ะžัะฝะพะฒะฝะพะน ะบะพะด ะฟั€ะพะตะบั‚ะฐ เจฆเฉเจ†เจฐเจพ เจตเฉฐเจกเจฟเจ† ะฟะพะด ะปะธั†ะตะฝะทะธะตะน GPLv2+, ะฐ ะบะพะด ะฝะตะบะพั‚ะพั€ั‹ั… ะบะพะผะฟะพะฝะตะฝั‚ะพะฒ ะฟะพะด ะปะธั†ะตะฝะทะธะตะน BSD.

ะžัะพะฑะตะฝะฝะพัั‚ัŒัŽ ะฝะพะฒะพะน ะฒะตั€ัะธะธ ัะฒะปัะตั‚ัั ะฟะพัะฒะปะตะฝะธะต ะฟะพะดะดะตั€ะถะบะธ FPGA (ะฒ ะดะพะฟะพะปะฝะตะฝะธะต ะบ CPU, GPU ะธ Xeon Phi). ะ”ะปั ะฟะปะฐั‚ ZTEX 1.15y, ะฒะบะปัŽั‡ะฐัŽั‰ะธั… ะฟะพ 4 ั‡ะธะฟะฐ FPGA ะธ ะธัั…ะพะดะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐะฒัˆะธั…ัั ะฒ ะพัะฝะพะฒะฝะพะผ ะดะปั ะผะฐะนะฝะธะฝะณะฐ Bitcoin, ั‚ะตะฟะตั€ัŒ ั€ะตะฐะปะธะทะพะฒะฐะฝั‹ 7 ั‚ะธะฟะพะฒ ั…ะตัˆะตะน ะฟะฐั€ะพะปะตะน: bcrypt, ะบะปะฐััะธั‡ะตัะบะธะน descrypt (ะฒะบะปัŽั‡ะฐั bigcrypt), sha512crypt, sha256crypt, md5crypt (ะฒะบะปัŽั‡ะฐั Apache apr1 ะธ AIX smd5), Drupal7 ะธ phpass (ะธัะฟะพะปัŒะทัƒะตั‚ัั, ะฒ ั‡ะฐัั‚ะฝะพัั‚ะธ, ะฒ WordPress). ะะตะบะพั‚ะพั€ั‹ะต ะธะท ะฝะธั… ั€ะตะฐะปะธะทะพะฒะฐะฝั‹ ะฝะฐ FPGA ะฒะฟะตั€ะฒั‹ะต.

ะ”ะปั bcrypt, ะดะพัั‚ะธะณะฝัƒั‚ะฐั ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฒ ~119k c/s ะฟั€ะธ 2^5 ะธั‚ะตั€ะฐั†ะธะน (ยซ$2b$05ยป) ั ะฟะพั‚ั€ะตะฑะปัะตะผะพะน ะผะพั‰ะฝะพัั‚ัŒัŽ ะพะบะพะปะพ ~27 ะฒะฐั‚ั‚ ััƒั‰ะตัั‚ะฒะตะฝะฝะพ ะฟั€ะตะฒะพัั…ะพะดะธั‚ ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะดะปั ะฝะพะฒะตะนัˆะธั… GPU ะฒ ั€ะฐัั‡ะตั‚ะต ะฝะฐ ะฟะปะฐั‚ัƒ, ะฝะฐ ั†ะตะฝัƒ ะพะฑะพั€ัƒะดะพะฒะฐะฝะธั ะธ ะฝะฐ ะฒะฐั‚ั‚. ะขะฐะบะถะต ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚ัั เจ•เจฒเฉฑเจธเจŸเจฐ ะธะท ะฟะปะฐั‚ ัั‚ะพะณะพ ั‚ะธะฟะฐ, ั‡ั‚ะพ ะฟั€ะพะฒะตั€ะตะฝะพ ะฒะฟะปะพั‚ัŒ ะดะพ 16 ะฟะปะฐั‚ (64 ั‡ะธะฟะฐ FPGA), ะบะพะฝั‚ั€ะพะปะธั€ัƒะตะผั‹ั… ั ะพะดะฝะพะณะพ Raspberry Pi 2. ะŸะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะพะฑั‹ั‡ะฝะฐั ั„ัƒะฝะบั†ะธะพะฝะฐะปัŒะฝะพัั‚ัŒ John the Ripper, ะฒะบะปัŽั‡ะฐั ะฒัะต ั€ะตะถะธะผั‹ ะฟะพะดะฑะพั€ะฐ ะฟะฐั€ะพะปะตะน ะธ ะพะดะฝะพะฒั€ะตะผะตะฝะฝัƒัŽ ะทะฐะณั€ัƒะทะบัƒ ะฑะพะปัŒัˆะพะณะพ ะบะพะปะธั‡ะตัั‚ะฒะฐ ั…ะตัˆะตะน.

ะ”ะปั ัƒัะบะพั€ะตะฝะธั ั€ะฐะฑะพั‚ั‹ ั€ะตะฐะปะธะทะพะฒะฐะฝะพ ะฟั€ะธะผะตะฝะตะฝะธะต ะผะฐัะบะธ (ั€ะตะถะธะผ ยซโ€”maskยป, ะฒ ั‚ะพะผ ั‡ะธัะปะต ะฒ ะบะพะผะฑะธะฝะฐั†ะธะธ ั ะดั€ัƒะณะธะผะธ ั€ะตะถะธะผะฐะผะธ) ะธ ัั€ะฐะฒะฝะตะฝะธะต ะฒั‹ั‡ะธัะปะตะฝะฝั‹ั… ั…ะตัˆะตะน ั ะทะฐะณั€ัƒะถะตะฝะฝั‹ะผะธ ะฝะฐ ัั‚ะพั€ะพะฝะต FPGA. ะก ั‚ะพั‡ะบะธ ะทั€ะตะฝะธั ั€ะตะฐะปะธะทะฐั†ะธะธ, ะฒะพ ะผะฝะพะณะธั… ะธะท ะดะธะทะฐะนะฝะพะฒ (ะฝะฐะฟั€ะธะผะตั€, ะดะปั sha512crypt เจ…เจคเฉ‡ Drupal7) เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจ•เฉ‹เจฐเจพเจ‚ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ•เฉ‹เจฐ (เจธเจพเจซเจŸ CPU เจ•เฉ‹เจฐ) เจตเจพเจฒเฉ‡ เจฌเจฒเจพเจ• เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ€ เจ…เจ—เจตเจพเจˆ เจกเฉˆเจจเจฟเจธ เจฌเฉเจฐเฉ€เจ•เจฟเจจ เจจเฉ‡ เจนเฉ‹เจฐ เจœเฉฐเจฌเฉ‹ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจคเจพเจฒเจฎเฉ‡เจฒ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจธเฉ€เฅค

ะ”ั€ัƒะณะธะต ะฒะฐะถะฝั‹ะต ะธะทะผะตะฝะตะฝะธั:

  • ะŸะพะดะดะตั€ะถะบะฐ ะฑะพะปัŒัˆะพะณะพ ะบะพะปะธั‡ะตัั‚ะฒะฐ ะดะพะฟะพะปะฝะธั‚ะตะปัŒะฝั‹ั… ั‚ะธะฟะพะฒ ั…ะตัˆะตะน, ัˆะธั„ั€ะพะฒ ะธ ั‚.ะฟ., ะฒะบะปัŽั‡ะฐั ะบะฐะบ ะบะปะฐััะธั‡ะตัะบะธะต ั…ะตัˆะธ ะฟะฐั€ะพะปะตะน (ะฝะฐะฟั€ะธะผะตั€, ะพั‚ ะฝะพะฒั‹ั… ะฒะตั€ัะธะน QNX), ั‚ะฐะบ ะธ ะบะพัˆะตะปัŒะบะธ ะบั€ะธะฟั‚ะพะฒะฐะปัŽั‚, ัˆะธั„ั€ะพะฒะฐะฝะฝั‹ะต ะฐั€ั…ะธะฒั‹ ะธ ัˆะธั„ั€ะพะฒะฐะฝะฝั‹ะต ั„ะฐะนะปะพะฒั‹ะต ัะธัั‚ะตะผั‹ (ะฝะฐะฟั€ะธะผะตั€, Bitlocker ะธ FreeBSD geli), ะฐ ั‚ะฐะบะถะต ะฟะพะดะดะตั€ะถะบัƒ ะฝะพะฒั‹ั… ั€ะฐะทะฝะพะฒะธะดะฝะพัั‚ะตะน ั„ะพั€ะผะฐั‚ะพะฒ, ะฟะพะดะดะตั€ะถะธะฒะฐะตะผั‹ั… ั€ะฐะฝะตะต (ะฝะฐะฟั€ะธะผะตั€, ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ bcrypt-pbkdf ะดะปั OpenBSD softraid) ะธ ะผะฝะพะณะพะต ะดั€ัƒะณะพะต. ะ’ ะพะฑั‰ะตะน ัะปะพะถะฝะพัั‚ะธ, ะดะพะฑะฐะฒะปะตะฝะพ 80 ั„ะพั€ะผะฐั‚ะพะฒ ะฝะฐ CPU ะธ 47 ะฝะฐ OpenCL. ะžะฑั‰ะตะต ะบะพะปะธั‡ะตัั‚ะฒะพ ั„ะพั€ะผะฐั‚ะพะฒ ั‚ะตะฟะตั€ัŒ 407 ะฝะฐ CPU (ะธะปะธ 262 ะฝะต ะฒะบะปัŽั‡ะฐั ยซdynamicยป ั„ะพั€ะผะฐั‚ั‹, ะฝะฐัั‚ั€ะฐะธะฒะฐะตะผั‹ะต ะธะท ั„ะฐะนะปะพะฒ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะธ) ะธ 88 ะฝะฐ OpenCL.
  • เจ“เจชเจจเจธเฉ€เจเจฒ เจฆเฉ‡ เจนเฉฑเจ• เจตเจฟเฉฑเจš CUDA เจญเจพเจธเจผเจพ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ, เจœเฉ‹ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ NVIDIA GPUs เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเฉฑเจš เจฆเจ–เจฒ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ (เจ…เจคเฉ‡ เจฎเจฆเจฆ เจตเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, GPU เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจฆเฉ‹ เจฒเจพเจ—เฉ‚เจ•เจฐเจจเจพเจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจนเจฐเฉ‡เจ• เจซเจพเจฐเจฎเฉˆเจŸ เจฆเฉ‡ เจ‡เฉฑเจ• เจฒเจพเจ—เฉ‚เจ•เจฐเจจ 'เจคเฉ‡ เจตเจฟเจ•เจพเจธ เจ…เจคเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ เจซเฉ‹เจ•เจธ เจ•เจฐเจจ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ)เฅค
  • เจจเจตเฉ‡เจ‚ SIMD เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจธเฉˆเฉฑเจŸเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ - AVX2, AVX-512 (เจฆเฉ‚เจœเฉ€ เจชเฉ€เฉœเฉเจนเฉ€ เจฆเฉ‡ Xeon Phi เจธเจฎเฉ‡เจค) เจ…เจคเฉ‡ MIC (เจชเจนเจฟเจฒเฉ€ เจชเฉ€เฉœเฉเจนเฉ€ เจฒเจˆ) - เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฆเฉ‡ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจตเจฟเฉฑเจš SIMD เจฆเฉ€ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจ†เจชเจ• เจ…เจคเฉ‡ เจธเฉฐเจชเฉ‚เจฐเจจ เจตเจฐเจคเฉ‹เจ‚, เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค x86(-64) เจคเฉ‡ AVX เจ…เจคเฉ‡ XOP เจคเฉฑเจ• เจชเจนเจฟเจฒเจพเจ‚ เจธเจฎเจฐเจฅเจฟเจค เจนเจฆเจพเจ‡เจคเจพเจ‚ เจ…เจคเฉ‡
    NEON, ASIMD ะธ AltiVec ะฝะฐ ARM, Aarch64 ะธ POWER, ัะพะพั‚ะฒะตั‚ัั‚ะฒะตะฝะฝะพ.

  • CPU เจ…เจคเฉ‡ OpenCL เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ†เจชเจŸเฉ€เจฎเจพเจˆเจœเจผเฉ‡เจธเจผเจจ, เจฆเฉ‹เจตเฉ‡เจ‚ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจพเจ‚ เจจเจพเจฒ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, GPU เจ‰เฉฑเจคเฉ‡ 320 เจฎเจฟเจฒเฉ€เจ…เจจ SHA-1 เจนเฉˆเจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ•เจฐเจจเจพ เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€), เจ…เจคเฉ‡ เจนเฉˆเจธเจผ เจ—เจฃเจจเจพ เจฆเฉ€ เจ—เจคเฉ€ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฒเจˆเฅค เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจธเจฐเจต เจตเจฟเจ†เจชเจ• เจนเจจ, เจ•เฉเจ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฌเจธเฉˆเฉฑเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจตเจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ•เจˆ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเจจเฅค
  • (ะะฒั‚ะพ-)ะฝะฐัั‚ั€ะพะนะบะฐ ะพะฟั‚ะธะผะฐะปัŒะฝะพะน ะฑัƒั„ะตั€ะธะทะฐั†ะธะธ ะฟั€ะพะฒะตั€ัะตะผั‹ั… ะฟะฐั€ะพะปะตะน ะฝะฐ CPU (ยซโ€”tune=auto โ€”verbosity=5ยป) ะธ ะพะฟั‚ะธะผะฐะปัŒะฝั‹ั… ั€ะฐะทะผะตั€ะฝะพัั‚ะตะน ะทะฐะดะฐะฝะธั ะฝะฐ OpenCL (ะฒะบะปัŽั‡ะตะฝะฐ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ), ะฒ ั‚ะพะผ ั‡ะธัะปะต ั ัƒั‡ะตั‚ะพะผ ะผะตะดะปะตะฝะฝะพะณะพ ะฒั‹ั…ะพะดะฐ ะฝะฐ ะฟะพะปะฝัƒัŽ ั€ะฐะฑะพั‡ัƒัŽ ั‡ะฐัั‚ะพั‚ัƒ GPU ัะตั€ะธะธ NVIDIA GTX 10xx ะธ ะฝะพะฒะตะต. ะ˜ัะฟะพะปัŒะทะพะฒะฐะฝะธะต ั€ะตะฐะปัŒะฝะพ ะทะฐะณั€ัƒะถะตะฝะฝั‹ั… ั…ะตัˆะตะน ะธ ั€ะตะฐะปัŒะฝะพะน ะดะปะธะฝั‹ ะฟั€ะพะฒะตั€ัะตะผั‹ั… ะฟะฐั€ะพะปะตะน (ะบะพะณะดะฐ ะพะฝะฐ ะธะทะฒะตัั‚ะฝะฐ ะทะฐั€ะฐะฝะตะต) ะดะปั ั‚ะฐะบะพะน ะฐะฒั‚ะพ-ะฝะฐัั‚ั€ะพะนะบะธ.
  • ะ”ะพะฑะฐะฒะปะตะฝะธะต ะบะพะผะฟะธะปัั‚ะพั€ะฐ ยซะดะธะฝะฐะผะธั‡ะตัะบะธั… ะฒั‹ั€ะฐะถะตะฝะธะนยป, ัƒะบะฐะทั‹ะฒะฐะตะผั‹ั… ะฟั€ัะผะพ ะฝะฐ ะบะพะผะฐะฝะดะฝะพะน ัั‚ั€ะพะบะต ะธ ั€ะตะฐะปะธะทัƒัŽั‰ะธั… ะฝะพะฒั‹ะต ะณะธะฑั€ะธะดะฝั‹ะต ั‚ะธะฟั‹ ั…ะตัˆะตะน, ะฝะฐะฟั€ะธะผะตั€ ยซโ€”format=dynamic=โ€™sha1(md5($p).$s)'ยป, ะฒั‹ั‡ะธัะปัะตะผั‹ะต ะฝะฐ CPU ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ SIMD. ะ’ ะบะฐั‡ะตัั‚ะฒะต ะบะพะผะฟะพะฝะตะฝั‚ะพะฒ ั‚ะฐะบะธั… ะฒั‹ั€ะฐะถะตะฝะธะน ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚ัั ะดะตััั‚ะบะธ ะฑั‹ัั‚ั€ั‹ั… ั…ะตัˆะตะน (ะพั‚ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝะตะฝะฝั‹ั… ะฒั€ะพะดะต MD5 ะดะพ ัƒะผะตั€ะตะฝะฝะพ ัะบะทะพั‚ะธั‡ะตัะบะธั… ะฒั€ะพะดะต Whirlpool), ะพะฑัŠะตะดะธะฝะตะฝะธะต ะฟะพะดัั‚ั€ะพะบ, ะบะพะดะธั€ะพะฒะฐะฝะธะต ะธ ะดะตะบะพะดะธั€ะพะฒะฐะฝะธะต, ะฟั€ะตะพะฑั€ะฐะทะพะฒะฐะฝะธะต ั€ะตะณะธัั‚ั€ะฐ ัะธะผะฒะพะปะพะฒ, ััั‹ะปะบะธ ะฝะฐ ะฟะฐั€ะพะปัŒ, ัะพะปัŒ, ะธะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ะธ ัั‚ั€ะพะบะพะฒั‹ะต ะบะพะฝัั‚ะฐะฝั‚ั‹.
  • เจนเฉˆเจธเจผเจ•เฉˆเจŸ เจคเฉ‹เจ‚ เจ…เจฃเจšเจพเจนเฉ‡ เจ…เฉฐเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจเจพ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจชเจฟเจ›เจฒเฉ‡ เจนเฉˆเจธเจผเจ•เฉˆเจŸ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจจเจฟเจฏเจฎเจพเจ‚ (เจตเจฐเจกเจฒเจฟเจธเจŸ เจจเจฟเจฏเจฎ เจ•เจฎเจพเจ‚เจกเจพเจ‚), 1 เจคเฉ‹เจ‚ เจ“เจชเจจเจธเฉ€เจเจฒ เจกเจฟเจตเจพเจˆเจธ เจจเฉฐเจฌเจฐเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจŸเฉˆเจธเจŸเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ•เฉ‹ เจชเจพเจธเจตเจฐเจก เจฒเฉฐเจฌเจพเจˆ (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉฐเจฌเจพเจˆ 7) เจฆเฉ€ เจกเจฟเจซเฉŒเจฒเจŸ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค
  • เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจชเจพเจธเจตเจฐเจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจจเจตเฉ‡เจ‚ เจฎเฉ‹เจก (เจ•เจฐเฉˆเจ•เจฟเฉฐเจ— เจฎเฉ‹เจก), เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจ•เฉˆเจŸ เจคเฉ‹เจ‚ PRINCE (เจ•เฉเฉฑเจฒ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ เจตเจงเจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจ•เจˆ เจธเจผเจฌเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจ•เฉ‡ "เจตเจพเจ•เจพเจ‚เจธเจผ" เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ), เจธเจฌเจธเฉˆเฉฑเจŸ (เจตเฉฑเจ–-เจตเฉฑเจ– เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ€ เจจเจพเจ•เจพเจซเจผเฉ€ เจธเฉฐเจ–เจฟเจ† เจตเจพเจฒเฉ‡ เจชเจพเจธเจตเจฐเจก เจฒเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ, เจญเจพเจตเฉ‡เจ‚ เจ‡เจน เจ…เฉฑเจ–เจฐ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจฃเฅค เจธเฉฐเจญเจพเจตเจฟเจค เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ‡ เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจšเฉ‹เจ‚) เจ…เจคเฉ‡ เจนเจพเจˆเจฌเฉเจฐเจฟเจก เจฌเจพเจนเจฐเฉ€ (เจ‡เฉฑเจ• C- เจตเจฐเจ—เฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจฌเจพเจนเจฐเฉ€ เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ, เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฎเฉ‹เจก เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจนเจฐเฉ‡เจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ "เจธเจผเจฌเจฆ" เจฆเฉ‡ เจ…เจงเจพเจฐ 'เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจชเจพเจธเจตเจฐเจก เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ)เฅค เจจเจพเจฒ เจนเฉ€, เจ•เจˆ เจจเจตเฉ‡เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจฌเจพเจนเจฐเฉ€ เจฎเฉ‹เจกเฅค
  • เจ•เจˆ เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจตเจฐเจคเจฃ เจฒเจˆ เจตเจพเจงเฉ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ (เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจฆเฉ‡ เจ‰เฉฑเจชเจฐ - เจธเจŸเฉˆเจ•เจฟเฉฐเจ—), เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจธเฉˆเฉฑเจŸเจพเจ‚ (เจธเจผเจฌเจฆ เจธเฉ‚เจšเฉ€ เจจเจฟเจฏเจฎ เจธเจŸเฉˆเจ•เจฟเฉฐเจ—) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆเฅค
  • เจฎเจพเจธเจ• เจฎเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ (เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจฟเจฐเจงเจพเจฐเจค เจฐเฉ‡เจ‚เจœ เจตเจฟเฉฑเจš เจฎเจพเจธเจ• เจฆเจพ เจนเฉŒเจฒเฉ€-เจนเฉŒเจฒเฉ€ เจ–เจฟเฉฑเจšเจฃเจพ, เจ“เจชเจจเจธเฉ€เจเจฒ เจกเจฟเจตเจพเจˆเจธ เจœเจพเจ‚ เจเจซเจชเฉ€เจœเฉ€เจ เจฌเฉ‹เจฐเจก เจฆเฉ‡ เจชเจพเจธเฉ‡ เจ‡เฉฑเจ• เจฎเจพเจธเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚) เจ…เจคเฉ‡ เจธเจฟเฉฐเจ—เจฒ เจ•เฉเจฐเฉˆเจ• (เจ‰เจชเจ•เจฐเจจเจพเจ‚ เจ‰เฉฑเจคเฉ‡ เจตเจพเจœเจฌ เจตเจฟเจตเจนเจพเจฐ เจœเฉ‹ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจตเจฟเฉฑเจš เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจพเจ‚ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค , เจœเจฟเจธ เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เจธ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจชเจพเจธเจตเจฐเจก เจจเจนเฉ€เจ‚ เจธเจจ, เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค 'เจคเฉ‡ เจตเฉ€ เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจธเจจ)เฅค
  • เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจช-เจธเจฟเจธเจŸเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจธเจฎเจฐเจฅเจจ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉเจงเจพเจฐเฅค
  • *2john เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉเจงเจพเจฐ (เจœเฉ‹ เจตเฉฑเจ–-เจตเฉฑเจ– เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจ
    เจœเฉŒเจนเจจ เจจเจพเจฒ เจตเจฐเจคเฉ‹เจ‚), เจ–เจพเจธ เจ•เจฐเจ•เฉ‡ wpapcap2john (เจตเจพเจˆเจซเจพเจˆ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒเจฆเจพ เจนเฉˆ)เฅค

  • เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจจเจตเฉ‡เจ‚ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจตเจฟเจ•เจฒเจช เจนเจจ, john.conf เจตเจฟเฉฑเจš เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚, เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจœเจฟเจนเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจฅเฉ‡ เจœเจผเจฟเจ•เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจเจกเจฐเฉˆเจธเจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ (เจชเจนเจฟเจฒเจพเจ‚) เจ…เจคเฉ‡ เจ…เจจเจกเจฟเจซเจพเจˆเจจเจก เจฌเจฟเจนเฉ‡เจตเฉ€เจ…เจฐ เจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ (เจœเฉ‹เฉœเฉ‡ เจ—เจ) เจฆเฉ‡ เจจเจพเจฒ เจกเฉ€เจฌเฉฑเจ— เจฌเจฟเจฒเจกเจธ เจฒเจˆ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจธเจฎเจฐเจฅเจจ เจฒเจˆ เจ•เฉ‹เจก เจ—เฉเจฃเจตเฉฑเจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ, เจ‡เฉฑเจ• เจฌเจฟเจฒเจŸ-เจ‡เจจ เจซเจพเจฐเจฎเฉˆเจŸ เจซเจœเจผเจฐ (GSoC 2015 เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚), เจฒเจ—เจพเจคเจพเจฐ เจเจ•เฉ€เจ•เจฐเจฃ (เจฆเจฐเจœเจผเจจเจพเจ‚ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฒเจˆ เจฌเจฟเจฒเจก) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจเฅค เจธเฉฐเจœเฉ‹เจ— เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฒเจˆ เจธเจนเฉ€ เจธเจฎเจฐเจฅเจจ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš)เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹