рдЬреИрд╕рд╛ рдХрд┐
рдЕрдЧрд▓реЗ рд╡рд┐рд╖рдп рдореЗрдВ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВ SRP
RFC2945 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ - рдПрдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЪреИрдирд▓ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдПрдХ рдФрд░ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЦреЛрдЬ рдХреА,
рдПрд╕рдЖрд░рдкреА -6 , рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдореИрдВрдиреЗ рдПрд╕рдЖрд░рдкреА -3 рдкрд░ рдЕрдкрдиреЗ рдкреБрд░рд╛рддрди рд╡рд┐рдХрд╛рд╕ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдмрд╕ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред
рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд┐рдореЛрдЯ рдкрд╛рд╕рд╡рд░реНрдб (рдПрд╕рдЖрд░рдкреА) рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХрд░рдг рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪрд░рдг рдореЗрдВ рдФрд░ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлреА-рд╣реЗрд▓рдореИрди рдХреЗ рдХрд░реАрдм рдПрдХ рдпреЛрдЬрдирд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдПрд╕рдЖрд░рдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд╛ рдкреВрд░рд╛ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдореЗрдВ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рд▓реЙрдЧрдЗрди рдХрд╛ рдкреВрд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЛрдЧреЛрдВ рдХреЛ рд▓реАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдорд▓рд╛рд╡рд░ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ред x
рдЗрд╕рд▓рд┐рдП, рдПрд╕рдЖрд░рдкреА рдХреА рдХрдо рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
- "рд╕реБрд░рдХреНрд╖рд╛ рдХреНрд╖реЗрддреНрд░" рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ:
H = , .
N = " " = 2*q+1 , q .
g = N => 0 < X < N x , g^x % N = X.
k = -. SRP-6a H(N, g); SRP-6 3
- рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдЧреНрд░рд╛рд╣рдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ:
s = random_string()
x = H(s, p)
v = g^x % N
рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рддреАрди рдлрд╝реАрд▓реНрдб рднреЗрдЬрддрд╛ рд╣реИ:
I = username
s = salt
v = password verifier
g
рдФрд░ N
рдХреЗ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде, рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд╛рдлреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ - рдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд░реВрдк рд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдЕрд╕рддрдд рд▓рдШреБрдЧрдгрдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ - x
рд╕реЗ v=g^x%N
рдЬрд╛рдирдирд╛ v, g, N
v=g^x%N
рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ v, g, N
рдпрд╣ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рд╣реИ рдХрд┐, рднрд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ (рд╣реИрд▓реЛ рд╕реЛрдиреА!) рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реВрдЦрд╛ рд╣реИ, рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрдж рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ _server_ рджреНрд╡рд╛рд░рд╛ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рд╡рд┐рдзрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреА рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд╡рд╣ рд╣реИ рдЬреЛ рдпрд╣ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдореИрди-рдЗрди-рдж-рдорд┐рдбрд┐рд▓ рд╣рдорд▓рд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рд╣реБрдЖ рд╣реИ - рдПрдХ рд╣рдорд▓рд╛рд╡рд░ (рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд░реВрдк рд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ) рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рд╕рддреНрд░ рдХреБрдВрдЬреА K рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛:
I = username
a = random()
A = g^a % N
рд▓реЙрдЧрд┐рди I
рдФрд░ рдЧрдгрдирд╛ A
рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
рд╕рд░реНрд╡рд░ рдХреЛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдП! = 0ред - рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕рдХреЗ рдЬрд╝рд╢реНрдирд┐рдХреЛрдВ рд╕реЗ рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рджреЛ рдирдВрдмрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ:
s = ,
v = ,
рдлрд┐рд░ рдпрд╣ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ b
рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ
B=(k*v + g^b % N) % N
рдирдордХ рдХреА рдЧрдгрдирд╛ рдФрд░ B
рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред
рдЗрд╕ рдХреНрд╖рдг рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЙрд╕ B != 0
рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред - рджреЛрдиреЛрдВ рдкрдХреНрд╖ рд╕реНрдХреНрд░реИрдореНрдмрд▓рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ:
u = H(A, B)
ред
рдпрджрд┐ u == 0, рдХрдиреЗрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред - рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб
p
рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╛рдЭрд╛ рд╕рддреНрд░ рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ:
x = H(s, p)
S = ((B - k*(g^x % N)) ^ (a + u*x)) % N
K = H(S)
- рд╕рд░реНрд╡рд░, рдЗрд╕рдХреЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЭрд╛ рд╕рддреНрд░ рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рднреА рдХрд░рддрд╛ рд╣реИ:
S = ((A*(v^u % N)) ^ b) % N
K = H(S)
- рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ, рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ _really_ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ K рд╣реИред
рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдЦреБрдж рджреБрд╖реНрдЯ рдкрд┐рдиреЛрдЪрд┐рдпреЛ рд╣реИрдВ, рд╡рд┐рдирд┐рдордп рдХрд╛ рджреВрд╕рд░рд╛ рджреМрд░ред
рдЧреНрд░рд╛рд╣рдХ рдПрдХ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
M = H( H(N) XOR H(g), H(I), s, A, B, K)
рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ K рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ M рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡реЗ рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА K рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд╣ рд╣реИ рдЬреЛ рд╡рд╣ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрд░ рдХреЛ рднреЗрдЬреЗ рдмрд┐рдирд╛ рдХрдиреЗрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рд╡реЗ рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╣ рдКрдВрдЯ рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдЙрд╕реЗ рдЙрддреНрддрд░ рдореЗрдВ рдЕрдкрдиреА рдкреБрд╖реНрдЯрд┐ рднреЗрдЬрддрд╛ рд╣реИ:
R = H( A, M, K )
рдЧреНрд░рд╛рд╣рдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ R рдЕрдкрдиреА рдЧрдгрдирд╛ K рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ 2 рдХреЙрд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдХреНрд╖ рдкрд░ рдХреБрдЫ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ред рд╕рд░реНрд╡рд░ рдпрдерд╛рд╕рдВрднрд╡ рдХрдо рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдШрд░ рдкрд░ рд╕рднреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдкрдиреЗ рдХрдмреНрдЬреЗ рдореЗрдВ рдПрд╕ рдФрд░ рд╡реА рдХреЗ рд╕рд╛рде рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдПрдХ рд╕рд░реНрд╡рд░ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ
рдордзреНрдпрд╕реНрде рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред
рд▓реЙрдЧрд┐рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреНрд▓рд╛рд╕рд┐рдХ рдлреЙрд░реНрдо рд▓реЙрдЧрд┐рди + рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдСрдирд╕реНрдорд┐рдЯ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдорд╛рдгрдХ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред
рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдХреЛрдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдлреЙрд░реНрдо "рдЬреИрд╕рд╛ рд╣реИ" рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдПрдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди "рдбрдВрдм" рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ (рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдХреЗ) рд╕реЗ рднреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЬреЗрдПрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, AJAX рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдкреЛрдВ рдХреЛ рднреЗрдЬрдХрд░, рдЙрдирдХреЗ рдмреАрдЪ рдЧрдгрдирд╛ рдХрд░рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рд╕рд╛рдЗрдЯ рдХреЛ рдЬреЗрдПрд╕ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреЙрд▓рдмреИрдХ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рд╣рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рдордп рдФрд░ рдмрд▓реЛрдВ рдХреЛ "рдЦреАрдВрдЪ" рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ), рддреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдпреЛрдЬрдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ: рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдлрд╝реАрд▓реНрдб рдлреЙрд░реНрдо рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИрдВред рд▓реЙрдЧрд┐рди рдлрд╝реАрд▓реНрдб рд╕реЗ, рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝реАрд▓реНрдб рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ ajax рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рд╕реНрдкрд┐рдирд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдирдордХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝реАрд▓реНрдб рдЕрдирд▓реЙрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреЗрдПрд╕ рдХреЛ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдордп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧрд╛рд╡ рдХреА рднрд╛рд╡рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдлрд┐рд░ рднреА, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧрдгрд┐рдд рд╣реИрдВред рдЬрдм рдореИрдВрдиреЗ SRP-3 рдкрд░ SHA1 (рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдкрд╣рд▓реЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреА рдЬрд╛рдВрдЪ рдХреА, рддреЛ 512-рдмрд┐рдЯ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП 30 рд╕реЗрдХрдВрдб рддрдХ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдирд┐рдХрд▓рд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рдВрдкреВрд░реНрдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ UI [рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ IE6;)] рдкреВрд░реЗ рдЧрдгрдирд╛ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реИред рд╕рдорд╛рдзрд╛рди рдирд┐рд░рдВрддрд░рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ (рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд▓рд╛рдЗрд╕ рдореЗрдВ рдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛), (рдХреЙрд▓ рдХреЗ рдмреАрдЪ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛) рдпрд╛ рдлреНрд▓реИрд╢ / рдЬрд╛рд╡рд╛ рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рдирд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рд╡рд╛ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЧрддрд┐ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рдФрд░ рдлреНрд▓реИрд╢ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗред
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ - рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдирдордХ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рди рджреЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЧреИрд░-рдореМрдЬреВрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирдордХ рдХреА рдЧрдгрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ, рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рдХрд┐рд╕реА рднреА рдЧреБрдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирдордХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирдордХ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдирд╛ рднреА рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдлрд╝рд┐рд╢рд┐рдВрдЧ рд╕реЗ рд░рдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирдХрд▓реА рд╕рд╛рдЗрдЯ рдПрдХ рд╕рдорд╛рди рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝реАрд▓реНрдб рднреА рд╣реЛрдВрдЧреЗ, рдЬреЛ рдЧрдгрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рддрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 1 рд╕реЗ 1e12 рддрдХ рдХреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ "рдЬреИрд╕рд╛ рд╣реИ" рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ред ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЬрд╛рд╡рд╛ рдкреНрд░рдорд╛рдгрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рд╣реИ - рдЬрдм рдлреЗрдХрд┐рдВрдЧ, рддреЛ рд▓реЗрдЦрдХ рдХреЛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓реЗрдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ ... рдЬреЛ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдорд╛рдирд╡ рдЖрд▓рд╕реНрдп рдФрд░ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИред
рдЬреЗрдПрд╕ рдкрд░ рддреИрдпрд╛рд░ рдПрд╕рдЖрд░рдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдВрдХ рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: