Π’ Python са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ криптографски Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с матСматичСско доказатСлство Π·Π° надСТдност

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

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

НовитС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° криптографскитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са прСнСсСни ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° HACL*, Ρ€Π°Π·Π²ΠΈΠ²Π°Π½Π° ΠΎΡ‚ изслСдоватСли ΠΎΡ‚ фрСнския Π΄ΡŠΡ€ΠΆΠ°Π²Π΅Π½ институт Π·Π° изслСдвания Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° ΠΈ автоматизацията (INRIA), ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Microsoft Research ΠΈ унивСрситСта ΠšΠ°Ρ€Π½Π΅Π³ΠΈ β€” МСлон. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° HACL* ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ‚ΠΈΠΏΠΎΠ²ΠΈΡ‚Π΅ криптографски Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с TLS 1.3 ΠΈ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API NaCl (Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ ΠΈ криптография), ΠΊΠ°Ρ‚ΠΎ 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