Жаңа нұсқаның ерекшелігі - FPGA қолдауының пайда болуы (CPU, GPU және Xeon Phi-ге қосымша). Тақталар үшін
bcrypt үшін 119^2 итерациямен («$5б$2») қол жеткізілген өнімділігі ~05 Вт қуат тұтынуы платаға, аппараттық құрал бағасына және ваттқа арналған соңғы GPU нәтижелерінен айтарлықтай асып түседі. . Сондай-ақ қолдау көрсетіледі
Жұмысты жеделдету үшін біз масканы («—маска» режимі, оның ішінде басқа режимдермен бірге) пайдалануды және есептелген хэштерді FPGA жағында жүктелгендермен салыстыруды жүзеге асырдық. Іске асыру тұрғысынан көптеген конструкциялар (мысалы,
Басқа маңызды өзгерістер:
- Классикалық пароль хэштерін де (мысалы, QNX жаңа нұсқаларынан), сондай-ақ криптовалюта әмияндарын, шифрланған мұрағаттарды және шифрланған файлдық жүйелерді (мысалы, Bitlocker және FreeBSD geli), сондай-ақ бұрын қолдау көрсетілетін пішімдердің жаңа түрлерін қолдау (мысалы, OpenBSD бағдарламалық жасақтамасы үшін bcrypt-pbkdf қолдауы қосылған) және т.б. Барлығы CPU-ға 80 пішім және OpenCL-ге 47 пішім қосылды. Пішімдердің жалпы саны қазір CPU-да 407 (немесе конфигурация файлдарынан конфигурацияланған «динамикалық» пішімдерді қоспағанда 262) және OpenCL-де 88.
- OpenCL пайдасына CUDA тілін қолдаудан бас тарту, ол NVIDIA графикалық процессорларының толық пайдаланылуына ешбір кедергі келтірмейді (және тіпті бұрын екі іске асырудың орнына GPU үшін әрбір пішімді бір іске асыруға әзірлеу мен оңтайландыруды шоғырландыру арқасында көмектеседі).
- Жаңа SIMD нұсқаулық жинақтарын қолдау - AVX2, AVX-512 (соның ішінде Xeon Phi екінші буыны үшін) және MIC (бірінші буын үшін) - сонымен қатар SIMD-ді көптеген форматтарды іске асыруда әмбебап және толық пайдалану, соның ішінде x86(-64) жəне AVX жəне XOP нұсқаларына дейін қолдау көрсетілетін нұсқаулықтар жинағы
NEON, ASIMD және AltiVec тиісінше ARM, Aarch64 және POWER құрылғыларында. - Бір уақытта көптеген хэштермен тиімдірек жұмыс істеу үшін (мысалы, GPU-ға 320 миллион SHA-1 хэштерін жүктеу сыналды) және хэшті есептеу жылдамдығын арттыру үшін CPU және OpenCL үшін көптеген оңтайландырулар. Бұл оңтайландырулардың кейбірі әмбебап, кейбіреулері пішімдердің әртүрлі ішкі жиынын қамтиды, ал көпшілігі жеке пішімдерге тән.
- Орталық процессордағы тексерілген құпия сөздерді оңтайлы буферлеудің (автоматты) конфигурациясы («—түйеу=авто —вербостық=5») және OpenCL жүйесінде жұмыстың оңтайлы өлшемдері (әдепкі бойынша қосулы), соның ішінде толық жұмыс жиілігіне дейінгі баяу өсуді ескере отырып. NVIDIA GTX сериялы GPU 10xx және одан жаңа. Мұндай автоматты реттеу үшін нақты жүктелген хэштерді және тексерілетін құпия сөздердің нақты ұзындығын (ол алдын ала белгілі болған кезде) пайдалану.
- Пәрмен жолында тікелей көрсетілген «динамикалық өрнектер» үшін компиляторды қосу және жаңа гибридті хэш түрлерін енгізу, мысалы, SIMD арқылы CPU-да есептелген «-format=dynamic='sha1(md5($p).$s)' . Мұндай өрнектердің құрамдас бөліктері ретінде ондаған жылдам хэштерге (MD5 сияқты қарапайымдардан Whirlpool сияқты орташа экзотикалықларға дейін), ішкі жолды біріктіру, кодтау және декодтау, таңба регистрін түрлендіру, құпия сөзге, тұзға, пайдаланушы атына және жол тұрақтыларына сілтемелер қолданылады.
- Hashcat-тен қажетсіз айырмашылықтарды жою, оның ішінде бұрын хэшкат-арнайы ережелерді қолдау (сөздер тізімі ережесі пәрмендері), 1-ден OpenCL құрылғысын нөмірлеуге көшу, өнімділік сынақтары үшін бірдей құпия сөз ұзындықтарының әдепкі қолданылуы (әдетте ұзындығы 7).
- Тексерілетін құпия сөздерді генерациялаудың жаңа режимдері (жарылу режимдері), соның ішінде hashcat-тен PRINCE (жалпы ұзындықтың өсу реті бойынша бірнеше сөздерді біріктіру арқылы «сөз тіркестерін» құрайды), ішкі жиындар (бұл таңбалар келсе де, әртүрлі таңбалардың жеткіліксіз саны бар құпия сөздерді шығарады) мүмкін болатындардың үлкен жиынтығынан) және гибридті сыртқы (С-тәрізді тілдегі конфигурация файлдарында сипатталған сыртқы режимдерге басқа режимнен алынған әрбір негізгі «сөзге» негізделген көптеген тексерілетін құпия сөздерді жасауға мүмкіндік береді). Сондай-ақ, бірнеше жаңа алдын ала анықталған сыртқы режимдер.
- Бірнеше режимді бір уақытта пайдалануға (бірінің үстіне бірі – стекке), сондай-ақ ережелер жиынын пайдалануға арналған қосымша мүмкіндіктер (сөздер тізімі ережелерін жинақтау).
- Маска режимдерін жақсарту (ұзындықтардың белгілі бір диапазонында масканы біртіндеп созу, OpenCL құрылғысының немесе FPGA тақтасының жағында масканы қолдану) және жалғыз крек (параллельде хэштердің көп санын есептейтін құрылғылардағы ақылға қонымды әрекет) , олар үшін бұрын осы режимде тексерілетін құпиясөздер жеткіліксіз, сонымен қатар жадты тұтынуға шектеулер болды).
- Юникодты және әртүрлі ішкі жүйелердегі басқа кодтауларды қолдауға арналған көптеген жақсартулар.
- *2john бағдарламаларына көптеген жақсартулар (әртүрлі форматтағы файлдарды
john-мен бірге пайдаланыңыз), әсіресе wpapcap2john (WiFi трафигін реттейді). - Көптеген жаңа пәрмен жолы опциялары, john.conf ішіндегі параметрлер, сценарий опцияларын конфигурациялау және сәйкес жаңа мүмкіндіктер бар, олардың барлығы осы жерде айтылмаған.
- AddressSanitizer (бұрын) және UndefinedBehaviorSanitizer (қосылған) көмегімен түзетілімдерді түзетуге кірістірілген қолдаудың арқасында код сапасын жақсарту, кірістірілген пішім фузерін қосу (GSoC 2015 бөлігі ретінде), үздіксіз интеграцияны қолдану (ондаған операциялық жүйе мен компилятор үшін құрастырылады) комбинациялар және оларды барлық пішімдерге дұрыс қолдау көрсету үшін сынау).
Ақпарат көзі: opennet.ru