แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž‚แŸ’แžšแžธแž”แžŸแžผแžŠแŸ’แž™แžผแž˜ 1.0.18

แž˜แžถแž“ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž‚แŸ’แžšแžธแž”แž‚แŸ’แžšแžธแž”แžฅแžแž‚แžทแžแžแŸ’แž›แŸƒ แžŸแžผแžŠแŸ’แž™แžผแž˜ 1.0.18 แžŠแŸ‚แž›แž‡แžถ API แž†แž”แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™แž”แžŽแŸ’แžŽแžถแž›แŸแž™ แžŽแžถแžขแžผแžขแžทแž› (แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž”แžŽแŸ’แžแžถแž‰ แž“แžทแž„แž‚แŸ’แžšแžธแž”แž‚แŸ’แžšแžธแž”) แž“แžทแž„แž•แŸ’แžแž›แŸ‹แž˜แžปแžแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแŸ€แž”แž…แŸ†แž‘แŸ†แž“แžถแž€แŸ‹แž‘แŸ†แž“แž„แž”แžŽแŸ’แžแžถแž‰แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž– แž แžถแžŸ แž”แž„แŸ’แž€แžพแžแž›แŸแžแž…แŸƒแžŠแž“แŸ’แž™ แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž แžแŸ’แžแž›แŸแžแžถแžŒแžธแž‡แžธแžแž› แž“แžทแž„แž€แžถแžšแžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แžŠแŸ„แž™แž”แŸ’แžšแžพแžŸแŸ„แžŸแžถแž’แžถแžšแžŽแŸˆ แž“แžทแž„แžŸแŸŠแžธแž˜แŸแž‘แŸ’แžšแžธ (แž€แžผแž“แžŸแŸ„แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€) แžŠแŸ‚แž›แž•แŸ’แž‘แŸ€แž„แž•แŸ’แž‘แžถแžแŸ‹แž—แžถแž–แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแŸ” แžŸแžผแžŠแŸ’แž™แžผแž˜ API แž‚แžบแžŸแžถแž˜แž‰แŸ’แž‰ แž“แžทแž„แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž‡แž˜แŸ’แžšแžพแžŸแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž”แŸ†แž•แžปแž แž€แžถแžšแžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž” แž“แžทแž„แžœแžทแž’แžธแž แžถแžŸแžแžถแž˜แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜แŸ” แž›แŸแžแž€แžผแžŠแž”แžŽแŸ’แžŽแžถแž›แŸแž™ แž…แŸ‚แž€แž…แžถแž™โ€‹แžŠแŸ„แž™ แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ ISC แžฅแžแž‚แžทแžแžแŸ’แž›แŸƒแŸ”

แž€แžถแžšแž…แŸ’แž“แŸƒแž”แŸ’แžšแžŒแžทแžแžŸแŸ†แžแžถแž“แŸ‹แŸ—แŸ–

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžœแŸแž‘แžทแž€แžถแž‚แŸ„แž›แžŠแŸ… WebAssembly/WASI แžแŸ’แž˜แžธ (แž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹ แžœแŸ‰แžถแžŸแžถ แžŠแžพแž˜แŸ’แž”แžธแž”แŸ’แžšแžพ WebAssembly แž“แŸ…แžแžถแž„แž€แŸ’แžšแŸ…แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€);
  • แž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžŽแŸ‚แž“แžถแŸ† AVX2 แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸƒแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš hashing แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž”แžถแž“แž€แžพแž“แžกแžพแž„แž”แŸ’แžšแž แŸ‚แž› 10% แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžŸแžถแž„แžŸแž„แŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพ Visual Studio 2019;
  • แž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแž˜แžปแžแž„แžถแžšแžแŸ’แž˜แžธ core_ed25519_from_hash() แž“แžทแž„ core_ed25519_random() แžŠแžพแž˜แŸ’แž”แžธแž†แŸ’แž›แžปแŸ‡แž”แž‰แŸ’แž…แžถแŸ†แž„แž–แžธแžŸแž‰แŸ’แž‰แžถแž‘แŸ… edwards25519 แž…แŸ†แžŽแžปแž… แžฌแž‘แž‘แžฝแž›แž”แžถแž“แž–แžทแž“แŸ’แž‘แžป edwards25519 แž…แŸƒแžŠแž“แŸ’แž™;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž˜แžปแžแž„แžถแžš crypto_core_ed25519_scalar_mul() แžŸแž˜แŸ’แžšแžถแž”แŸ‹ scalar*scalar multiplication (mod L);
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ’แžšแžปแž˜แž›แŸ†แžŠแžถแž”แŸ‹แž›แŸแžแž”แž‹แž˜ Ristrettoแž…แžถแŸ†แž”แžถแž…แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™ wasm-crypto;
  • แž”แžถแž“แž”แžพแž€แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž€แžถแžšแž แŸ…แžแžถแž˜แž”แŸ’แžšแž–แŸแž“แŸ’แž’ getenttropy() แž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‚แžถแŸ†แž‘แŸ’แžšแžœแžถ;
  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถ NativeClient แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹ แžŠแŸ‚แž›แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž“แŸ„แŸ‡แŸ” แž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹ แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž–แŸแž‰แž…แžทแžแŸ’แžแž“แŸƒ WebAssembly;
  • แž“แŸ…แž–แŸแž›แžŸแžถแž„แžŸแž„แŸ‹ แž‡แž˜แŸ’แžšแžพแžŸแž…แž„แž€แŸ’แžšแž„ "-ftree-vectorize" แž“แžทแž„ "-ftree-slp-vectorize" แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹