рдпрд╣ рдЖрд▓реЗрдЦ GOST R 34.12-2015 рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдмреНрд▓реЙрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЧреНрд░рд╛рд╕рд╣реЙрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рджреЗрдЧрд╛ред рдпрд╣ рдХрд┐рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдмреНрд▓реЙрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЧрдгрд┐рдд рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд╛рд╡рд╛ рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреМрди, рдХреИрд╕реЗ, рдХрдм рдФрд░ рдХреНрдпреЛрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдмрд╣реБрдд рдХрдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ:
рдЧреНрд░рд╛рд╕рд╣реЙрдкрд░ = рдХреБрдЬрд╝рдиреЗрддреНрд╕реЛрд╡, рдиреЗрдЪрд╛рдПрд╡ рдФрд░ рдХрдВрдкрдиреАред

рдЪреВрдВрдХрд┐ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЧрдгрд┐рдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдЧреЗ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдФрд░ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рди рдкрд░ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдлрд╝реАрд▓реНрдбреНрд╕ рдЧреИрд▓реЛрдЬрд╝
рдЧрд▓рд╛рдЗрд╕ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЕрдВрдХрдЧрдгрд┐рдд рдмрд╣реБрдкрдж рдЕрдВрдХрдЧрдгрд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рдд рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдПрдХ рдмрд╣реБрдкрдж рд╣реИред рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рднреА рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдПрдХ рддрддреНрд╡ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЧрд╛рд▓реНрд╡рд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИред рдХреНрд╖реЗрддреНрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдХреБрдЫ рдЕрднрд╛рдЬреНрдп рд╕рдВрдЦреНрдпрд╛ p рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдлреАрд▓реНрдб рдСрд░реНрдбрд░, рдЕрд░реНрдерд╛рддреНред рдЗрд╕рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рд╛рдХреГрддрд┐рдХ рдбрд┐рдЧреНрд░реА рд╣реИ
pm , рдЬрд╣рд╛рдВ m where N. m = 1 рдХреЗ рд▓рд┐рдП, рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рд░рд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдо> 1, рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЧрдарди рдХреЗ рд▓рд┐рдП, рдбрд┐рдЧреНрд░реА рдореАрдЯрд░ рдХреА рдПрдХ рдмрд╣реБрдкрдж рдмрдирд╛рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Gf(pm) - рдЧреИрд▓реЛрдЬ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкрджрдирд╛рдоред рдмрд╣реБрдкрдж рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЕрд░реНрдерд╛рдд, рд╕рд░рд▓ (рдЕрднрд╛рдЬреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рд╕реЗ рдпрд╣ 1 рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реИ рдФрд░ рд╢реЗрд╖ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рдпрдВ)ред рдЪреВрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдПрдХ рдмрд╛рдЗрдЯ 8 рдмрд┐рдЯ рд╣реИ, рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдВ
Gf(28) рдФрд░ рдЙрддреНрдкрдиреНрди рдмрд╣реБрдкрдж:
x8+x7+x6+x+1.
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рд░рд▓ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ
Gf(23) рдмрд╣реБрдкрдж рдкреИрджрд╛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде
f(x)=x3+x+1 ред
рдЬреЛрдбрд╝ рдЖрдкрд░реЗрд╢рди
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдкрд░реЗрд╢рди рд╣реИ, рдЬреЛ рдЧрд╛рд▓реНрд╡рд╛ рдХреНрд╖реЗрддреНрд░ рдЕрдВрдХрдЧрдгрд┐рдд рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдЬреЛрдбрд╝ рдореЛрдбреБрд▓реЛ 2 (.) рд╣реИред
рдореИрдВ рддреБрд░рдВрдд рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ "+" рдпрд╣рд╛рдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рд╛рдЗрди рдЗрди рдХрд░рддрд╛ рд╣реИ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝рд░ рдПрдХреНрд╕рдУрдЖрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд╣реАрдВред
HOR рдлрд╝рдВрдХреНрд╢рди рдХреА рд╕рддреНрдп рддрд╛рд▓рд┐рдХрд╛

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
5+3=101+011=1102=610рдмрд╣реБрдкрдж рд░реВрдк рдореЗрдВ, рдпрд╣ рдСрдкрд░реЗрд╢рди рдЬреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛
(x2+1)+(x+1)=x2+x=1102=610
рдЧреБрдгрди рдХреНрд░рд┐рдпрд╛
рдЧреБрдгрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдмрд╣реБрдкрдж рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
5=1012=1тИЧx2+0тИЧx1+1тИЧx0=x2+1
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╣реБрдкрдж рд░реВрдк рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдмрд╣реБрдкрдж рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЧреБрдгрд╛рдВрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдмрд┐рдЯреНрд╕ рдХреЗ рдорд╛рди рд╣реИрдВред
рдмрд╣реБрдкрдж рд░реВрдк рдореЗрдВ рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░реЗрдВ:
5тИЧ7=(x2+1)тИЧ(x2+x+1)=x4+x3+x2+x2+x+1=
=x4+x3+x+1=110112=2710
рдЧреБрдгрди рдкрд░рд┐рдгрд╛рдо 27 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИред
Gf(23) (рдЗрд╕рдореЗрдВ 0 рд╕реЗ 7 рддрдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЙрддреНрдкрдиреНрди рдмрд╣реБрдкрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣ рднреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ x рд╕рдореАрдХрд░рдг рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ
f(x)=x3+x+1=0 рддреЛ

рдЪрд▓реЛ рдПрдХ рдЧреБрдгрди рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ:

рдмрд╣реБрдд рдорд╣рддреНрд╡ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЧреИрд▓реЛрдЬрд╝ рдХреНрд╖реЗрддреНрд░ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдбрд┐рдЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рдЧреБрдгрди рдХреЗ рд╕рдорд╛рди рдПрдХ рд╢рдХреНрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЛ рдмрд╣реБрдкрдж рд░реВрдк рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
52=(x2+1)2=x4+x2+x2+1=x4+x2+x+x2+x+1=
=x(x3+x+1)+x2+x+1=x2+x+1=1112=710
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдбрд┐рдЧреНрд░реА рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

рдбрд┐рдЧреНрд░реА рддрд╛рд▓рд┐рдХрд╛ рдЪрдХреНрд░реАрдп рд╣реИ: рд╕рд╛рддрд╡реАрдВ рдбрд┐рдЧреНрд░реА рд╢реВрдиреНрдп рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдард╡реАрдВ рдкрд╣рд▓реА рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЖрджрд┐ред рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЗрд╕реЗ рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЧреИрд▓реЛрдЬрд╝ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ, рдПрдХ рдЖрджрд┐рдо рд╢рдмреНрдж рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ - рдПрдХ рдХреНрд╖реЗрддреНрд░ рддрддреНрд╡ рдЬрд┐рд╕рдХреА рдбрд┐рдЧреНрд░реА рдореЗрдВ рд╕рднреА рдЧреИрд░-рдЕрдХреНрд╖реАрдп рдХреНрд╖реЗрддреНрд░ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рддрддреНрд╡ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ (рдареАрдХ рд╣реИ, 1 рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╣рдореЗрд╢рд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЬрд┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ, рд╡рд┐рд╢реЗрд╖рддрд╛ 2 рдХреЗ рд╕рд╛рде, рд╣рдореЗрд╢рд╛ 2 рдЪреБрдиреЗрдВред рдЖрджрд┐рдо рд╕рджрд╕реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХреНрд╖реЗрддреНрд░ рдХреЗ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЛ рдЖрджрд┐рдо рд╕рджрд╕реНрдп рдХреА рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
5=26.7=25рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдФрд░ рдбрд┐рдЧреНрд░реА рддрд╛рд▓рд┐рдХрд╛ рдХреА рдЪрдХреНрд░реАрдпрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ:
5тИЧ7=26тИЧ25=2(6+5)=2(11mod7)=24=6
рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЧ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдЧрдгрдирд╛ рдХреА рдереАред
рдЕрдм рдЪрд▓реЛ рд╡рд┐рднрд╛рдЬрди рдХрд░рддреЗ рд╣реИрдВ:
6/5=24/26=2(4тИТ6)=2((тИТ2)mod7)=25=7
рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо рднреА рд╕рддреНрдп рд╣реИред
рдЦреИрд░, рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╢рдХреНрддрд┐ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВ:
52=(26)2=2(6тИЧ2)=2(12mod7)=25=7
рдмрд╣реБрдкрдж рдФрд░ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдкрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЧреБрдгрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЖрджрд┐рдо рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рджрд╕реНрдп рдХреА рдбрд┐рдЧреНрд░реА рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ред
рдЕрдм рд╡рд╛рдкрд╕ рдЕрдкрдиреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ
Gf(28)рдлрд╝реАрд▓реНрдб рдХрд╛ рд╢реВрдиреНрдп рддрддреНрд╡ рдПрдХ рд╣реИ, рдкрд╣рд▓рд╛ рдПрдХ рджреЛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ 2 рд╕реЗ 254 рд╡реЗрдВ рддрддреНрд╡ рдХреЗ рдмрд╛рдж рдХреЗ рддрддреНрд╡ рдХреА рдЧрдгрдирд╛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ, 2 рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рддрддреНрд╡ рдлрд╝реАрд▓реНрдб рдХреЗ рдмрд╛рд╣рд░ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЗрд╕рдХрд╛ рдорд╛рди рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ
(28тИТ1) рдлрд┐рд░ XOR рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
19510 , рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрдХрд╛рдЯреНрдп рдмрд╣реБрдкрдж рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИ
x8+x7+x6+x+1=28+27++26+2+1=451 , рд╣рдо рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВ
451тИТ256=$19 ред рдФрд░ 255 рд╡рд╛рдВ рддрддреНрд╡ рдлрд┐рд░ рд╕реЗ рд╣реИред 1. рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝реАрд▓реНрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ 256 рддрддреНрд╡ рд╣реИрдВ, рдпрд╛рдиреА рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ, рдФрд░ рд╣рдордиреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореВрд▓ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рд╣реИред

рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛
Gf(28)рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА - рдЧреНрд░рд╛рд╕рд╣реЙрдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдЧрдгрдирд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЧреИрд▓реЛрдЬрд╝ рдореИрджрд╛рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреНрд░рдорд╢рдГ рдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рддрддреНрд╡ рд╣реИрдВред
Feistel рдиреЗрдЯрд╡рд░реНрдХ
Feistel Network рдПрдХ рдмреНрд▓реЙрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрджреНрдзрддрд┐ рд╣реИ рдЬреЛ 1971 рдореЗрдВ IBM рдкрд░ Horst Feistel рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереАред рдЖрдЬ Feistel рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИред
Feistel рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдкрд╖реНрдЯ-рдкрд╛рда рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
- рдмреНрд▓реЙрдХ рдХреЛ рджреЛ рд╕рдорд╛рди рднрд╛рдЧреЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЧрдпрд╛ рд╣реИ - рдмрд╛рдПрдВ L рдФрд░ рджрд╛рдПрдВ Rред
- рдмрд╛рдИрдВ рдЙрдк-рдмреНрд▓реЙрдХ L рдХреЛ рдХреБрдВрдЬреА K: X = f (L, K) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди f рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
- рдкрд░рд┐рдгрд╛рдореА рд╕рдмрдмреНрд▓реЙрдХ рдПрдХреНрд╕ рдХреЛ рд╕рд╣реА рд╕рдмрдмреНрд▓реЙрдХ рдЖрд░ рдХреЗ рд╕рд╛рде рдореЛрдбреБрд▓реЛ 2 рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИ: рдПрдХреНрд╕ = рдПрдХреНрд╕ + рдЖрд░ред
- рдкрд░рд┐рдгрд╛рдореА рд╣рд┐рд╕реНрд╕реЗ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝реЗ рдФрд░ рдЪрд┐рдкрдХреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЗрд╕ рдХреНрд░рдо рдХреЛ Feistel cell рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪрд┐рддреНрд░рд╛ 1. Feistel рд╕реЗрд▓Feistel рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдИ рд╕реЗрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рд╕реЗрд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╕рдмрдмреНрд▓реЙрдХ рджреВрд╕рд░реА рд╕реЗрд▓ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджреВрд╕рд░реА рд╕реЗрд▓ рд╕реЗ рддреАрд╕рд░реЗ рд╕реЗрд▓ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдЕрдм рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдореБрдЦреНрдп рд╡рд┐рд╖рдп рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрд░реНрдерд╛рддреН, рдЧреНрд░рд╛рд╕рд╣реЙрдкрд░ рдХреНрд░рд┐рдкреНрдЯреЛ-рдПрд▓реНрдЧреЛрд░рд┐рджрдоред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЖрдзрд╛рд░ рддрдерд╛рдХрдерд┐рдд рдПрд╕рдкреА рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ - рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди-рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдиреЗрдЯрд╡рд░реНрдХред рдПрд╕рдкреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рдлрд░ рдЗрдирдкреБрдЯ рдкрд░ рдПрдХ рдмреНрд▓реЙрдХ рдФрд░ рдПрдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЪрд░рдгреЛрдВ рдФрд░ рдХреНрд░рдордЪрдп рдЪрд░рдгреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдХрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░рд╛рдЙрдВрдб рдХрд░рддрд╛ рд╣реИред рдЧреНрд░рд╛рд╕рд╣реЙрдкрд░ рдиреЗ рдкреВрд░реЗ рдиреМ рд░рд╛рдЙрдВрдб рдХрд┐рдП, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рддреАрди рдСрдкрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдПрдХ рдХреБрдВрдЬреА рдФрд░ рдПрдХ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЗ рдПрдХ рдЧреЛрд▓ рдХреБрдВрдЬреА рдпрд╛ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ XOR рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди;
- рдЧреИрд░-рд░реИрдЦрд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг, рдЬреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдмрд╛рдЗрдЯ рдХрд╛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ;
- рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиред рдкреНрд░рдЦрдВрдб рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдХреЛ рдЧреЙрд▓реЙрдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ 148 рдЧреБрдгрдХреЛрдВ (148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148, 1) рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдЗрдЯ рд╕рдВрдЦреНрдпрд╛ (15 рд╡реАрдВ рд╕реЗ 0 рд╡реАрдВ рддрдХ рдХреЗ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдореЙрдбреБрд▓реЛ 2 рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмреНрд▓реЙрдХ рдХреЗ рд╕рднреА 16 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдирд┐рдореНрди рдХреНрд░рдо рдХреА рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдЦреНрдпрд╛ рд░реАрдб рдмрд╛рдЗрдЯ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред

рдЕрдВрддрд┐рдо рджрд╕рд╡рд╛рдВ рджреМрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ XOR рдСрдкрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЧреНрд░рд╛рд╕рд╣реЙрдкрд░ рдПрдХ рдмреНрд▓реЙрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ, рдпрд╣ 128 рдмрд┐рдЯреНрд╕ рдпрд╛ 16 рдмрд╛рдЗрдЯреНрд╕ рд▓рдВрдмреЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЦреНрдп рд▓рдВрдмрд╛рдИ 256 рдмрд┐рдЯреНрд╕ (32 рдмрд╛рдЗрдЯреНрд╕) рд╣реИред
рдЪрд┐рддреНрд░рд╛ 2. рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рд╕реНрдХреАрдордЖрд░реЗрдЦ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрд╕ рдПрдХ рдЧреИрд░-рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рдПрд▓ рдПрдХ рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рдХреА рдЧреЛрд▓ рдХреБрдВрдЬреА рд╣реИрдВред рд╕рд╡рд╛рд▓ рддреБрд░рдВрдд рдЙрдарддрд╛ рд╣реИ - рдЧреЛрд▓ рдХреБрдВрдЬреА рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреА рд╣реИрдВред
рдЧреЛрд▓ рдХреБрдВрдЬреА рдЧрдарди
Iterative (рдпрд╛ рд░рд╛рдЙрдВрдб) рдХреБрдВрдЬрд┐рдпрд╛рдВ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд▓рдВрдмрд╛рдИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, 256 рдмрд┐рдЯреНрд╕ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреА рдХреЛ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рджреМрд░ рдХреА рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред Feistel рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЖрда рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреА рдЬреЛрдбрд╝реА рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдорд╛рди рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ (рдЧреЛрд▓) рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛рдпрджрд┐ рд╣рдо рдЪрд┐рддреНрд░ 1 рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рдпрд╛рдБ рдЙрдк-рдЦрдВрдб L, рдореВрд▓ рдХреБрдВрдЬреА рдХрд╛ рдмрд╛рдпрд╛рдБ рдЖрдзрд╛ рднрд╛рдЧ рд╣реИ, рджрд╛рдпрд╛рдБ рдЙрдк-рдЦрдВрдб R рдореВрд▓ рдХреБрдВрдЬреА рдХрд╛ рджрд╛рд╣рд┐рдирд╛ рдЖрдзрд╛ рд╣реИ, K рдирд┐рд░рдВрддрд░ CE рд╣реИ, рдлрд╝рдВрдХреНрд╢рди f рдХрд╛ рд╕рдВрдЪрд╛рд▓рди R XOR Ci, рдЧреИрд░-рд░реЗрдЦреАрдп рдкрд░рд┐рд╡рд░реНрддрди, рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЕрдиреБрдХреНрд░рдо рд╣реИред
рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ L- рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╕реА рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдкрд╛рда рдХреЗ рдПрдХ рдмреНрд▓реЙрдХ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ 32 рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдХреБрдВрдЬреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 10 рдЧреЛрд▓ рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЪрд┐рддреНрд░ 2 рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
рдЪрд▓реЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
рдкрд╣рд▓реЗ рдХрд╛рдВрд╕реНрдЯреЗрдмрд▓
C1=110=000000012=0116 рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди 16 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рдХреЛ рдкреВрд░рдХ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрд░реНрдерд╛рддреН рджрд╛рдИрдВ рдУрд░ 15 рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рдЬреЛрдбрд╝реЗрдВ, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ
C1=01000000000000000000000000000000
рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ (1, 148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148) рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ:
a15=a15тИЧ148+a14тИЧ32+a13тИЧ133+a12тИЧ16+
+a11тИЧ194+a10тИЧ192+a9тИЧ1+a8тИЧ251+a7тИЧ1+a6тИЧ192+
+a5тИЧ194+a4тИЧ16+a3тИЧ133+a2тИЧ32+a1тИЧ148+a0тИЧ1
(рдпрд╣ рд╕рдорд╛рдирддрд╛ рдЧреИрд▓реЛрдЬрд╝ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рджреА рдЧрдИ рд╣реИ)
рдЪреВрдВрдХрд┐ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ 0 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдФрд░ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯ 1 рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо 1 рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЙрдЪреНрдЪ рдХреНрд░рдо рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╕рднреА рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдирд┐рдореНрди рдХреНрд░рдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
C1=00000000000000000000000000000001
рдЙрд╕реА рдСрдкрд░реЗрд╢рди рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред рдЗрд╕ рдмрд╛рд░
a15=1 , рдЕрдиреНрдп рд╕рднреА рдмрд╛рдЗрдЯреНрд╕ 0 рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рд╢рдмреНрдж рд╢рд░реНрддреЛрдВ рд╕реЗ рдмрдирд╛ рд╣реБрдЖ рд╣реИ
a15тИЧ148=1тИЧ148=14810=9416 рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
C1=00000000000000000000000000000194
рд╣рдо рддреАрд╕рд░реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдБ рджреЛ рдЕрд╢рд╛рдмреНрджрд┐рдХ рд╢рдмреНрдж рд╣реИрдВ:
a15тИЧ148+a14тИЧ32=148тИЧ148+1тИЧ32=
=10010100тИЧ10010100+00000001тИЧ00100000=
=(x7+x4+x2)тИЧ(x7+x4+x2)+1тИЧx5=x14+x8+x4+x5=
=x6(x8+x7+x6+x+1)+x13+x12+x7+x6+x8+x4+x5=
=x5(x8+x7+x6+x+1)+x11+x5+x7+x8+x4+x5=
=x3(x8+x7+x6+x+1)+x10+x9+x3+x8+x7=
=x2(x8+x7+x6+x+1)+x2+x7=x7+x2=13210
13210=8416
рдбрд┐рдЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕реЗ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
148тИЧ148+1тИЧ32=245тИЧ245+25=290+25=164+32=132
C1=00000000000000000000000000019484
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдм рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░рдВрддрд░ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 16 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ
C1=000000000000000000000000019484DD
C1=0000000000000000000000019484DD10
C1=00000000000000000000019484DD10BD
C1=000000000000000000019484DD10BD27
C1=0000000000000000019484DD10BD275D
C1=00000000000000019484DD10BD275DB8
C1=000000000000019484DD10BD275DB87A
C1=0000000000019484DD10BD275DB87A48
C1=00000000019484DD10BD275DB87A486C
C1=000000019484DD10BD275DB87A486C72
C1=0000019484DD10BD275DB87A486C727
C1=00019484DD10BD275DB87A486C7276A2
рдФрд░ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рд░рд╛рдВрдХ:
C1=019484DD10BD275DB87A486C7276A2E6
рдЕрдиреНрдп рд╕реНрдерд┐рд░рд╛рдВрдХ:
C2=02EBCB7920B94EBAB3F490D8E4EC87DC
C3=037F4FA4300469E70B8ED8B4969A25B2
C4=041555F240B19CB7A52BE3730B1BCD7B
C5=0581D12F500CBBEA1D51AB1F796D6F15
C6=06FE9E8B6008D20D16DF73ABEFF74AA7
C7=076A1A5670B5F550AEA53BC79D81E8C9
C8=082AAA2780A1FBAD895605E6163659F6
C9=09BE2EFA901CDCF0312C4D8A6440FB98
C10=0AC1615EA018B5173AA2953EF2DADE2A
C11=0B55E583B0A5924A82D8DD5280AC7C44
C12=0C3FFFD5C010671A2C7DE6951D2D948D
C13=0DAB7B08D0AD40479407AEF96F5B36E3
C14=0ED434ACE0A929A09F89764DF9C11351
C15=0F40B071F0140EFD27F33E218BB7B13F
C16=1054974EC3813599D1AC0A0F2C6CB22F
C17=11C01393D33C12C469D642635E1A1041
C18=12BF5C37E3387B2362589AD7C88035F3
C19=132BD8EAF3855C7EDA22D2BBBAF6979D
C20=1441C2BC8330A92E7487E97C27777F54
C21=15D54661938D8E73CCFDA1105501DD3A
C22=16AA09C5A389E794C77379A4C39BF8888
C23=173E8D18B334C0C97F0931C8B1ED5AE6
C24=187E3D694320CE3458FA0FE93A5AEBD9
C25=19EAB9B4539DE969E0804785482C49B7
C26=1A95F6106399808EEB0E9F31DEB66C05
C27=1B0172CD7324A7D35374D75DACC0CE6B
C28=1C6B689B03915283FD1EC9A314126A2
C29=1DFFEC46132C75DE45ABA4F6433784CC
C30=1E80A3E223281C394E257C42D5ADA17E
C31=1F14273F33953B64F65F342EA7DB0310
C32=20A8ED9C45C16AF1619B141E58D8A75E
рдЕрдм рд╣рдо рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧреЛрд▓ рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рд▓реЗрдВрдЧреЗ:
K=7766554433221100FFEEDDCCBBAA9988
EFCDAB896745230101252547698BADCFE
рддреЛ
K1=7766554433221100FFEEDDCCBBAA9988
K2=EFCDAB89674523011032547698BADCFE
K1 Feistel рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдмрд╛рдпрд╛рдВ рд╕рдм-рдмреНрд▓реЙрдХ рд╣реЛрдЧрд╛, рдФрд░
K2 - рд╕рд╣реА рд╣реИред
рдЪрд▓реЛ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ
K1+C1рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ
K1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ
7716=011101112рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ
C1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ
0116=000000012011101112+000000012=011101102=7616
рд╢реЗрд╖ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЙрд╕реА рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк
X(K1,C1)=K1+C1 :
X(K1,C1)=76F2D199239F365D479495A0C9DC3BE
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ nonlinear рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ
S(X(K1,C1)) ред рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдиреЙрдирд▓рд╛рдЗрдирд░ рд░реВрдкрд╛рдВрддрд░рдг рддрд╛рд▓рд┐рдХрд╛рд╕рдВрдЦреНрдпрд╛ 0 рдХреЛ 252, 1 рдХреЛ 238, 17 рдХреЛ 119, рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
7616=11810
S(118)=13810=8A16
S(X(K1,C1))=8A741BE85A4A8FB7AB7A94A737CA9809
рдЕрдм рдПрдХ рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ
L(S(X(K1,C1))) , рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рд╣рдо рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВ:
L(S(X(K1,C1)))=A644615E1D0757926A5DB79D9940093D
Feistel рд╕реЗрд▓ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо XOR рдХреЛ рд╕рд╣реА рд╕рдм-рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН
K2 :
X(L(S(X(K1,C1)))),K2)=4989CAD77A4274937A6FE3EB01FAD5C3
рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкрд╣рд▓реЗ Feistel рд╕реЗрд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ:
EFCDAB89674523011032547698BADCFE4989CAD77A4274937A6FE3EB01FAD5C3
рдпрд╣ рдорд╛рди рдЖрдзрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реА рдлрд┐рд╕реНрдЯрд▓ рд╕реЗрд▓ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рджреВрд╕рд░рд╛ рдХрдВрдЯреАрдиреНрдпреВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
C2 ред рдЖрда рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд 2 рдХреБрдВрдЬреА рдорд┐рд▓рддреА рд╣реИрдВ
K3 рдФрд░
K4 ред рд╣рдо рдЙрдирдХреЗ рд╕рд╛рде Feistel рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЖрда рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВрдЧреЗ, рдЕрдЧрд▓реА рдХреБрдВрдЬреА рдЬреЛрдбрд╝реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдкреНрд░рдореБрдЦ рдЬреЛрдбрд╝реА рдкреНрд░рддрд┐ рдЖрда рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ, рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкрд╣рд▓реА рдЬреЛрдбрд╝реА рд╣реИ, рдлрд┐рд░ 32 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд┐рд░рдВрддрд░ рдХреЗ рд╕рд╛рдеред
рд╢реЗрд╖ рдХреБрдВрдЬреА:
K3=448CC78CEF6A8D2243436915534831DB
K4=04FD9F0AC4ADEB1568ECCFE9D853453D
K5=ACF129F44692E5D3285E4AC468646457
K6=1B58DA3428E832B532645C16359407BD
K7=B198005A26275770DE45877E7540E651
K8=84F98622A2912AD73EDD9F7B0125795A
K9=17E5B6CD732FF3A52331C77853E244BB
K10=43404A8EA8BA5D755BF4BC1674DDE972
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ
рд╣рдордиреЗ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдФрд░ рдЕрдм рдЕрдВрдд рдореЗрдВ рд╣рдо рд╕реАрдзреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдмреНрд▓реЙрдХ рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрдк рдКрдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рднреА рдСрдкрд░реЗрд╢рди рдФрд░ рдЙрдирдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА рдЧрдИ рд╣реИред
рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдмреНрд▓реЙрдХ рд▓реЗрдВ:
T=8899AABBCCDDEEFF0077665544332211
рдПрдХреНрд╕, рдПрд╕, рдПрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
X(T,K1)=FFFFFFFFFFFFFFFFFFFFFF99BB99FF99BB99
S(X(T,K1))=B6B6B6B6B6B6B6B6B6B6E87DE8B6E87DE
L(S(X(T,K1)))=30081449922F4ACFA1B055E386B697E2
T1=30081449922F4ACFA1B055E386B697E2
X(T1,K2)=DFC5BFC0F56A69CEB18201951E0C4B1C
S(X(T1,K2))=61AC3B07F47891E74524EE945F23A214
L(S(X(T1,K2)))=7290C6A158426FB396D562087A495E28
T2=7290C6A158426FB396D562087A495E28
рдФрд░ рдЗрд╕реА рддрд░рд╣, рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
T10=CDEDD4B9428D465A3024BCBE909D677F
рдмреНрд▓реЙрдХ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди
рдкрд╛рда рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд▓реНрдЯреЗ рдХреНрд░рдо рдореЗрдВ рдЙрд▓рдЯрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЪрд┐рддреНрд░ 2 рджреЗрдЦреЗрдВ)ред
рдПрдХреНрд╕рдУрдЖрд░ рдСрдкрд░реЗрд╢рди рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ, рдПрд╕ рдХреЗ рдЙрд▓рдЯ рдСрдкрд░реЗрд╢рди рдПрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ:
рдЙрд▓рдЯрд╛ рдиреЙрдирд▓рд╛рдЗрдирд┐рдпрд░ рдкрд░рд┐рд╡рд░реНрддрди рддрд╛рд▓рд┐рдХрд╛рдлрд╝рдВрдХреНрд╢рди L рдХрд╛ рд╡реНрдпреБрддреНрдХреНрд░рдо рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛:
a0=a15тИЧ148+a14тИЧ32+a13тИЧ133+a12тИЧ16+
+a11тИЧ194+a10тИЧ192+a9тИЧ1+a8тИЧ251+a7тИЧ1+a6тИЧ192+a5тИЧ194+
+a4тИЧ16+a3тИЧ133+a2тИЧ32+a1тИЧ148+a0тИЧ1
рдФрд░ рд╡рд░рд┐рд╖реНрда рд╕реНрддрд░ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдмрджрд▓рд╛рд╡ред (рдСрдкрд░реЗрд╢рди 16 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ)
рдЬрд╛рд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
static final int BLOCK_SIZE = 16;
рдЖрдЗрдП рд╕рднреА рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдмрдирд╛рдПрдВ:
рдлрд╝рдВрдХреНрд╢рди рдПрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрдИ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдХ рдЧреИрд▓реНрд╡реЗрди рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЧреБрдгрди рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП, рдФрд░ рдПрдХ рдкрд╛рд▓реА рдХреЗ рд▓рд┐рдПред
рдЙрд▓рдЯрд╛ рдХрд╛рд░реНрдп:
рдЦреИрд░, рдФрд░ рдореБрдЦреНрдп рдХрд╛рд░реНрдп
static byte[] key_1 = {0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11, 0x00, (byte) 0xff, (byte) 0xee, (byte) 0xdd, (byte) 0xcc, (byte) 0xbb, (byte) 0xaa, (byte) 0x99, (byte) 0x88}; static byte[] key_2 = {(byte) 0xef, (byte) 0xcd, (byte) 0xab, (byte) 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, (byte) 0x98, (byte) 0xba, (byte) 0xdc, (byte) 0xfe}; static byte[] blk = DatatypeConverter.parseHexBinary("8899aabbccddeeff0077665544332211"); public static void main(String[] args) { GOST_Kuz_Expand_Key(key_1, key_2); byte[] encriptBlok = GOST_Kuz_Encript(blk); System.out.println(DatatypeConverter.printHexBinary(encriptBlok)); byte[] decriptBlok = GOST_Kuz_Decript(encriptBlok); System.out.println(DatatypeConverter.printHexBinary(decriptBlok)); }
рд╣рдордиреЗ рдкрд╛рда рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рд╕реАрдЦрд╛, рдЬрд┐рд╕рдХреА рд▓рдВрдмрд╛рдИ рдмреНрд▓реЙрдХ рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ; рдорд╛рдирдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрдИ рдореЛрдб рд╣реИрдВ - GOST 34.13-2015:
- рд╕рд░рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЛрдб (рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХреЛрдбрдмреБрдХ, рдИрд╕реАрдмреА);
- рдЧрд╛рдорд╛ рдореЛрдб (рдХрд╛рдЙрдВрдЯрд░, рд╕реАрдЯреАрдЖрд░);
- рдЖрдЙрдЯрдкреБрдЯ рдлреАрдбрдмреИрдХ (рдЖрдЙрдЯрдкреБрдЯ рдлреАрдбрдмреИрдХ, рдУрдПрдлрдмреА) рдХреЗ рд╕рд╛рде рдЧрд╛рдорд╛ рдореЛрдб;
- рд╕рд░рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд┐рдпрд░рд┐рдВрдЧ рдореЛрдб (рд╕рд┐рдлрд░ рдмреНрд▓реЙрдХ рдЪреЗрдирд┐рдВрдЧ, рд╕реАрдмреАрд╕реА);
- рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ (рд╕рд┐рдлрд░ рдлреАрдбрдмреИрдХ, рд╕реАрдПрдлрдмреА) рдореЗрдВ рдлреАрдбрдмреИрдХ рдХреЗ рд╕рд╛рде рдЧрд╛рдорд╛ рдореЛрдб;
- рд╕рдВрджреЗрд╢ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛрдб (рдореИрдХ) рдореЛрдбред
рд╕рднреА рдореЛрдб рдореЗрдВ, рдкрд╛рда рдХреА рд▓рдВрдмрд╛рдИ рд╣рдореЗрд╢рд╛ рдмреНрд▓реЙрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдкрд╛рда рдХреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рдПрдХрд▓ рдмрд┐рдЯ рдФрд░ рд╢реВрдиреНрдп рдХреЛ рдмреНрд▓реЙрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рджрд╛рдИрдВ рдУрд░ рдЧрджреНрджреЗрджрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдореЛрдб рд╕рд░рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЛрдб рд╣реИред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреЛ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рдореЛрдб рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рджреЛрдиреЛрдВ рд╣реИ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рдЧрднрдЧ рдХрднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЕрдиреНрдп рд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдмрд╛рдж рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред