Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Cloudflare ΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΄ΡΠ΅ Linux. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Crypto API, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ²ΡΠΈΠ΅ Π² ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π΄Π²Π° ΡΠ°Π·Π° ΡΠ½ΠΈΠ·ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ. ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΎΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄ΠΈΡΠΊΠΎΠΌ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
Cloudflare ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ dm-crypt Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² CDN-ΡΠ΅ΡΠΈ. Dm-crypt ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π½Π° Π·Π°ΠΏΠΈΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΡΠ΅Π½ΠΈΠ΅, Π²ΡΡΡΡΠΏΠ°Ρ Π² ΡΠΎΠ»ΠΈ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ dm-crypt ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌΠΈ Π½Π° RAM-Π΄ΠΈΡΠΊΠ΅, ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΠΎΠΌ Π² ΠΠΠ£ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΡΠΊΡΡΠ°ΡΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ² ΠΈ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π΅ΡΠΆΠ°Π»Π°ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ 1126 MB/s, Π½ΠΎ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ½ΠΈΠ·ΠΈΠ»Π°ΡΡ Π² 7 ΡΠ°Π· ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 147 MB/s.
ΠΠ½Π°ΡΠ°Π»Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π² ΠΊΡΠΈΠΏΡΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΄ΡΠ°. ΠΠΎ Π² ΡΠ΅ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ aes-xts Ρ 256 ΠΊΠ»ΡΡΠΎΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Β«cryptsetup benchmarkΒ» Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² Π΄Π²Π° ΡΠ°Π·Π° Π²ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ RAM-Π΄ΠΈΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ dm-crypt Π΄Π»Ρ ΡΡΠ½ΠΈΠ½Π³Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ Π΄Π°Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°: ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»Π°Π³Π° Β«βperf-same_cpu_cryptΒ» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π°ΠΆΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΠ»Π°ΡΡ Π΄ΠΎ 136 MB/s, Π° ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΡΠ»Π°Π³Π° Β«βperf-submit_from_crypt_cpusΒ» Π²ΠΎΠ·ΡΠΎΡΠ»Π° Π»ΠΈΡΡ Π΄ΠΎ 166 MB/s.
ΠΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ dm-crypt Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ β ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π€Π‘ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΡ, dm-crypt Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΡΡΠ°Π·Ρ, Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Β«kcryptdΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΡΡ Π½Π΅ ΡΡΠ°Π·Ρ, Π° ΠΏΡΠΈ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π·Π°ΠΏΡΠΎΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Linux Crypto API Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Crypto API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ ΡΡΠ°Π·Ρ, Π° ΠΌΠΈΠ½ΡΡ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ dm-crypt ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΡΠ°ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π·Π°ΠΏΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΏΠΎΠΈΡΠΊΠ° . Π ΠΊΠΎΠ½ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠ΄ΡΠ° ΠΎΠΏΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ Π² ΡΡΠ΅ΠΊ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π²Π½Π°ΡΠ°Π»Π΅ dm-crypt Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Β«kcryptd_ioΒ» Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ. Π§Π΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Β«kcryptdΒ» Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ.
Kcryptd ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ Π² Linux Crypto API, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ°ΠΏΡΠΎΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡ
ΠΎΠ΄ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌ, Π½ΠΎ Π² Ρ
ΡΠ΄ΡΠ΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΡ ΠΎΡΠ΅Π΄Π°Π΅Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ
Π΄ΠΎ 4 ΡΠ°Π·, Π° Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ 3 ΡΠ°Π·. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ dm-crypt.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. Π 2005 Π³ΠΎΠ΄Ρ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ dm-crypt Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ, Crypto API Π΅ΡΡ Π½Π΅ Π±ΡΠ» Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌ. ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Crypto API Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π»Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎ ΡΡΡΠΈ Π΄Π²ΠΎΠΉΠ½Π°Ρ Π·Π°ΡΠΈΡΠ°. ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΡΠ΄ΡΠ°, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π² 2014 Π³ΠΎΠ΄Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Β«kcryptd_ioΒ» Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ ΡΠ·ΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΊ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π·Π°ΠΏΡΠΎΡΠΎΠ². Π 2015 Π³ΠΎΠ΄Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° ΡΠ°Π·Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ (Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄ΠΈΡΠΊΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΡΡ Π΄ΠΎΡΡΡΠΏ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π» ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ CFQ). Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ SSD-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΡΠ΅ΡΡΠ»Π° ΡΠΌΡΡΠ», Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ CFQ ΡΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ΄ΡΠ΅.
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠΎ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΠΈ ΡΡΠ°Π»ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΡΠΌΠ½Π΅Π΅, ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΡΠ΄ΡΠ΅ Linux Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅Π½Π° Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Ρ, ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Cloudflare Π² dm-crypt Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ, ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ². Π Π΅ΠΆΠΈΠΌ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ»Π°Π³ΠΎΠΌ Β«force_inlineΒ» ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ dm-crypt ΠΊ ΡΠΎΡΠΌΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ, ΡΠΈΡΡΡΡΡΠ΅Π³ΠΎ ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Crypto API Π±ΡΠ»ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠ²Π½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Crypto API Π±ΡΠ» ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FPU/AES-NI Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ.
Π ΠΈΡΠΎΠ³Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ RAM-Π΄ΠΈΡΠΊΠ° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ dm-crypt β ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΠΎΠ·ΡΠΎΡΠ»Π° Ρ 294 MB/s (2 x 147 MB/s) Π΄ΠΎ 640 MB/s, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π³ΠΎΠ»ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (696 MB/s).
ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΡΡ ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ Π±Π΅Π· ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Ρ ΠΊΡΡΠ΅ΠΌ Cloudflare Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ»ΠΎ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ°. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Cloudflare ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΡΠΈ Π² ΡΠΎΡΡΠ°Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° Linux, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π½Π΅ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΌΠ°Π»ΠΎΠΌΠΎΡΠ½ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ .
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
