Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΡΠ½ΡΠΉ ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌ Rijndael
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ°, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ SubBytes. Π’Π°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ Π΄Π²ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΠΊ: Π Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: 100 010, ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ — `22'. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Z' Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ X ΠΈ ΡΡΠΎΠ»Π±ΡΠ° Y ΡΠ°Π±Π»ΠΈΡΡ 3… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΉ Π±Π»ΠΎΡΠ½ΡΠΉ ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌ Rijndael (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΌΠ°ΡΡΠΈΡΠ° Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΡΡΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ. Π ΡΠΈΠ»Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄Π°Π΅ΡΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ.
Π‘ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡ Π΅ΠΌΠ° ΠΊΡΠΈΠΏΡΠΎΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Π° ΡΠ°ΠΊ:
- 1. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° KeyExpansion.
- 2. ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ AddRoundKey — ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
- 3. 9 ΡΠ°ΡΠ½Π΄ΠΎΠ² ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ°Π³ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ:
- 3.1 SubBytes — Π·Π°ΠΌΠ΅Π½Π° Π±Π°ΠΉΡΠΎΠ² state ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ Π·Π°ΠΌΠ΅Π½.
- 3.2 ShiftRows — ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΄Π²ΠΈΠ³ ΡΡΡΠΎΠΊ state.
- 3.3 MixColumns — ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠΎΠ»Π±ΡΠΎΠ² state.
- 3.4 AddRoundKey — ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ°ΡΠ½Π΄ΠΎΠ²ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
- 4. ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ 10-ΠΉ ΡΠ°ΡΠ½Π΄:
- 4.1 SubBytes — Π·Π°ΠΌΠ΅Π½Π° Π±Π°ΠΉΡΠΎΠ² state ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ Π·Π°ΠΌΠ΅Π½.
- 4.2 ShiftRows — ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΄Π²ΠΈΠ³ ΡΡΡΠΎΠΊ state.
- 4.3 AddRoundKey — ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ°ΡΠ½Π΄ΠΎΠ²ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ SubBytes. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ SubBytes ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ Π·Π°ΠΌΠ΅Π½Ρ Π±Π°ΠΉΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π±Π°ΠΉΡΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
Π’Π°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ Π΄Π²ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΠΊ:
1) ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ²ΠΊΠ»ΠΈΠ΄Π° (Π½Π΅ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠΎΠ»Π΅ GF(28), Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ `00' ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΌ Π² ΡΠ΅Π±Ρ.
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ²ΠΊΠ»ΠΈΠ΄Π°:
1. ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΡΡΠ°ΡΠΊΠΈ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ΠΎΠ²:
;
;
;
;
…
;
.
ΠΡΠ»ΠΈ, ΡΠΎ ΠΈ Π½Π΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ΅, ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
2. Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ:
Π’Π°Π±Π»ΠΈΡΠ° 2
… | ||||
… | ||||
… |
.
.
.
.
…
.
.
3. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½:
.
2) ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π΄ GF(28), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ:
;
;
;
;
;
;
;
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌ Π΄Π²Π° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π΄ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ `5A'.
- 1) Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `5Π' Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π±Π°ΠΉΡ:
- 1 011 010, Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½:
.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΡΡΠ°ΡΠΊΠΈ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ΠΎΠ²:
;
;
;
.
Π’Π°Π±Π»ΠΈΡΠ° 2
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½:
.
Π Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: 100 010, ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ — `22'.
2) ;
;
;
;
;
;
;
.
ΠΠΌΠ΅Π΅ΠΌ, ΡΡΠΎ Ρ=10 111 110, ΡΡΠΎ Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ `BE'.
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ°, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π·Π°ΠΌΠ΅Π½ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ SubBytes.
Π’Π°Π±Π»ΠΈΡΠ° 3
X Y. | a. | b. | c. | d. | e. | f. | ||||||||||
7c. | 7b. | f2. | 6b. | 6f. | c5. | 2b. | fe. | d7. | ab. | |||||||
ca. | c9. | 7d. | fa. | f0. | ad. | d4. | a2. | af. | 9c. | a4. | c0. | |||||
b7. | Fd. | 3f. | f7. | cc. | a5. | e5. | f1. | d8. | ||||||||
c7. | c3. | 9a. | e2. | eb. | b2. | |||||||||||
2c. | 1a. | 1b. | 6e. | 5a. | a0. | 3b. | d6. | b3. | e3. | 2f. | ||||||
d1. | ed. | fc. | b1. | 5b. | 6a. | cb. | be. | 4a. | 4c. | cf. | ||||||
d0. | ef. | aa. | fb. | 4d. | f9. | 7f. | 3c. | 9f. | a8. | |||||||
a3. | 8f. | 9d. | f5. | bc. | b6. | da. | ff. | f3. | d2. | |||||||
cd. | 0c. | ec. | 5f. | c4. | a7. | 7e. | 3d. | 5d. | ||||||||
4f. | dc. | 2a. | ee. | b8. | de. | 5e. | 0b. | db. | ||||||||
a0. | e0. | 3a. | 0a. | 5c. | c2. | d3. | ac. | e4. | ||||||||
b0. | e7. | c8. | 6d. | 8d. | d5. | 4e. | a9. | 6c. | f4. | ea. | 7a. | ae. | ||||
c0. | ba. | 2e. | 1c. | a6. | b4. | c6. | e8. | dd. | 1f. | 4b. | bd. | 8b. | 8a. | |||
d0. | 3e. | b5. | f6. | 0e. | b9. | c1. | 1d. | 9e. | ||||||||
e0. | e1. | f8. | d9. | 8e. | 9b. | 1e. | e9. | ce. | df. | |||||||
f0. | 8c. | a1. | 0d. | bf. | e6. | 2d. | 0f. | b0. | bb. |
ΠΠ°ΠΌΠ΅Π½Π° Π±Π°ΠΉΡΠ° ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ 3 ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊ:
ΠΠ°ΠΉΡ Z ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ XYh=`5Π', X ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄, Y ΠΌΠ»Π°Π΄ΡΠΈΠΉ ΡΠ°Π·ΡΡΠ΄. ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΡΠ΄Π° Π½Π΅Ρ ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅ΠΌ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ 3 Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° X ΠΈ ΡΡΠΎΠ»Π±Π΅Ρ Y.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Z' Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ X ΠΈ ΡΡΠΎΠ»Π±ΡΠ° Y ΡΠ°Π±Π»ΠΈΡΡ 3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° Z: Z'= X’Y'h=`Π 8'.
Π ΠΈΡΡΠ½ΠΎΠΊ 2 — ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΌΠ΅Π½Ρ Π±Π°ΠΉΡΠ° Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ SubBytes.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π²ΠΈΠ³Π° ΡΡΡΠΎΠΊ ShiftRows. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 3 ΡΡΡΠΎΠΊΠΈ (Π‘ 1, Π‘ 2, Π‘ 3, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²Π°Ρ Π‘ 0) ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡΠΎΠ². Π‘ΡΡΠΎΠΊΠ° 1 ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π½Π° Π‘ 1 Π±Π°ΠΉΡ, ΡΡΡΠΎΠΊΠ° 2 — Π½Π° Π‘ 2 Π±Π°ΠΉΡ, ΡΡΡΠΎΠΊΠ° 3 — Π½Π° Π‘ 3 Π±Π°ΠΉΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΄Π²ΠΈΠ³ΠΎΠ² Π‘ 1, Π‘ 2 ΠΈ Π‘ 3 Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π΄Π»ΠΈΠ½Ρ Π±Π»ΠΎΠΊΠ°. ΠΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 4.
Π’Π°Π±Π»ΠΈΡΠ° 4.
Π‘ 1. | Π‘ 2. | Π‘ 3. | |
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ShiftRows Π½Π° Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ .
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ShiftRows.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ MixColumns. Π ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ MixColumns — ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ° — ΡΡΠΎΠ»Π±ΡΡ Π±Π»ΠΎΠΊΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Ρ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ GF(28) ΠΈ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡΡΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½:
.
ΠΡΠΎΡΠ΅ΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ΠΎΠ² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ:
.
Π³Π΄Π΅ Π‘ — Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ ΠΈ .
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°ΠΉΡΡ ΡΡΠΎΠ»Π±ΡΠ° Ρ {} Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° Π±Π°ΠΉΡΡ:
;
;
;
.
ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ .
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ MixColumns.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ AddRoundKey. Π ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ AddRoundKey, ΡΠ°ΡΠ½Π΄ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ RK Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ state ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ XOR. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΡΠ½Π΄ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 16 Π±Π°ΠΉΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΠ°ΠΉΡΡ ΡΠ°ΡΠ½Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΡΡ 44, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ state. ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ ΡΠ°ΡΠ½Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΡΡΠΌΠΌΠΈΡΡΠ΅ΡΡΡ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π±Π°ΠΉΡΠΎΠΌ ΠΈΠ· state, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 5.
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°ΡΠ½Π΄ΠΎΠ²ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.