Cipher Block Chaining CBC-MAC

рд╣реИрдХрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

CBC

рдЕрдЧрд░ рдХреБрдХреА рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╣реИ (рдпрд╛ рдХреБрдХреА рдХрд╛ рдкрд╣рд▓рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╣реИ) рдФрд░ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдПрдбрдорд┐рди" рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рддреЛ, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо "рдмреАрдбрдорд┐рди" рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдХреА рдХреЗ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдХреЛ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

CBC-MAC

рд╕рд╛рдЗрдлрд░ рдмреНрд▓реЙрдХ рдЪреЗрдирд┐рдВрдЧ рдореИрд╕реЗрдЬ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреЛрдб (CBC-MAC) рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЧреБрдкреНрддрд╢рд╛рд╕реНрддреНрд░ рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдПрдХ рд╕рдВрджреЗрд╢ рд▓реЗрдХрд░ рдЙрд╕реЗ рдмреНрд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрд┐рдЫрд▓реЗ рдмреНрд▓реЙрдХ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдмреНрд▓реЙрдХреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рд╕рдВрджреЗрд╢ рдХреЗ рдПрдХ рднреА рдмрд┐рдЯ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрддрд┐рдо рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛ред рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдмрдирд╛рдиреЗ рдпрд╛ рдЙрд▓рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕реБрд░рдХреНрд╖рд╛ рджреЛрд╖

CBC-MAC рдХреЗ рд╕рд╛рде рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ IV 0 рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ 2 рдЬреНрдЮрд╛рдд рд╕рдВрджреЗрд╢ (m1 рдФрд░ m2) рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ 2 рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (s1 рдФрд░ s2) рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП:

  • E(m1 XOR 0) = s1

  • E(m2 XOR 0) = s2

рдлрд┐рд░ m1 рдФрд░ m2 рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╕рдВрджреЗрд╢ (m3) 2 рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (s31 рдФрд░ s32) рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛:

  • E(m1 XOR 0) = s31 = s1

  • E(m2 XOR s1) = s32

рдЬрд┐рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХреБрдВрдЬреА рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реБрдП рднреА рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рд╕реЛрдЪрд┐рдП рдЖрдк 8 рдмрд╛рдЗрдЯ рдмреНрд▓реЙрдХ рдореЗрдВ рдирд╛рдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

  • рдПрдбрдорд┐рдирд┐рд╕реНрдЯ

  • рд░реЗрдЯрд░\00\00\00

рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯ (m1) рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (s1) рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░, рдЖрдк рд░реЗрдЯрд░\00\00\00 XOR s1 рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ E(m2 XOR s1 XOR 0) рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ рдЬреЛ s32 рд╣реИред рдЕрдм, рдЖрдк s32 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реЗ рдирд╛рдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╛рд░рд╛рдВрд╢

  1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯ (m1) рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ s1 рд╣реИ

  2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд░реЗрдЯрд░\x00\x00\x00 XOR s1 XOR 0 рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ s32 рд╣реИ**ред**

  3. рдХреБрдХреА рдХреЛ s32 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдиреНрдп рдХреБрдХреА рд╣реЛрдЧреАред

рд╣рдорд▓рд╛ рдирд┐рдпрдВрддреНрд░рдг IV

рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП IV рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдорд▓рд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреБрдХреА рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░" рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░" рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЗрд╕рдХреА рдХреБрдХреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдЕрдм, рдпрджрд┐ рдЖрдк IV рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк IV рдХрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ IV[0] XOR "A" == IV'[0] XOR "a" рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреБрдХреА рдкреБрдирдГ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХреЗрдВред рдпрд╣ рдХреБрдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реЛрдЧреАред

рд╕рдВрджрд░реНрдн

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА https://en.wikipedia.org/wiki/CBC-MAC

рд╣реИрдХрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Last updated