Π’ Python сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с матСматичСско доказатСлство Π·Π° надСТдност.

ОбявСно Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°Ρ‚Π° Π·Π° замяна Π½Π° криптографскитС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π² Python, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ hashlib ΠΈ hmac, с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ с матСматичСско доказатСлство Π·Π° надСТдност, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Β«HACL*Β». Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° към Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с матСматичСско доказатСлство Π·Π° надСТдност Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΏΡ€Π΅Π· 2022 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Π±Π΅ ΠΈΠ½ΠΈΡ†ΠΈΡ€Π°Π½Π° слСд ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€ Π² рСализацията Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° SHA3, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Python ΠΌΠΎΠ΄ΡƒΠ»Π° hashlib.

Π’ основния Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π‘Python Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚ ΠΊΠΎΠ΄ с Π½ΠΎΠ²ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° криптографскитС Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ HMAC (ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° автСнтичността Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ). Всички прСдоставСни ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² Python Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ HMAC са Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ с ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ. Π‘Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ рСализация Π½Π° HMAC-BLAKE2, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰Π° SIMD инструкции AVX2 Π·Π° ускоряванС Π½Π° изчислСнията. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° сС, Ρ‡Π΅ провСрСният ΠΊΠΎΠ΄ Ρ‰Π΅ Π²Π»Π΅Π·Π΅ Π² ΡΡŠΡΡ‚Π°Π²Π° Π½Π° СсСнния Ρ€Π΅Π»ΠΈΠ· Π½Π° Python 3.14.

НовитС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° криптографскитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са прСнСсСни ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° HACL*, Ρ€Π°Π·Π²ΠΈΠ²Π°Π½Π° ΠΎΡ‚ изслСдоватСли ΠΎΡ‚ фрСнския Π΄ΡŠΡ€ΠΆΠ°Π²Π΅Π½ институт ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ автоматизация (INRIA), ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Microsoft Research ΠΈ унивСрситСта ΠšΠ°Ρ€Π½Π΅Π³ΠΈ β€” МСлън. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° HACL* ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° стандартни криптографски Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с TLS 1.3 ΠΈ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API NaCl (Networking and Cryptography library), ΠΊΠ°Ρ‚ΠΎ Curve25519, Ed25519, AES-GCM, Chacha20, Poly1305, SHA-2, SHA-3, HMAC ΠΈ HKDF. По производитСлност Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° HACL* Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ OpenSSL, Π½ΠΎ Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ послСдната ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° надСТдност ΠΈ сигурност.

ΠšΠΎΠ΄ΡŠΡ‚ HACL* Π΅ написан Π½Π° подмноТСство ΠΎΡ‚ функционалния Π΅Π·ΠΈΠΊ F*, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° систСма ΠΎΡ‚ зависими Ρ‚ΠΈΠΏΠΎΠ²Π΅ ΠΈ уточнСния, позволяващи Π·Π°Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΡ‡Π½ΠΈ спСцификации (матСматичСска ΠΌΠΎΠ΄Π΅Π») ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² рСализацията с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° SMT Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ инструмСнти Π·Π° доказатСлства. Еталонният ΠΊΠΎΠ΄ Π½Π° F* сС трансформира Π² ΠΊΠΎΠ΄ Π½Π° C с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° KaRaMeL ΠΈ Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ Π·Π° интСграция с Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° вСрификация Π²ΠΊΠ»ΡŽΡ‡Π²Π° опрСдСлянС Π½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈ спСцификации, описващи всички Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° матСматичСско доказатСлство, Ρ‡Π΅ написаният ΠΊΠΎΠ΄ напълно отговаря Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈΡ‚Π΅ спСцификации. ВСрификацията прСдоставя гаранция, Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ само ΠΊΠ°ΠΊΡ‚ΠΎ са замислили Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΈ Π² нСя липсват ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ класовС Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€, Ρ€Π°Π·ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²Π΅Ρ‡Π΅ освободСни области Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎ освобоТдаванС Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚. По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сС осигурява строга ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΈ стойноститС β€” Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° Π΄Ρ€ΡƒΠ³ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ отговарят Π½Π° спСцификацията, ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° останалитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ към Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ ΠΊΠΎΠ΄ ΠΎΡ‚Π½Π΅ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΈ изисквашС Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° HACL*, чиято функционалност бСшС Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π° замяна Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π°Ρ‚Π° функционалност Π½Π° hashlib. НапримСр, Π² HACL* бСшС Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° HMAC, прСдоставСни бяха Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ Blake2, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ бСшС Π½ΠΎΠ² API Π·Π° SHA3, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰ всички Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° сСмСйството Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Keccak, осигурСни бяха Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ срСдства Π·Π° увСдомяванС Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚) ΠΈ бяха Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ скриптовС Π·Π° автоматизация Π½Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии Π½Π° HACL* Π² рСпозитория Python.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster