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 commit) ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 80 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. ΠŸΡ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π° вСрсия ΠΎΡ‚ GitHub, Ρ‡ΠΈΠ΅Ρ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° стабилно Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° интСграция, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° всяка промяна (pull request) Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»Π½Π° характСристика Π½Π° Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π΅ появата Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° FPGA (FPGA) Π² допълнСниС към CPU, GPU ΠΈ Xeon Phi.


Π—Π° дъски Ztex 1.15Π³, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ 4 FPGA Ρ‡ΠΈΠΏΠ° ΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π³Π»Π°Π²Π½ΠΎ Π·Π° ΠΊΠΎΠΏΠ°Π΅Π½Π΅ Π½Π° Π±ΠΈΡ‚ΠΊΠΎΠΉΠ½ΠΈ, сСга са Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ 7 Ρ‚ΠΈΠΏΠ° Ρ…Π΅ΡˆΠΎΠ²Π΅ Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΠΈ: bcrypt, класичСски Π΄Π΅ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ bigcrypt), sha512crypt, sha256crypt, md5crypt (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Apache apr1 ΠΈ AIX smd5), Drupal7 ΠΈ phpass (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ , ΠΏΠΎ-спСциално Π² WordPress). Някои ΠΎΡ‚ тях са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π½Π° FPGA Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚. Π—Π° bcrypt, постигнатата производитСлност ΠΎΡ‚ ~119k c/s с 2^5 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (β€ž$2b$05β€œ) с консумация Π½Π° СнСргия ΠΎΡ‚ ΠΎΠΊΠΎΠ»ΠΎ 27 Π²Π°Ρ‚Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ надвишава Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ Π·Π° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсори Π½Π° ΠΏΠ»Π°Ρ‚ΠΊΠ°, Π½Π° Ρ†Π΅Π½Π° Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ ΠΈ Π½Π° Π²Π°Ρ‚. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚ΠΊΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ Ρ‚ΠΈΠΏ, ΠΊΠΎΠΈΡ‚ΠΎ са тСствани Π΄ΠΎ 16 ΠΏΠ»Π°Ρ‚ΠΊΠΈ (64 FPGA), управлявани ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Raspberry Pi 2. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½Π°Ρ‚Π° функционалност Π½Π° John the Ripper, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ всички Ρ€Π΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΎΡ‚Π³Π°Ρ‚Π²Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ изтСглянС Π½Π° голям Π±Ρ€ΠΎΠΉ Ρ…Π΅ΡˆΠΎΠ²Π΅. Π—Π° Π΄Π° ускорим Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°, Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° маска (Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ "--mask", Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π² комбинация с Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈ) ΠΈ сравнСниС Π½Π° изчислСнитС Ρ…Π΅ΡˆΠΎΠ²Π΅ с Ρ‚Π΅Π·ΠΈ, Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ ΠΎΡ‚ страна Π½Π° FPGA. ΠžΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° изпълнСниС, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€. sha512crypt ΠΈ Drupal7) ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΡΡŠΡΡ‚ΠΎΡΡ‰ΠΈ сС ΠΎΡ‚ многонишкови процСсорни ядра (ΠΌΠ΅ΠΊΠΈ CPU ядра), взаимодСйстващи с криптографски ядра. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ функционалност бСшС Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄Π΅Π½ΠΎ ΠΎΡ‚ ДСнис Π‘ΡƒΡ€ΠΈΠΊΠΈΠ½ Π² координация с Π΄Ρ€ΡƒΠ³ΠΈ jumbo Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ.

Π”Ρ€ΡƒΠ³ΠΈ основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° голям Π±Ρ€ΠΎΠΉ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Ρ…Π΅ΡˆΠΎΠ²Π΅, ΡˆΠΈΡ„Ρ€ΠΈ ΠΈ Ρ‚.Π½., Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ класичСски Ρ…Π΅ΡˆΠΎΠ²Π΅ Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ Π½ΠΎΠ²ΠΈ вСрсии Π½Π° QNX), Ρ‚Π°ΠΊΠ° ΠΈ ΠΏΠΎΡ€Ρ‚Ρ„Π΅ΠΉΠ»ΠΈ Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡƒΡ‚Π°, ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Bitlocker ΠΈ FreeBSD geli), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° bcrypt-pbkdf Π·Π° OpenBSD softraid) ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ. ΠžΠ±Ρ‰ΠΎ 80 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½Π° CPU ΠΈ 47 Π½Π° OpenCL (ΠΈ малък Π±Ρ€ΠΎΠΉ стари са ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ Π² Π½ΠΎΠ²ΠΈ ΠΈ остарСли). ΠžΠ±Ρ‰ΠΈΡΡ‚ Π±Ρ€ΠΎΠΉ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ Π΅ 407 Π½Π° процСсора (ΠΈΠ»ΠΈ 262, Π±Π΅Π· Π΄Π° сС Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ "Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈΡ‚Π΅" Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅) ΠΈ 88 Π½Π° OpenCL.
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° CUDA Π² ΠΏΠΎΠ»Π·Π° Π½Π° OpenCL, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½ΠΈ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π½Π΅ ΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° NVIDIA GPU (ΠΈ Π΄ΠΎΡ€ΠΈ ΠΏΠΎΠΌΠ°Π³Π°, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° фокуса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π΅Π΄Π½Π° рСализация Π½Π° всСки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ΄ GPU вмСсто Π΄Π²Π° изпълнСния ΠΏΡ€Π΅Π΄ΠΈ).
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π½Π°Π±ΠΎΡ€ΠΈ инструкции SIMD - AVX2, AVX-512 (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π° Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ Π½Π° Xeon Phi) ΠΈ MIC (Π·Π° ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅) - ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΠΎ-унивСрсално ΠΈ пълно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SIMD Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ инструкции Π΄ΠΎ AVX ΠΈ XOP Π½Π° x86(-64) ΠΈ
    NEON, ASIMD ΠΈ AltiVec ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π½Π° ARM, Aarch64 ΠΈ POWER. (ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ GSoC 2015.)
  • ΠœΠ½ΠΎΠ³ΠΎΠ±Ρ€ΠΎΠΉΠ½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° CPU ΠΈ OpenCL, ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с голям Π±Ρ€ΠΎΠΉ Ρ…Π΅ΡˆΠΎΠ²Π΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 320 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° SHA-1 Ρ…Π΅ΡˆΠΎΠ²Π΅ Π½Π° GPU), Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° скоростта Π½Π° изчисляванС Π½Π° Ρ…Π΅ΡˆΠΎΠ²Π΅Ρ‚Π΅. Някои ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ са унивСрсални, някои ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, Π° ΠΌΠ½ΠΎΠ³ΠΎ са спСцифични Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.
  • (Автоматично) ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π½Π° процСсора (β€žβ€”tune=auto β€”verbosity=5”) ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° OpenCL (Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅), Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π±Π°Π²Π½ΠΎΡ‚ΠΎ нарастванС Π½Π° NVIDIA GTX сСрия GPU Π΄ΠΎ пълна Ρ€Π°Π±ΠΎΡ‚Π½Π° чСстота 10xx ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π°. ИзползванС Π½Π° дСйствитСлно Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ Ρ…Π΅ΡˆΠΎΠ²Π΅ ΠΈ дСйствитСлната дълТина Π½Π° провСряванитС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ (ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ извСстна ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ) Π·Π° Ρ‚Π°ΠΊΠ°Π²Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° настройка.
  • ДобавянС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π·Π° β€žΠ΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈβ€œ, ΡƒΠΊΠ°Π·Π°Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² командния Ρ€Π΅Π΄, ΠΈ внСдряванС Π½Π° Π½ΠΎΠ²ΠΈ Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΈ Ρ…Π΅Ρˆ Ρ‚ΠΈΠΏΠΎΠ²Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€ž-format=dynamic='sha1(md5($p).$s)'β€œ, изчислСни Π½Π° CPU с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° SIMD . ΠšΠ°Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΈΠ·Ρ€Π°Π·ΠΈ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ дСсСтки Π±ΡŠΡ€Π·ΠΈ Ρ…Π΅ΡˆΠΎΠ²Π΅ (ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ MD5 Π΄ΠΎ ΡƒΠΌΠ΅Ρ€Π΅Π½ΠΎ Π΅ΠΊΠ·ΠΎΡ‚ΠΈΡ‡Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Whirlpool), конкатСнация Π½Π° ΠΏΠΎΠ΄Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° Π³Π»Π°Π²Π½ΠΈ ΠΈ ΠΌΠ°Π»ΠΊΠΈ Π±ΡƒΠΊΠ²ΠΈ, ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ към ΠΏΠ°Ρ€ΠΎΠ»Π°, сол, потрСбитСлско ΠΈΠΌΠ΅ ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ константи.
  • Π•Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ ΠΎΡ‚ hashcat, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈ спСцифични Π·Π° hashcat ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ с ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° списък с Π΄ΡƒΠΌΠΈ, ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ към Π½ΠΎΠΌΠ΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° устройства Π½Π° OpenCL ΠΎΡ‚ 1, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ‰ΠΈΡ‚Π΅ дълТини Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ дълТина 7) Π·Π° тСстовС Π·Π° производитСлност.
  • Нови Ρ€Π΅ΠΆΠΈΠΌΠΈ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΡ€Π°ΠΊΠ½Π°Ρ‚ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ (Ρ€Π΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΊΡ€Π°ΠΊΠ²Π°Π½Π΅), Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ PRINCE ΠΎΡ‚ hashcat (Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° "Ρ„Ρ€Π°Π·ΠΈ" Ρ‡Ρ€Π΅Π· ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° няколко Π΄ΡƒΠΌΠΈ във Π²ΡŠΠ·Ρ…ΠΎΠ΄ΡΡ‰ Ρ€Π΅Π΄ Π½Π° ΠΎΠ±Ρ‰Π° дълТина), подмноТСства (носи ΠΏΠ°Ρ€ΠΎΠ»ΠΈ с Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ Π±Ρ€ΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π½Π°Ρ†ΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Ρ‚Π΅Π·ΠΈ Π·Π½Π°Ρ†ΠΈ ΠΈΠ΄Π²Π°Ρ‚ ΠΎΡ‚ голям Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ възмоТни) ΠΈ Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π΅Π½ външСн (позволява Π½Π° външни Ρ€Π΅ΠΆΠΈΠΌΠΈ, описани Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° C-ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π΅Π·ΠΈΠΊ, Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ въз основа Π½Π° всяка Π±Π°Π·ΠΎΠ²Π° β€žΠ΄ΡƒΠΌΠ°β€œ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ Ρ€Π΅ΠΆΠΈΠΌ). Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, няколко Π½ΠΎΠ²ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ външни Ρ€Π΅ΠΆΠΈΠΌΠ°.
  • Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° няколко Ρ€Π΅ΠΆΠΈΠΌΠ° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ (Π΅Π΄ΠΈΠ½ Π²ΡŠΡ€Ρ…Ρƒ Π΄Ρ€ΡƒΠ³ - ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Π½Π΅), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° Ρ‚Π°ΠΊΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° (ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° списък с Π΄ΡƒΠΌΠΈ).
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ Π½Π° маска (постСпСнно разтяганС Π½Π° маската Π² опрСдСлСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ дълТини, ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° маската отстрани Π½Π° OpenCL устройство ΠΈΠ»ΠΈ FPGA ΠΏΠ»Π°Ρ‚ΠΊΠ°) ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΠΊΠ²Π°Π½Π΅ (Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° устройства, ΠΊΠΎΠΈΡ‚ΠΎ изчисляват голям Π±Ρ€ΠΎΠΉ Ρ…Π΅ΡˆΠΎΠ²Π΅ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Π² Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅ΠΆΠΈΠΌ липсваха ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ограничСния Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚).
  • Много подобрСния Π² ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Unicode ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ подсистСми.
  • Много подобрСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ *2john (ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π²
    ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ с john), особСно wpapcap2john (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° WiFi Ρ‚Ρ€Π°Ρ„ΠΈΠΊ).
  • Много Π½ΠΎΠ²ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π½Π° командния Ρ€Π΅Π΄, настройки Π½Π° john.conf, ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° скриптовС ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΈΠΌ Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ всички ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ са спомСнати Ρ‚ΡƒΠΊ.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡΠ²Π°Π½Π΅ Π½Π° качСството Π½Π° ΠΊΠΎΠ΄Π° ΠΏΠΎΡ€Π°Π΄ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ с AddressSanitizer (ΠΏΡ€Π΅Π΄ΠΈΡˆΠ΅Π½) ΠΈ UndefinedBehaviorSanitizer (Π΄ΠΎΠ±Π°Π²Π΅Π½), добавянС Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ Ρ€Π°Π·ΠΌΡŠΡ€Π΄Π°Ρ‚Π΅Π» Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° GSoC 2015), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° интСграция (Π±ΠΈΠ»Π΄ΠΎΠ²Π΅ Π·Π° дСсСтки ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ ΠΈ тСствайки Π³ΠΈ Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° всички Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€