
ΠΠ° 2 ΡΠ½ΠΈ ΠΡΠΈΠΊ ΠΠΈΠ³Π΅ΡΡ (ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΎΡ Google) ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π½ΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° AES-XTS Π·Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Intel/AMD Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 ΠΈ VAES + AVX10/512.
ΠΠΎΠ΄ΡΡ AES-NI GCM Π·Π°ΠΌΠ΅ΡΡΠ²Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½ ΠΎΡ Intel, ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
βΠ’ΠΎΠ·ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Ρ Π² VAES ΠΈ AVX512/AVX10 ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° AES-GCM (ΡΠ΅ΠΆΠΈΠΌ Galois/Counter), ΠΊΠΎΠ΅ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° AES-GCM Ρ Π΄ΠΎ 162%. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄ AES-NI GCM ΠΎΡ Intel Ρ Π½ΠΎΠ², ΠΊΠΎΠΉΡΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±ΡΡΠ· ΠΈ ΡΠ΅ΡΠ°Π²Π° ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡ ΡΠ°ΠΉΠ», Π½Π°Π΄Π²ΠΈΡΠ°Π²Π°Ρ 250 KB. ΠΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΠΈΠΆΡΠ΅ Π² ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈΡΠ΅.
ΠΡΠ°ΠΉΠ½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠ΄ x86_64 AES-GCM Π΅, ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π΄Π²Π° Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΈ ΡΠ°ΠΉΠ»Π°: Π΅Π΄ΠΈΠ½ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΊΠΎΠ΄ AES-NI Ρ AVX ΠΈΠ»ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ, Π° Π΄ΡΡΠ³ΠΈΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΊΠΎΠ΄ VAES Ρ AVX512/AVX10 Ρ 256-Π±ΠΈΡΠΎΠ²ΠΈ ΠΈΠ»ΠΈ 512-Π±ΠΈΡΠΎΠ²ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ. Π Π½Π΅Π³ΠΎ ΠΎΡΡΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ VAES (Π±Π΅Π· AVX512/AVX10). Π’ΠΎΠ²Π° Π΅ ΠΌΠ°Π»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Ρ AES-XTS, ΠΊΡΠ΄Π΅ΡΠΎ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΊΠΎΠ΄ AVX ΠΈ AVX512/AVX10, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠ΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ VAES (Π±Π΅Π· AVX512/AVX10), Π° Π΄ΡΡΠ³ΠΈΡΡ ΡΠ°ΠΉΠ» Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΊΠΎΠ΄, ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΡ AVX. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π΄ΠΎ 16 SIMD ΡΠ΅Π³ΠΈΡΡΡΠΈ ΠΈ 128-Π±ΠΈΡΠΎΠ²ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½ΡΠΊΠΎΠΈ ΠΎΡΠ΅Π·Π°Π΅ΠΌΠΎ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°ΡΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² AES-GCM, Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π° AES-XTS. ΠΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅, Π΄ΠΎΡΡΠ°Π²ΡΠ½ΠΈ ΡΠ°ΠΌΠΎ Ρ VAES, ΡΡΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
