John the Ripper 1.9.0-jumbo-1 เบ›เปˆเบญเบเบญเบญเบเบกเบฒเป‚เบ”เบเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ FPGA

เบ›เปˆเบญเบเบญเบญเบเบกเบฒ เป€เบงเบตเบŠเบฑเบ™เปƒเปเปˆเบ‚เบญเบ‡เป‚เบ›เบฃเปเบเบกเบ„เบฒเบ”เป€เบ”เบปเบฒเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเป€เบเบปเปˆเบฒเปเบเปˆเบ—เบตเปˆเบชเบธเบ” John the Ripper 1.9.0-jumbo-1 (เป‚เบ„เบ‡เบเบฒเบ™เป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบต 1996). 1.8.0 เบ›เบตเป„เบ”เป‰เบœเปˆเบฒเบ™เป„เบ›เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบญเบเป€เบงเบตเบŠเบฑเบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒ 1-jumbo-4.5, เปƒเบ™เป„เบฅเบเบฐเบ™เบฑเป‰เบ™, เบซเบผเบฒเบเบเบงเปˆเบฒ 6000 เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ (git commits) เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบˆเบฒเบเบซเบผเบฒเบเบเบงเปˆเบฒ 80 เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบ‚เบญเบšเปƒเบˆ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ (เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ”เบถเบ‡) เปƒเบ™เบซเบผเบฒเบเป€เบงเบ—เบต, เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ™เบตเป‰, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰. เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เบˆเบฒเบ GitHub, เบฅเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เป„เบงเป‰โ€‹เบขเปˆเบฒเบ‡โ€‹เบซเบกเบฑเป‰เบ™โ€‹เบ„เบปเบ‡โ€‹เป€เบ–เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เป„เบ”เป‰โ€‹. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เป เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” GPLv2+, เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบšเบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเปเบกเปˆเบ™เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ 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 เบŠเป‰เบณเป† (โ€œ$2b$05โ€) เบ”เป‰เบงเบเบเบฒเบ™เปƒเบŠเป‰เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™เบ‚เบญเบ‡ ~27 เบงเบฑเบ” เป€เบเบตเบ™เบœเบปเบ™เบฅเบฑเบšเบ‚เบญเบ‡ GPU เบซเบผเป‰เบฒเบชเบธเบ”เบ•เปเปˆเบ„เบฐเบ™เบฐ, เบ•เปเปˆเบฅเบฒเบ„เบฒเบฎเบฒเบ”เปเบง เปเบฅเบฐเบ•เปเปˆเบงเบฑเบ”. . เบเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบเบธเปˆเบก เบเบฐเบ”เบฒเบ™เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบ–เบดเบ‡ 16 เบเบฐเบ”เบฒเบ™ (64 FPGA chip) เบ„เบงเบšเบ„เบธเบกเบˆเบฒเบ 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, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบชเปเบฒเบฅเบฑเบš CPU เปเบฅเบฐ OpenCL, เบ—เบฑเบ‡เบชเบญเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบทเป‰เบ™เบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™ hashes เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบžเป‰เบญเบกเป†เบเบฑเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เป‚เบซเบผเบ” 320 เบฅเป‰เบฒเบ™ SHA-1 hashes เปƒเบ™ GPU เป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบš), เปเบฅเบฐเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ hash. เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›, เบšเบฒเบ‡เบŠเบธเบ”เบเปˆเบญเบเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบฅเบฐเบซเบผเบฒเบเปเบกเปˆเบ™เบชเบฐเป€เบžเบฒเบฐเบเบฑเบšเบฎเบนเบšเปเบšเบšเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™.
  • (Auto-)เบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบ‚เบญเบ‡ buffering เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบเบงเบ”เปเบฅเป‰เบงเปƒเบ™ CPU (โ€œโ€”tune=auto โ€”verbosity=5โ€) เปเบฅเบฐ เบ‚เบฐเปœเบฒเบ”เบงเบฝเบเบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเปƒเบ™ OpenCL (เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™), เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ„เบณเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบŠเป‰เบฒเบฅเบปเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš. เบ‚เบญเบ‡ NVIDIA GTX series GPUs 10xx เปเบฅเบฐเปƒเบซเบกเปˆเบเบงเปˆเบฒ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ hashes เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบง loaded เปเบฅเบฐเบ„เบงเบฒเบกเบเบฒเบงเบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบเบงเบ”เบชเบญเบš (เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.
  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš "เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบ" เบ—เบตเปˆเบฅเบฐเบšเบธเป‚เบ”เบเบเบปเบ‡เปƒเบ™เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเป€เบžเบ” hash เบ›เบฐเบชเบปเบกเปƒเบซเบกเปˆ, เบ•เบปเบงเบขเปˆเบฒเบ‡ "-format=dynamic='sha1(md5($p.$s)'", เบ„เบดเบ”เป„เบฅเปˆเบขเบนเปˆเปƒเบ™ CPU เป‚เบ”เบเปƒเบŠเป‰ SIMD . เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบซเบผเบฒเบเบชเบดเบš hashes เป„เบงเป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ (เบˆเบฒเบเบญเบฑเบ™เบ—เบปเปˆเบงเป„เบ›เป€เบŠเบฑเปˆเบ™ MD5 เป„เบ›เบซเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบ›เบฒเบ™เบเบฒเบ‡เป€เบŠเบฑเปˆเบ™ Whirlpool), เบเบฒเบ™เบ›เบฐเบเบญเบš substring, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”, เบเบฒเบ™เปเบ›เบ‡เบ•เบปเบงเบฅเบฐเบ„เบญเบ™, เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™, เป€เบเบทเบญ, เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐ string constant.
  • เบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบตเปˆเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบˆเบฒเบ 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. เบเบฒเบ™เบ›เบฐเบชเบปเบกเปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบฎเบนเบšเปเบšเบš).

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

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