Niels MΓΆller

Π― Ρ€Π°Π΄ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅ GNU Nettle, Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ криптографичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅Π»ΠΈΠ· Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ API, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… довольно сущСствСнны, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π•ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° замСтная новая функция: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SLH-DSA подписСй (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи Π½Π° основС Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π±Π΅Π· сохранСния состояния).
Π­Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ·. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ SLH-DSA. ВнСсСны нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² API Nettle, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ ABI, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ API остался практичСски Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Π² частности, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Ρ‹ контСкстныС структуры для ряда алгоритмов…

ИзмСнСния:

  • Π’ функциях _digest Ρ…Π΅Ρˆ-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², MAC ΠΈ AEAD большС Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ дайдТСста, вмСсто этого ΠΎΠ½ΠΈ всСгда Π²Ρ‹Π΄Π°ΡŽΡ‚ дайдТСст ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. БоотвСтствСнно, Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ ΠΈ Ρ‚ΠΈΠΏ nettle_hash_digest_func.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»Π½Ρ‹Ρ… сообщСний с использованиСм CCM AES Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° константный контСкст ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. НапримСр, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ccm_aes128_encrypt_message Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся константная структура aes128_ctx*. Π Π°Π½Π΅Π΅ это Π±Ρ‹Π»Π° структура ccm_aes128_ctx*, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ всё, ΠΊΡ€ΠΎΠΌΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ контСкста ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.
  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHA3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ структуру sha3_ctx для всСх Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ…Π΅ΡˆΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sha3_init. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, sha3_256_ctx ΠΈ sha3_256_init, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ псСвдонимы прСпроцСссора для обСспСчСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости.
  • АргумСнт dst_length Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ base16_decode_update ΠΈ base64_decode_update Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. На Π²Ρ…ΠΎΠ΄Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ Ссли этого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° нСдостаточно. Π Π°Π½Π΅Π΅ dst_length Π±Ρ‹Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ Π±Ρ‹Π» достаточно большим для любого Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ src_length.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster