
рд▓рдЧрднрдЧ рд╕рд╛рдд рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЖрд░реНрдордбрд┐рд▓реЛ рдирд╛рдордХ рдПрдХ рдЯреНрд░реЗрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдкрдЯрд╛рдЦреЗ рдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред рдЙрддреНрдкрд╛рдж рдХреЗ рдХреБрдЫ рдЖрднрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдпрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд╛ред рдФрд░ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдкрдЯрд╛рдЦрд╛ рдордВрдЪ рдкрд░ рдирд╣реАрдВ рддреЛ рдРрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдХреЛрдб рдХрд╛ рдореБрдлреНрдд рдСрдбрд┐рдЯ рдорд┐рд▓реЗрдЧрд╛ред
рдЗрд╕ рдЬрдирд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рддрд╛рдХрд┐ рдЬрдм рдХреЛрдИ рдЧреНрд░рд╛рд╣рдХ рдЖрдкрдХреЗ рдЖрд░реНрдордбрд┐рд▓реЛ-рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЦрд░реАрджреЗ, рддреЛ рд╡реНрдпрд╛рдкрд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХреЗред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреБрдж рдЖрд░реНрдордбрд┐рд▓реЛ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░, рдЕрдЧрд░ рдХрд┐рд╕реА рд░рд╣рд╕реНрдп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдерд╛, рддреЛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреЗрдЬреЗрди рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдХреЛрдб рдСрдбрд┐рдЯрд┐рдВрдЧ рджреЛрдЧреБрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдмрдирд╛ рджрд┐рдпрд╛ред
рддреЛ,
рдпрд╣ рдпрд╣рд╛рдБ рд╣реИ , рдЯрд╛рдЗрдЯреИрдирд┐рдХ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдореВрд▓ рд╕рдВрдЧреНрд░рд╣ред (рд╕реА рдореЗрдВ рд╕реНрд░реЛрдд)
рднреЗрджреНрдпрддрд╛ рдХреНрдпрд╛ рдЫрд┐рдкреА рд╣реИ, рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рд╕реБрд░рд╛рдЧ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдмрд╣реБрдд рдХреЛрдб рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдФрд░ рдЕрдЧрд░ рдЖрдк 528 рд▓рд╛рдЗрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ?
рдареАрдХ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдХреБрдВрдЬреА рдХреЗ рдХрдИ рдкреНрд░рдХрд╛рд░ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ, рдирдП, рдЖрджрд┐ред рд╣рдо рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддрдерд╛рдХрдерд┐рдд рд╢реЙрд░реНрдЯ рд▓реЗрд╡рд▓ V10 ECC рдиреЗ рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЧрдгрд┐рдд рдФрд░ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЗ рд╕рд╛рде рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЖрдзрд╛ рдЖрд░рдХреНрд╖рд┐рдд рд╣реИред рддреЛ, рд╣рдо ECDSA рдХреЛ рддреЛрдбрд╝ рджреЗрдВрдЧреЗ!
рд╡рдХреНрд░ 112 рдмрд┐рдЯреНрд╕ рд╣реИ, рдЧреБрдкреНрдд рдХреБрдВрдЬреА (
x ) рднреА 112 рдмрд┐рдЯреНрд╕ рд╣реИред рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рд╣реИред
рд▓реЗрдХрд┐рди!рдЧреБрдкреНрдд рдорд╛рди PRNG рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ... рдЯрд╛рдбрд╛!
32 рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ !
Matan
рдХреАрдЬреЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рд╡реИрдз рдХреБрдВрдЬреА рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдорд╢реАрди рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЛ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдиреАрдЪреЗ рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпреЛрдВред
рдУрд╣, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛! рдЖрдЦрд┐рд░рдХрд╛рд░, рдЬрдм рдЖрдк рдЖрд░реНрдордбрд┐рд▓реЛ рдЦрд░реАрджрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА, рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрд╕рд▓реА рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рд╡рд┐рд╖рдп рд╕реЗ рд╡рд╛рдкрд╕ рдХрджрдо рд░рдЦрд╛, рдЬрд╛рд░реА рд░рдЦреЗрдВред
рдХреБрдВрдЬреА рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░
рдИрд╕реАрдбреАрдПрд╕рдП рдкреИрд░рд╛рдореАрдЯрд░
рдПрдЪ, рдЖрд░, рдПрд╕ рд╣реИрдВ ред
рдПрдЪ - рд╕рдВрджреЗрд╢ рд╣реИрд╢,
рдЖрд░, рдПрд╕ - рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреИрд░рд╛рдореАрдЯрд░ред
рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдПрдХ рддрд░рд╣ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдпрд╣ рд╣реИ рдХрд┐
рдЖрд░ рдФрд░
рдПрд╕ рдХреЛ
рд╕реА рдФрд░
рдбреА рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ, рд╣рдорд╛рд░реЗ рджреЛ рддреНрд░реИрдорд╛рд╕рд┐рдХ
(рдЖрд░, рдПрд╕) рдПрдЪ рдФрд░
(рдЖрд░ ', рдПрд╕') рдПрдЪ рд╣реИрдВ '(рдИрд╕реА) рдбреАрдПрд╕рдП
рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ
рдбреАрдПрд╕рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрддреНрд░ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╕рд╛рд░ рд╕рдорд╛рди рд╣реИ рдФрд░ рд╕реВрддреНрд░реЛрдВ рдХрд╛ рд╕рд╛рд░ рд╕рдорд╛рди рд╣реИ, рд╡реЗ рдмрд╕ рдЕрдзрд┐рдХ рдкрдардиреАрдп рд╣реИрдВред
(EC) DSA рдореЗрдВ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛
x рд╣реИ ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреАрдПрд╕рдП рдореЗрдВ), рджреЛ рдмрдбрд╝реЗ рдЕрдкрд░рд╛рдзреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
q , рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
p рдРрд╕рд╛ (p-1) q рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реИред
рд╣рдо рдПрдХ рд╕рдВрдЦреНрдпрд╛
g рдХреЛ рднреА рдЪреБрдирддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕рдХрд╛ рдЧреБрдгрди рдХреНрд░рдо modulo
p q (рд╡рд┐рдХреА рд▓реЗрдЦ рджреЗрдЦреЗрдВ)ред рд▓реЗрдХрд┐рди, рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рд╕реВрддреНрд░реЛрдВ рдореЗрдВ рдорд┐рд▓реЗрдЧреАред
рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддреЗ рд╣реИрдВ:
- рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╢реНрдореАрд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
- compute r = g k mod p mod q
- s = k -1 (H ( m ) + x * r) mod q рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
рдЬрд╣рд╛рдВ
H ( m ) рдЙрд╕ рд╕рдВрджреЗрд╢ рдХрд╛ рд╣реИрд╢ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╛рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рднреЗрджреНрдпрддрд╛
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рджреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджреЛ рд╕рдорд╛рди
рдЖрд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓реЗред
s рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
s = k -1 (H (m) + x * r) mod qs '= k -1 (H (m') + x * r) mod qрдПрдХ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдШрдЯрд╛рдПрдБ (рд╕рднреА рдСрдкрд░реЗрд╢рди рдореЛрдбреБрд▓реЛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)
s - s '= k -1 (h + x * r) - k -1 (h' + x * r)рдЕрдм,
k рдХреЛ рдмреНрд░реИрдХреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд╛рди рд╣реИ
s- s '= k -1 (h + x * r - h'тАУ x * r)рдПрдХреНрд╕ * рдЖрд░ рд╣рдЯрдирд╛
s- s '= k -1 (h- h')рд▓реЗрдлреНрдЯ
k рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛
k = (h- h ') / (s - s')рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ,
r = g k mod p mod q ред
рдпрд╣рд╛рдБ рдкреВрд░реА рд╕рдорд╕реНрдпрд╛
k рдореЗрдВ рд╣реИ ред рдпрджрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ, рддреЛ рдЖрдк рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЧреБрдкреНрдд рдХреБрдВрдЬреА
x рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
x = (s * k) - h) * r -1 mod qрдЬреЛ 2010 рдореЗрдВ
fail0verflow рджреНрд╡рд╛рд░рд╛
рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╕реЛрдиреА рд╕реЗ zhoporukye рдПрдирдХреЛрдбрд░ рдХреЗрд╡рд▓
рдПрдХ рдмрд╛рд░ рдХрд╢реНрдореАрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛
рдЕрд░реНрдорд╛рдбрд┐рд▓реЛ рдХреЗ рд╕рд╛рде, рдЪреАрдЬреЗрдВ рдЗрддрдиреА рд╕рд░рд▓ рдирд╣реАрдВ рдереАрдВред
рдЖрд░ рд╣рдореЗрд╢рд╛ рдЕрд▓рдЧ рдереЗ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЬрдирд░реЗрдЯрд░ рдХреЛ 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреБрд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 2
32 рдереА , рдЬрд┐рд╕рдиреЗ рдЧрдгрдирд╛ рдХреЛ рдХрдИ рдШрдВрдЯреЛрдВ рдХрд╛ рдорд╛рдорд▓рд╛ рдмрдирд╛ рджрд┐рдпрд╛ рдерд╛ред
рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рд╕рднреА рдСрдкрд░реЗрд╢рди рдореЛрдбреБрд▓реЛ):
- рдЬ тАЩ= -рд╣
- r '= r -1
- s '= s * r'
- h '= h' * r '
- рд╣рдо рдЪрдХреНрд░ рдХреЛ 0 рд╕реЗ 2 32 -1 рддрдХ рдФрд░ рдЙрд╕рдореЗрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
- рд╣рдо рдЖрд░рдПрдирдЬреА рдХрд╛рдЙрдВрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
- рд╕рдВрдЦреНрдпрд╛ k рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
- рдЧрдгрдирд╛ рдПрдХреНрд╕ = ((рдПрд╕ * рдХреЗ) - рдПрдЪ) * рдЖрд░ -1 рдореЙрдб рдХреНрдпреВ
- рдЗрд╕ x рдХреЛ рдмрдЪрд╛рдУ
рдФрд░ рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдПред рдпрд╣ рджреЛ рдХрд╣реАрдВ 2.6 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛ рд╣реИред рдлрд┐рд░ рдЖрдкрдХреЛ рдмрд╕ рдЙрдирдореЗрдВ рдПрдХ рд╣реА
рдПрдХреНрд╕ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рд╣реЛрдЧреАред
рдЙрд╕реА рддрд░рд╣, рдбреЗрдмрд┐рдпрди рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдореБрдЦ рдЬреЛрдбрд╝реА рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рдЬрдм 2008 рдореЗрдВ рдпрд╣
рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдПрдХ рдмрдЧ рдХреЗ рдХрд╛рд░рдг, PRNG рдХреЛ 0-2
15 рдХреА рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЖрдпреБрдз рдХреЗ рд╕рд╛рде рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднреА рдЖрд╕рд╛рди рд╣реИред рдФрд░
2006 рд╕реЗ 2008 рддрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╕реЗ рдбреЗрдмрд┐рдпрди рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╕рднреА рдбреАрдПрд╕рдП рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред
рдареАрдХ рд╣реИ, рдЖрд░реНрдордбрд┐рд▓реНрд▓рд╛ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯреНрд░реЛрд▓ рдХрд┐рдпрд╛ рд╣реИ (рдХреАрдЬрди рдиреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ), рдФрд░ рдлрд┐рд░ рднреЗрджреНрдпрддрд╛ рддрдп рдХреА рдЧрдИ рдереА (рдЕрдкрдбреЗрдЯ рдХреАрдЬрди рдкреНрд░рдХрд╛рд░ рднреА
рдЙрдкрд▓рдмреНрдз рд╣реИрдВ , рдЖрдк рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╡реИрд╕реЗ, рдпрд╣ рдЕрднрд┐рдпрд╛рди рдЕрдирдиреНрдп рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдпрд╣, рд╡реИрд╕реЗ, рдкрд╣рд▓реЗ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦрд┐рдд PSP рд╣реИрдХреНрд╕ рдФрд░ рдбреЗрдмрд┐рдпрди рдореЗрдВ рдПрдХ рдЫреЗрдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдерд╛ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред рдЕрдкрдиреЗ PRNG рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдВред
рдкреБрдирд╢реНрдЪ
рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдЖрд░реНрдордбрд┐рд▓рд╛ рдФрд░ рдореЗрд░реЗ рдирд╛рдо рдХреА рджреЛ рд╡реИрдз рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде
рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдЖрдк рдШрд░ рдХреЗ рдХрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
80 lvl рдХреЗ рд▓рд┐рдП: рдПрдХ рдХреБрдВрдЬреА рдХрд░реЗрдВред рдФрд░ рдХреНрдпрд╛, рдХрд╛рдлреА рдПрдХ olympiad рд╕рдорд╕реНрдпрд╛