Blowfish.
ΠΠ°ΡΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ°Π»ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Blowfish ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°. ΠΠ½ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Blowfish-32 ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π² 32 Π±ΠΈΡΠ°, ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Ρ 16 Π±ΠΈΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ (ΠΊΠ°ΠΆΠ΄ΡΠΉ S-Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ 16 Π²Ρ ΠΎΠ΄ΠΎΠ²). Blowfish-16 ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π² 16-Π±ΠΈΡ, ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Ρ 8-Π±ΠΈΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ (ΠΊΠ°ΠΆΠ΄ΡΠΉ S-Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ 4 Π²Ρ ΠΎΠ΄Π°). Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· 16-ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Blowfish. ΠΠ°ΡΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Blowfish 97 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΄ ΡΡ Π΅ΠΌ ΡΠΈΡΡΠ΅ΠΌ Π·Π°ΡΠΈΡΡ Π² Π΄Π²Π° ΡΡΠ°ΠΏΠ°. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° Blowfish, ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» Π² 1993 Π³ΠΎΠ΄Ρ Bruce Schneier. Blowfish — ΡΡΠΎ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΉ ΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΡΡΠΈ ΡΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ — ΠΎΡ 32 Π±ΠΈΡ Π΄ΠΎ 448 Π±ΠΈΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΡΠΈΡΡ Blowfish Π½Π΅ Π·Π°ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½Π°, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΠ°Π·Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° Blowfish, Π²Ρ ΡΠ°ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ Ρ Π½Π΅ΠΉ ΡΡΠ΅Π΄ΠΈ ΠΎΠΏΡΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π·Π°ΡΠΈΡΡ.
BlowfishΠ±Π»ΠΎΡΠ½ΡΠΉ ΡΠΈΡΡ Ρ ΠΊΠ»ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ»ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ°ΡΡΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π»ΠΈΠ½ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΉΠ»Π°. ΠΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ DES ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π° 32-Π±ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΠΠ¨Π΅ΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Pentium ΠΈ PowerPC.
ΠΠΠΠ‘ΠΠΠΠ ΠΠΠΠΠ ΠΠ’ΠΠ
Blowfish — 64-Π±ΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΡΠ½ΡΠΉ ΡΠΈΡΡ Ρ ΠΊΠ»ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ 2 ΡΠ°ΡΡΠΈ: ΡΠ°ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠ°ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΊΠ»ΡΡ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ 448-Π±ΠΈΡΠ½ΡΠΉ, Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Π² 4168 Π±Π°ΠΉΡ.
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· 16-ΠΈΡΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Feistel. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΊΠ»ΡΡΠ΅-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΈ Π·Π°Π²ΠΈΡΡΡΠ΅ΠΉ ΠΎΡ ΠΊΠ»ΡΡΠ° ΠΈ Π΄Π°Π½Π½ΡΡ Π·Π°ΠΌΠ΅Π½Ρ. ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ — XOR ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° 32-Π±ΠΈΡΠ½ΡΡ ΡΠ»ΠΎΠ²Π°Ρ . ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ — 4 ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π½Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΡ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈ: Blowfish ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠΈ ΠΊΠ»ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΎΠΉ.
- 1. P-ΠΌΠ°ΡΡΠΈΠ² Π²ΠΊΠ»ΡΡΠ°Π΅Ρ 18 32-Π±ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ: P1, P2,…, P18.
- 2. ΠΠΌΠ΅ΡΡΡΡ ΡΠ΅ΡΡΡΠ΅ 32-Π±ΠΈΡΠ½ΡΡ S-Π±Π»ΠΎΠΊΠ° Ρ 256 Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ: S1,0, S1,1,…, S1,255; S2,0, S2,1,., S2,255; S3,0, S3,1,…, S3,255; S4,0, S4,1,., S4,255.
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅: Blowfish — ΡΠ΅ΡΡ Feistel, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ 16 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Blowfish, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² ΡΠΈΠΊΠ»Π΅, ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Π² ΠΠΠ¨Π΅.
ΠΡΠ΅Π³ΠΎ, 521 ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΡΡΡΡ, Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ.
MINI-BLOWFISH
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ°Π»ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Blowfish ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°. ΠΠ½ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Blowfish-32 ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π² 32 Π±ΠΈΡΠ°, ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Ρ 16 Π±ΠΈΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ (ΠΊΠ°ΠΆΠ΄ΡΠΉ S-Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ 16 Π²Ρ ΠΎΠ΄ΠΎΠ²). Blowfish-16 ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π² 16-Π±ΠΈΡ, ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Ρ 8-Π±ΠΈΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ (ΠΊΠ°ΠΆΠ΄ΡΠΉ S-Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ 4 Π²Ρ ΠΎΠ΄Π°).
Π ΠΠΠΠΠΠΠ¦ΠΠ― ΠΠ ΠΠΠΠ’Π
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΌΠ°Π»Π°, Ρ.ΠΊ. ΡΠ°ΠΌΠΈ S Π±Π»ΠΎΠΊΠΈ ΠΈ P-Π±Π»ΠΎΠΊ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ. 64-Π±ΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 32-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²Π°, ΡΡΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ. Π Blowfish ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ²ΡΡΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π΄ΠΎ 128-Π±ΠΈΡ, ΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°. ΠΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠΈΠ½ΠΈ-Blowfish ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
Π‘Π΅ΡΡ Feistel, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠ΅Π»ΠΎ Blowfish, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΎΠ½Π° ΡΠΎΡ ΡΠ°Π½ΡΠ»Π° ΡΠ²ΠΎΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠ»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π·Π°ΡΠΈΡΡ. ΠΠ΅ΡΠ²ΡΠΉ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ½ΡΡΠΎΠΏΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ»Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠ³Π΄Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°, ΠΊΡΠΎΠΌΠ΅ Π°ΡΠ°ΠΊΠΈ Π² «Π»ΠΎΠ±». ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± — Π² ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ Π΄Π»ΠΈΠ½Ρ ΠΊΠ»ΡΡΠ° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΊΠ»ΡΡΠ° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΡΠΎΠ² Π½Π΅ Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ Blowfish ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ Ρ Π²ΡΠ±ΡΠ°Π» ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±.
ΠΡΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΡ «Π² Π»ΠΎΠ±». ΠΡΠ΅Π³ΠΎ 522 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ 29 ΡΠ°Π³ΠΎΠ² ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π² Π»ΠΎΠ±.
ΠΠΠΠΠΠΠΠ«Π Π£ΠΠ ΠΠ©ΠΠΠΠ―
ΠΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Ρ 16 Π΄ΠΎ 8 Π±Π΅Π· ΡΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π±Π»Π΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ. Π§ΠΈΡΠ»ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠ»ΡΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Ρ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°, Π°Π»Π³ΠΎΡΠΈΡΠΌ Ρ 8 ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠ»ΡΡ Π΄Π»ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»ΡΡΠ΅ 192 Π±ΠΈΡ.
ΠΠ΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°. Π’Π΅ΠΊΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈ Π²ΡΡΠΈΡΠ»ΡΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ S-Π±Π»ΠΎΠΊΠ° Π±Π΅Π· Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΡΠ» Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅ΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°: ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°. ΠΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ, Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π»ΠΎΠΌΠ°ΡΡ Blowfish — ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π° Π‘ΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΠΎΠΉ, ΠΆΠ΅Π»Π°ΡΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ Π·Π°ΠΊΠΎΠ½Π°ΠΌΠΈ Π‘Π¨Π ΠΎΠ± ΡΠΊΡΠΏΠΎΡΡΠ΅.
Blowfish Π½Π΅Π·Π°ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½, ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Ρ . ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π² ΠΎΠ±ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π»ΡΠ±ΡΠΌ.
Blowfish — ΡΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ Π»Π΅Π³ΠΊΠ°Ρ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. Π§Π΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ. ΠΡΠ±ΡΠ°Π² ΡΠ°ΠΉΠ», ΠΈ Π½Π°ΠΆΠ°Π² Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ «Π·Π°ΠΌΠΊΠ°», Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΠ»ΡΡΠΎΠΌ ΠΈΠ· ΠΏΡΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΈ 32 000;ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΠ»Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»ΠΈΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄. Π€Π°ΠΉΠ» ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (.BFA), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ»ΡΠΆΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ Π²ΡΡΡΠ΅ΡΠ΅ Ρ Π½ΠΈΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Blowfish Advanced.
Π ΡΠ΅ΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΡΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄ Windows 95/NT, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Blowfish. EncLib 5/5 ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΡ Blowfish CDC ΠΈ ECB.