yescrypt เปเบกเปˆเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ scrypt.

เบ‚เปเป‰เบ”เบต (เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบš scrypt เปเบฅเบฐ Argon2):

  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ•เปเปˆเบ•เป‰เบฒเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปเบšเบšเบญเบญเบšเป„เบฅเบ™เปŒ (เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบฎเบฑเบเบชเบฒเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ„เบปเบ‡เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบเปˆเบฒเบเบ›เป‰เบญเบ‡เบเบฑเบ™).
  • เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบžเบตเปˆเบกเป€เบ•เบตเบก (เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบซเบผเบฑเบšเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบซเบผเบฒเบเป‚เบ”เบเบšเปเปˆเบฎเบนเป‰เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™) เบญเบญเบเบˆเบฒเบเบเปˆเบญเบ‡.
  • เปƒเบŠเป‰ NIST เบญเบฐเบ™เบธเบกเบฑเบ” NIST primitives cryptographic.
  • เบกเบฑเบ™เบเบฑเบ‡เบ„เบปเบ‡เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ SHA-256, HMAC, PBKDF2 เปเบฅเบฐ scrypt.

เบเบฑเบ‡เบกเบตเบ‚เปเป‰เป€เบชเบเบ›เบฝเบš, เบญเบฐเบ—เบดเบšเบฒเบเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™ เบซเบ™เป‰เบฒเป‚เบ„เบ‡เบเบฒเบ™.

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ‚เปˆเบฒเบงเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ (yescrypt 1.0.1) เบกเบตเบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเป€เบฅเบฑเบเบ™เป‰เบญเบเบซเบผเบฒเบเบ„เบฑเป‰เบ‡.


เบ›เปˆเบญเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ 1.0.2:

  • MAP_POPULATE เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบญเบตเบเบ•เปเปˆเป„เบ›, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบผเบฒเบ threaded เปƒเบซเบกเปˆเป€เบ›เบตเบ”เป€เบœเบตเบเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบฅเบปเบšเบซเบผเบฒเบเบเปˆเบงเบฒเบญเบฑเบ™เปƒเบ™เบ—เบฒเบ‡เบšเบงเบ.

  • เบ•เบญเบ™เบ™เบตเป‰เบฅเบฐเบซเบฑเบ” SIMD เบ™เบณเปƒเบŠเป‰เปƒเปเปˆ buffers input เปเบฅเบฐ output เปƒเบ™ BlockMix_pwxform เปƒเบ™ SMix2. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบญเบฑเบ”เบ•เบฒเบเบฒเบ™เบ•เบต cache เป€เบฅเบฑเบเบ™เป‰เบญเบเปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ 1.0.3:

  • SMix1 เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต V เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ 1.1.0:

  • Yescrypt-opt.c เปเบฅเบฐ yescrypt-simd.c เป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™ เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-simd" เปเบกเปˆเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบญเบตเบเบ•เปเปˆเป„เบ›. เบ”เป‰เบงเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ™เบตเป‰, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบเบญเบš SIMD เบ„เบงเบ™เบˆเบฐเป€เบเบทเบญเบšเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡, เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบเบญเบš scalar เบ„เบงเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ”เบตเบเบงเปˆเบฒเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ 64-bit (เปเบ•เปˆเบŠเป‰เบฒเบเบงเปˆเบฒเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ 32-bit) เบ”เป‰เบงเบเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบซเบผเบฒเบ.

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰ yescrypt เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libxcrypt, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ Fedora เปเบฅเบฐ ALT Linux.

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

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