State массиві жəне деректер мен кілт блоктарын көрсету
Стандартта кілттердің барлық үш ұзындығы анықталған –128, 192 жəне 256 бит, яғни 4, 6 жəне 8 32-разрядтық сөздер (немесе бағандар). RIJNDAEL алгоритмінде Nr раундтар саны Nb жəне Nk мəндеріне байланысты (2.13-кесте).
Раунд төрт түрлі түрлендіруден тұрады:
1) SubBytes() – байттарды ауыстыру – S-блоктарда кестедегі байттарды ауыстыру;
2) ShiftRows() – қатарларды жылжыту – State массивінің қатарларын əр түрлі байттар санына жылжыту;
3) MixColumns() – бағандарды араластыру – қалып-күйдің бағандарын үшінші дəрежелі g(x) көпмүшесіне х4 +1 модулі бойынша көбейту;
4) AddRoundKey() – раундтық кілтпен қосу – қалып-күйге раундтық кілттің ағымдағы мəнін XOR арқылы қосу. SubBytes() процедурасы S-блоктарының көмегімен сызықсыз түрлендіруді жүзеге асырады. Мұндай түрлендіру дифференциалдық, сызықтық жəне криптоанализдің қазіргі заманғы басқа да əдістерін пайдалануға мүмкіндік бермейді. ShiftRows() жəне MixColumns() процедураларын қолдану статистикалық байланысты қалқалау (жасыру) мақсатымен
жүргізілетін блок символдарының өзара араласу дəрежесінің жоғары болуына кепілдік береді. Деректерді шифрлау AddRoundKey() процедурасы кезінде XOR (яғни Å ) арқылы іске
асырылады. Байттарды ауыстыру (SubBytes). SubBytes() түрлендіруі қалып-күйдің əрбір байтымен тəуелсіз түрде орындалатын, байттардың сызықсыз орын ауыстырылуы болып табылады.
Түрлендіру келесі теңдеулерге сəйкес жүргізіледі: bi’ = bi Å b(i+4) mod 8 Å b(i+5) mod 8 Å b(i+6) mod 8 Å b(i+7) mod 8 Å ci, мұнда, с0 = c1 = c5 = c6 = 1, c2 = c3 = c4 = c7 = 0, bi жəне b’i – і-ші биттің бастапқы жəне түрлендірілген мəні, і = 0,7 . Бұл түрлендіруді былайша орындауға болады:
Достарыңызбен бөлісу: |