Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Cloudflare Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎΡΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π±ΡΡ Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ Crypto API, ΠΊΠΎΠΈΡΠΎ Π² ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅Π½ ΡΠ΅ΡΡ ΠΏΠΎΠ²ΠΈΡΠΈΡ Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π²Π° ΠΏΡΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°ΠΌΠ°Π»ΠΈΡ Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° Π΄Π²Π° ΠΏΡΡΠΈ. ΠΡΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π°Π»Π½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΎΡ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π±ΡΡ Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈ ΠΏΠΎΡΡΠΈ Π΄ΠΎ Π½ΠΈΠ²ΠΎΡΠΎ, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π΄ΠΈΡΠΊ Π±Π΅Π· ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
Cloudflare ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° dm-crypt Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² CDN ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Dm-crypt ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΊΡΠΈΠΏΡΠΈΡΠ° Π²Ρ ΠΎΠ΄Π½ΠΎ/ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π·Π°ΠΏΠΈΡ ΠΈ Π΄Π΅ΡΠΈΡΡΠΈΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, Π΄Π΅ΠΉΡΡΠ²Π°ΠΉΠΊΠΈ ΠΊΠ°ΡΠΎ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΡΠ»ΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΠΊΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° dm-crypt Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΡ Π° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ ΠΈ Π½Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ Π΄ΡΠ»ΠΎΠ²Π΅ Π½Π° RAM-Π΄ΠΈΡΠΊ, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ΄Π°. ΠΠ° Π½Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄ΡΠ»ΠΎΠ²Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π±Π΅ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ 1126 MB/s, Π½ΠΎ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π°ΠΌΠ°Π»Ρ ΡΠ΅Π΄Π΅ΠΌ ΠΏΡΡΠΈ ΠΈ ΡΡΠ°Π½Π° 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
