{"id":472349,"date":"2025-08-27T15:02:04","date_gmt":"2025-08-27T15:02:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=472349"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=472349","title":{"rendered":"<span>\u0422\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c ECDSA: \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u044b<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/h3>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 (ECDSA) \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u0437\u043c\u0443 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438. \u041c\u044b \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 ECDSA \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0440\u0430 \u0438 \u0432\u0432\u043e\u0434\u0438\u043c \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b (\u0447\u0438\u0441\u043b\u0430 \u0411\u0435\u0442\u0442\u0438, \u044d\u0439\u043b\u0435\u0440\u043e\u0432\u0430 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430) \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u0448 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0437\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438, \u043c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0438 \u0433\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441 O(m\u2074) \u0434\u043e O(m log m). \u041c\u044b \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c: \u03b2\u2080 = 1, \u03b2\u2081 = 2, \u03b2\u2082 = 1. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044e subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u0441\u0442\u0430\u043c\u0438. \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Project Wycheproof \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442 \u043d\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443, \u0434\u0435\u043b\u0430\u044f \u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0439 \u0434\u043b\u044f \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0438.<\/p>\n<h3>1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h3>\n<p>\u042d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u0440\u0438\u0432\u044b\u0435 \u0441\u0442\u0430\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0430\u043b\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u043a\u043b\u044e\u0447\u0435\u0439. ECDSA (Elliptic Curve Digital Signature Algorithm) \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u0445, TLS \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445. \u041e\u0434\u043d\u0430\u043a\u043e, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b \u0441 Sony PS3 [1] \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 Bitcoin-\u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u0432 [2], \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439.<\/p>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0435\u043d\u044b \u043d\u0430:<\/p>\n<ul>\n<li>\n<p>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 [3]<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0448\u0435\u0442\u043e\u0447\u043d\u044b\u0445 \u0430\u0442\u0430\u043a\u0430\u0445 \u043f\u0440\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0439 \u0443\u0442\u0435\u0447\u043a\u0435 nonce [4]<\/p>\n<\/li>\n<li>\n<p>\u0410\u0442\u0430\u043a\u0430\u0445 \u043f\u043e \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u043c \u043a\u0430\u043d\u0430\u043b\u0430\u043c [5]<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u043c\u0435\u044e\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439.<\/p>\n<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0445 [6, 7] \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0443 ECDSA, \u0433\u0434\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0440\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c (O(m\u2074)) \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0439 \u0433\u043e\u043c\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 m \u0442\u043e\u0447\u0435\u043a \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430.<\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u044b \u0440\u0435\u0448\u0430\u0435\u043c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044f <strong>\u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/strong>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0437\u0430\u043a\u043e\u043d\u0430\u0445 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043f\u0438\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0440\u0430\u043a\u0442\u0430\u043b\u0430\u0445. \u041d\u0430\u0448 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u0442\u0435\u043e\u0440\u0435\u043c\u0430 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b R_x, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e ECDSA.<\/p>\n<h3>2. \u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u044b<\/h3>\n<h4>2.1. \u0424\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 ECDSA \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u043e\u0440\u0430<\/h4>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 ECDSA:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"s \\cdot k \\equiv z + r \\cdot d \\mod n\" alt=\"s \\cdot k \\equiv z + r \\cdot d \\mod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d0\/d00\/d00618136c1d52afc7f96f75ecd11510.svg\" width=\"184\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d0\/d00\/d00618136c1d52afc7f96f75ecd11510.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d0\/d00\/d00618136c1d52afc7f96f75ecd11510.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"s\" alt=\"s\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03c\/03c7c0ace395d80182db07ae2c30f034.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03c\/03c7c0ace395d80182db07ae2c30f034.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03c\/03c7c0ace395d80182db07ae2c30f034.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438, <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 nonce, <img decoding=\"async\" class=\"formula inline\" source=\"z\" alt=\"z\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fb\/fba\/fbade9e36a3f36d3d676c1b808451dd7.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fb\/fba\/fbade9e36a3f36d3d676c1b808451dd7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fb\/fba\/fbade9e36a3f36d3d676c1b808451dd7.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0445\u0435\u0448 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, <img decoding=\"async\" class=\"formula inline\" source=\"r\" alt=\"r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4b\/4b4\/4b43b0aee35624cd95b910189b3dc231.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4b\/4b4\/4b43b0aee35624cd95b910189b3dc231.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4b\/4b4\/4b43b0aee35624cd95b910189b3dc231.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, <img decoding=\"async\" class=\"formula inline\" source=\"d\" alt=\"d\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447, <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0433\u0440\u0443\u043f\u043f\u044b.<\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"k = u_r \\cdot d + u_z \\mod n\" alt=\"k = u_r \\cdot d + u_z \\mod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cc\/cc7\/cc77e1250ffe453a53cb0cbf1cfa04ea.svg\" width=\"184\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cc\/cc7\/cc77e1250ffe453a53cb0cbf1cfa04ea.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cc\/cc7\/cc77e1250ffe453a53cb0cbf1cfa04ea.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"u_r = r \\cdot s^{-1}\" alt=\"u_r = r \\cdot s^{-1}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9f\/9ff\/9ff407106aa63c2956eecb6a03c1f719.svg\" width=\"88\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9f\/9ff\/9ff407106aa63c2956eecb6a03c1f719.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9f\/9ff\/9ff407106aa63c2956eecb6a03c1f719.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"u_z = z \\cdot s^{-1}\" alt=\"u_z = z \\cdot s^{-1}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2d\/2d2\/2d2e3adc7891c8e6d138bfb620c952fa.svg\" width=\"88\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2d\/2d2\/2d2e3adc7891c8e6d138bfb620c952fa.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2d\/2d2\/2d2e3adc7891c8e6d138bfb620c952fa.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0438\u043c\u0435\u0435\u0442 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043f\u0440\u0438\u0440\u043e\u0434\u0443 \u0438\u0437-\u0437\u0430 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0439 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0433\u043e \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 \u0442\u043e\u0440\u0430 [8]. \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c <img decoding=\"async\" class=\"formula inline\" source=\"\\mathbb{Z}_n \\times \\mathbb{Z}_n\" alt=\"\\mathbb{Z}_n \\times \\mathbb{Z}_n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/45\/459\/4591517dbbcd3a23b6baf47b500471d6.svg\" width=\"64\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/45\/459\/4591517dbbcd3a23b6baf47b500471d6.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/45\/459\/4591517dbbcd3a23b6baf47b500471d6.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z) \\sim (u_r + n, u_z) \\sim (u_r, u_z + n)\" alt=\"(u_r, u_z) \\sim (u_r + n, u_z) \\sim (u_r, u_z + n)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6a\/6a8\/6a8bfbf85a5f3ca55663761e7d03e7e5.svg\" width=\"280\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6a\/6a8\/6a8bfbf85a5f3ca55663761e7d03e7e5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6a\/6a8\/6a8bfbf85a5f3ca55663761e7d03e7e5.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<h4>2.2. \u0422\u0435\u043e\u0440\u0435\u043c\u0430 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b R_x<\/h4>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 <img decoding=\"async\" class=\"formula inline\" source=\"R_x\" alt=\"R_x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg\" width=\"16\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0433\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 <img decoding=\"async\" class=\"formula inline\" source=\"u_r\" alt=\"u_r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/97\/974\/974cbdfbdf088e6384370e791e132649.svg\" width=\"16\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/97\/974\/974cbdfbdf088e6384370e791e132649.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/97\/974\/974cbdfbdf088e6384370e791e132649.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u2014 <img decoding=\"async\" class=\"formula inline\" source=\"u_z\" alt=\"u_z\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03b\/03bc4fe35c18dc49891ddb3c4dd4f266.svg\" width=\"16\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03b\/03bc4fe35c18dc49891ddb3c4dd4f266.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03b\/03bc4fe35c18dc49891ddb3c4dd4f266.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0430 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <img decoding=\"async\" class=\"formula inline\" source=\"R_x = x(kG)\" alt=\"R_x = x(kG)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5a\/5ac\/5acaad8d7b6b738e29978bcb7e3d3e15.svg\" width=\"88\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5a\/5ac\/5acaad8d7b6b738e29978bcb7e3d3e15.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5a\/5ac\/5acaad8d7b6b738e29978bcb7e3d3e15.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p><strong>\u0422\u0435\u043e\u0440\u0435\u043c\u0430 1 (\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b R_x)<\/strong>: \u0415\u0441\u043b\u0438 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 ECDSA \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b <img decoding=\"async\" class=\"formula inline\" source=\"R_x\" alt=\"R_x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg\" width=\"16\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p><strong>\u0414\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e<\/strong>: \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043c Kohel [9], \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"R_x\" alt=\"R_x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg\" width=\"16\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u043e\u0432\u043d\u043e <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0440\u0430\u0437 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"n \\times n\" alt=\"n \\times n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/50\/50f\/50f17e5c11d610b19c0471830dc4dda1.svg\" width=\"40\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/50\/50f\/50f17e5c11d610b19c0471830dc4dda1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/50\/50f\/50f17e5c11d610b19c0471830dc4dda1.svg 781w\" loading=\"lazy\" decode=\"async\"\/>. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"u_r = \\text{const}\" alt=\"u_r = \\text{const}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/ff\/ff2\/ff2f0ea63ff6c4f6666cac50bf82b719.svg\" width=\"80\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/ff\/ff2\/ff2f0ea63ff6c4f6666cac50bf82b719.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/ff\/ff2\/ff2f0ea63ff6c4f6666cac50bf82b719.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"R_x\" alt=\"R_x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg\" width=\"16\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/442\/4426b0e8fb01536a88c60616a7181d9f.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u043e\u0432\u043d\u043e \u0434\u0432\u0430\u0436\u0434\u044b (\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u0438\u0437 \u0442\u0435\u043e\u0440\u0435\u043c\u044b \u043e \u0441\u0442\u0440\u0430\u0442\u0430\u0445). \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0442\u0440\u0430\u0442 <img decoding=\"async\" class=\"formula inline\" source=\"\\mathcal{S}_k\" alt=\"\\mathcal{S}_k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf0\/bf0f4512a7e2cfa913eb9b76bc75df7e.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf0\/bf0f4512a7e2cfa913eb9b76bc75df7e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf0\/bf0f4512a7e2cfa913eb9b76bc75df7e.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 (\u0438\u0437-\u0437\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"u_z = k - u_r \\cdot d\" alt=\"u_z = k - u_r \\cdot d\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9c\/9c8\/9c8b0be38e7c3e7e743a2874263c4a88.svg\" width=\"112\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9c\/9c8\/9c8b0be38e7c3e7e743a2874263c4a88.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9c\/9c8\/9c8b0be38e7c3e7e743a2874263c4a88.svg 781w\" loading=\"lazy\" decode=\"async\"\/>), \u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u0442\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"\\mathcal{S}_k\" alt=\"\\mathcal{S}_k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf0\/bf0f4512a7e2cfa913eb9b76bc75df7e.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf0\/bf0f4512a7e2cfa913eb9b76bc75df7e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf0\/bf0f4512a7e2cfa913eb9b76bc75df7e.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u043e\u0432\u043d\u043e \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c <img decoding=\"async\" class=\"formula inline\" source=\"R_x = c\" alt=\"R_x = c\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0bb\/0bba1b12a5160dc67776c8e1f50a293d.svg\" width=\"48\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0bb\/0bba1b12a5160dc67776c8e1f50a293d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0bb\/0bba1b12a5160dc67776c8e1f50a293d.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u042d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044e:<\/p>\n<p><strong>\u0421\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 1<\/strong>: \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0447\u0438\u0441\u043b\u0430 \u0411\u0435\u0442\u0442\u0438: <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_0 = 1\" alt=\"\\beta_0 = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/73b\/73b54e1a535953e83fe6de7bc96aa010.svg\" width=\"48\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/73b\/73b54e1a535953e83fe6de7bc96aa010.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/73b\/73b54e1a535953e83fe6de7bc96aa010.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_1 = 2\" alt=\"\\beta_1 = 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/29\/298\/2983d4a358a8c00a55510571ba18f884.svg\" width=\"48\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/29\/298\/2983d4a358a8c00a55510571ba18f884.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/29\/298\/2983d4a358a8c00a55510571ba18f884.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_2 = 1\" alt=\"\\beta_2 = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2b\/c2bdde3c0592ed03c3b17734e58eddf6.svg\" width=\"48\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2b\/c2bdde3c0592ed03c3b17734e58eddf6.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2b\/c2bdde3c0592ed03c3b17734e58eddf6.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u0413\u0434\u0435:<\/p>\n<ul>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\beta_0\" alt=\"\\beta_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5a\/5af\/5af9e28d609b16eb25693f44ea9d7a8f.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5a\/5af\/5af9e28d609b16eb25693f44ea9d7a8f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5a\/5af\/5af9e28d609b16eb25693f44ea9d7a8f.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\beta_1\" alt=\"\\beta_1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b4\/b4c\/b4ceec2c4656f5c1e7fc76c59c4f80f3.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b4\/b4c\/b4ceec2c4656f5c1e7fc76c59c4f80f3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b4\/b4c\/b4ceec2c4656f5c1e7fc76c59c4f80f3.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0447\u0438\u0441\u043b\u043e &#171;\u0434\u044b\u0440\u043e\u043a&#187; (\u0446\u0438\u043a\u043b\u043e\u0432)<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\beta_2\" alt=\"\\beta_2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d9\/d9f\/d9f51e864a6151f57e727294da7ac28c.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d9\/d9f\/d9f51e864a6151f57e727294da7ac28c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d9\/d9f\/d9f51e864a6151f57e727294da7ac28c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e ECDSA \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0438\u0441\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 TVI Score (Topological Vulnerability Index):<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\text{TVI} = \\frac{|\\beta_0 - 1| + |\\beta_1 - 2| + |\\beta_2 - 1|}{4}\" alt=\"\\text{TVI} = \\frac{|\\beta_0 - 1| + |\\beta_1 - 2| + |\\beta_2 - 1|}{4}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b0\/b0d\/b0da3e53e245c43c91aa7c607a1c52e4.svg\" width=\"280\" height=\"32\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b0\/b0d\/b0da3e53e245c43c91aa7c607a1c52e4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b0\/b0d\/b0da3e53e245c43c91aa7c607a1c52e4.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<h4>2.3. \u0417\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p><strong>\u0422\u0435\u043e\u0440\u0435\u043c\u0430 2 (\u0417\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438)<\/strong>: \u0414\u043b\u044f \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"d\" alt=\"d\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043f\u0435\u0440\u0438\u043e\u0434 <img decoding=\"async\" class=\"formula inline\" source=\"T\" alt=\"T\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b9\/b9e\/b9ece18c950afbfa6b0fdbfa4ff731d3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b9\/b9e\/b9ece18c950afbfa6b0fdbfa4ff731d3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b9\/b9e\/b9ece18c950afbfa6b0fdbfa4ff731d3.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"T = \\frac{n}{\\text{\u041d\u041e\u0414}(d-1, n)}\" alt=\"T = \\frac{n}{\\text{\u041d\u041e\u0414}(d-1, n)}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/ea\/ea1\/ea125948156cee8828f678faf8dbad1f.svg\" width=\"144\" height=\"32\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/ea\/ea1\/ea125948156cee8828f678faf8dbad1f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/ea\/ea1\/ea125948156cee8828f678faf8dbad1f.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p><strong>\u0414\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e<\/strong>: \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"k = u_r \\cdot d + u_z \\mod n\" alt=\"k = u_r \\cdot d + u_z \\mod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cc\/cc7\/cc77e1250ffe453a53cb0cbf1cfa04ea.svg\" width=\"184\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cc\/cc7\/cc77e1250ffe453a53cb0cbf1cfa04ea.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cc\/cc7\/cc77e1250ffe453a53cb0cbf1cfa04ea.svg 781w\" loading=\"lazy\" decode=\"async\"\/>. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c\u0441\u044f \u043f\u043e \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"u_z = u_r + c\" alt=\"u_z = u_r + c\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e8\/e8d\/e8d802dfa62a77e0a5a0d47105581098.svg\" width=\"88\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e8\/e8d\/e8d802dfa62a77e0a5a0d47105581098.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e8\/e8d\/e8d802dfa62a77e0a5a0d47105581098.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f <img decoding=\"async\" class=\"formula inline\" source=\"k = u_r \\cdot (d-1) + c \\mod n\" alt=\"k = u_r \\cdot (d-1) + c \\mod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/204\/204044be0f37f45fef655a54bb54266c.svg\" width=\"224\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/204\/204044be0f37f45fef655a54bb54266c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/204\/204044be0f37f45fef655a54bb54266c.svg 781w\" loading=\"lazy\" decode=\"async\"\/>. \u041f\u0435\u0440\u0438\u043e\u0434 \u044d\u0442\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"n \/ \\text{\u041d\u041e\u0414}(d-1, n)\" alt=\"n \/ \\text{\u041d\u041e\u0414}(d-1, n)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2b\/2bc\/2bc2fa1e4c0ed1ae1eac85525d5c8e1e.svg\" width=\"120\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2b\/2bc\/2bc2fa1e4c0ed1ae1eac85525d5c8e1e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2b\/2bc\/2bc2fa1e4c0ed1ae1eac85525d5c8e1e.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0433\u0440\u0443\u043f\u043f [10].<\/p>\n<p>\u042d\u0442\u043e\u0442 \u0437\u0430\u043a\u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 \u043e\u0434\u043d\u0438\u043c \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c <img decoding=\"async\" class=\"formula inline\" source=\"T\" alt=\"T\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b9\/b9e\/b9ece18c950afbfa6b0fdbfa4ff731d3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b9\/b9e\/b9ece18c950afbfa6b0fdbfa4ff731d3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b9\/b9e\/b9ece18c950afbfa6b0fdbfa4ff731d3.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0430 \u0437\u0430\u0442\u0435\u043c \u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/p>\n<h3>3. \u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f<\/h3>\n<h4>3.1. \u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/h4>\n<p>\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u0443\u044e \u0440\u0435\u0448\u0435\u0442\u043a\u0443, \u0447\u0442\u043e \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0439. \u041c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430.<\/p>\n<p><strong>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 1: \u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/strong><\/p>\n<pre><code>function dynamic_snail_scan(Q, n, params):     ur, uz = 0, 0     step_ur, step_uz = params['initial_step']     direction = 0  # 0: right, 1: up, 2: left, 3: down     steps_in_direction = 0     max_steps = params['max_steps']     results = []          for i in range(max_steps):         # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438         signature = generate_artificial_signature(Q, ur, uz, n)         if is_valid(signature):             results.append((ur, uz, signature))                  # \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f         steps_in_direction += 1         if steps_in_direction &gt;= (i \/\/ 2 + 1):             direction = (direction + 1) % 4             steps_in_direction = 0                      # \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438         if direction == 0: ur = (ur + step_ur) % (n\/\/4)         elif direction == 1: uz = (uz + step_uz) % (n\/\/4)         elif direction == 2: ur = (ur - step_ur) % (n\/\/4)         elif direction == 3: uz = (uz - step_uz) % (n\/\/4)                  # \u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0448\u0430\u0433\u0430         if i % params['adaptation_interval'] == 0:             density = calculate_local_density(results, ur, uz)             if density &gt; params['high_density_threshold']:                 step_ur, step_uz = step_ur * params['shrink_factor'], step_uz * params['shrink_factor']             elif density &lt; params['low_density_threshold']:                 step_ur, step_uz = step_ur * params['expand_factor'], step_uz * params['expand_factor']          return results <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044f \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0442\u043e\u0447\u0435\u043a, \u0447\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<h4>3.2. \u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/h4>\n<p>\u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043d\u0430 \u0441\u0435\u043a\u0442\u043e\u0440\u044b \u0432\u0438\u0434\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"2k_{0_{\\text{min}}} &lt; k &lt; 2k_{0_{\\text{max}}}\" alt=\"2k_{0_{\\text{min}}} &lt; k &lt; 2k_{0_{\\text{max}}}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/208\/2083c655eee3966505c01b460bc8e64e.svg\" width=\"144\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/208\/2083c655eee3966505c01b460bc8e64e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/208\/2083c655eee3966505c01b460bc8e64e.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p><strong>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 2: \u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/strong><\/p>\n<pre><code>function hyperbolic_clustering(signatures, n):     # \u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u043a\u0442\u043e\u0440\u044b     sectors = []     for i in range(1, int(log2(n)) + 1):         k_min = 2**(i-1)         k_max = min(2**i, n-1)         sector = {             'k_range': (k_min, k_max),             'points': [],             'density': 0         }         sectors.append(sector)          # \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u0435\u043a \u043f\u043e \u0441\u0435\u043a\u0442\u043e\u0440\u0430\u043c     for sig in signatures:         k = recover_k(sig, n)  # \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 k \u0438\u0437 \u043f\u043e\u0434\u043f\u0438\u0441\u0438         for sector in sectors:             if sector['k_range'][0] &lt;= k &lt; sector['k_range'][1]:                 sector['points'].append(sig)                 break          # \u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0435\u043a\u0442\u043e\u0440\u0435     for sector in sectors:         sector['density'] = len(sector['points']) \/ (sector['k_range'][1] - sector['k_range'][0])          # \u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u043e \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438     sectors.sort(key=lambda x: x['density'], reverse=True)          return sectors <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c\u044e <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a, \u043a\u0430\u043a \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Sony PS3 [1].<\/p>\n<h4>3.3. \u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0441 \u03b4-\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439<\/h4>\n<p>\u0414\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u043c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0441 \u03b4-\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p><strong>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 3: \u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/strong><\/p>\n<pre><code>function mirror_snail_method(real_signatures, n, delta=0.1):     # \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f     d_candidates = []     max_iterations = 1000          # \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0438\u043a\u043b     for _ in range(max_iterations):         # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439         artificial_signatures = generate_artificial_signatures(             real_signatures, n, num_samples=1000         )                  # \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432         patterns = detect_anomalous_patterns(artificial_signatures, n)                  # \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u043d\u0430 d         for pattern in patterns:             d_candidate = recover_d_from_pattern(pattern, n)             d_candidates.append(d_candidate)                  # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432         consistent_candidates = check_consistency(d_candidates, delta)                  # \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0435\u0433\u043e         if len(consistent_candidates) &gt; 0:             return max(consistent_candidates, key=consistent_candidates.count)          # \u0415\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u044b\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442     return max(set(d_candidates), key=d_candidates.count) <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043c\u0430\u043b\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 (n &lt; 1000).<\/p>\n<h3>4. \u0410\u043d\u0430\u043b\u0438\u0437 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438<\/h3>\n<h4>4.1. \u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p>\u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 1 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA.<\/p>\n<p><strong>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 1. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u2074)<\/p>\n<\/td>\n<td>\n<p align=\"left\">1x<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b2\u00b7log(1\/\u03b4) [11]<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0414\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b2\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m log m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b3\/log m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m log\u00b2 m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b3\/log\u00b2 m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b3)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0436\u0430\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u0434\u0435\u043b\u0430\u044f \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u043c\u044b\u043c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d\u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439 \u0434\u043b\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<h4>4.2. \u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/h4>\n<p>\u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 [11], \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439 <img decoding=\"async\" class=\"formula inline\" source=\"m\" alt=\"m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6f\/6f8\/6f8f57715090da2632453988d9a1501b.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6f\/6f8\/6f8f57715090da2632453988d9a1501b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6f\/6f8\/6f8f57715090da2632453988d9a1501b.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u043b\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0434\u043e\u043b\u0436\u043d\u043e \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0442\u044c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"m &gt; C \\cdot \\left(\\frac{1}{\\epsilon}\\right)^d \\cdot \\log\\left(\\frac{1}{\\delta}\\right)\" alt=\"m &gt; C \\cdot \\left(\\frac{1}{\\epsilon}\\right)^d \\cdot \\log\\left(\\frac{1}{\\delta}\\right)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/31\/317\/317525d5d08d635ef3a1231e047396ef.svg\" width=\"200\" height=\"40\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/31\/317\/317525d5d08d635ef3a1231e047396ef.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/31\/317\/317525d5d08d635ef3a1231e047396ef.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0433\u0434\u0435:<\/p>\n<ul>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"d\" alt=\"d\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 (\u0434\u043b\u044f \u0442\u043e\u0440\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"d = 2\" alt=\"d = 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/f3\/f35\/f35463e2807f2090875f80e2702fdc8d.svg\" width=\"40\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/f3\/f35\/f35463e2807f2090875f80e2702fdc8d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/f3\/f35\/f35463e2807f2090875f80e2702fdc8d.svg 781w\" loading=\"lazy\" decode=\"async\"\/>)<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\epsilon\" alt=\"\\epsilon\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/92\/92e\/92e4da341fe8f4cd46192f21b6ff3aa7.svg\" width=\"12\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/92\/92e\/92e4da341fe8f4cd46192f21b6ff3aa7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/92\/92e\/92e4da341fe8f4cd46192f21b6ff3aa7.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\delta\" alt=\"\\delta\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/77\/77a\/77a3b715842b45e440a5bee15357ad29.svg\" width=\"12\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/77\/77a\/77a3b715842b45e440a5bee15357ad29.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/77\/77a\/77a3b715842b45e440a5bee15357ad29.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"C\" alt=\"C\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0d\/0d6\/0d61f8370cad1d412f80b84d143e1257.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0d\/0d6\/0d61f8370cad1d412f80b84d143e1257.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0d\/0d6\/0d61f8370cad1d412f80b84d143e1257.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430, \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0430\u044f \u043e\u0442 \u043a\u0440\u0438\u0432\u0438\u0437\u043d\u044b<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0438 \u0433\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u0430 \u043e\u0446\u0435\u043d\u043a\u0430 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442\u0441\u044f \u0434\u043e <img decoding=\"async\" class=\"formula inline\" source=\"d = 1\" alt=\"d = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/15\/15b\/15bb38bb5739e8eceae8bf32af65c15a.svg\" width=\"40\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/15\/15b\/15bb38bb5739e8eceae8bf32af65c15a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/15\/15b\/15bb38bb5739e8eceae8bf32af65c15a.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0441\u0432\u043e\u0434\u044f\u0442 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043a \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0439.<\/p>\n<h4>4.3. \u0421\u0432\u044f\u0437\u044c \u0441 \u0442\u0435\u043e\u0440\u0435\u043c\u043e\u0439 \u0411\u044d\u0440\u0430 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0441\u0435\u043a\u0432\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u0434\u043e\u043b\u0436\u043d\u0430 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c:<\/p>\n<ol>\n<li>\n<p><strong>\u0422\u0435\u043e\u0440\u0435\u043c\u0430 \u0411\u044d\u0440\u0430<\/strong>: \u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u043e\u043a\u0440\u044b\u0442\u043e \u0441\u0447\u0435\u0442\u043d\u044b\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c \u043d\u0438\u0433\u0434\u0435 \u043d\u0435 \u043f\u043b\u043e\u0442\u043d\u044b\u0445 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432. \u041d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0435\u043a\u0432\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c<\/strong>: \u041b\u044e\u0431\u0430\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u0445\u043e\u0434\u044f\u0449\u0443\u044e\u0441\u044f \u043f\u043e\u0434\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0435\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA, \u0447\u0435\u043c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439.<\/p>\n<h3>5. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438<\/h3>\n<h4>5.1. \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/h4>\n<p>\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b (NIST SP 800-22) \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0438\u0442\u043e\u0432 \u0438\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 Sony PS3 [1], \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 nonce <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0441\u0440\u0430\u0437\u0443 \u0432\u044b\u044f\u0432\u0438\u043b \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b: <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_0 = 42\" alt=\"\\beta_0 = 42\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0b5\/0b5302fb8eecd9bf34d7ebaef073bc5a.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0b5\/0b5302fb8eecd9bf34d7ebaef073bc5a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0b5\/0b5302fb8eecd9bf34d7ebaef073bc5a.svg 781w\" loading=\"lazy\" decode=\"async\"\/> (\u0432\u043c\u0435\u0441\u0442\u043e 1), \u0447\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 42 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h4>5.2. \u0420\u0435\u0448\u0435\u0442\u043e\u0447\u043d\u044b\u0435 \u0430\u0442\u0430\u043a\u0438 \u043f\u0440\u043e\u0442\u0438\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/h4>\n<p>\u0420\u0435\u0448\u0435\u0442\u043e\u0447\u043d\u044b\u0435 \u0430\u0442\u0430\u043a\u0438 [4] \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0437\u043d\u0430\u043d\u0438\u044f 20\u201350% \u0431\u0438\u0442\u043e\u0432 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0442\u0430\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0440\u0435\u0434\u043a\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0441 \u03b4-\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0439 \u0443\u0442\u0435\u0447\u043a\u0435, \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044f \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"(u_r, u_z)\" alt=\"(u_r, u_z)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg\" width=\"56\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/ce\/ce6\/ce6aefbaa6aede8acfc359247ffb8b9c.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<h4>5.3. \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Project Wycheproof<\/h4>\n<p>Project Wycheproof [12] \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 Google \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>\u041c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c Project Wycheproof \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u0441\u0442\u0430\u043c\u0438:<\/p>\n<ol>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_0 = 1\" alt=\"\\beta_0 = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/73b\/73b54e1a535953e83fe6de7bc96aa010.svg\" width=\"48\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/73b\/73b54e1a535953e83fe6de7bc96aa010.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/73b\/73b54e1a535953e83fe6de7bc96aa010.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_1 = 2\" alt=\"\\beta_1 = 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/29\/298\/2983d4a358a8c00a55510571ba18f884.svg\" width=\"48\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/29\/298\/2983d4a358a8c00a55510571ba18f884.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/29\/298\/2983d4a358a8c00a55510571ba18f884.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"\\beta_2 = 1\" alt=\"\\beta_2 = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2b\/c2bdde3c0592ed03c3b17734e58eddf6.svg\" width=\"48\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2b\/c2bdde3c0592ed03c3b17734e58eddf6.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2b\/c2bdde3c0592ed03c3b17734e58eddf6.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 TVI Score \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442 \u043d\u0430 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u044c<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430\u043a\u043e\u043d\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"T = n \/ \\text{\u041d\u041e\u0414}(d-1, n)\" alt=\"T = n \/ \\text{\u041d\u041e\u0414}(d-1, n)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b9\/7b9c1b9e628b6831cfbf90c2fb922fcc.svg\" width=\"160\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b9\/7b9c1b9e628b6831cfbf90c2fb922fcc.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b9\/7b9c1b9e628b6831cfbf90c2fb922fcc.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0439 \u0432 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442 \u043d\u0430 \u0441\u043f\u0438\u0440\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0440\u0430\u043a\u0442\u0430\u043b\u044b<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u0438 \u0442\u0435\u0441\u0442\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b Project Wycheproof, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA.<\/p>\n<h3>6. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438<\/h3>\n<h4>6.1. \u0414\u043b\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<\/h4>\n<ol>\n<li>\n<p><strong>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"\\mathbb{Z}_n^*\" alt=\"\\mathbb{Z}_n^*\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1a\/1ae\/1aeefd08638bd81b37d4db39755af97e.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1a\/1ae\/1aeefd08638bd81b37d4db39755af97e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1a\/1ae\/1aeefd08638bd81b37d4db39755af97e.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 RNG \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u043a\u0440\u0438\u0432\u044b\u0435, \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 [13]<\/p>\n<\/li>\n<li>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0434 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>6.2. \u0414\u043b\u044f \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/h4>\n<ol>\n<li>\n<p><strong>\u0412\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0439\u0442\u0435 TVI Score \u0434\u043b\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u0440\u0438\u0441\u043a\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0435\u043e\u0440\u0435\u043c\u0435 \u0411\u044d\u0440\u0430 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 \u0441\u0435\u043a\u0432\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432<\/strong>:<\/p>\n<ul>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\text{TVI} &lt; 0.2\" alt=\"\\text{TVI} &lt; 0.2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/14\/14d\/14d79c770ea62e95a69454a3edd5dc0a.svg\" width=\"80\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/14\/14d\/14d79c770ea62e95a69454a3edd5dc0a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/14\/14d\/14d79c770ea62e95a69454a3edd5dc0a.svg 781w\" loading=\"lazy\" decode=\"async\"\/>: \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e, \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"0.2 \\leq \\text{TVI} &lt; 0.5\" alt=\"0.2 \\leq \\text{TVI} &lt; 0.5\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/da\/da2\/da255f53008ea358a690e9222681111d.svg\" width=\"120\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/da\/da2\/da255f53008ea358a690e9222681111d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/da\/da2\/da255f53008ea358a690e9222681111d.svg 781w\" loading=\"lazy\" decode=\"async\"\/>: \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435, \u0443\u043c\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u0438\u0434\u0435\u0430\u043b\u0430<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\text{TVI} \\geq 0.5\" alt=\"\\text{TVI} \\geq 0.5\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf4\/bf4bcaf4eb217e7de0ebf2ca6c1f3515.svg\" width=\"80\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf4\/bf4bcaf4eb217e7de0ebf2ca6c1f3515.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bf4\/bf4bcaf4eb217e7de0ebf2ca6c1f3515.svg 781w\" loading=\"lazy\" decode=\"async\"\/>: \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0438\u0441\u043a, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>6.3. \u0414\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0438\u0445 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439<\/h4>\n<ol>\n<li>\n<p><strong>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Roadmap \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439<\/strong>:<\/p>\n<ul>\n<li>\n<p><strong>PHASE_1<\/strong>: \u0412\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 \u043c\u0430\u043b\u044b\u0445 \u043f\u043e\u043b\u044f\u0445 (n &lt; 1000)<\/p>\n<\/li>\n<li>\n<p><strong>PHASE_2<\/strong>: \u0410\u043d\u0430\u043b\u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c (Bitcoin, Ethereum)<\/p>\n<\/li>\n<li>\n<p><strong>PHASE_3<\/strong>: \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u043a\u0432\u0430\u043d\u0442\u043e\u0432\u044b\u043c\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p><strong>PHASE_4<\/strong>: \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>7. \u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439<\/h3>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0443 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u0437\u043c\u0443 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438. \u041d\u0430\u0448 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442:<\/p>\n<ol>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 ECDSA \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u043e\u0440\u0430 \u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0438 \u0433\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e, \u0441\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441 O(m\u2074) \u0434\u043e O(m log m).<\/p>\n<\/li>\n<li>\n<p>TVI Score \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0449\u0443\u044e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043e\u0446\u0435\u043d\u043a\u0438.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439:<\/p>\n<ol>\n<li>\n<p><strong>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 RFC 6979<\/strong>: \u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 nonce \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 EdDSA<\/strong>: \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c \u043d\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 Edwards, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 Monero \u0438 Zcash.<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u043d\u0430\u043b\u0438\u0437 post-quantum \u0441\u0438\u0441\u0442\u0435\u043c<\/strong>: \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a \u043a\u0432\u0430\u043d\u0442\u043e\u0432\u043e-\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u0432 [14].<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/941308\/\" rel=\"noopener noreferrer nofollow\"><strong>\u041a\u0432\u0430\u043d\u0442\u043e\u0432\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438<\/strong><\/a>: \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u0432\u0430\u043d\u0442\u043e\u0432\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 [15].<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u044e\u0442 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c, \u043d\u043e \u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445.<\/p>\n<h3>\u0421\u043f\u0438\u0441\u043e\u043a \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b<\/h3>\n<p>[1] Checkoway S., et al. Comprehensive experimental analyses of automotive attack surfaces. In: USENIX Security Symposium, 2011.<\/p>\n<p>[2] Decker C., Wattenhofer R. Information propagation in the Bitcoin network. In: IEEE P2P 2013 Proceedings, 2013.<\/p>\n<p>[3] Rukhin A., et al. A statistical test suite for random and pseudorandom number generators for cryptographic applications. NIST Special Publication 800-22, 2010.<\/p>\n<p>[4] Nguyen P. Q., Shparlinski I. E. The Insecurity of the Digital Signature Algorithm with Partially Known Nonces. Journal of Cryptology, 15(3), 2002.<\/p>\n<p>[5] Kocher P., Jaffe J., Jun B. Differential Power Analysis. In: Advances in Cryptology \u2014 CRYPTO&#8217; 99, 1999.<\/p>\n<p>[6] \u0410\u0432\u0442\u043e\u0440. \u0422\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA. Habr, 2025. [Online]. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e: <a href=\"https:\/\/habr.com\/ru\/articles\/939560\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/articles\/939560\/<\/a><\/p>\n<p>[7] \u0410\u0432\u0442\u043e\u0440. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 ECDSA. Habr, 2025. [Online]. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e: <a href=\"https:\/\/habr.com\/ru\/articles\/939770\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/articles\/939770\/<\/a><\/p>\n<p>[8] Washington L. C. Elliptic Curves: Number Theory and Cryptography. CRC Press, 2008.<\/p>\n<p>[9] Kohel D. R. Cryptographic applications of algebraic geometry and number theory. In: Arithmetic, Geometry, Cryptography and Coding Theory, Contemporary Mathematics, 2011.<\/p>\n<p>[10] Hungerford T. W. Algebra. Springer, 2003.<\/p>\n<p>[11] Chazal F., et al. The Structure and Stability of Persistence Modules. Springer, 2015.<\/p>\n<p>[12] Project Wycheproof. Google Security Blog, 2016. [Online]. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e: <a href=\"https:\/\/security.googleblog.com\/2016\/12\/project-wycheproof-teaching-google-to.html\" rel=\"noopener noreferrer nofollow\">https:\/\/security.googleblog.com\/2016\/12\/project-wycheproof-teaching-google-to.html<\/a><\/p>\n<p>[13] Biehl I., et al. Algorithmic Acceleration of B\/FV-Like Somewhat Homomorphic Encryption for Compute-Enabled RAM. In: Public Key Cryptography, 2000.<\/p>\n<p>[14] Galbraith S. D. Mathematics of Public Key Cryptography. Cambridge University Press, 2012.<\/p>\n<p>[15] Nielsen M. A., Chuang I. L. Quantum Computation and Quantum Information. Cambridge University Press, 2010.<\/p>\n<p>[16] Oxtoby J. C. Measure and Category: A Survey of the Analogies between Topological and Measure Spaces. Springer, 1980.<\/p>\n<p>[17] Bobrowski O., Mukherjee S. Maximally persistent cycles and eigenvalues of the Laplacian. Annals of Applied Probability, 25(4), 2015.<\/p>\n<p>[18] Howgrave-Graham N., Smart N. P. Lattice Attacks on Digital Signature Schemes. Designs, Codes and Cryptography, 23(3), 2001.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/941238\/\"> https:\/\/habr.com\/ru\/articles\/941238\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/h3>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 (ECDSA) \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u0437\u043c\u0443 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438. \u041c\u044b \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 ECDSA \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0440\u0430 \u0438 \u0432\u0432\u043e\u0434\u0438\u043c \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b (\u0447\u0438\u0441\u043b\u0430 \u0411\u0435\u0442\u0442\u0438, \u044d\u0439\u043b\u0435\u0440\u043e\u0432\u0430 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430) \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u0448 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0437\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438, \u043c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0438 \u0433\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441 O(m\u2074) \u0434\u043e O(m log m). \u041c\u044b \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c: \u03b2\u2080 = 1, \u03b2\u2081 = 2, \u03b2\u2082 = 1. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044e subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u0441\u0442\u0430\u043c\u0438. \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Project Wycheproof \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442 \u043d\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443, \u0434\u0435\u043b\u0430\u044f \u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0439 \u0434\u043b\u044f \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0438.<\/p>\n<h3>1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h3>\n<p>\u042d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u0440\u0438\u0432\u044b\u0435 \u0441\u0442\u0430\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0430\u043b\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u043a\u043b\u044e\u0447\u0435\u0439. ECDSA (Elliptic Curve Digital Signature Algorithm) \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u0445, TLS \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445. \u041e\u0434\u043d\u0430\u043a\u043e, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b \u0441 Sony PS3 [1] \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 Bitcoin-\u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u0432 [2], \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439.<\/p>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0435\u043d\u044b \u043d\u0430:<\/p>\n<ul>\n<li>\n<p>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 [3]<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0448\u0435\u0442\u043e\u0447\u043d\u044b\u0445 \u0430\u0442\u0430\u043a\u0430\u0445 \u043f\u0440\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0439 \u0443\u0442\u0435\u0447\u043a\u0435 nonce [4]<\/p>\n<\/li>\n<li>\n<p>\u0410\u0442\u0430\u043a\u0430\u0445 \u043f\u043e \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u043c \u043a\u0430\u043d\u0430\u043b\u0430\u043c [5]<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u043c\u0435\u044e\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439.<\/p>\n<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0445 [6, 7] \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0443 ECDSA, \u0433\u0434\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0440\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c (O(m\u2074)) \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0439 \u0433\u043e\u043c\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 m \u0442\u043e\u0447\u0435\u043a \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430.<\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u044b \u0440\u0435\u0448\u0430\u0435\u043c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044f <strong>\u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/strong>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0437\u0430\u043a\u043e\u043d\u0430\u0445 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043f\u0438\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0440\u0430\u043a\u0442\u0430\u043b\u0430\u0445. \u041d\u0430\u0448 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u0442\u0435\u043e\u0440\u0435\u043c\u0430 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b R_x, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e ECDSA.<\/p>\n<h3>2. \u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u044b<\/h3>\n<h4>2.1. \u0424\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 ECDSA \u043a\u0430\u043a \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u043e\u0440\u0430<\/h4>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 ECDSA:<\/p>\n<p>\u0433\u0434\u0435  \u2014 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438,  \u2014 nonce,  \u2014 \u0445\u0435\u0448 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f,  \u2014 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439,  \u2014 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447,  \u2014 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0433\u0440\u0443\u043f\u043f\u044b.<\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a:<\/p>\n<p>\u0433\u0434\u0435 , .<\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e  \u0438\u043c\u0435\u0435\u0442 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043f\u0440\u0438\u0440\u043e\u0434\u0443 \u0438\u0437-\u0437\u0430 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0439 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0433\u043e \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 \u0442\u043e\u0440\u0430 [8]. \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e  \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c  \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 .<\/p>\n<h4>2.2. \u0422\u0435\u043e\u0440\u0435\u043c\u0430 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b R_x<\/h4>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 , \u0433\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 , \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u2014 , \u0430 \u044f\u0447\u0435\u0439\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f .<\/p>\n<p><strong>\u0422\u0435\u043e\u0440\u0435\u043c\u0430 1 (\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b R_x)<\/strong>: \u0415\u0441\u043b\u0438 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 ECDSA \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b , \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p><strong>\u0414\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e<\/strong>: \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043c Kohel [9], \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435  \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u043e\u0432\u043d\u043e  \u0440\u0430\u0437 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 . \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435  \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435  \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u043e\u0432\u043d\u043e \u0434\u0432\u0430\u0436\u0434\u044b (\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u0438\u0437 \u0442\u0435\u043e\u0440\u0435\u043c\u044b \u043e \u0441\u0442\u0440\u0430\u0442\u0430\u0445). \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0442\u0440\u0430\u0442  \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 (\u0438\u0437-\u0437\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 ), \u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u0442\u0435  \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u043e\u0432\u043d\u043e \u0434\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c .<\/p>\n<p>\u042d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044e:<\/p>\n<p><strong>\u0421\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 1<\/strong>: \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ECDSA \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0447\u0438\u0441\u043b\u0430 \u0411\u0435\u0442\u0442\u0438: , , .<\/p>\n<p>\u0413\u0434\u0435:<\/p>\n<ul>\n<li>\n<p> \u2014 \u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p> \u2014 \u0447\u0438\u0441\u043b\u043e &#171;\u0434\u044b\u0440\u043e\u043a&#187; (\u0446\u0438\u043a\u043b\u043e\u0432)<\/p>\n<\/li>\n<li>\n<p> \u2014 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e ECDSA \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0438\u0441\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 TVI Score (Topological Vulnerability Index):<\/p>\n<h4>2.3. \u0417\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p><strong>\u0422\u0435\u043e\u0440\u0435\u043c\u0430 2 (\u0417\u0430\u043a\u043e\u043d \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u043d\u043e\u0441\u0442\u0438)<\/strong>: \u0414\u043b\u044f \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430  \u043f\u0435\u0440\u0438\u043e\u0434  \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435  \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a:<\/p>\n<p><strong>\u0414\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e<\/strong>: \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 . \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c\u0441\u044f \u043f\u043e \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u0438 , \u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f . \u041f\u0435\u0440\u0438\u043e\u0434 \u044d\u0442\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a  \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0433\u0440\u0443\u043f\u043f [10].<\/p>\n<p>\u042d\u0442\u043e\u0442 \u0437\u0430\u043a\u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 \u043e\u0434\u043d\u0438\u043c \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c , \u0430 \u0437\u0430\u0442\u0435\u043c \u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/p>\n<h3>3. \u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f<\/h3>\n<h4>3.1. \u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/h4>\n<p>\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u0443\u044e \u0440\u0435\u0448\u0435\u0442\u043a\u0443, \u0447\u0442\u043e \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0439. \u041c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430.<\/p>\n<p><strong>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 1: \u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/strong><\/p>\n<pre><code>function dynamic_snail_scan(Q, n, params):     ur, uz = 0, 0     step_ur, step_uz = params['initial_step']     direction = 0  # 0: right, 1: up, 2: left, 3: down     steps_in_direction = 0     max_steps = params['max_steps']     results = []          for i in range(max_steps):         # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438         signature = generate_artificial_signature(Q, ur, uz, n)         if is_valid(signature):             results.append((ur, uz, signature))                  # \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f         steps_in_direction += 1         if steps_in_direction &gt;= (i \/\/ 2 + 1):             direction = (direction + 1) % 4             steps_in_direction = 0                      # \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438         if direction == 0: ur = (ur + step_ur) % (n\/\/4)         elif direction == 1: uz = (uz + step_uz) % (n\/\/4)         elif direction == 2: ur = (ur - step_ur) % (n\/\/4)         elif direction == 3: uz = (uz - step_uz) % (n\/\/4)                  # \u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0448\u0430\u0433\u0430         if i % params['adaptation_interval'] == 0:             density = calculate_local_density(results, ur, uz)             if density &gt; params['high_density_threshold']:                 step_ur, step_uz = step_ur * params['shrink_factor'], step_uz * params['shrink_factor']             elif density &lt; params['low_density_threshold']:                 step_ur, step_uz = step_ur * params['expand_factor'], step_uz * params['expand_factor']          return results <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044f \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0442\u043e\u0447\u0435\u043a, \u0447\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f subtle \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<h4>3.2. \u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/h4>\n<p>\u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e  \u043d\u0430 \u0441\u0435\u043a\u0442\u043e\u0440\u044b \u0432\u0438\u0434\u0430  \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p><strong>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 2: \u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/strong><\/p>\n<pre><code>function hyperbolic_clustering(signatures, n):     # \u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u043a\u0442\u043e\u0440\u044b     sectors = []     for i in range(1, int(log2(n)) + 1):         k_min = 2**(i-1)         k_max = min(2**i, n-1)         sector = {             'k_range': (k_min, k_max),             'points': [],             'density': 0         }         sectors.append(sector)          # \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u0435\u043a \u043f\u043e \u0441\u0435\u043a\u0442\u043e\u0440\u0430\u043c     for sig in signatures:         k = recover_k(sig, n)  # \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 k \u0438\u0437 \u043f\u043e\u0434\u043f\u0438\u0441\u0438         for sector in sectors:             if sector['k_range'][0] &lt;= k &lt; sector['k_range'][1]:                 sector['points'].append(sig)                 break          # \u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u0435\u043a\u0442\u043e\u0440\u0435     for sector in sectors:         sector['density'] = len(sector['points']) \/ (sector['k_range'][1] - sector['k_range'][0])          # \u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u043e \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438     sectors.sort(key=lambda x: x['density'], reverse=True)          return sectors <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c\u044e  \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a, \u043a\u0430\u043a \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Sony PS3 [1].<\/p>\n<h4>3.3. \u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0441 \u03b4-\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439<\/h4>\n<p>\u0414\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u043c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a \u0441 \u03b4-\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p><strong>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c 3: \u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/strong><\/p>\n<pre><code>function mirror_snail_method(real_signatures, n, delta=0.1):     # \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f     d_candidates = []     max_iterations = 1000          # \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0438\u043a\u043b     for _ in range(max_iterations):         # \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439         artificial_signatures = generate_artificial_signatures(             real_signatures, n, num_samples=1000         )                  # \u041f\u043e\u0438\u0441\u043a \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u043e\u0432         patterns = detect_anomalous_patterns(artificial_signatures, n)                  # \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u043d\u0430 d         for pattern in patterns:             d_candidate = recover_d_from_pattern(pattern, n)             d_candidates.append(d_candidate)                  # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432         consistent_candidates = check_consistency(d_candidates, delta)                  # \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0435\u0433\u043e         if len(consistent_candidates) &gt; 0:             return max(consistent_candidates, key=consistent_candidates.count)          # \u0415\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u044b\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442     return max(set(d_candidates), key=d_candidates.count) <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043c\u0430\u043b\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 (n &lt; 1000).<\/p>\n<h3>4. \u0410\u043d\u0430\u043b\u0438\u0437 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438<\/h3>\n<h4>4.1. \u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p>\u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 1 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ECDSA.<\/p>\n<p><strong>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 1. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u2074)<\/p>\n<\/td>\n<td>\n<p align=\"left\">1x<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b2\u00b7log(1\/\u03b4) [11]<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0414\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b2\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m log m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b3\/log m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0413\u0438\u043f\u0435\u0440\u0431\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m log\u00b2 m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b3\/log\u00b2 m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7(1\/\u03b5)\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u043e\u0434 \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u043b\u0438\u0442\u043e\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m)<\/p>\n<\/td>\n<td>\n<p align=\"left\">O(m\u00b3)<\/p>\n<\/td>\n<td>\n<p align=\"left\">m &gt; C\u00b7log(1\/\u03b4)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-472349","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/472349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=472349"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/472349\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=472349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=472349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=472349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}