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 เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ (git commits) เป„เบ”เป‰เบกเบฒเบˆเบฒเบเบซเบผเบฒเบเบเบงเปˆเบฒ 80 เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ™เบตเป‰, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เบˆเบฒเบ GitHub, เบฅเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบ„เบงเบฒเบกโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบ„เบปเบ‡โ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เป„เบ”เป‰โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ‚เบญเบšโ€‹เปƒเบˆโ€‹ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ (เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ”เบถเบ‡) เปƒเบ™เบซเบผเบฒเบเป€เบงเบ—เบต. เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ FPGA (FPGA) เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ CPU, GPU เปเบฅเบฐ Xeon Phi.


เบชเปเบฒเบฅเบฑเบšเบเบฐเบ”เบฒเบ™ ZTEX 1.15 เบ›เบต, เบฅเบงเบกเบ—เบฑเบ‡เบŠเบดเบš FPGA 4 เปœเปˆเบงเบ เปเบฅเบฐเปเบ•เปˆเป€เบ”เบตเบกเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเป‰เบ™เบ•เปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™ Bitcoin, 7 เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™: bcrypt, descrypt เปเบšเบšเบ„เบฅเบฒเบชเบชเบดเบ (เบฅเบงเบกเบ—เบฑเบ‡ bigcrypt), sha512crypt, sha256crypt, md5crypt (เบฅเบงเบกเบ—เบฑเบ‡ Apache apr1 เปเบฅเบฐ AIX smd5), Drupal7 เปเบฅเบฐ phpass (เปƒเบŠเป‰. , เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™ WordPress). เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ FPGA เป€เบ›เบฑเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”. เบชเปเบฒเบฅเบฑเบš bcrypt, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบšเบฑเบ™เบฅเบธเป„เบ”เป‰เบ‚เบญเบ‡ ~ 119k c / s เบเบฑเบš 2^5 iterations ("$ 2b $ 05") เบ—เบตเปˆเบกเบตเบเบฒเบ™เปƒเบŠเป‰เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ›เบฐเบกเบฒเบ™ 27 watts เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเป€เบเบตเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเปเบฒเบฅเบฑเบš GPUs เบซเบฅเป‰เบฒเบชเบธเบ”เบ•เปเปˆเบ„เบฐเบ™เบฐ, เบ•เปเปˆเบฅเบฒเบ„เบฒเบฎเบฒเบ”เปเบงเปเบฅเบฐเบ•เปเปˆเบงเบฑเบ”. เบเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบเบธเปˆเบก เบ‚เบญเบ‡เบเบฐเบ”เบฒเบ™เบ›เบฐเป€เบžเบ”เบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบ–เบดเบ‡ 16 เบเบฐเบ”เบฒเบ™ (64 FPGAs) เบ„เบงเบšเบ„เบธเบกเบˆเบฒเบ Raspberry Pi 2 เบ”เบฝเบง. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ John the Ripper เบ›เบปเบเบเบฐเบ•เบดเปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™, เบฅเบงเบกเบ—เบฑเบ‡เป‚เบซเบกเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบฅเบ”เบžเป‰เบญเบกเป†เบเบฑเบ™เบ‚เบญเบ‡ hashes เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ. เป€เบžเบทเปˆเบญเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เป‰เบฒเบเบฒเบ (เบฎเบนเบšเปเบšเบš "---เบซเบ™เป‰เบฒเบเบฒเบ", เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบšเป‚เบซเบกเบ”เบญเบทเปˆเบ™เป†) เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš hashes เบ—เบตเปˆเบ–เบทเบเบ„เบดเบ”เป„เบฅเปˆเบเบฑเบšเบœเบนเป‰เบ—เบตเปˆเป‚เบซเบฅเบ”เบขเบนเปˆเบ‚เป‰เบฒเบ‡ FPGA. เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบเบฒเบ™เบญเบญเบเปเบšเบšเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ (e.g. sha512crypt เปเบฅเบฐ Drupal7) เบ•เบฑเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเปเบเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบซเบผเบฒเบเบเบฐเบ—เบนเป‰ (เบซเบผเบฑเบ CPU เบญเปˆเบญเบ™) เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบเบฑเบšเบซเบผเบฑเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบžเบฒเป‚เบ”เบ Denis Burykin เปƒเบ™เบเบฒเบ™เบ›เบฐเบชเบฒเบ™เบ‡เบฒเบ™เบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ jumbo เบญเบทเปˆเบ™เป†.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบญเบทเปˆเบ™เป†:

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบˆเปเบฒเบ™เบงเบ™เบ›เบฐเป€เบžเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡ hashes, ciphers, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เบฅเบงเบกเบ—เบฑเบ‡เบ—เบฑเบ‡เบชเบญเบ‡ hashes เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ„เบฅเบฒเบชเบชเบดเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบˆเบฒเบเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡ QNX), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฐเป€เบ›เบปเบฒเป€เบ‡เบดเบ™ cryptocurrency, encrypted archives เปเบฅเบฐเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ encrypted (เบ•เบปเบงเบขเปˆเบฒเบ‡, Bitlocker เปเบฅเบฐ. FreeBSD geli), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ›เบฐเป€เบžเบ”เปƒเบซเบกเปˆเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš bcrypt-pbkdf เบชเปเบฒเบฅเบฑเบš OpenBSD softraid) เปเบฅเบฐเบญเบทเปˆเบ™เป†เบญเบตเบ. เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, 80 เบฎเบนเบšเปเบšเบšเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบ™ CPU เปเบฅเบฐ 47 เปƒเบ™ OpenCL (เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเป€เบเบปเปˆเบฒเป„เบ”เป‰เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเป€เบ›เบฑเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเปเบšเบšเปƒเบซเบกเปˆเปเบฅเบฐเบฅเป‰เบฒเบชเบฐเป„เบซเบก). เบˆเปเบฒเบ™เบงเบ™เบฎเบนเบšเปเบšเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™ 407 เปƒเบ™ CPU (เบซเบผเบท 262 เบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบฎเบนเบšเปเบšเบš "dynamic" เบ—เบตเปˆเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบˆเบฒเบเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ) เปเบฅเบฐ 88 เปƒเบ™ OpenCL.
  • เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบฒเบชเบฒ CUDA เปƒเบ™เบ„เบงเบฒเบกเป‚เบ›เบ”เบ›เบฒเบ™เบ‚เบญเบ‡ OpenCL, เบ—เบตเปˆเบšเปเปˆเปเบŠเบเปเบŠเบ‡เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ NVIDIA GPUs เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ (เปเบฅเบฐเบเบฑเบ‡เบŠเปˆเบงเบเป„เบ”เป‰, เบเป‰เบญเบ™เบเบฒเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบฎเบนเบšเปเบšเบšเบชเปเบฒเบฅเบฑเบš GPU เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบชเบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰).
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบธเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ SIMD เปƒเบซเบกเปˆ - AVX2, AVX-512 (เบฅเบงเบกเบ—เบฑเบ‡ Xeon Phi เบฎเบธเปˆเบ™เบ—เบตเบชเบญเบ‡) เปเบฅเบฐ MIC (เบชเปเบฒเบฅเบฑเบšเบฎเบธเปˆเบ™เบ—เปเบฒเบญเบดเบ”) - เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ SIMD เบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบชเบปเบกเบšเบนเบ™เบซเบผเบฒเบเบ‚เบถเป‰เบ™เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฒเบเบฎเบนเบšเปเบšเบš, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰. เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹เบ—เบตเปˆโ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เปƒเบ™โ€‹เป€เบกเบทเปˆเบญโ€‹เบเปˆเบญเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เป€เบ›เบฑเบ™ AVX เปเบฅเบฐ XOP เปƒเบ™ x86(-64โ€‹) เปเบฅเบฐโ€‹
    NEON, ASIMD เปเบฅเบฐ AltiVec เปƒเบ™ ARM, Aarch64 เปเบฅเบฐ POWER, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. (เบšเบฒเบ‡เบชเปˆเบงเบ™เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ GSoC 2015.)
  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบชเปเบฒเบฅเบฑเบš CPU เปเบฅเบฐ OpenCL, เบ—เบฑเบ‡เบชเบญเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบทเป‰เบ™เบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™ hashes เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบžเป‰เบญเบกเป†เบเบฑเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เป‚เบซเบผเบ” 320 เบฅเป‰เบฒเบ™ SHA-1 hashes เปƒเบ™ GPU เป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบš), เปเบฅเบฐเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ hash. เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›, เบšเบฒเบ‡เบŠเบธเบ”เบเปˆเบญเบเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบฅเบฐเบซเบผเบฒเบเปเบกเปˆเบ™เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบฎเบนเบšเปเบšเบšเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™.
  • (Auto-)เบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบ‚เบญเบ‡ buffering เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบเบงเบ”เปเบฅเป‰เบงเปƒเบ™ CPU (โ€œโ€”tune=auto โ€”verbosity=5โ€) เปเบฅเบฐ เบ‚เบฐเปœเบฒเบ”เบงเบฝเบเบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเปƒเบ™ OpenCL (เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™), เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ„เบณเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบŠเป‰เบฒเบ‚เบญเบ‡ NVIDIA GTX. เบŠเบธเบ” GPUs เป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบ•เบฑเบก 10xx เปเบฅเบฐเปƒเบซเบกเปˆเบเบงเปˆเบฒ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ hashes เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบง loaded เปเบฅเบฐเบ„เบงเบฒเบกเบเบฒเบงเบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบเบงเบ”เบชเบญเบš (เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.
  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš "เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบ" เบ—เบตเปˆเบฅเบฐเบšเบธเป‚เบ”เบเบเบปเบ‡เปƒเบ™เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเป€เบžเบ” hash เบ›เบฐเบชเบปเบกเปƒเบซเบกเปˆ, เบ•เบปเบงเบขเปˆเบฒเบ‡ "-format=dynamic='sha1(md5($p.$s)'", เบ„เบดเบ”เป„เบฅเปˆเบขเบนเปˆเปƒเบ™ CPU เป‚เบ”เบเปƒเบŠเป‰ SIMD . เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบซเบผเบฒเบเบชเบดเบš hashes เป„เบงเปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ (เบˆเบฒเบเบญเบฑเบ™เบ—เบปเปˆเบงเป„เบ›เป€เบŠเบฑเปˆเบ™ MD5 เป„เบ›เบซเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบ›เบฒเบ™เบเบฒเบ‡เป€เบŠเบฑเปˆเบ™ Whirlpool), เบเบฒเบ™เบ›เบฐเบชเบปเบกเบชเบฒเบเบเปˆเบญเบ, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”, เบเบฒเบ™เปเบ›เบ‡เบ•เบปเบงเบฅเบฐเบ„เบญเบ™, เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™, เป€เบเบทเบญ, เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเบชเบฐเบ•เบฃเบดเบ‡เบ„เบปเบ‡เบ—เบตเปˆ.
  • เบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบตเปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบˆเบฒเบ hashcat, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡ hashcat เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰ (เบ„เปเบฒเบชเบฑเปˆเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ„เปเบฒเบชเบฑเบš), เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบซเบฒ OpenCL เบญเบธเบ›เบฐเบเบญเบ™เป€เบฅเบเบˆเบฒเบ 1, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฒเบงเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ”เบฝเบงเบเบฑเบ™ (เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ„เบงเบฒเบกเบเบฒเบง 7) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.
  • เป‚เบซเบกเบ”เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบขเบทเบ™เบขเบฑเบ™เป„เบ”เป‰ (เบฎเบนเบšเปเบšเบšเบเบฒเบ™เปเบ•เบ), เบฅเบงเบกเบ—เบฑเบ‡ PRINCE เบˆเบฒเบ hashcat (เบ›เบฐเบเบญเบšเป€เบ›เบฑเบ™ "เบ›เบฐเป‚เบซเบเบ" เป‚เบ”เบเบเบฒเบ™เบฅเบงเบกเบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เปƒเบ™เบฅเปเบฒเบ”เบฑเบšเบ—เบตเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฑเบ‡เบซเบกเบปเบ”), subsets (เบ™เปเบฒเป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบšเปเปˆเบžเบฝเบ‡เบžเปเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบฒ. เบˆเบฒเบเบŠเบธเบ”เปƒเบซเบเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰) เปเบฅเบฐเบ›เบฐเบชเบปเบกเบžเบฒเบเบ™เบญเบ (เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเป‚เบซเบกเบ”เบžเบฒเบเบ™เบญเบ, เบญเบฐเบ—เบดเบšเบฒเบเปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เบžเบฒเบชเบฒ C-like, เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบขเบทเบ™เบขเบฑเบ™เป„เบ”เป‰เบซเบผเบฒเบเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเปเบ•เปˆเบฅเบฐ "เบ„เปเบฒ" เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเป‚เบซเบกเบ”เบญเบทเปˆเบ™). เบ™เบญเบโ€‹เบˆเบฒเบโ€‹เบ™เบตเป‰โ€‹, เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบžเบฒเบโ€‹เบ™เบญเบโ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹เบฅเปˆเบงเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เปƒเบซเบกเปˆโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹.
  • เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบผเบฒเบเป‚เบซเบกเบ”เบžเป‰เบญเบกเป†เบเบฑเบ™ (เบซเบ™เบถเปˆเบ‡เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบญเบทเปˆเบ™เป† - stacking), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบŠเบธเบ”เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš (wordlist rules stacking).
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบฎเบนเบšเปเบšเบšเบซเบ™เป‰เบฒเบเบฒเบ (เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบซเบ™เป‰เบฒเบเบฒเบเป€เบ—เบทเปˆเบญเบฅเบฐเบเป‰เบฒเบงเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฒเบง, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบเบฒเบเบขเบนเปˆเบ”เป‰เบฒเบ™เบ‚เป‰เบฒเบ‡เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™ OpenCL เบซเบผเบทเบเบฐเบ”เบฒเบ™ FPGA) เปเบฅเบฐเบฎเบญเบเปเบ•เบเบ”เบฝเบง (เบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบ„เบดเบ”เป„เบฅเปˆเบˆเปเบฒเบ™เบงเบ™ hashes เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™. , เป€เบŠเบดเปˆเบ‡เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบšเปเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบขเบทเบ™เบขเบฑเบ™เป„เบ”เป‰เบžเบฝเบ‡เบžเปเปƒเบ™เป‚เบซเบกเบ”เบ™เบตเป‰, เปเบฅเบฐเบเบฑเบ‡เบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ).
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบซเบผเบฒเบเบขเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเบฎเบญเบ‡เบฎเบฑเบš Unicode เปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบญเบทเปˆเบ™เป†เปƒเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ•เปˆเบฒเบ‡เป†.
  • เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹เป€เบžเบทเปˆเบญ *2john เป‚เบ„เบ‡โ€‹เบเบฒเบ™ (เบ—เบตเปˆโ€‹เบ›เปˆเบฝเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ‚เบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹
    เปƒเบŠเป‰เบเบฑเบš john), เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ wpapcap2john (เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™ WiFi).
  • เบกเบตเบซเบผเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเบกเปˆ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™ john.conf, เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเป€เบฅเบทเบญเบ script เปเบฅเบฐเบฅเบฑเบเบชเบฐเบ™เบฐเปƒเบซเบกเปˆเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™, เบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ™เบตเป‰.
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบฅเบฐเบซเบฑเบ”เบเป‰เบญเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบ•เบปเบงเบชเปเบฒเบฅเบฑเบš debug builds เบเบฑเบš AddressSanitizer (เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰) เปเบฅเบฐ UndefinedBehaviorSanitizer (เป€เบžเบตเปˆเบก), เป€เบžเบตเปˆเบก fuzzer เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™ (เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ GSoC 2015), เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡ (เบชเป‰เบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบญเบฒเบเปเบเบฑเบชเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบฅเบฐ compiler. เบเบฒเบ™เบ›เบฐเบชเบปเบกเปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบฎเบนเบšเปเบšเบš).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™