Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ курсовыС, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹...
ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π·Π°ΠΊΠ°Π·. НСдорого!

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅. 
Π‘ΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ 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), ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Rijndael.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΡΡƒΡ‚ΡŒ прСобразования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описана уравнСниями:

;

;

;

;

;

;

;

.

НапримСр, осущСствим Π΄Π²Π° Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… прСобразования Π½Π°Π΄ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ числом `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'.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°ΠΌΠ΅Π½Ρ‹ Π±Π°ΠΉΡ‚Π° Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ SubBytes.

Рисунок 2 — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°ΠΌΠ΅Π½Ρ‹ Π±Π°ΠΉΡ‚Π° Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ SubBytes.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ сдвига строк ShiftRows. ПослСдниС 3 строки (Π‘ 1, Π‘ 2, Π‘ 3, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ пСрвая Π‘ 0) состояния цикличСски ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ число Π±Π°ΠΉΡ‚ΠΎΠ². Π‘Ρ‚Ρ€ΠΎΠΊΠ° 1 сдвигаСтся Π½Π° Π‘ 1 Π±Π°ΠΉΡ‚, строка 2 — Π½Π° Π‘ 2 Π±Π°ΠΉΡ‚, строка 3 — Π½Π° Π‘ 3 Π±Π°ΠΉΡ‚. ЗначСния сдвигов Π‘ 1, Π‘ 2 ΠΈ Π‘ 3 зависят ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹ Π±Π»ΠΎΠΊΠ°. Π˜Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 4.

Π’Π°Π±Π»ΠΈΡ†Π° 4.

Π‘ 1.

Π‘ 2.

Π‘ 3.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ рисунок ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ влияниС прСобразования ShiftRows Π½Π° Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ .

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ShiftRows.

Рисунок 3 — ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ShiftRows.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ MixColumns. Π’ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ MixColumns — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ столбца — столбцы Π±Π»ΠΎΠΊΠ° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Ρ‹ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ GF(28) ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‚ся ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½Π° ΠΏΠΎΡΡ‚оянный ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½:

.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ умноТСния ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ΠΎΠ² эквивалСнтСн ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΌΡƒ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ:

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Rijndael.

.

Π³Π΄Π΅ Π‘ — Π½ΠΎΠΌΠ΅Ρ€ столбца массива Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ .

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ умноТСния, Π±Π°ΠΉΡ‚Ρ‹ столбца с {} Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, соотвСтствСнно Π½Π° Π±Π°ΠΉΡ‚Ρ‹:

;

;

;

.

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… столбцов Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ….

ГрафичСскоС прСдставлСниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ MixColumns.

Рисунок 4 — ГрафичСскоС прСдставлСниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ MixColumns.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ AddRoundKey. Π’ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ AddRoundKey, Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ RK добавляСтся ΠΊ state посрСдством поразрядного XOR. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ состоит ΠΈΠ· 16 Π±Π°ΠΉΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π‘Π°ΠΉΡ‚Ρ‹ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ 44, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ state. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π°ΠΉΡ‚ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° суммируСтся с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π±Π°ΠΉΡ‚ΠΎΠΌ ΠΈΠ· state, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5.

Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

Рисунок 5 — Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ