āĻ¸ā§‹āĻĄāĻŋāĻ¯āĻŧāĻžāĻŽ āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ 1.0.18

āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ¸ā§‹āĻĄāĻŋāĻ¯āĻŧāĻžāĻŽ 1.0.18, āĻ¯āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ API āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ NaCl (āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ) āĻāĻŦāĻ‚ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—, āĻšā§āĻ¯āĻžāĻļāĻŋāĻ‚, āĻ¸āĻŋāĻ‰āĻĄā§‹-āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž, āĻĄāĻŋāĻœāĻŋāĻŸāĻžāĻ˛ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•ā§ƒāĻ¤ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻāĻŦāĻ‚ āĻ¸āĻŋāĻŽā§‡āĻŸā§āĻ°āĻŋāĻ• (āĻļā§‡āĻ¯āĻŧāĻžāĻ°āĻĄ-āĻ•ā§€) āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°ā§‡āĨ¤ Sodium API āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ, āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻŦāĻ‚ āĻšā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ†āĻ‡āĻāĻ¸āĻ¸āĻŋ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨:

  • āĻ¨āĻ¤ā§āĻ¨ WebAssembly/WASI āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ“āĻ¯āĻŧāĻžāĻ¸āĻŋ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ WebAssembly āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡);
  • AVX2 āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡, āĻŽā§ŒāĻ˛āĻŋāĻ• āĻšā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ 10% āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“ 2019 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ core_ed25519_from_hash() āĻāĻŦāĻ‚ core_ed25519_random() āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻļāĻ•ā§‡ edwards25519 āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ edwards25519 āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĒā§‡āĻ¤ā§‡;
  • āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°*āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ˛āĻžāĻ° āĻ—ā§āĻŖāĻ¨ (āĻŽā§‹āĻĄ āĻāĻ˛) āĻāĻ° āĻœāĻ¨ā§āĻ¯ crypto_core_ed25519_scalar_mul() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ—ā§āĻ°ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ Ristretto, wasm-āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ;
  • āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ—ā§‡āĻŸā§‡āĻ¨ā§āĻŸā§āĻ°āĻĒāĻŋ() āĻāĻŸāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĻ•āĻžāĻ°ā§€ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡;
  • NativeClient āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŦāĻŋāĻ•āĻžāĻļ āĻ¸āĻŽāĻžāĻĒā§āĻ¤ WebAssembly āĻāĻ° āĻĒāĻ•ā§āĻˇā§‡;
  • āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ "-ftree-vectorize" āĻāĻŦāĻ‚ "-ftree-slp-vectorize" āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨