ಹೊಸ ಆವೃತ್ತಿಯ ವಿಶೇಷ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಎಫ್ಪಿಜಿಎ ಬೆಂಬಲದ ನೋಟ (ಸಿಪಿಯು, ಜಿಪಿಯು ಮತ್ತು ಕ್ಸಿಯಾನ್ ಫೈ ಜೊತೆಗೆ). ಬೋರ್ಡ್ಗಳಿಗಾಗಿ
bcrypt ಗಾಗಿ, ~119 ವ್ಯಾಟ್ಗಳ ವಿದ್ಯುತ್ ಬಳಕೆಯೊಂದಿಗೆ 2^5 ಪುನರಾವರ್ತನೆಗಳೊಂದಿಗೆ (“$2b$05”) ~27k c/s ಸಾಧಿಸಿದ ಕಾರ್ಯಕ್ಷಮತೆಯು ಪ್ರತಿ ಬೋರ್ಡ್, ಪ್ರತಿ ಹಾರ್ಡ್ವೇರ್ ಬೆಲೆ ಮತ್ತು ಪ್ರತಿ ವ್ಯಾಟ್ಗೆ ಇತ್ತೀಚಿನ GPU ಗಳ ಫಲಿತಾಂಶಗಳನ್ನು ಗಣನೀಯವಾಗಿ ಮೀರಿಸುತ್ತದೆ. . ಸಹ ಬೆಂಬಲಿಸಿದರು
ಕೆಲಸವನ್ನು ವೇಗಗೊಳಿಸಲು, ನಾವು ಮುಖವಾಡದ ಬಳಕೆಯನ್ನು ಅಳವಡಿಸಿದ್ದೇವೆ ("-ಮಾಸ್ಕ್" ಮೋಡ್, ಇತರ ವಿಧಾನಗಳೊಂದಿಗೆ ಸಂಯೋಜನೆಯನ್ನು ಒಳಗೊಂಡಂತೆ) ಮತ್ತು FPGA ಭಾಗದಲ್ಲಿ ಲೋಡ್ ಮಾಡಲಾದ ಲೆಕ್ಕಾಚಾರದ ಹ್ಯಾಶ್ಗಳ ಹೋಲಿಕೆ. ಅನುಷ್ಠಾನದ ದೃಷ್ಟಿಕೋನದಿಂದ, ಹಲವು ವಿನ್ಯಾಸಗಳು (ಉದಾ.
ಇತರ ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು:
- ಕ್ಲಾಸಿಕ್ ಪಾಸ್ವರ್ಡ್ ಹ್ಯಾಶ್ಗಳು (ಉದಾಹರಣೆಗೆ, ಕ್ಯೂಎನ್ಎಕ್ಸ್ನ ಹೊಸ ಆವೃತ್ತಿಗಳಿಂದ), ಹಾಗೆಯೇ ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿ ವ್ಯಾಲೆಟ್ಗಳು, ಎನ್ಕ್ರಿಪ್ಟೆಡ್ ಆರ್ಕೈವ್ಗಳು ಮತ್ತು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಫೈಲ್ ಸಿಸ್ಟಮ್ಗಳು (ಉದಾಹರಣೆಗೆ, ಬಿಟ್ಲಾಕರ್ ಮತ್ತು FreeBSD geli), ಹಾಗೆಯೇ ಹಿಂದೆ ಬೆಂಬಲಿಸಿದ ಹೊಸ ಪ್ರಕಾರದ ಸ್ವರೂಪಗಳಿಗೆ ಬೆಂಬಲ (ಉದಾಹರಣೆಗೆ, OpenBSD ಸಾಫ್ಟ್ರೈಡ್ಗಾಗಿ bcrypt-pbkdf ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ) ಮತ್ತು ಇನ್ನಷ್ಟು. ಒಟ್ಟಾರೆಯಾಗಿ, CPU ನಲ್ಲಿ 80 ಮತ್ತು OpenCL ನಲ್ಲಿ 47 ಸ್ವರೂಪಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. CPU ನಲ್ಲಿ ಈಗ ಒಟ್ಟು ಸ್ವರೂಪಗಳ ಸಂಖ್ಯೆ 407 (ಅಥವಾ 262 ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳಿಂದ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ "ಡೈನಾಮಿಕ್" ಫಾರ್ಮ್ಯಾಟ್ಗಳನ್ನು ಒಳಗೊಂಡಿಲ್ಲ) ಮತ್ತು OpenCL ನಲ್ಲಿ 88 ಆಗಿದೆ.
- OpenCL ಪರವಾಗಿ CUDA ಭಾಷೆಯನ್ನು ಬೆಂಬಲಿಸಲು ನಿರಾಕರಣೆ, ಇದು NVIDIA GPU ಗಳ ಸಂಪೂರ್ಣ ಬಳಕೆಗೆ ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಅಡ್ಡಿಪಡಿಸುವುದಿಲ್ಲ (ಮತ್ತು ಈ ಹಿಂದೆ ಎರಡು ಅಳವಡಿಕೆಗಳ ಬದಲಿಗೆ GPU ಗಾಗಿ ಪ್ರತಿ ಸ್ವರೂಪದ ಒಂದು ಅನುಷ್ಠಾನದ ಮೇಲೆ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಕೇಂದ್ರೀಕರಿಸಲು ಸಹ ಸಹಾಯ ಮಾಡುತ್ತದೆ).
- ಹೊಸ SIMD ಸೂಚನಾ ಸೆಟ್ಗಳಿಗೆ ಬೆಂಬಲ - AVX2, AVX-512 (ಎರಡನೇ ತಲೆಮಾರಿನ Xeon Phi ಸೇರಿದಂತೆ) ಮತ್ತು MIC (ಮೊದಲ ತಲೆಮಾರಿನವರಿಗೆ) - ಹಾಗೆಯೇ ಬಳಕೆ ಸೇರಿದಂತೆ ಹಲವು ಸ್ವರೂಪಗಳ ಅನುಷ್ಠಾನಗಳಲ್ಲಿ SIMD ನ ಹೆಚ್ಚು ಸಾರ್ವತ್ರಿಕ ಮತ್ತು ಸಂಪೂರ್ಣ ಬಳಕೆ x86(-64) ನಲ್ಲಿ AVX ಮತ್ತು XOP ಗೆ ಹಿಂದೆ ಬೆಂಬಲಿತ ಸೂಚನೆಗಳು ಮತ್ತು
ಕ್ರಮವಾಗಿ ARM, Aarch64 ಮತ್ತು POWER ನಲ್ಲಿ NEON, ASIMD ಮತ್ತು AltiVec. - CPU ಮತ್ತು OpenCL ಗಾಗಿ ಹಲವಾರು ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು, ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಹ್ಯಾಶ್ಗಳೊಂದಿಗೆ ಏಕಕಾಲದಲ್ಲಿ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು (ಉದಾಹರಣೆಗೆ, GPU ನಲ್ಲಿ 320 ಮಿಲಿಯನ್ SHA-1 ಹ್ಯಾಶ್ಗಳನ್ನು ಲೋಡ್ ಮಾಡುವುದನ್ನು ಪರೀಕ್ಷಿಸಲಾಗಿದೆ), ಮತ್ತು ಹ್ಯಾಶ್ ಲೆಕ್ಕಾಚಾರಗಳ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸಲು. ಈ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳಲ್ಲಿ ಕೆಲವು ಸಾರ್ವತ್ರಿಕವಾಗಿವೆ, ಕೆಲವು ಸ್ವರೂಪಗಳ ವಿವಿಧ ಉಪವಿಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ ಮತ್ತು ಹಲವು ಪ್ರತ್ಯೇಕ ಸ್ವರೂಪಗಳಿಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿರುತ್ತವೆ.
- (ಸ್ವಯಂ-) CPU ನಲ್ಲಿ ಪರಿಶೀಲಿಸಲಾದ ಪಾಸ್ವರ್ಡ್ಗಳ ಅತ್ಯುತ್ತಮ ಬಫರಿಂಗ್ನ ಕಾನ್ಫಿಗರೇಶನ್ (“—tune=auto —verbosity=5”) ಮತ್ತು OpenCL ನಲ್ಲಿ ಅತ್ಯುತ್ತಮ ಉದ್ಯೋಗ ಗಾತ್ರಗಳು (ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ), ಪೂರ್ಣ ಆಪರೇಟಿಂಗ್ ಆವರ್ತನದವರೆಗೆ ನಿಧಾನವಾದ ರಾಂಪ್ ಅನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದು ಸೇರಿದಂತೆ NVIDIA GTX ಸರಣಿಯ GPUಗಳು 10xx ಮತ್ತು ಹೊಸದು. ಅಂತಹ ಸ್ವಯಂ-ಶ್ರುತಿಗಾಗಿ ನಿಜವಾಗಿ ಲೋಡ್ ಮಾಡಲಾದ ಹ್ಯಾಶ್ಗಳನ್ನು ಮತ್ತು ಪಾಸ್ವರ್ಡ್ಗಳ ನಿಜವಾದ ಉದ್ದವನ್ನು (ಮುಂಚಿತವಾಗಿ ತಿಳಿದಾಗ) ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.
- ಕಮಾಂಡ್ ಲೈನ್ನಲ್ಲಿ ನೇರವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ "ಡೈನಾಮಿಕ್ ಎಕ್ಸ್ಪ್ರೆಶನ್ಸ್" ಗಾಗಿ ಕಂಪೈಲರ್ ಅನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ಹೊಸ ಹೈಬ್ರಿಡ್ ಹ್ಯಾಶ್ ಪ್ರಕಾರಗಳನ್ನು ಅಳವಡಿಸುವುದು, ಉದಾಹರಣೆಗೆ "-format=dynamic='sha1(md5($p).$s)'", SIMD ಬಳಸಿಕೊಂಡು CPU ನಲ್ಲಿ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ . ಅಂತಹ ಅಭಿವ್ಯಕ್ತಿಗಳ ಘಟಕಗಳಾಗಿ, ಡಜನ್ಗಟ್ಟಲೆ ವೇಗದ ಹ್ಯಾಶ್ಗಳನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ (MD5 ನಂತಹ ಸಾಮಾನ್ಯವಾದವುಗಳಿಂದ ವರ್ಲ್ಪೂಲ್ನಂತಹ ಮಧ್ಯಮ ವಿಲಕ್ಷಣವಾದವುಗಳವರೆಗೆ), ಸಬ್ಸ್ಟ್ರಿಂಗ್ ಸಂಯೋಜನೆ, ಎನ್ಕೋಡಿಂಗ್ ಮತ್ತು ಡಿಕೋಡಿಂಗ್, ಅಕ್ಷರ ಪ್ರಕರಣ ಪರಿವರ್ತನೆ, ಪಾಸ್ವರ್ಡ್, ಉಪ್ಪು, ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಸ್ಟ್ರಿಂಗ್ ಸ್ಥಿರಾಂಕಗಳ ಉಲ್ಲೇಖಗಳು.
- ಹಿಂದಿನ ಹ್ಯಾಶ್ಕ್ಯಾಟ್-ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಒಳಗೊಂಡಂತೆ ಹ್ಯಾಶ್ಕ್ಯಾಟ್ನಿಂದ ಅನಗತ್ಯ ವ್ಯತ್ಯಾಸಗಳ ನಿರ್ಮೂಲನೆ (ವರ್ಡ್ಲಿಸ್ಟ್ ರೂಲ್ ಕಮಾಂಡ್ಗಳು), 1 ರಿಂದ ಓಪನ್ಸಿಎಲ್ ಸಾಧನ ಸಂಖ್ಯೆಗೆ ಪರಿವರ್ತನೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಪರೀಕ್ಷೆಗಳಿಗಾಗಿ ಅದೇ ಪಾಸ್ವರ್ಡ್ ಉದ್ದಗಳ ಡೀಫಾಲ್ಟ್ ಬಳಕೆ (ಸಾಮಾನ್ಯವಾಗಿ ಉದ್ದ 7).
- ಹ್ಯಾಶ್ಕ್ಯಾಟ್ನಿಂದ PRINCE ಸೇರಿದಂತೆ ಪರಿಶೀಲಿಸಬಹುದಾದ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು (ಕ್ರ್ಯಾಕಿಂಗ್ ಮೋಡ್ಗಳು) ಉತ್ಪಾದಿಸಲು ಹೊಸ ಮೋಡ್ಗಳು (ಒಟ್ಟು ಉದ್ದದ ಕ್ರಮದಲ್ಲಿ ಹಲವಾರು ಪದಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ "ಪದಗಳನ್ನು" ರೂಪಿಸುತ್ತದೆ), ಉಪವಿಭಾಗಗಳು (ಈ ಅಕ್ಷರಗಳು ಬಂದರೂ ಸಹ ಸಾಕಷ್ಟು ಸಂಖ್ಯೆಯ ವಿಭಿನ್ನ ಅಕ್ಷರಗಳೊಂದಿಗೆ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ತರುತ್ತದೆ ಸಂಭವನೀಯವಾದವುಗಳ ದೊಡ್ಡ ಗುಂಪಿನಿಂದ) ಮತ್ತು ಹೈಬ್ರಿಡ್ ಬಾಹ್ಯ (C-ರೀತಿಯ ಭಾಷೆಯಲ್ಲಿ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳಲ್ಲಿ ವಿವರಿಸಲಾದ ಬಾಹ್ಯ ವಿಧಾನಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಇನ್ನೊಂದು ಮೋಡ್ನಿಂದ ಸ್ವೀಕರಿಸಿದ ಪ್ರತಿಯೊಂದು ಮೂಲ "ಪದ" ದ ಆಧಾರದ ಮೇಲೆ ಅನೇಕ ಪರಿಶೀಲಿಸಬಹುದಾದ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ರಚಿಸಲು). ಅಲ್ಲದೆ, ಹಲವಾರು ಹೊಸ ಪೂರ್ವನಿರ್ಧರಿತ ಬಾಹ್ಯ ವಿಧಾನಗಳು.
- ಹಲವಾರು ವಿಧಾನಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಬಳಸುವುದಕ್ಕಾಗಿ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳು (ಒಂದರ ಮೇಲೊಂದರಂತೆ - ಪೇರಿಸುವಿಕೆ), ಹಾಗೆಯೇ ನಿಯಮಗಳ ಸೆಟ್ಗಳನ್ನು ಬಳಸುವುದಕ್ಕಾಗಿ (ಪದಪಟ್ಟಿ ನಿಯಮಗಳು ಪೇರಿಸುವಿಕೆ).
- ಮಾಸ್ಕ್ ಮೋಡ್ಗಳಿಗೆ ಸುಧಾರಣೆಗಳು (ನಿರ್ದಿಷ್ಟ ಶ್ರೇಣಿಯ ಉದ್ದದಲ್ಲಿ ಮುಖವಾಡವನ್ನು ಕ್ರಮೇಣ ವಿಸ್ತರಿಸುವುದು, ಓಪನ್ಸಿಎಲ್ ಸಾಧನ ಅಥವಾ ಎಫ್ಪಿಜಿಎ ಬೋರ್ಡ್ನ ಬದಿಯಲ್ಲಿ ಮುಖವಾಡವನ್ನು ಅನ್ವಯಿಸುವುದು) ಮತ್ತು ಏಕ ಕ್ರ್ಯಾಕ್ (ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಹ್ಯಾಶ್ಗಳನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಸಾಧನಗಳಲ್ಲಿ ಸಮಂಜಸವಾದ ನಡವಳಿಕೆ , ಇದಕ್ಕಾಗಿ ಹಿಂದೆ ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಕಷ್ಟು ಪರಿಶೀಲಿಸಬಹುದಾದ ಪಾಸ್ವರ್ಡ್ಗಳು ಇರಲಿಲ್ಲ ಮತ್ತು ಮೆಮೊರಿ ಬಳಕೆಯ ಮೇಲಿನ ನಿರ್ಬಂಧಗಳು).
- ವಿವಿಧ ಉಪವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಯುನಿಕೋಡ್ ಮತ್ತು ಇತರ ಎನ್ಕೋಡಿಂಗ್ಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಹಲವು ಸುಧಾರಣೆಗಳು.
- *2john ಪ್ರೋಗ್ರಾಂಗಳಿಗೆ ಹಲವು ಸುಧಾರಣೆಗಳು (ವಿಭಿನ್ನ ಸ್ವರೂಪಗಳ ಫೈಲ್ಗಳನ್ನು ಪರಿವರ್ತಿಸುತ್ತದೆ
ಜಾನ್ ಜೊತೆಗೆ ಬಳಸಿ), ವಿಶೇಷವಾಗಿ wpapcap2john (ವೈಫೈ ಟ್ರಾಫಿಕ್ ಅನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ). - ಹಲವು ಹೊಸ ಕಮಾಂಡ್ ಲೈನ್ ಆಯ್ಕೆಗಳಿವೆ, john.conf ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳು, ಸ್ಕ್ರಿಪ್ಟ್ ಆಯ್ಕೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ ಮತ್ತು ಅನುಗುಣವಾದ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಇಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾಗಿಲ್ಲ.
- AddressSanitizer (ಹಿಂದೆ) ಮತ್ತು UndefinedBehaviorSanitizer (ಸೇರಿಸಲಾಗಿದೆ) ನೊಂದಿಗೆ ಡೀಬಗ್ ಬಿಲ್ಡ್ಗಳಿಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲಕ್ಕಾಗಿ ಕೋಡ್ ಗುಣಮಟ್ಟವನ್ನು ಸುಧಾರಿಸುವುದು, ಅಂತರ್ನಿರ್ಮಿತ ಫಾರ್ಮ್ಯಾಟ್ ಫಜರ್ ಅನ್ನು ಸೇರಿಸುವುದು (GSoC 2015 ರ ಭಾಗವಾಗಿ), ನಿರಂತರ ಏಕೀಕರಣವನ್ನು ಬಳಸುವುದು (ಡಜನ್ ಗಟ್ಟಲೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ಸಂಕಲನಕ್ಕಾಗಿ ನಿರ್ಮಿಸುತ್ತದೆ ಸಂಯೋಜನೆಗಳು ಮತ್ತು ಎಲ್ಲಾ ಸ್ವರೂಪಗಳಿಗೆ ಸರಿಯಾದ ಬೆಂಬಲಕ್ಕಾಗಿ ಅವುಗಳನ್ನು ಪರೀಕ್ಷಿಸುವುದು).
ಮೂಲ: opennet.ru