ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΎΠΌ AddRounilKey*

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

На Ρ€ΠΈΡ. 63 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ SAES. ΠŸΡ€ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… вмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Sub Half-Bytcs*() выполняСтся инвСрсноС Π΅ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. НСизмСнным остаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Shift Rows*(). Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ массив Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S_AES содСрТит всСго Π΄Π²Π΅ строки ΠΈ Π΄Π²Π° столбца. ΠŸΡ€ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Shift Rows*() происходит цикличСский сдвиг Π²Π»Π΅Π²ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΎΠΌ AddRounilKey* (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π° (AddRoundKey*) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ добавляСтся ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ слоТСния ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 2 (опСрация XOR). На Ρ€ΠΈΡ. 62 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° опСрация слоТСния Π΄Π°Π½Π½Ρ‹Ρ… с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° Ρ€ΠΈΡ. 62 исходныС Π΄Π°Π½Π½Ρ‹Π΅, складываСмыС с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ индСкс in, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S_AES. Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ индСкс ΠΏΡ€ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π° опрСдСляСт Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ AddRoundKey*() слоТСния Π΄Π°Π½Π½Ρ‹Ρ… с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

Рис. 62. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ AddRoundKey*() слоТСния Π΄Π°Π½Π½Ρ‹Ρ… с Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

На Ρ€ΠΈΡ. 63 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ SAES. ΠŸΡ€ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… вмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Sub Half-Bytcs*() выполняСтся инвСрсноС Π΅ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. НСизмСнным остаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Shift Rows*(). Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ массив Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S_AES содСрТит всСго Π΄Π²Π΅ строки ΠΈ Π΄Π²Π° столбца. ΠŸΡ€ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Shift Rows*() происходит цикличСский сдвиг Π²Π»Π΅Π²ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚. А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ провСсти цикличСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚. Но Π³Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ содСрТится всСго Π΄Π²Π° элСмСнта, Ρ‚ΠΎ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, всС Ρ€Π°Π²Π½ΠΎ Π² ΠΊΠ°ΠΊΡƒΡŽ сторону ΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΠΈ ΡΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ смСло ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Shift Rows*(). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‚. с. сначала К3, ΠΏΠΎΡ‚ΠΎΠΌ К2 ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ — К1. На Ρ€ΠΈΡ. 64 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° S_AES.

Алгоритм ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S_AES 116.

Рис. 63. Алгоритм ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S_AES 116.

Алгоритм Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S AES.

Рис. 64. Алгоритм Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ S AES.

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