128 Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎ ΡΡΠΎ
ΠΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ AES
Π ΡΡΠΌ ΡΡΠ° ΡΡΠ°ΡΡΡ
ΠΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Ρ ΡΡΠΈΡΠ°Π», ΡΡΠΎ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΠΎΠ΄Π΅ AES ΠΈ MD5, ΡΡΡΡΠΎΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΏΡΠΎΡΡΠΎ, Π΄Π°ΠΆΠ΅ ΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΏΠΎΠ»Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ°ΠΏΡΡΠ°Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ΅ΠΏΠ»ΡΠ»ΠΈ ΡΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅. ΠΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ ΡΠ΅ΡΠΈΠ» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡ . ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠΎΠ΅Π½Ρ ΠΈ Π΄Π»Ρ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π½Π°ΠΏΠΈΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ AES (ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ Rijndael) ΠΈ Π½Π°ΠΏΠΈΡΡ Π΅Π³ΠΎ Π½Π° JavaScript. ΠΠΎΡΠ΅ΠΌΡ Π½Π° JavaScript? Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΈΡΠ°Π΅ΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π° C, Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ Π½Π°ΠΉΠ΄ΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΌΠ°Π»ΠΎ ΠΆΠ΅Π»Π°ΡΡΠΈΡ , Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎ ΡΡΠ°ΡΡΠΈ. Π ΠΊΠΎΠ½ΡΠ΅ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π°ΡΡ ΠΈΠ² Ρ html ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ js ΡΠ°ΠΉΠ»Π°ΠΌΠΈ β ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ AES Π½Π° JavaScript.
ΠΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ AES
ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ 128-Π±ΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π² Π΄ΡΡΠ³ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ 128-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΡΠ°ΠΊ:
Π Π°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π΅Π½ 128 Π±ΠΈΡ. Π Π°Π·ΠΌΠ΅Ρ ΠΊΠ»ΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. Π§ΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ Π»ΡΠ±ΡΠΌ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΡΠ°ΠΊ:
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π±Π»ΠΎΠΊΠΎΠ² cipher Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ decrypt:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΊΡΠ°ΡΠ½Π° 128 Π±ΠΈΡΠ°ΠΌ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡ Π½ΡΠ»ΡΠΌΠΈ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, Π° Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°ΠΉΡ Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΠΈ aes.encrypt ΠΈ aes.decrypt Π² ΡΠ°ΠΉΠ»Π΅ aes.js Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
ΠΠΎΠ»Π΅ GF(2 8 )
AES Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ GF(2 8 ). Π§ΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ AES Π½Π° JavaScript Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ Π·Π° ΠΏΠΎΠ»Π΅, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ AES, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π».
ΠΠΎΠ»Π΅ GF(2 8 ) ΡΡΠΎ ΡΠΈΡΠ»Π° 0..255 Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ·ΠΌΡΠΌ ΠΊΠ°ΠΊΠΎΠ΅ Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ Π²ΠΎΡΡΠΌΠΈ Π±ΠΈΡΠΎΠ²: a = a7a6a5a4a3a2a1a0. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠΈΡΠ»ΠΎ b. Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ a ΠΈ b ΡΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΏΠΎΠ±ΠΈΡΠΎΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ xor:
Π£ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Ρ Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ· Π±ΠΈΡΠΎΠ² ΡΡΠΈΡ ΡΠΈΡΠ΅Π»:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠΈΠΌ ΡΡΠΈ Π΄Π²Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Π° ΠΈ Π½Π°ΠΉΠ΄ΡΠΌ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° m:
m = x 8 + x 4 + x 3 + x + 1
r = pq mod (m)
ΠΠΎΡΠ΅ΠΌΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ m? Π£ ΡΡΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Π° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ-ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Π° Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π΄Π΅Π»ΠΈΡΡΡ Π±Π΅Π· ΠΎΡΡΠ°ΡΠΊΠ°: Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈ ΠΎΠ½ ΡΠ°ΠΌ. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ m Β«ΠΏΡΠΎΡΡΠΎΠΉΒ». ΠΠ°Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠΈΡΠ΅Π»: Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΈ Π²ΡΡΠΈΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Ρ, ΠΏΡΠΈΡΡΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ GF(2 8 ), Ρ.Π΅. ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ΠΎΠ² ΡΡΠΎ xor ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΠΎΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ². ΠΠΎΡ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ r ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ Π² Π²ΠΈΠ΄Π΅
ΠΠ³ΠΎ 8 ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ 8-Π±ΠΈΡΠΎΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΠΏΠΎΠ»Ρ GF(2 8 ) ΠΈ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ aβ’b. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π»ΡΠ·Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ°ΡΠΎΠΉ ΠΏΡΠΎΡΡΡΡ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ Π² ΠΏΠΎΠ»Π΅ GF(2 8 ) ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ x, Π° ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° x ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ, ΠΎ ΡΡΠΌ ΠΏΠΎΠΉΠ΄ΡΡ ΡΠ΅ΡΡ Π½ΠΈΠΆΠ΅.
ΠΠ»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ΠΎΠ² Π² GF(2 8 ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ 16-ΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
m = x 8 + x 4 + x 3 + x + 1 = 100011011 = 0x011b = <01><1b>
Π£ΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ x = <02>Π² ΠΏΠΎΠ»Π΅ GF(2 8 ) ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° m. ΠΡΠ»ΠΈ Π±ΠΈΡ a7 = 1, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π²ΡΡΠ΅ΡΡΡ m. ΠΡΠ»ΠΈ a7 = 0 ΡΠΎ Π²ΡΡΠΈΡΠ°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΡΠ°ΠΊ:
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° x ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
ΠΠ½Π°Ρ ΠΊΠ°ΠΊ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ Π½Π° x ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΠΉΠ΄ΡΠΌ aβ’b Π³Π΄Π΅ a = <3c>, b =
Π’Π°Π±Π»ΠΈΡΠ° SBox
ΠΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ 256-Π±Π°ΠΉΡΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ° Π΄ΡΡΠ³ΠΈΠΌ. ΠΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ². Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΠΌΡ ΡΠ°Π²Π΅Π½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ SBox[b] Π½ΡΠΆΠ½ΠΎ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π ΡΡΠΌΠΌΠ΅ ΡΡΠΈ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π°ΡΡ Π°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅:
ΠΠ΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΡΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ· Π±ΠΈΡΠΎΠ². ΠΠ»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΈΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Β«andΒ», Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Β«xorΒ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π€ΡΠ½ΠΊΡΠΈΡ sbox Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ°ΠΊ:
ΠΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ sbox ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° InvSBox
ΠΠ»Ρ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° AES ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊ SBox. Π’Π°Π±Π»ΠΈΡΠ° InvSBox ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ: InvSBox[SBox[i]] = i. InvSBox Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb
7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb
54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e
08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25
72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92
6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84
90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06
d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b
3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73
96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e
47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 be 1b
fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4
1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f
60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef
a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61
17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d
ΠΠΈΠ΄Ρ AES
ΠΠ»Π³ΠΎΡΠΈΡΠΌ AES ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π±Π»ΠΎΠΊ Π΄Π»ΠΈΠ½ΠΎΠΉ 128 Π±ΠΈΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΎΠΉ Π±Π»ΠΎΠΊ ΡΠΎΠΉ ΠΆΠ΅ Π΄Π»ΠΈΠ½Ρ. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ w ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠ· ΠΊΠ»ΡΡΠ°. 128-Π±ΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π² AES ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡΡ 4ΓNb. Π‘ΡΠ°Π½Π΄Π°ΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Nb = 4, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° Π²ΡΠ΅Π³Π΄Π° 128 Π±ΠΈΡ, Ρ ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΡΠ±ΡΠΌ Nb. ΠΠ»ΠΈΠ½Π° ΠΊΠ»ΡΡΠ° ΡΠ°Π²Π½Π° 4Nk Π±Π°ΠΉΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Nr ΡΠ°ΡΠ½Π΄ΠΎΠ² β ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ 128-Π±ΠΈΡΠ½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ . Π‘ΡΠ°Π½Π΄Π°ΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΡΠΈΡ ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
| Nk | Nb | Nr | |
| AES-128 | 4 | 4 | 10 |
| AES-192 | 6 | 4 | 12 |
| AES-256 | 8 | 4 | 14 |
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ KeyExpansion
ΠΠ»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° AES ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π½Π΅ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ Ρ Π΅Ρ ΠΎΡ ΠΏΠ°ΡΠΎΠ»Ρ, Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Β«ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉΒ» ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠ· ΠΊΠ»ΡΡΠ°. ΠΡΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ Nr + 1 ΠΌΠ°ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 4ΓNb. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅Π»Π°Π΅Ρ Nr + 1 ΡΠ°Π³ΠΎΠ² ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΠΎΠ½, ΠΏΠΎΠΌΠΈΠΌΠΎ Π΄ΡΡΠ³ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π±Π΅ΡΡΡ ΠΎΠ΄Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ 4ΓNb ΠΈΠ· Β«ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡΒ» ΠΈ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΅Ρ ΠΊ Π±Π»ΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ .
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ 128-Π±ΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΡΡ input ΠΈ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ w, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ KeyExpansion. 16-Π±Π°ΠΉΡΡΠΉ input ΠΎΠ½ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡΡ s ΡΠ°Π·ΠΌΠ΅ΡΠ° 4ΓNb, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ AES, ΠΈ Π·Π°ΡΠ΅ΠΌ Nr ΡΠ°Π· ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ 4 ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ½ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΏΠΎΠ΄Π°ΡΡ Π΅Π³ΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄ β ΡΡΠΎ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ΅ΡΡΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅.
ΠΠ»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ [a b c d] = [ <02><03><01><01>]. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΊ MixColumns[ <02><03><01><01>] ΡΡΠΎ MixColumns[ <0e><0b><0d><09>].
Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΊ:
Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ°
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ AES ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ Π½Π΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ sbox ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅Π³ΠΎ 256 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ 256 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ Π½Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· sbox Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π½ΡΠΆΠ½ΠΎ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΠ° JavaScript ΡΡΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Π½ΠΈΠΆΠ΅ Π²ΠΎΡ ΡΡΠΎ:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ sbox ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ΅ΡΠΈΡΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ sbox. Π’ΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ invsbox ΠΈ rcon. ΠΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ gf.mul ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΄Π²Π° Π±Π°ΠΉΡΠ° Π² ΠΏΠΎΠ»Π΅ GF(2 8 ), Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 256Γ256 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ.
Π‘ΡΡΠ»ΠΊΠΈ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ AES Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ FIPS 197.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ DES (Data Encryption Standard) [9] c 1977 Π³ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π‘Π¨Π (ΠΊΡΠΎΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΡΡΠΈ). Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ 20 Π»Π΅Ρ Β«DES ΡΡΠΎΠΉΠΊΠΎ Π²ΡΠ΄Π΅ΡΠΆΠ°Π» 20 Π»Π΅Ρ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°Β» [7] Β Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π° (Ρ.Π΅. Π½Π°ΡΠΊΠΈ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠΈΡΠΊΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²Π·Π»ΠΎΠΌΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ) Π½Π΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π΅ DES ΡΠΌ. [18]).
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, DES Π΄Π°Π» Π½Π΅Π²ΠΈΠ΄Π°Π½Π½ΡΠΉ Π΄ΠΎΡΠ΅Π»Π΅ ΡΠΎΠ»ΡΠΎΠΊ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°. ΠΡΡΠ»ΠΈ ΡΠΎΡΠ½ΠΈ ΡΡΡΠ΄ΠΎΠ², ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ DES, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΡΠ°Π»ΡΠΌ ΡΠ°ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈ ΠΈΡ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° ΠΊΡΠΈΠΏΡΠΎΡΡΠΎΠΉΠΊΠΎΡΡΡ DES. ΠΠΎΠΆΠ½ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ DES ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ΅Π»ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°. DES Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΈΠ»ΡΠ½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎΠΌΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ»ΡΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. 56-Π±ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ DES ΡΠ²Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ΅Π½ ΠΈ ΠΏΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΊΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Β«Π³ΡΡΠ±ΠΎΠΉ ΡΠΈΠ»ΡΒ», Ρ.Π΅. ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΠ»ΡΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ ΡΡΠΎ Π΅ΡΠ΅ Π΄ΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ DES Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° [22], Π° ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ»ΡΡΠ° DES Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°ΡΠ°Π»ΠΈΡΡ ΡΠΆΠ΅ Π² 1978 Π³ΠΎΠ΄Ρ (ΡΠΌ. [18]). ΠΠ΄Π½Π°ΠΊΠΎ, DES ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π‘Π¨Π.
ΠΡΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΆΠ΅ΡΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠ°ΡΠΈΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ; ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΠ· ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΡ Π² ΠΊΠΎΠ½ΠΊΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ» ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΊΠΈΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
ΠΠ°ΡΠ²ΠΊΠΈ ΠΎΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΊΠΎΠ½ΠΊΡΡΡΠ° NIST ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΎΡΠ° Π»Π΅Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ΅ ΠΏΡΠΈΡΠ»Π°Π½Π½ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈΠ·ΡΡΠ°Π»ΠΈΡΡ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π² ΡΠ°ΠΌΠΎΠΌ ΠΈΠ½ΡΡΠΈΡΡΡΠ΅ NIST, ΡΠ°ΠΊ ΠΈ Π²ΡΠ΅ΠΌΠΈ ΠΆΠ΅Π»Π°ΡΡΠΈΠΌΠΈ. Π‘ΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² NIST ΠΏΡΠΈΡΠ»ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΎΡΠ·ΡΠ²ΠΎΠ², Π²ΡΠ΅ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° web-ΡΠ°ΠΉΡΠ΅ ΠΈΠ½ΡΡΠΈΡΡΡΠ° (ΡΠΌ. Π²ΡΡΠ΅).
ΠΡΠ΅Π³ΠΎ Π² ΠΊΠΎΠ½ΠΊΡΡΡΠ΅ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ 15 Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ [1, 13]:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΊΠΎΠ½ΠΊΡΡΡΠ° Π±ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Ρ 5 Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π±Π΅Π· ΡΠ²Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ²: MARS, RC6, Rijndael, Serpent ΠΈ Twofish. ΠΠ°ΡΠ°Π»ΠΎΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² (ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π»ΠΎΡΡ Β«Π²ΡΠΎΡΡΠΌ ΡΡΠ°ΠΏΠΎΠΌΒ» ΠΈΠ»ΠΈ Β«ΡΠΈΠ½Π°Π»ΠΎΠΌΒ» ΠΊΠΎΠ½ΠΊΡΡΡΠ° AES), ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π²ΡΠ΅Π΅ΡΡ Π΅ΡΠ΅ Π³ΠΎΠ΄ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡΡΡΠ° ΡΡΠ°Π» Π°Π»Π³ΠΎΡΠΈΡΠΌ Rijndael; Π΅ΠΌΡ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ AES, ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΡΠΎΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΏΠΎ ΡΠΈΡΠΎΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΉΠ΄Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ° Β Π°Π»Π³ΠΎΡΠΈΡΠΌ DES.
Π‘ΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Rijndael ΠΏΠΎΡΠ²ΡΡΠ΅Π½ΠΎ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΊΠ½ΠΈΠ³ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, [20, 21]), ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π²ΡΡΠ΅Π΄ΡΠΈΠ΅ Π² ΡΠΈΠ½Π°Π», Π° ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Rijndael, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π΅ΡΠ½Π΅ΠΌΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ.ΠΠ»Π³ΠΎΡΠΈΡΠΌ Serpent
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π°Π»Π³ΠΎΡΠΈΡΠΌ Serpent ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΡΠ΅ΠΌΡ ΠΈΠ·Π²Π΅ΡΡΠ½Π΅ΠΉΡΠΈΠΌΠΈ ΠΊΡΠΈΠΏΡΠΎΠ»ΠΎΠ³Π°ΠΌΠΈ: Π ΠΎΡΡΠΎΠΌ ΠΠ½Π΄Π΅ΡΡΠΎΠ½ΠΎΠΌ, ΠΠ»ΠΈ ΠΠΈΡ Π°ΠΌΠΎΠΌ ΠΈ ΠΠ°ΡΡΠΎΠΌ ΠΠ½ΡΠ΄ΡΠ΅Π½ΠΎΠΌ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌΠΈ ΡΠ°Π½Π΅Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΠΎΠΊΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Bear ΠΈ Leon, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΠΠ½Π΄Π΅ΡΡΠΎΠ½ΠΎΠΌ ΠΈ ΠΠΈΡ Π°ΠΌΠΎΠΌ [2]; Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ Square, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Rijndael ΠΠΆΠΎΠ°Π½ ΠΠ΅ΠΉΠΌΠ΅Π½ (Joan Daemen) ΠΈ ΠΠΈΠ½ΡΠ΅Π½ΡΠΎΠΌ Π ΠΈΠ΄ΠΆΠΌΠ΅Π½ΠΎΠΌ (Vincent Rijmen) ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΠΈ ΠΠ°ΡΡΠ° ΠΠ½ΡΠ΄ΡΠ΅Π½Π° [8]). ΠΠΌΠ΅Π½Π½ΠΎ ΠΠ»ΠΈ ΠΠΈΡ Π°ΠΌΠ° Π±Π΅Π· ΠΏΡΠ΅ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ Π²Π΅Π»ΠΈΡΠ°ΠΉΡΠΈΠΌ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΡΠΈ Β Π΅Π³ΠΎ Π°Π²ΡΠΎΡΡΡΠ²Ρ (ΡΠ°ΡΡΠΎ Π² ΡΠΎΠ°Π²ΡΠΎΡΡΡΠ²Π΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ) ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π²ΡΠΊΡΡΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΡΡΠ° AES ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Serpent-0, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΉΡΡ ΠΎΡ ΠΏΡΠΈΡΠ»Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Serpent-1 (ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Serpent) ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Π² Π½Π΅ΠΌ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° DES (Π² Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅). Π Serpent ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΆΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ Π°Π²ΡΠΎΡΠΎΠ² [3], Π²ΠΊΡΠΏΠ΅ Ρ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΡΡΠΈΠ»ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡΠΈΠ² Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π·Π΄Π΅ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Serpent, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΡΠΈΡΠ»Π°Π½ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΡ AES ΠΈ ΡΡΠ°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΅Π³ΠΎ ΡΠΈΠ½Π°Π»ΠΈΡΡΠΎΠ².
Π‘ΡΡΡΠΊΡΡΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
Serpent ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ SP-ΡΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΡΡ
Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 4 ΡΡΠ±Π±Π»ΠΎΠΊΠ° ΠΏΠΎ 32 Π±ΠΈΡΠ° (ΡΠΌ. ΡΠΈΡ. 1) [3].
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ 32 ΡΠ°ΡΠ½Π΄Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ; ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°ΡΠ½Π΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° IP, ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠ½Π΄Π° Β ΡΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° FP. ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
| 0 | 32 | 64 | 96 | 1 | 33 | 65 | 97 | 2 | 34 | 66 | 98 | 3 | 35 | 67 | 99 |
| 4 | 36 | 68 | 100 | 5 | 37 | 69 | 101 | 6 | 38 | 70 | 102 | 7 | 39 | 71 | 103 |
| 8 | 40 | 72 | 104 | 9 | 41 | 73 | 105 | 10 | 42 | 74 | 106 | 11 | 43 | 75 | 107 |
| 12 | 44 | 76 | 108 | 13 | 45 | 77 | 109 | 14 | 46 | 78 | 110 | 15 | 47 | 79 | 111 |
| 16 | 48 | 80 | 112 | 17 | 49 | 81 | 113 | 18 | 50 | 82 | 114 | 19 | 51 | 83 | 115 |
| 20 | 52 | 84 | 116 | 21 | 53 | 85 | 117 | 22 | 54 | 86 | 118 | 23 | 55 | 87 | 119 |
| 24 | 56 | 88 | 120 | 25 | 57 | 89 | 121 | 26 | 58 | 90 | 122 | 27 | 59 | 91 | 123 |
| 28 | 60 | 92 | 124 | 29 | 61 | 93 | 125 | 30 | 62 | 94 | 126 | 31 | 63 | 95 | 127 |
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΠΈΡ 0 ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅, Π±ΠΈΡ 32 Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΈΡΠΎΠΌ 1, Π±ΠΈΡ 64 Β Π±ΠΈΡΠΎΠΌ 2 ΠΈ Ρ.Π΄.
Π€ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠ½ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
| 0 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 |
| 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 |
| 1 | 5 | 9 | 13 | 17 | 21 | 25 | 29 | 33 | 37 | 41 | 45 | 49 | 53 | 57 | 61 |
| 65 | 69 | 73 | 77 | 81 | 85 | 89 | 93 | 97 | 101 | 105 | 109 | 113 | 117 | 121 | 125 |
| 2 | 6 | 10 | 14 | 18 | 22 | 26 | 30 | 34 | 38 | 42 | 46 | 50 | 54 | 58 | 62 |
| 66 | 70 | 74 | 78 | 82 | 86 | 90 | 94 | 98 | 102 | 106 | 110 | 114 | 118 | 122 | 126 |
| 3 | 7 | 11 | 15 | 19 | 23 | 27 | 31 | 35 | 39 | 43 | 47 | 51 | 55 | 59 | 63 |
| 67 | 71 | 75 | 79 | 83 | 87 | 91 | 95 | 99 | 103 | 107 | 111 | 115 | 119 | 123 | 127 |
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΡΠ½Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΠ°; Π²ΡΠ΅Π³ΠΎ ΠΆΠ΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ 8 ΡΠ°Π±Π»ΠΈΡ Π·Π°ΠΌΠ΅Π½ S0. S7, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² 32 ΡΠ°ΡΠ½Π΄Π°Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ:
| S0 | 3 | 8 | 15 | 1 | 10 | 6 | 5 | 11 | 14 | 13 | 4 | 2 | 7 | 0 | 9 | 12 |
| S1 | 15 | 12 | 2 | 7 | 9 | 0 | 5 | 10 | 1 | 11 | 14 | 8 | 6 | 13 | 3 | 4 |
| S2 | 8 | 6 | 7 | 9 | 3 | 12 | 10 | 15 | 13 | 1 | 14 | 4 | 0 | 11 | 5 | 2 |
| S3 | 0 | 15 | 11 | 8 | 12 | 9 | 6 | 3 | 13 | 1 | 2 | 4 | 10 | 7 | 5 | 14 |
| S4 | 1 | 15 | 8 | 3 | 12 | 0 | 11 | 6 | 2 | 5 | 4 | 10 | 9 | 14 | 7 | 13 |
| S5 | 15 | 5 | 2 | 11 | 4 | 10 | 9 | 12 | 0 | 3 | 14 | 8 | 13 | 6 | 7 | 1 |
| S6 | 7 | 2 | 12 | 5 | 8 | 4 | 6 | 11 | 14 | 9 | 1 | 15 | 13 | 3 | 10 | 0 |
| S7 | 1 | 13 | 15 | 0 | 14 | 8 | 2 | 11 | 7 | 4 | 12 | 10 | 9 | 3 | 5 | 6 |
Π―ΡΠ΅ΠΉΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ; Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π±Π»ΠΈΡΠ° S0 ΠΌΠ΅Π½ΡΠ΅Ρ 0 Π½Π° 3, 1 Π½Π° 8 ΠΈ Ρ.Π΄.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π±ΠΈΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΠΎΡ 0 Π΄ΠΎ 127); Π² ΡΡΠ΅ΠΉΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π±ΠΈΡΡ, XOR ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ (ΡΠΌ. ΡΠΈΡ. 2):
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ g() ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ 32-Π±ΠΈΡΠ½ΡΡ
Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ±Π±Π»ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π½ΠΈΠΆΠ΅ ΡΠ°Π³ΠΎΠ² (ΡΠΌ. ΡΠΈΡ. 4):
Π³Π΄Π΅ g0. g3 Β Π±Π°ΠΉΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ g().
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»Π΅ GF(2 8 ) Ρ ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠΌ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠΌ x 8 + x 6 + x 5 + x 3 + 1.
ΠΠ°ΡΡΠΈΡΠ° M1 ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Π·Π΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ):
| 01 | EF | 5B | 5B |
| 5B | EF | EF | 01 |
| EF | 5B | 01 | EF |
| EF | 01 | EF | 5B |
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΡΠ½Π΄Π°, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ, ΡΡΠ±Π±Π»ΠΎΠΊΠΈ A (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ) ΠΈ C ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ; ΡΡΠ±Π±Π»ΠΎΠΊΠΈ B (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ) ΠΈ D ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°ΡΠ½Π΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΡΠ±Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Β Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ XOR Π½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΠ±Π±Π»ΠΎΠΊΠΈ ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° K0. K3. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΡΠ±Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Β ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°ΡΠ½Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ K4. K7.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π°Π»Π³ΠΎΡΠΈΡΠΌ Twofish ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΡΠ΅ΠΌ Serpent, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ Π²Π΄Π²ΠΎΠ΅ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΡΠ½Π΄ΠΎΠ².
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ 40 32-Π±ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² 16 ΡΠ°ΡΠ½Π΄Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΡΠ±Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»ΡΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½ S0. S3.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Serpent, Twofish ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΡΡΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΎ 256 Π±ΠΈΡ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅: ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»ΡΡ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π±ΠΈΡΠ°ΠΌΠΈ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Ρ.Π΅. Π΄ΠΎ 128, 192 ΠΈΠ»ΠΈ 256 Π±ΠΈΡ. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠ»ΡΡ.
Π‘Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ»ΡΡΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
ΠΠ°ΡΡΠΈΡΠ° M2 ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
| 01 | A4 | 55 | 87 | 5A | 58 | DB | 9E |
| A4 | 56 | 82 | F3 | 1E | C6 | 68 | E5 |
| 02 | A1 | FC | C1 | 47 | AE | 3D | 19 |
| A4 | 55 | 87 | 5A | 58 | DB | 9E | 03 |
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅ΠΉ k0. k39 ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Me ΠΈ Mo ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π° ΡΡΠ½ΠΊΡΠΈΡ h() Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ.
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΡ
Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠΈΡ. 5.
ΠΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ², ΡΠΎΡΡΠ°Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π² 64-Π±ΠΈΡΠ½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°Ρ , Ρ.Π΅. ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ k. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡ h() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ 32-Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΈ ΠΌΠ°ΡΡΠΈΠ² 32-Π±ΠΈΡΠ½ΡΡ ΡΠ»ΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ k. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ²Π°:
Π³Π΄Π΅ x Β Π²Ρ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅,
y Β Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅,
>>>4 Β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π²ΠΏΡΠ°Π²ΠΎ 4-Π±ΠΈΡΠ½ΡΡ
Π²Π΅Π»ΠΈΡΠΈΠ½, Ρ.Π΅. ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΈΠ±Π»Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ°;
ti Β ΡΠ°Π±Π»ΠΈΡΠ½ΡΠ΅ Π·Π°ΠΌΠ΅Π½Ρ, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ q0 ΠΈ q1; Π΄Π»Ρ q0 ΡΠ°Π±Π»ΠΈΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
| t0 | 8 | 1 | 7 | D | 6 | F | 3 | 2 | 0 | B | 5 | 9 | E | C | A | 4 |
| t1 | E | C | B | 8 | 1 | 2 | 3 | 5 | F | 4 | A | 6 | 7 | 0 | 9 | D |
| t2 | B | A | 5 | E | 6 | D | 9 | 0 | C | 8 | F | 3 | 2 | 4 | 7 | 1 |
| t3 | D | 7 | F | 4 | 1 | 2 | 6 | E | 9 | B | 3 | 0 | 8 | 5 | C | A |
ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²Ρ ΠΎΠ΄Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, t1 Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ 0 Π½Π° E, 1 Π½Π° C ΠΈ Ρ.Π΄.
Π’Π°Π±Π»ΠΈΡΡ Π΄Π»Ρ q1 ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
| t0 | 2 | 8 | B | D | F | 7 | 6 | E | 3 | 1 | 9 | 4 | 0 | A | C | 5 |
| t1 | 1 | E | 2 | B | 4 | C | 3 | 7 | 6 | D | A | 5 | F | 9 | 0 | 8 |
| t2 | 4 | C | 7 | 5 | 1 | 6 | 9 | A | 0 | E | D | 8 | 2 | B | 3 | F |
| t3 | B | 9 | 5 | 1 | C | 3 | D | E | 6 | 4 | 7 | F | 2 | 0 | 8 | A |
ΠΡΡΠ°Π»ΠΎΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΠΊΠ»ΡΡΠ° ΡΠ°Π±Π»ΠΈΡ Π·Π°ΠΌΠ΅Π½ S0. S3. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ g() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ h(), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 32-Π±ΠΈΡΠ½ΡΠΉ ΡΡΠ±Π±Π»ΠΎΠΊ A ΠΈΠ»ΠΈ B, Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Β ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΠΌΠ°ΡΡΠΈΠ² V. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π°ΠΌΠ΅Π½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡ t0. t3, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°.
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΡΠ°Π²Π½ΠΈΠΌΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ . ΠΠ²ΡΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π² Π΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ [16] ΠΎΠΏΠΈΡΠ°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°: ΡΠ΅ΠΌ Π±ΡΡΡΡΠ΅Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΈΡΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Twofish-FK
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Β«ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎΒ» Π²Π°ΡΠΈΠ°Π½ΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Twofish, Π°Π²ΡΠΎΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π΅ΡΠ΅ ΠΈ Twofish Family Key (ΠΈΠ»ΠΈ Twofish-FK) Β ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Twofish Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΠ±ΠΎΡΠΎΡΠ°.
ΠΠ΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° (FK), ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Twofish-FK. Π’.Π΅. ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ FK ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½Π΅ΠΊΠΈΠΉ Β«ΠΊΠΎΠ½ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈΒ» ΠΊΡΠΈΠΏΡΠΎΡΡΠ΅Π΄ΡΡΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ Twofish-FK.
Π³Π΄Π΅ EFK(N) Β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Twofish Π½Π° ΠΊΠ»ΡΡΠ΅ FK 128-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, ΠΏΠ΅ΡΠ²ΡΠΉ Π±Π°ΠΉΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ N, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±Π°ΠΉΡΡ ΠΎΠ±Π½ΡΠ»Π΅Π½Ρ,
| Β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ.




