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

เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจฃเฉ‡ เจธเจฎเจฐเจฅเจฟเจค เจชเจพเจธเจตเจฐเจก เจ…เจจเฉเจฎเจพเจจ เจฒเจ—เจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจœเฉŒเจจ เจฆ เจฐเจฟเจชเจฐ 1.9.0-เจœเฉฐเจฌเฉ‹-1 เจฆเจพ เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃเฅค (เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 1996 เจคเฉ‹เจ‚ เจตเจฟเจ•เจธเจค เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆเฅค) เจคเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจชเฉฐเจจเจพ เจธเจฐเฉ‹เจค เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเจจ, เจจเจพเจฒ เจนเฉ€ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฒเจˆ เจคเจฟเจ†เจฐ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚เฅค

เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจธเฉฐเจธเจ•เจฐเจฃ 1.8.0-เจœเฉฐเจฌเฉ‹-1 เจฆเฉ‡ เจœเจพเจฐเฉ€ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ 4.5 เจธเจพเจฒ เจฌเฉ€เจค เจšเฉเฉฑเจ•เฉ‡ เจนเจจ, เจœเจฟเจธ เจฆเฉŒเจฐเจพเจจ 6000 เจคเฉ‹เจ‚ เจตเฉฑเจง เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจคเฉ‹เจ‚ 80 เจคเฉ‹เจ‚ เจตเฉฑเจง เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ (เจ—เจฟเจŸ เจ•เจฎเจฟเจŸ) เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจเฅค เจ‡เจธ เจฎเจฟเจ†เจฆ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ เจตเจฐเจคเจฃ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เฉ€เจคเฉ€ GitHub เจคเฉ‹เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจเจกเฉ€เจธเจผเจจ, เจœเจฟเจธ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจ•เฉ€เจคเฉ‡ เจ—เจ เจฌเจฆเจฒเจพเจ… เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ เจธเจฅเจฟเจคเฉ€ เจธเจฅเจฟเจฐ เจฐเฉฑเจ–เฉ€ เจ—เจˆ เจธเฉ€ เจฒเจ—เจพเจคเจพเจฐ เจเจ•เฉ€เจ•เจฐเจฃ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เจˆ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ 'เจคเฉ‡ เจนเจฐเฉ‡เจ• เจฌเจฆเจฒเจพเจ… (เจชเฉเฉฑเจฒ เจฌเฉ‡เจจเจคเฉ€) เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ CPU, GPU เจ…เจคเฉ‡ Xeon Phi เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ FPGA (FPGA) เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฆเฉ€ เจฆเจฟเฉฑเจ– เจนเฉˆเฅค


เจฌเฉ‹เจฐเจกเจพเจ‚ เจฒเจˆ ZTEX 1.15y, 4 FPGA เจšเจฟเฉฑเจชเจพเจ‚ เจธเจฎเฉ‡เจค เจ…เจคเฉ‡ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฟเจŸเจ•เฉ‹เจ‡เจจ เจฎเจพเจˆเจจเจฟเฉฐเจ— เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, 7 เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจชเจพเจธเจตเจฐเจก เจนเฉˆเจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ: bcrypt, เจ•เจฒเจพเจธเจฟเจ• เจกเจฟเจธเจ•เฉเจฐเจฟเจชเจŸ (เจฌเจฟเจ—เจ•เฉเจฐเจฟเจชเจŸ เจธเจฎเฉ‡เจค), sha512crypt, sha256crypt, md5crypt (เจ…เจชเจพเจšเฉ‡ apr1 เจ…เจคเฉ‡ AIXsphussd5 เจธเจฎเฉ‡เจค), Dr. , เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจกเจชเจฐเฉˆเจธ เจตเจฟเฉฑเจš). เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ FPGA 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค bcrypt เจฒเจˆ, เจฒเจ—เจญเจ— 7 เจตเจพเจŸเจธ เจฆเฉ€ เจชเจพเจตเจฐ เจ–เจชเจค เจฆเฉ‡ เจจเจพเจฒ 119^2 เจฆเฉเจนเจฐเจพเจ“ (โ€œ$5b$2โ€) เจฆเฉ‡ เจจเจพเจฒ ~05k c/s เจฆเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€, เจชเฉเจฐเจคเฉ€ เจฌเฉ‹เจฐเจก, เจชเฉเจฐเจคเฉ€ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ•เฉ€เจฎเจค เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€ เจตเจพเจŸ เจฆเฉ‡ เจจเจตเฉ€เจจเจคเจฎ GPUs เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจ•เจพเจซเจผเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจนเฉˆเฅค เจฆเจพ เจตเฉ€ เจธเจฎเจฐเจฅเจจ เจ•เฉ€เจคเจพ เจ•เจฒเฉฑเจธเจŸเจฐ เจ‡เจธ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจฌเฉ‹เจฐเจกเจพเจ‚ เจฆเจพ, เจœเจฟเจธเจฆเจพ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 16 เจคเฉ‹เจ‚ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค 64 เจฌเฉ‹เจฐเจกเจพเจ‚ (2 FPGAs) เจคเฉฑเจ• เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ†เจฎ เจœเฉŒเจจ เจฆ เจฐเจฟเจชเจฐ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจชเจพเจธเจตเจฐเจก เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจฎเฉ‹เจก เจ…เจคเฉ‡ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจกเจฟเฉฐเจ— เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฎเจพเจธเจ• ("--เจฎเจพเจธเจ•" เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจฎเฉ‹เจกเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเฉเจฎเฉ‡เจฒ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆ) เจ…เจคเฉ‡ FPGA เจธเจพเจˆเจก 'เจคเฉ‡ เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจ—เจ เจฒเฉ‹เจ•เจพเจ‚ เจจเจพเจฒ เจ—เจฃเจจเจพ เจ•เฉ€เจคเฉ‡ เจนเฉˆเจธเจผเจพเจ‚ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ (เจ‰เจฆเจพ. sha512crypt เจ…เจคเฉ‡ Drupal7) เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจ•เฉ‹เจฐเจพเจ‚ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ•เฉ‹เจฐ (เจธเจพเจซเจŸ CPU เจ•เฉ‹เจฐ) เจตเจพเจฒเฉ‡ เจฌเจฒเจพเจ• เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ€ เจ…เจ—เจตเจพเจˆ เจกเฉˆเจจเจฟเจธ เจฌเฉเจฐเฉ€เจ•เจฟเจจ เจจเฉ‡ เจนเฉ‹เจฐ เจœเฉฐเจฌเฉ‹ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจคเจพเจฒเจฎเฉ‡เจฒ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจธเฉ€เฅค

เจนเฉ‹เจฐ เจฎเฉเฉฑเจ– เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚:

  • เจฆเฉ‹เจจเฉ‹ เจ•เจฒเจพเจธเจฟเจ• เจชเจพเจธเจตเจฐเจก เจนเฉˆเจธเจผเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, QNX เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจคเฉ‹เจ‚), เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ•เฉเจฐเฉฐเจธเฉ€ เจตเจพเจฒเจฟเจŸ, เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจ†เจฐเจ•เจพเจˆเจตเจœเจผ เจ…เจคเฉ‡ เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฌเจฟเจŸเจฒเจพเจ•เจฐ เจ…เจคเฉ‡ FreeBSD geli), เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจธเจฎเจฐเจฅเจฟเจค เจจเจตเฉ‡เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, OpenBSD softraid เจฒเจˆ bcrypt-pbkdf เจฒเจˆ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเจฎเจฐเจฅเจจ) เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจเฅค เจ•เฉเฉฑเจฒ เจฎเจฟเจฒเจพ เจ•เฉ‡, CPU 'เจคเฉ‡ 80 เจ…เจคเฉ‡ เจ“เจชเจจเจธเฉ€เจเจฒ 'เจคเฉ‡ 47 เจซเจพเจฐเจฎเฉˆเจŸ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ (เจ…เจคเฉ‡ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจœเจฟเจนเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ เจ…เจคเฉ‡ เจ…เจชเฉเจฐเจšเจฒเจฟเจค เจฐเฉ‚เจชเจพเจ‚ เจตเจฟเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ)เฅค CPU 'เจคเฉ‡ เจนเฉเจฃ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฆเฉ€ เจ•เฉเฉฑเจฒ เจธเฉฐเจ–เจฟเจ† 407 เจนเฉˆ (เจœเจพเจ‚ 262 เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเฉ‡ "เจกเจพเจ‡เจจเจพเจฎเจฟเจ•" เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ) เจ…เจคเฉ‡ เจ“เจชเจจเจธเฉ€เจเจฒ 'เจคเฉ‡ 88 เจนเจจเฅค
  • เจ“เจชเจจเจธเฉ€เจเจฒ เจฆเฉ‡ เจนเฉฑเจ• เจตเจฟเฉฑเจš CUDA เจญเจพเจธเจผเจพ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ, เจœเฉ‹ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ NVIDIA GPUs เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเฉฑเจš เจฆเจ–เจฒ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ (เจ…เจคเฉ‡ เจฎเจฆเจฆ เจตเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, 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 เจฆเฉ‡ เจนเฉŒเจฒเฉ€ เจฐเฉˆเจ‚เจช-เจ…เฉฑเจช เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, เจธเจฐเจตเฉ‹เจคเจฎ เจจเฉŒเจ•เจฐเฉ€ เจฆเฉ‡ เจ†เจ•เจพเจฐเฅค เจชเฉ‚เจฐเฉ€ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจซเฉเจฐเฉ€เจ•เฉเจเจ‚เจธเฉ€ 10xx เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจคเฉฑเจ• เจธเฉ€เจฐเฉ€เจœเจผ GPUsเฅค เจ…เจœเจฟเจนเฉ‡ เจ†เจŸเฉ‹-เจŸเจฟเจŠเจจเจฟเฉฐเจ— เจฒเจˆ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจนเฉˆเจธเจผเจพเจ‚ เจ…เจคเฉ‡ เจชเจพเจธเจตเจฐเจกเจพเจ‚ เจฆเฉ€ เจ…เจธเจฒ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ (เจœเจฆเฉ‹เจ‚ เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)เฅค
  • เจธเจฟเฉฑเจงเฉ‡ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ 'เจคเฉ‡ เจฆเจฐเจธเจพเจ เจ—เจ "เจกเจพเจ‡เจจเฉˆเจฎเจฟเจ• เจธเจฎเฉ€เจ•เจฐเจจ" เจฒเจˆ เจ‡เฉฑเจ• เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจœเฉ‹เฉœเจจเจพ เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจนเจพเจˆเจฌเฉเจฐเจฟเจก เจนเฉˆเจธเจผ เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ "-format=dynamic='sha1(md5($p).$s)'", SIMD เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ CPU 'เจคเฉ‡ เจ—เจฃเจจเจพ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค . เจ…เจœเจฟเจนเฉ‡ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ‡ เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจฆเจฐเจœเจจเจพเจ‚ เจคเฉ‡เจœเจผ เจนเฉˆเจธเจผ เจธเจฎเจฐเจฅเจฟเจค เจนเจจ (เจ†เจฎ เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ MD5 เจตเจฐเจ—เฉ‡ เจฆเจฐเจฎเจฟเจ†เจจเฉ‡ เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจตเจฐเจฒเจชเฉ‚เจฒ), เจธเจฌเจธเจŸเฉเจฐเจฟเฉฐเจ— เจœเฉ‹เฉœเจจ, เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจ…เจคเฉ‡ เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ—, เจ…เฉฑเจ–เจฐ เจ•เฉ‡เจธ เจชเจฐเจฟเจตเจฐเจคเจจ, เจชเจพเจธเจตเจฐเจก เจฆเฉ‡ เจนเจตเจพเจฒเฉ‡, เจจเจฎเจ•, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฎ เจ…เจคเฉ‡ เจธเจคเจฐ เจธเจฅเจฟเจฐเจคเจพเจตเจพเจ‚เฅค
  • เจนเฉˆเจธเจผเจ•เฉˆเจŸ เจคเฉ‹เจ‚ เจ…เจฃเจšเจพเจนเฉ‡ เจ…เฉฐเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจเจพ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจชเจฟเจ›เจฒเฉ‡ เจนเฉˆเจธเจผเจ•เฉˆเจŸ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจจเจฟเจฏเจฎเจพเจ‚ (เจตเจฐเจกเจฒเจฟเจธเจŸ เจจเจฟเจฏเจฎ เจ•เจฎเจพเจ‚เจกเจพเจ‚), 1 เจคเฉ‹เจ‚ เจ“เจชเจจเจธเฉ€เจเจฒ เจกเจฟเจตเจพเจˆเจธ เจจเฉฐเจฌเจฐเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจŸเฉˆเจธเจŸเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ•เฉ‹ เจชเจพเจธเจตเจฐเจก เจฒเฉฐเจฌเจพเจˆ (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉฐเจฌเจพเจˆ 7) เจฆเฉ€ เจกเจฟเจซเฉŒเจฒเจŸ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค
  • เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจชเจพเจธเจตเจฐเจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจจเจตเฉ‡เจ‚ เจฎเฉ‹เจก (เจ•เจฐเฉˆเจ•เจฟเฉฐเจ— เจฎเฉ‹เจก), เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจ•เฉˆเจŸ เจคเฉ‹เจ‚ PRINCE (เจ•เฉเฉฑเจฒ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ เจตเจงเจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจ•เจˆ เจธเจผเจฌเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจ•เฉ‡ "เจตเจพเจ•เจพเจ‚เจธเจผ" เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ), เจธเจฌเจธเฉˆเฉฑเจŸ (เจตเฉฑเจ–-เจตเฉฑเจ– เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ€ เจจเจพเจ•เจพเจซเจผเฉ€ เจธเฉฐเจ–เจฟเจ† เจตเจพเจฒเฉ‡ เจชเจพเจธเจตเจฐเจก เจฒเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ, เจญเจพเจตเฉ‡เจ‚ เจ‡เจน เจ…เฉฑเจ–เจฐ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจฃเฅค เจธเฉฐเจญเจพเจตเจฟเจค เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ‡ เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจšเฉ‹เจ‚) เจ…เจคเฉ‡ เจนเจพเจˆเจฌเฉเจฐเจฟเจก เจฌเจพเจนเจฐเฉ€ (เจ‡เฉฑเจ• C- เจตเจฐเจ—เฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจฌเจพเจนเจฐเฉ€ เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ, เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฎเฉ‹เจก เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจนเจฐเฉ‡เจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ "เจธเจผเจฌเจฆ" เจฆเฉ‡ เจ…เจงเจพเจฐ 'เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจชเจพเจธเจตเจฐเจก เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ)เฅค เจจเจพเจฒ เจนเฉ€, เจ•เจˆ เจจเจตเฉ‡เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจฌเจพเจนเจฐเฉ€ เจฎเฉ‹เจกเฅค
  • เจ•เจˆ เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจตเจฐเจคเจฃ เจฒเจˆ เจตเจพเจงเฉ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ (เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจฆเฉ‡ เจ‰เฉฑเจชเจฐ - เจธเจŸเฉˆเจ•เจฟเฉฐเจ—), เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจธเฉˆเฉฑเจŸเจพเจ‚ (เจธเจผเจฌเจฆ เจธเฉ‚เจšเฉ€ เจจเจฟเจฏเจฎ เจธเจŸเฉˆเจ•เจฟเฉฐเจ—) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆเฅค
  • เจฎเจพเจธเจ• เจฎเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ (เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจฟเจฐเจงเจพเจฐเจค เจฐเฉ‡เจ‚เจœ เจตเจฟเฉฑเจš เจฎเจพเจธเจ• เจฆเจพ เจนเฉŒเจฒเฉ€-เจนเฉŒเจฒเฉ€ เจ–เจฟเฉฑเจšเจฃเจพ, เจ“เจชเจจเจธเฉ€เจเจฒ เจกเจฟเจตเจพเจˆเจธ เจœเจพเจ‚ เจเจซเจชเฉ€เจœเฉ€เจ เจฌเฉ‹เจฐเจก เจฆเฉ‡ เจชเจพเจธเฉ‡ เจ‡เฉฑเจ• เจฎเจพเจธเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚) เจ…เจคเฉ‡ เจธเจฟเฉฐเจ—เจฒ เจ•เฉเจฐเฉˆเจ• (เจ‰เจชเจ•เจฐเจจเจพเจ‚ เจ‰เฉฑเจคเฉ‡ เจตเจพเจœเจฌ เจตเจฟเจตเจนเจพเจฐ เจœเฉ‹ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจตเจฟเฉฑเจš เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจพเจ‚ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค , เจœเจฟเจธ เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เจธ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจชเจพเจธเจตเจฐเจก เจจเจนเฉ€เจ‚ เจธเจจ, เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค 'เจคเฉ‡ เจตเฉ€ เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจธเจจ)เฅค
  • เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจช-เจธเจฟเจธเจŸเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจธเจฎเจฐเจฅเจจ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉเจงเจพเจฐเฅค
  • *2john เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉเจงเจพเจฐ (เจœเฉ‹ เจตเฉฑเจ–-เจตเฉฑเจ– เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจ
    เจœเฉŒเจนเจจ เจจเจพเจฒ เจตเจฐเจคเฉ‹เจ‚), เจ–เจพเจธ เจ•เจฐเจ•เฉ‡ wpapcap2john (เจตเจพเจˆเจซเจพเจˆ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒเจฆเจพ เจนเฉˆ)เฅค
  • เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจจเจตเฉ‡เจ‚ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจตเจฟเจ•เจฒเจช เจนเจจ, john.conf เจตเจฟเฉฑเจš เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚, เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจœเจฟเจนเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจฅเฉ‡ เจœเจผเจฟเจ•เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจเจกเจฐเฉˆเจธเจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ (เจชเจนเจฟเจฒเจพเจ‚) เจ…เจคเฉ‡ เจ…เจจเจกเจฟเจซเจพเจˆเจจเจก เจฌเจฟเจนเฉ‡เจตเฉ€เจ…เจฐ เจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ (เจœเฉ‹เฉœเฉ‡ เจ—เจ) เจฆเฉ‡ เจจเจพเจฒ เจกเฉ€เจฌเฉฑเจ— เจฌเจฟเจฒเจกเจธ เจฒเจˆ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจธเจฎเจฐเจฅเจจ เจฒเจˆ เจ•เฉ‹เจก เจ—เฉเจฃเจตเฉฑเจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ, เจ‡เฉฑเจ• เจฌเจฟเจฒเจŸ-เจ‡เจจ เจซเจพเจฐเจฎเฉˆเจŸ เจซเจœเจผเจฐ (GSoC 2015 เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚), เจฒเจ—เจพเจคเจพเจฐ เจเจ•เฉ€เจ•เจฐเจฃ (เจฆเจฐเจœเจผเจจเจพเจ‚ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฒเจˆ เจฌเจฟเจฒเจก) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจเฅค เจธเฉฐเจœเฉ‹เจ— เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจฒเจˆ เจธเจนเฉ€ เจธเจฎเจฐเจฅเจจ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš)เฅค

เจธเจฐเฉ‹เจค: linux.org.ru

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