เบ›เปˆเบญเบเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” Sodium cryptographic 1.0.18

เบกเบตเปƒเบซเป‰ เบ›เปˆเบญเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” cryptographic เบŸเบฃเบต sodium 1.0.18, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™ API เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” เบ™เบฒเบ„ (เบฅเบฐเบšเบปเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ เปเบฅเบฐเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฑเบš) เปเบฅเบฐเปƒเบซเป‰เปœเป‰เบฒเบ—เบตเปˆเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบ›เบญเบ”เป„เบž, hashing, เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเป€เบฅเบ pseudo-random, เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบฅเบฒเบเป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบฅ, เปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ เปเบฅเบฐ symmetric (shared-key). Sodium API เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบชเบฐเป€เบซเบ™เบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบชเบธเบ”, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™ hashing เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบฅเบฐเบซเบฑเบ”เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” ISC เบŸเบฃเบต.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • เป€เบžเบตเปˆเบกเปเบžเบฅเบ”เบŸเบญเบกเป€เบ›เบปเป‰เบฒเปเบฒเบ WebAssembly/WASI เปƒเปเปˆ (เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš WASI เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ WebAssembly เบขเบนเปˆเบ™เบญเบเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš);
  • เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ AVX2, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ hashing เบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ›เบฐเบกเบฒเบ™ 10%.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰ Visual Studio 2019;
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบซเบกเปˆ core_ed25519_from_hash() เปเบฅเบฐ core_ed25519_random() เป€เบžเบทเปˆเบญเบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™ hash เป„เบ›เบซเบฒเบˆเบธเบ” edwards25519 เบซเบผเบทเป„เบ”เป‰เบฎเบฑเบšเบˆเบธเบ” edwards25519 เปเบšเบšเบชเบธเปˆเบก;
  • เป€เบžเบตเปˆเบกเบŸเบฑเบ‡เบŠเบฑเบ™ crypto_core_ed25519_scalar_mul() เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบนเบ™ scalar*scalar (mod L);
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบเบ•เบปเป‰เบ™เบ•เป Ristretto, เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš wasm-crypto;
  • เป€เบ›เบตเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš getentropy() เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบกเบฑเบ™;
  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต NativeClient เป„เบ”เป‰เบ–เบทเบเบขเบธเบ”เป€เบŠเบปเบฒ, เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ เบขเบธเบ”เป€เบŠเบปเบฒ เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ‚เบญเบ‡ WebAssembly;
  • เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡, เบ•เบปเบงเป€เบฅเบทเบญเบ compiler "-ftree-vectorize" เปเบฅเบฐ "-ftree-slp-vectorize" เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰.

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

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