рдпрд╣ рдкрд╛рда рд░реЗрдбрд┐рдпреЛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рднрд╛рдЧ рдХреЗ рд╕реВрдЪрдирд╛ рд╕рдВрд░рдХреНрд╖рдг рдкрд░ рдореИрдиреБрдЕрд▓ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдзреНрдпрд╛рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдЗрд╕ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛрдб рд╕реЗ, рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдСрдл рдЗрдВрдлреЙрд░реНрдореЗрд╢рди рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рдСрдл рдПрдордЖрдИрдкреАрдЯреА (рдЬреАрдпреВ)ред рдкреВрд░рд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЬреАрдердм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ ( рдбреНрд░рд╛рдлреНрдЯ рд░рд┐рд▓реАрдЬ рднреА рджреЗрдЦреЗрдВ)ред рд╣рдмреАрд░ рдкрд░ рдореЗрд░реА рдпреЛрдЬрдирд╛ рдирдП "рдмрдбрд╝реЗ" рдЯреБрдХрдбрд╝реЗ рд░рдЦрдиреЗ рдХреА рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕рдореБрджрд╛рдп рдХреЛ рдЙрдкрдпреЛрдЧреА рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдЕрд╡рд▓реЛрдХрди рд╕рд╛рдордЧреНрд░реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПредрдкрд┐рдЫрд▓реЗ рд╡рд┐рд╖рдп:рдпрджрд┐ рдРрд▓рд┐рд╕ рдФрд░ рдмреЙрдм рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓ рд╣реИ рдЬреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдХрд┐, рдЬрдм рдХреЗрд╡рд▓ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдореЙрдбрд▓ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ), рддреЛ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдпрд╛ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдирд┐рдордп рдХреЗ рдмрд┐рдирд╛ рднреА, рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореЗрдВ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 1980 рдореЗрдВ RSA рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, 1980 рдореЗрдВ, рдЖрджрд┐ рд╢рдореАрд░ рдиреЗ рдЧреБрдкреНрдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рд╕реВрдЪрдирд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдореНрдпреВрдЯреЗрдЯрд┐рд╡ рдСрдкрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдВрд╕реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ред рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЗрд╖рд┐рдд рд╕реВрдЪрдирд╛ рдПрдХ рдЧреБрдкреНрдд рд╕рддреНрд░ рдХреБрдВрдЬреА рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдПрдХ рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреАрди рдкрд╛рд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдорд┐рд▓рддреЗ рд╣реИрдВред
рдкреВрд░реНрд╡:
- рдРрд▓рд┐рд╕ рдФрд░ рдмреЙрдм рдПрдХ тАЛтАЛрдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕реБрдирдиреЗ (рд▓реЗрдХрд┐рди рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ) рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИред
- рдкреНрд░рддреНрдпреЗрдХ рдкрдХреНрд╖ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдФрд░ рдирд┐рдЬреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реИ KA ред kA ред KB ред kB рдХреНрд░рдорд╢рдГред
- рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдиреЗ рдХрдореНрдпреВрдЯреЗрдЯрд┐рд╡ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:
\ start {array} {lll} D_ {A} \ left (E_ {A} \ left (X \ right) \ right) = X & \ forall X, \ left \ {K_A, k_a \ right \}; \\ E_ {A} \ рдмрд╛рдПрдБ (E_ {B} \ рдмрд╛рдПрдБ (X \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ) = E_B \ рдмрд╛рдПрдБ (E_A \ рдмрд╛рдПрдБ (X \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ) рдФрд░ \ forall ~ K_A, K_B, X \ _ рдЕрдВрдд {рд╕рд░рдгреА}
\ start {array} {lll} D_ {A} \ left (E_ {A} \ left (X \ right) \ right) = X & \ forall X, \ left \ {K_A, k_a \ right \}; \\ E_ {A} \ рдмрд╛рдПрдБ (E_ {B} \ рдмрд╛рдПрдБ (X \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ) = E_B \ рдмрд╛рдПрдБ (E_A \ рдмрд╛рдПрдБ (X \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ) рдФрд░ \ forall ~ K_A, K_B, X \ _ рдЕрдВрдд {рд╕рд░рдгреА}
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг (рдЗрд╕рд▓рд┐рдП рдирд╛рдо) рдФрд░ рдПрдХ рдЕрдВрддрд┐рдо рдПрдХ рдХреЗ рд╕рд╛рде рддреАрди рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдмреЙрдм рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

- рдРрд▓рд┐рд╕ рдПрдХ рдирдпрд╛ рд╕рддреНрд░ рдХреБрдВрдЬреА рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ K
рдРрд▓рд┐рд╕ \ _ рд╕реЗ рдмрд╛рдпрд╛рдБ \ _ E_A \ рдмрд╛рдПрдБ (K \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ \} \ рдмреЙрдм рд╕реЗрдРрд▓рд┐рд╕ \ _ рд╕реЗ рдмрд╛рдпрд╛рдБ \ _ E_A \ рдмрд╛рдПрдБ (K \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ \} \ рдмреЙрдм рд╕реЗ - Bob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) \ right \} рдХреЛ AliceBob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) \ right \} рдХреЛ Alice
- рдРрд▓рд┐рд╕, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрдореНрдпреВрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП,
DA рдмрд╛рдПрдБ(EB рдмрд╛рдПрдБ(EA рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) рджрд╛рдПрдБ) рджрд╛рдПрдБ)=DA рдмрд╛рдПрдБ(EA рдмрд╛рдПрдБ(EB рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) рджрд╛рдПрдБ) рджрд╛рдПрдБ)EB рдмрд╛рдПрдБ(K )
рдРрд▓рд┐рд╕ \ _ рдХреЛ \ _ \ _ рдИ_ \ рд▓реЗрдлреНрдЯ (рдХреЗ \ рд░рд╛рдЗрдЯ) рдХреЛ \ _ \ _ \ _ рдХреЛ рдмреЙрдмрдРрд▓рд┐рд╕ \ _ рдХреЛ \ _ \ _ рдИ_ \ рд▓реЗрдлреНрдЯ (рдХреЗ \ рд░рд╛рдЗрдЯ) рдХреЛ \ _ \ _ \ _ рдХреЛ рдмреЙрдм - рдмреЙрдм рдбрд┐рдХреНрд░рд┐рдкреНрдЯ DB рдмрд╛рдПрдБ(EB рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) рджрд╛рдПрдБ)=K
рдирддреАрдЬрддрди, рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рдЭрд╛ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред
K ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рднреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджреЛрд╖ рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдХрдореА рд╣реИред рдмреЗрд╢рдХ, рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреНрд░рд┐рдкреНрдЯреИрдирд╛рд▓рд┐рд╕реНрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдореЙрдбрд▓ (рдПрдХ рд╕рдХреНрд░рд┐рдп рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рд╕рд╣рд┐рдд) рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рдлрд┐ - рд╣реЗрд▓рдореИрди рд╕реНрдХреАрдо рдХреЗ рд╡рд┐рдкрд░реАрдд, рдирдИ рдХреБрдВрдЬреА рдХреЛ рд╕рддреНрд░ рдХреЗ рд╕рд░реНрдЬрдХ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд░реНрдЬрдХ рдХреЛ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдкреНрд░рддрд┐рднрд╛рдЧреА рдХреЛ рдкреБрд░рд╛рдиреЗ рд╕рддреНрд░ рдХреА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рд╕реБрд░рдХреНрд╖рд╛ рдЧреБрдгреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВ, рддреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗрд╡рд▓ рдкреНрд░рдореБрдЦ рдкреНрд░рдорд╛рдгреАрдХрд░рдг (G7) рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВред рдбрд┐рдлреА - рд╣реЗрд▓рдореИрди рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рддреАрди-рдкрд╛рд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рдирдИ "рдорд╛рд╕реНрдЯрд░" рдХреБрдВрдЬреА рдХреЗ рдЪрдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рди рддреЛ рд╕рд╣реА рдкреНрд░рддреНрдпрдХреНрд╖ рдЧреЛрдкрдиреАрдпрддрд╛ (рдЬреА 9) рдФрд░ рди рд╣реА рдирдИ рдХреБрдВрдЬреА (рдЬреА 10) рдХреЗ рдЧрдарди рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рддреБрдЪреНрдЫ рд╡рд┐рдХрд▓реНрдк
рдЖрдЗрдП рд╣рдо XOR рдлрд╝рдВрдХреНрд╢рди (рдмрд┐рдЯрд╡рд╛рдЗрдб рдЬреЛрдбрд╝ рдореЛрдбреБрд▓реЛ 2) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВред рдпрджреНрдпрдкрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рддреАрди рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╢рдХреНрддрд┐ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдиреАрдВрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреА рдЧреБрдкреНрдд рдЪрд╛рдмрд┐рдпрд╛рдБ рд╣реИрдВред
KA рдФрд░
KB рд╡рд░реНрдгреЛрдВ рдХреЗ рдПрдХ рд╕рдорд╛рди рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрд╛рдЗрдирд░реА рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ред рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
Ei(X)=X oplusKi рдЬрд╣рд╛рдБ
X рдпрд╣ рд╕рдВрджреЗрд╢ рднреА
Ki - рдЧреБрдкреНрдд рдХреБрдВрдЬреАред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд╣реИ:
$
- рдРрд▓рд┐рд╕ рдПрдХ рдирдпрд╛ рд╕рддреНрд░ рдХреБрдВрдЬреА рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ K
рдРрд▓рд┐рд╕ \ to \ рдмрд╛рдпрд╛рдВ \ {рдИ_рдП \ рдмрд╛рдпрд╛рдВ (рдХреЗ \ рджрд╛рдпрд╛) = рдХреЗрдмреА рдУрдкреНрд▓рд╕ рдХреЗ_рдП \ _ \ _ \ _ рдмреЙрдмрдРрд▓рд┐рд╕ \ to \ рдмрд╛рдпрд╛рдВ \ {рдИ_рдП \ рдмрд╛рдпрд╛рдВ (рдХреЗ \ рджрд╛рдпрд╛) = рдХреЗрдмреА рдУрдкреНрд▓рд╕ рдХреЗ_рдП \ _ \ _ \ _ рдмреЙрдм - рдмреЙрдм \ _ рд╕реЗ \ _ \ _ E_B \ рдмрд╛рдПрдБ (E_A \ рдмрд╛рдПрдБ (K \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ) = K \ oplus K_A \ oplus K_B \ right \} \ рдХреЗ рд▓рд┐рдП рдРрд▓рд┐рд╕рдмреЙрдм \ _ рд╕реЗ \ _ \ _ E_B \ рдмрд╛рдПрдБ (E_A \ рдмрд╛рдПрдБ (K \ рджрд╛рдПрдБ) \ рджрд╛рдПрдБ) = K \ oplus K_A \ oplus K_B \ right \} \ рдХреЗ рд▓рд┐рдП рдРрд▓рд┐рд╕
- рдРрд▓рд┐рд╕, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрдореНрдпреВрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП,
D_A \ left (E_B \ left (E_A \ left (K \ right) \ right) \ right) = K \ oplus K_A \ oplus K_B \ oplus K_A = K \ oplus K_B = \ _ \ _ рдмрд╛рдПрдВ (K \ right)ред
D_A \ left (E_B \ left (E_A \ left (K \ right) \ right) \ right) = K \ oplus K_A \ oplus K_B \ oplus K_A = K \ oplus K_B = \ _ \ _ рдмрд╛рдПрдВ (K \ right)ред
рдРрд▓рд┐рд╕ \ _ рд╕реЗ \ _ \ _ E_B \ рдмрд╛рдПрдБ (K \ рджрд╛рдПрдБ) = K \ oplus K_B \ рджрд╛рдПрдБ \ "рдмреЙрдм $рдРрд▓рд┐рд╕ \ _ рд╕реЗ \ _ \ _ E_B \ рдмрд╛рдПрдБ (K \ рджрд╛рдПрдБ) = K \ oplus K_B \ рджрд╛рдПрдБ \ "рдмреЙрдм $ - рдмреЙрдм рдбрд┐рдХреНрд░рд┐рдкреНрдЯ DB рдмрд╛рдПрдБ(EB рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) рджрд╛рдПрдБ)=K oplusKB oplusK==
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рддреНрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдРрд▓рд┐рд╕ рдФрд░ рдмреЙрдм рдЖрдо рд╕рддреНрд░ рдХреБрдВрдЬреА рдЬрд╛рдирддреЗ рд╣реИрдВ
K ред
рдкрд░рдлреЗрдХреНрдЯ рд╕реАрдХреНрд░реЗрд╕реА рдХреЗ рдХрдореНрдпреВрдЯреЗрдЯрд┐рд╡ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рдЕрд╕рдлрд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдВрд╕реА рдХреБрдВрдЬреА рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред
K ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдВрд╕реА рдиреЗ рддреАрдиреЛрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛:
K oplusKA, K oplusKA oplusKB, K oplusKBред
рддреАрдиреЛрдВ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдореЛрдбреБрд▓реЛ 2 рдЬреЛрдбрд╝ рдХреБрдВрдЬреА рджреЗрддрд╛ рд╣реИ
K ред рдЗрд╕рд▓рд┐рдП, рдРрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рд╣рдо рдШрд╛рддреАрдп (рдХрдореНрдпреВрдЯреЗрдЯрд┐рд╡) рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдЕрд╕рддрдд рд▓рдШреБрдЧрдгрдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдп рдХреА рдХрдард┐рдирд╛рдИ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ: рдЬреНрдЮрд╛рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП
y,рдЬреА,рдкреА рдЦреЛрдЬ
x рд╕рдореАрдХрд░рдг рд╕реЗ
y=gx bmodp ред
рд╢рдореАрд░ рдХрд╛ рдХреАрд▓реЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рдкрд╛рд░реНрдЯрд┐рдпрд╛рдВ рдПрдХ рдмрдбрд╝реЗ рдкреНрд░рд╛рдЗрдо рдкрд░ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ
p sim21024 ред рдкреНрд░рддреНрдпреЗрдХ рдкрдХреНрд╖ рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдЪреБрдирддрд╛ рд╣реИред
рдПрдХ рдФрд░
рдм ред рдпреЗ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЫреЛрдЯреА рдФрд░ рдкрд░рд╕реНрдкрд░ рд╕рд░рд▓ рд╣реЛрддреА рд╣реИрдВред
pтИТ1 ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
тА▓ рдФрд░
рдмтА▓ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
startarrayla=aтИТ1 mod(pтИТ1),a рдЯрд╛рдЗрдореНрд╕aтА▓=1 mod(pтИТ1), forallX:(X)a)aтА▓=X. endрд╕рд░рдгреА
рдЕрдВрддрд┐рдо рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ Fermat рдХреЗ рдЫреЛрдЯреЗ рдкреНрд░рдореЗрдп \ рд╕реВрдЪрдХрд╛рдВрдХ {рдкреНрд░рдореЗрдп рдХреЗ рдХреЛрд░реЛрд▓рд░реА рджреНрд╡рд╛рд░рд╛ рд╕рдЪ рд╣реИ! рдЦреЗрдд рдЫреЛрдЯрд╛ рд╣реИ}ред рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдСрдкрд░реЗрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:
\ start {array} {lll} \ forall M <p: & C = E (M) = M ^ {a} & \ mod p, \\ & D (C) = C ^ {a '} & \ mod p, \\ & D_A (E_A (M)) = M ^ {рдЖ '} = M & \ mod pред \\ \ рдЕрдВрдд {рд╕рд░рдгреА}
- рдРрд▓рд┐рд╕ рдПрдХ рдирдпрд╛ рд╕рддреНрд░ рдХреБрдВрдЬреА рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ K<p
рдРрд▓рд┐рд╕ \ to \ рдмрд╛рдпрд╛рдВ \ {рдИ_рдП \ рдмрд╛рдпрд╛рдВ (рдХреЗ \ рджрд╛рдпрд╛) = рдХреЗ ^ рдП \ _ рдмрд╛рдореЛрдб рдкреА \ _ \ _ \ _ рдмреЙрдм - Bob \ _ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) = K ^ {ab} \ bmod p \ right \} рдХреЛ рдРрд▓рд┐рд╕
- рдРрд▓рд┐рд╕, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрдореНрдпреВрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП,
DA рдмрд╛рдПрдБ(EB рдмрд╛рдПрдБ(EA рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) рджрд╛рдПрдБ) рджрд╛рдПрдБ)=KabaтА▓=Kb=EB рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) modpред
рдРрд▓рд┐рд╕ \ рд╕реЗ \ рдмрд╛рдпрд╛рдВ \ {рдИ_рдирдпрд╛ рдмрд╛рдпрд╛рдВ (рдХреЗ \ рджрд╛рдпрд╛) = рдХреЗ ^ рдмреА \ _ \ _ \ _ рдмреЙрдм $ рдд - рдмреЙрдм рдбрд┐рдХреНрд░рд┐рдкреНрдЯ DB рдмрд╛рдПрдБ(EB рдмрд╛рдПрдБ(K рджрд╛рдПрдБ) рджрд╛рдПрдБ)=KbbтА▓ bmod==
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рддреНрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдРрд▓рд┐рд╕ рдФрд░ рдмреЙрдм рдЖрдо рд╕рддреНрд░ рдХреБрдВрдЬреА рдЬрд╛рдирддреЗ рд╣реИрдВ
K ред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдВрд╕реАрд▓ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯреЗрдб рддреАрди рд╕рдВрджреЗрд╢ рд╣реИрдВ:
startarrayly1=Kaabmodp,y2=Kab bmodp,y3=Kb bmodpред рдЕрдВрддрд╕рд░рдгреА
рдХреБрдВрдЬреА рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП
K , рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдВрд╕реА рдХреЛ рдЗрди рддреАрди рд╕рдореАрдХрд░рдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдпрджрд┐ рд╕рднреА рддреАрди рд╕рдВрдЦреНрдпрд╛рдПрдВ
рдП,рдмреА,рдЕрдм рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐
рдПрдХ (рдпрд╛
рдм ) рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдлрд┐рд░, рдХреНрд░рдорд┐рдХ рдбрд┐рдЧреНрд░реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ
y3 (рдпрд╛
y1 ), рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдПрдХ (рдпрд╛
рдм ), рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХреЗ рд╕рд╛рде
y2 ред рдЬреНрдЮрд╛рди
рдПрдХ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ
aтИТ1 bmod(рдкреАтИТ1) рдФрд░
K=(y1)aтИТ1 bmodp ред
рдореИрд╕реА-рдУрдореБрд░рд╛ рдХреНрд░рд┐рдкреНрдЯреЛрд╕рд┐рд╕реНрдЯрдо
1982 рдореЗрдВ, рдЬреЗрдореНрд╕ рдореИрд╕реА рдФрд░ рдЬрд┐рдо рдУрдореБрд░рд╛ рдиреЗ рдПрдХ рдкреЗрдЯреЗрдВрдЯ (рдЬреЗрдореНрд╕ рдореИрд╕реА, рдЬрд┐рдо рдХреЗред рдУрдореБрд░рд╛) рджрд╛рдпрд░ рдХрд┐рдпрд╛, (рдЙрдирдХреА рд░рд╛рдп рдореЗрдВ) рд╢рдореАрд░ рдХреЗ рдкреНрд░рдореБрдЦ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ред рдПрдХ рдЧреБрдгрдХ рд╕рдореВрд╣ рдореЗрдВ рдШрд╛рддрд╛рдВрдХ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдСрдкрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ
mathbbZтИЧp рдЙрдиреНрд╣реЛрдВрдиреЗ рдЧреИрд▓реЛрдЬ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдШрд╛рддрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛
mathbbGF2n ред рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд░реНрдЯреА рдХреА рдЧреБрдкреНрдд рдХреБрдВрдЬреА (рдРрд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП -
рдПрдХ ) рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
startarraylin mathbbGF2n,gfd left(a,xnтИТ1+xnтИТ2+...+x+1 рд╕рд╣реА)=1. рдЕрдВрддрд╕рд░рдгреА
рдЕрдиреНрдпрдерд╛, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИред
рдЕрдВрддрднрд╛рд╖рдг
рд▓реЗрдЦрдХ рдкрд╛рда рдкрд░ рддрдереНрдпрд╛рддреНрдордХ рдФрд░ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реЛрдЧрд╛ред