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) ΠΏΠΎΠΊΡ€Π°Ρ˜ процСсорот, Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈΠΎΡ‚ процСсор ΠΈ 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, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ ситС Ρ€Π΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΏΠΎΠ³ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π»ΠΎΠ·ΠΈΠ½ΠΊΠΈ ΠΈ истоврСмСно ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Ρ…Π°ΡˆΠΎΠ²ΠΈ. Π—Π° Π΄Π° ја Π·Π°Π±Ρ€Π·Π°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° маска (Ρ€Π΅ΠΆΠΈΠΌ β€ž--ΠΌΠ°ΡΠΊΠ°β€œ, Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Π²ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π° со Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈ) ΠΈ спорСдба Π½Π° прСсмСтанитС Ρ…Π°ΡˆΠΎΠ²ΠΈ со ΠΎΠ½ΠΈΠ΅ Π²Ρ‡ΠΈΡ‚Π°Π½ΠΈ Π½Π° страната FPGA. Од пСрспСктива Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ΄ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ‚Π΅ (Π½Π° ΠΏΡ€. sha512crypt ΠΈ Drupal7) сС користат Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΈ сС ΡΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΎΠ΄ процСсорски Ρ˜Π°Π΄Ρ€Π° со повСќС нишки (ΠΌΠ΅ΠΊΠΈ Ρ˜Π°Π΄Ρ€Π° Π½Π° процСсорот) Π²ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со криптографски Ρ˜Π°Π΄Ρ€Π°. Π Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΎΠ²Π°Π° функционалност бСшС ΠΏΡ€Π΅Π΄Π²ΠΎΠ΄Π΅Π½ ΠΎΠ΄ ДСнис Π‘ΡƒΡ€ΠΈΠΊΠΈΠ½ Π²ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡ˜Π° со Π΄Ρ€ΡƒΠ³ΠΈ џамбо ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ.

Π”Ρ€ΡƒΠ³ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

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

Π˜Π·Π²ΠΎΡ€: linux.org.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€