рдПрдИрдПрд╕ рдХреНрд░рд┐рдкреНрдЯреЛ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг

рд╢реБрдн рджрд┐рди, рд╣реЗрдмреНрд░! рд▓рдЧрднрдЧ 3 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рд╕реАрдорд╛рдВрдд рдбреЗрд╡рд▓рдкрд░ рдиреЗ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭрд╕реЗ рдкрд╣рд▓рд╛ рдкреНрд░рд╢реНрди рдкреВрдЫрд╛ рдЧрдпрд╛: "рдПрдИрдПрд╕ рдХреНрдпрд╛ рд╣реИ?" рдареАрдХ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдореИрдВ рдЕрднреА рднреА рд╕рдордорд┐рдд рд░реВрдк рд╕реЗ рдПрдИрдПрд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдирд╛рдХрд╛рд░ рд╡рд┐рдЪрд╛рд░ рд░рдЦрддрд╛ рдерд╛, рдпрд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд░рд┐рдЬреЗрдВрдбреЗрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрднреА рднреА рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ, рдореЗрд░реЗ рд▓рд┐рдП рдЙрд╕ рд╕рдордп рдпрд╣ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдкрд░рдВрддреБ! рдореБрдЭреЗ рдЪреБрдиреМрддреА рджреА рдЧрдИ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред



рдирд┐рдкрдЯ рдЬрд╛рдУ!

рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ 26 рдирд╡рдВрдмрд░, 2011 рдХреЛ FIPS197 рдПрдИрдПрд╕ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд▓рд┐рдпрд╛ред

рдЖрдИрдЯреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ:

  • рд╕рдордорд┐рдд
  • рдЕрд╕рдордорд┐рдд

рд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╡реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдФрд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдХреБрдВрдЬреА рд╣реИред рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд▓рд╛рдн рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЧрддрд┐ рд╣реИред рдиреБрдХрд╕рд╛рди - рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреБрдВрдЬреА рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдЪреИрдирд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред

рдмрджрд▓реЗ рдореЗрдВ, рд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  • рдмреНрд▓реЙрдХ рд╡рд╛рд▓реЗ
  • рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ

рдмреНрд▓реЙрдХ рд╡рд╛рд▓реЛрдВ рдХреЗ рдкрд╛рд╕ рдмреНрд▓реЙрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛рдиреА рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд░рд┐рдорд┐рдд рд╕рдВрдЦреНрдпрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рд╕реНрдЯреНрд░реАрдо рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЪрд░рд┐рддреНрд░ред рдЕрд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ

рд▓рд╛рдн рдЗрд╕рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреБрдВрдЬреА рднрдВрдбрд╛рд░рдг рд╣реИрдВред рдЕрд╕рдордорд┐рдд - рд╡реЗ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдЬрд┐рдирдХреА рджреЛ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реИрдВ:

  • рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА
  • рдирд┐рдЬреА рдЪрд╛рдмреА

publicKey рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХреБрдВрдЬреА рд╣реИред рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдЕрдзреАрди рдирд╣реАрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
PrivateKey - рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХреА рдХреБрдВрдЬреАред

рдЕрд╕рдордорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдиреБрдХрд╕рд╛рди рдЗрд╕рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдзреАрдореА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкреНрд░рджрд░реНрд╢рди рд╣реИред

Rijndael рдПрдХ рд╕рдордорд┐рдд рдмреНрд▓реЙрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ 32 рдмрд┐рдЯреНрд╕ рдХреЗ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде 128 рдФрд░ 256 рдмрд┐рдЯреНрд╕ рд╕реЗ рдмреНрд▓реЙрдХ рдФрд░ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣ рд░реИрдЦрд┐рдХ-рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 10, 12 рдпрд╛ 14 рд░рд╛рдЙрдВрдб рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдВрдЬреА рд▓рдВрдмрд╛рдИ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред
рдПрдИрдПрд╕ - 128 рдмрд┐рдЯреНрд╕ рдХреА рдХреБрдВрдЬреА рдФрд░ 16 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рд░рд┐рдЬреЗрдВрдбреЗрд▓ред

рд╕рдВрднрд╡рддрдГ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ:

  • рдмрд╛рдЗрдирд░реА рдирдВрдмрд░ рд╕рд┐рд╕реНрдЯрдо
  • рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА
  • рдмрд┐рдЯреНрд╕
  • рдмрд╛рдЗрдЯреНрд╕
  • XOR (^)

рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдореЗрд░рд╛ рд▓реЗрдЦ рдкрдврд╝реЗрдВ "рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд░рд┐рдПрдХреНрдЯрдЬреЗрд╕ - рдиреЛрдбрдЬреЗрдПрд╕┬╗ рдпрд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рд░рд┐рдЬрдВрдбрд▓ рдореЗрдВ рдЧрдгрд┐рддреАрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ:


  • рдлрд╝реАрд▓реНрдб GF (2 field) рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдкрд░рд┐рдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдЕрднрд╛рдЬреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреА nth рдкреНрд░рд╛рдХреГрддрд┐рдХ рдбрд┐рдЧреНрд░реА рд╣реИред GF (2тБ╕) рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрдЯрд╛рд╡, рдЙрддреНрдкрд╛рдж, рд╡рд┐рднрд╛рдЬрди рдХреЗ рдордирдорд╛рдиреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдлрд╝реАрд▓реНрдб GF (2 field) рдирд┐рд╢реНрдЪрд┐рдд рд╣реИред
  • . Rijndael [00000000тВВ; 11111111тВВ]. , x. , , :

    a(x)=aтВЗxтБ╖ +aтВЖxтБ╢ +aтВЕxтБ╡ +aтВДxтБ┤ +aтВГx┬│ +aтВВx┬▓ +aтВБx +aтВАx;

    , aтВЗ, aтВЖ, aтВЕ, aтВД, aтВГ, aтВВ, aтВБ, aтВА {0, 1}, :
    87 = 01010111 ( );
    : xтБ╢ + xтБ┤ + x┬▓ + x + 1;
  • . , , 1 . rijndael m(x):
    m(x)= xтБ╕ + xтБ┤ + x┬│ + x + 1;
  • . XOR, : 1 ^ 1 = 0 ^ 0 = 0; 1 ^ 0 = 0 ^ 1 = 1, :

    , aтВЗ, aтВЖ, aтВЕ, aтВД, aтВГ, aтВВ, aтВБ, aтВА;
    B, bтВЗ, bтВЖ, bтВЕ, bтВД, bтВГ, bтВВ, bтВБ, bтВА;

    A = 87 = 01010111; B = 131 = 10000011;
    A ^ B = aтВЗ, aтВЖ, aтВЕ, aтВД, aтВГ, aтВВ, aтВБ, aтВА ^ bтВЗ, bтВЖ, bтВЕ, bтВД, bтВГ, bтВВ, bтВБ, bтВА = 11010100;
  • . GF(2тБ╕) ( | -x | = x ) 8, :

    87 x 131 :
    (xтБ╢ + xтБ┤ + x┬▓ + x + 1)(xтБ╖ + x + 1) = x┬╣┬│ + x┬╣┬╣ + xтБ╣ + xтБ╕ + xтБ╖ + xтБ╖ + xтБ╡ + x┬│ + x┬▓ + x + xтБ╢ + xтБ┤ + x┬▓ + x + 1.
    . (.4):

    xтБ╖ + xтБ╖ = xтБ╖(1 + 1) = xтБ╖(1 ^ 1) = xтБ╖0 = 0;
    (xтБ╢ + xтБ┤ + x┬▓ + x + 1)(xтБ╖ + x + 1) = x┬╣┬│ + x┬╣┬╣ + xтБ╣ + xтБ╕ + xтБ╢ + xтБ╡ + xтБ┤ + x┬│ + 1.

    m(x) = xтБ╕ + xтБ┤ + x┬│ + x + 1 ( ), rijndael , 8, . . , . :

    (xтБ╢ + xтБ┤ + x┬▓ + x + 1)(xтБ╖ + x + 1)/(xтБ╕ + xтБ┤ + x┬│ + x + 1) =
    (x┬╣┬│ + x┬╣┬╣ + xтБ╣ + xтБ╕ + xтБ╢ + xтБ╡ + xтБ┤ + x┬│ + 1)/(xтБ╕ + xтБ┤ + x┬│ + x + 1) = |Result| = xтБ╖ + xтБ╢ + 1


:


  1. keyExpansion() тАФ ;
  2. addRoundKey() тАФ ;
  3. subBytes() тАФ state;
  4. shiftRows() тАФ state;
  5. mixColumns() тАФ state;
  6. invMixColumns() тАФ mixColumns;
  7. invShiftRows() тАФ shiftRows;
  8. invSubBytes() тАФ subBytes;

AES :


  1. state
    - . [0; 255] ( ASCII Unicode). n- 16 . state ( 4 = [ [], [], [], [] ] ), 16 , 16 :

  2. keyExpansion();
    AES, state. . XOR Rcon.

    Rcon тАФ XOR. keyExpansion() XORтАЩ Rcon . тАФ 11. 10 .

    let rCon = [
      [ 0x00, 0x00, 0x00, 0x00 ],
      [ 0x01, 0x00, 0x00, 0x00 ],
      [ 0x02, 0x00, 0x00, 0x00 ],
      [ 0x04, 0x00, 0x00, 0x00 ],
      [ 0x08, 0x00, 0x00, 0x00 ],
      [ 0x10, 0x00, 0x00, 0x00 ],
      [ 0x20, 0x00, 0x00, 0x00 ],
      [ 0x40, 0x00, 0x00, 0x00 ],
      [ 0x80, 0x00, 0x00, 0x00 ],
      [ 0x1b, 0x00, 0x00, 0x00 ],
      [ 0x36, 0x00, 0x00, 0x00 ],
    ];
    
  3. addRoundKey();

    state , . addRoundKey XORтАЩ state, . тАЩXORтАЩ state , :




  4. 10 , 10 . 9 4 :

    • subBytes();
    • shiftRows();
    • mixColumns();
    • addRoundKey();

    10- :

    • subBytes();
    • shiftRows();
    • addRoundKey();

  5. subBytes();

    state S-box:



    State hex , : 01010011 -> 0101 | 0011 -> 53h



    53h edh

    S-box
    const sBox = [
      0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
      0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
      0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
      0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
      0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
      0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
      0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
      0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
      0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
      0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
      0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
      0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
      0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
      0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
      0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
      0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16,
    ];
    


  6. shiftRows();

    3- :


  7. mixColumns();

    . a(x) = {03}x┬│ + {01}x┬▓ + {01}x + {02}. state a(x). :







AES :


  1. keyExpansion();


  2. 10 , .

    9 4 , , :

    • addRoundKey();
    • invMixColumns();
    • invShiftRows();
    • invSubBytes();

    10-:

    • addRoundKey();
    • invShiftRows();
    • invSubBytes();

  3. addRoundKey();

    , Rcon
  4. invMixColumns ();

    InvMixColumns рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд░рд╛рдЬреНрдп рд╕реНрддрдВрдн рдХреЗ рдирд┐рд░рдВрддрд░ рдлрд╝рдВрдХреНрд╢рди aтБ╗┬╣ (x) рджреНрд╡рд╛рд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧреБрдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдЧреБрдгрди рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ:




  5. invShiftRows ();

    рдЙрд▓рдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди shiftRows () - рджрд╛рдИрдВ рдУрд░ рдЪрдХреНрд░реАрдп рдкрд╛рд░реА:


  6. invSubBytes ();

    рдЙрд▓рдЯрд╛ рд╕рдмрдмреАрдЯреНрд╕ () - рд╕реНрдЯреЗрдЯ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рд░рд┐рд╡рд░реНрд╕ рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ, рдЬреЛ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рдЙрд▓рдЯрд╛ рдПрд╕-рдмреЙрдХреНрд╕ рдЯреЗрдмрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЗрдХреНрд╕ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:



рдЧреНрд░рдВрде рд╕реВрдЪреА:

  1. рдПрдИрдПрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛
  2. рдЙрдиреНрдирдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕реНрдЯреИрдВрдбрд░реНрдб (AES)
  3. рдкреЛрд▓ рдЧреИрд▓рд╛рдЗрд╕
  4. рдЪрдХреНрд░реАрдп рдХреЛрдб
  5. рд╣рд╛рдИ рд╕реНрдХреВрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рдП.рдПрди. Stepanov - рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд╛рдЗрдВрд╕ рдХреЛрд░реНрд╕ - рд╕реВрдЪрдирд╛ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛
  6. рд╕реНрдирд┐рдкреЗрдЯреНрд╕

All Articles