ืฉื—ืจื•ืจ ืกืคืจื™ื™ืช ื”ื”ืฆืคื ื” Sodium 1.0.18

ื–ืžื™ืŸ ืฉื—ืจื•ืจ ืกืคืจื™ื™ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื” ื‘ื—ื™ื ื ื ืชืจืŸ 1.0.18, ืฉื”ื•ื API ืชื•ืื ืœืกืคืจื™ื™ื” NaCl (ืกืคืจื™ื™ืช ืจืฉืชื•ืช ื•ืงืจื™ืคื˜ื•ื’ืจืคื™ื”) ื•ืžืกืคืงืช ืคื•ื ืงืฆื™ื•ืช ืœืืจื’ื•ืŸ ืชืงืฉื•ืจืช ืžืื•ื‘ื˜ื—ืช ื‘ืจืฉืช, hashing, ื”ืคืงืช ืžืกืคืจื™ื ืคืกืื•ื“ื• ืืงืจืื™ื™ื, ืขื‘ื•ื“ื” ืขื ื—ืชื™ืžื•ืช ื“ื™ื’ื™ื˜ืœื™ื•ืช ื•ื”ืฆืคื ื” ื‘ืืžืฆืขื•ืช ืžืคืชื—ื•ืช ืฆื™ื‘ื•ืจื™ื™ื ื•ืกื™ืžื˜ืจื™ื™ื (ืžืคืชื— ืžืฉื•ืชืฃ) ืžืื•ืžืชื™ื. ื”-Sodium API ืคืฉื•ื˜ ื•ืžืฆื™ืข ืืช ื”ืืคืฉืจื•ื™ื•ืช ื”ืžืื•ื‘ื˜ื—ื•ืช ื‘ื™ื•ืชืจ, ืฉื™ื˜ื•ืช ื”ืฆืคื ื” ื•-hashing ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืงื•ื“ ืกืคืจื™ื™ื” ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช ืจื™ืฉื™ื•ืŸ ISC ื”ื—ื™ื ืžื™.

ื—ื™ื“ื•ืฉื™ื ืขื™ืงืจื™ื™ื:

  • ื ื•ืกืคื” ืคืœื˜ืคื•ืจืžืช ื™ืขื“ ื—ื“ืฉื” WebAssembly/WASI (ืžืžืฉืง WASI ืœื”ืฉืชืžืฉ ื‘-WebAssembly ืžื—ื•ืฅ ืœื“ืคื“ืคืŸ);
  • ื‘ืžืขืจื›ื•ืช ืขื ืชืžื™ื›ื” ื‘ื”ื•ืจืื•ืช AVX2, ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืคืขื•ืœื•ืช ื’ื™ื‘ื•ื‘ ื‘ืกื™ืกื™ื•ืช ื’ื“ืœื• ื‘ื›-10%.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื‘ื ื™ื™ื” ื‘ืืžืฆืขื•ืช Visual Studio 2019;
  • ื”ื˜ืžื™ืข ืคื•ื ืงืฆื™ื•ืช ื—ื“ืฉื•ืช core_ed25519_from_hash() ื•-core_ed25519_random() ื›ื“ื™ ืœืฉืงืฃ hash ืœื ืงื•ื“ืช edwards25519 ืื• ืœื”ืฉื™ื’ ื ืงื•ื“ืช edwards25519 ืืงืจืื™ืช;
  • ื ื•ืกืคื” ืคื•ื ืงืฆื™ื” crypto_core_ed25519_scalar_mul() ืขื‘ื•ืจ ื›ืคืœ ืกืงืœืจื™*ืกืงืœืจื™ (ืžื•ื“ L);
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ืงื‘ื•ืฆื” ืžืกื•ื“ืจืช ืฉืœ ืžืกืคืจื™ื ืจืืฉื•ื ื™ื™ื Ristretto, ื”ื›ืจื—ื™ ืœืชืื™ืžื•ืช ืขื wasm-crypto;
  • ืฉื™ืžื•ืฉ ืžื•ืคืขืœ ื‘ืฉื™ื—ืช ืžืขืจื›ืช getentropy() ืขืœ ืžืขืจื›ื•ืช ื”ืชื•ืžื›ื•ืช ื‘ื•;
  • ื”ืชืžื™ื›ื” ื‘ื˜ื›ื ื•ืœื•ื’ื™ื™ืช NativeClient ื”ื•ืคืกืงื”, ื•ืคื™ืชื•ื—ื” ื”ื•ืคืกืง ืœื˜ื•ื‘ืช WebAssembly;
  • ื‘ืขืช ื”ื‘ื ื™ื™ื”, ืืคืฉืจื•ื™ื•ืช ื”ืžื”ื“ืจ "-ftree-vectorize" ื•-"-ftree-slp-vectorize" ืžื•ืคืขืœื•ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”