{"id":488611,"date":"2026-07-26T14:33:13","date_gmt":"2026-07-26T14:33:13","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=488611"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=488611","title":{"rendered":"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/293\/59a\/04e\/29359a04ed3770e61a747adca8bb5108.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" width=\"1024\" height=\"576\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/293\/59a\/04e\/29359a04ed3770e61a747adca8bb5108.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/293\/59a\/04e\/29359a04ed3770e61a747adca8bb5108.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0443\u0447\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0449\u0438\u0439 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0449\u0438\u0439\u00a0<a href=\"https:\/\/gist.github.com\/johnzweng\/863f412689ee383cc41ac7c709ca662c\" rel=\"noopener noreferrer nofollow\">\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 John Zweng (2025)<\/a>\u00a0\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u0435\u043a-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432\u00a0<code>G<\/code>\u00a0\u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430\u00a0<code>SEC 2 \u2014 secp160k1, secp192k1, secp224k1 \u0438 secp256k1<\/code>.<\/p>\n<p>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c: \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u0438\u0446\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430\u00a0<code>SEC\u202f2 (secp160k1, secp192k1, secp224k1, secp256k1)<\/code>\u00a0\u0442\u043e\u0447\u043a\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u0430\u044f \u00ab\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c\u00bb \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u00a0<code>G<\/code>\u00a0\u043d\u0430\u00a0<code>2<\/code>\u00a0(\u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 2 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b\u00a0<code>n<\/code>), \u0438\u043c\u0435\u0435\u0442\u00a0<code>x<\/code>-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u0430\u043b\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0449\u0443\u044e 152\u2011\u0431\u0438\u0442\u043d\u0443\u044e \u0433\u0435\u043a\u0441\u0430\u0434\u0435\u0446\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a0<code>8ce563f89a0ed9414f5aa28ad0d96d6795f9c6<\/code>. \u041c\u044b \u0434\u0430\u0451\u043c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043d\u0430 Python\/SageMath, \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u00a0<code>SEC\u202f2<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u2014 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u2014 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f Bitcoin, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b NUMS-\u0442\u043e\u0447\u0435\u043a, \u0430\u0443\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u00a0<code>ECDSA\/Schnorr<\/code>. \u041e\u0441\u043e\u0431\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0443\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u0434\u043b\u044f Google Colab, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0445\u043e\u0434\u043a\u0443.<\/p>\n<p>Johannes Zweng \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0432\u00a0<a href=\"https:\/\/github.com\/johnzweng\" rel=\"noopener noreferrer nofollow\">GitHub<\/a>\u00a0\u0432 \u0441\u0432\u043e\u0451\u043c \u0430\u0440\u0445\u0438\u0432\u0435 \u043f\u0440\u044f\u043c\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0430\u00a0<a href=\"https:\/\/cseweb.ucsd.edu\/~nadiah\/\" rel=\"noopener noreferrer nofollow\">Nadia Heninger<\/a>, \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d\u043d\u043e\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445, \u043a\u0430\u043a \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438.\u00a0<a href=\"https:\/\/cseweb.ucsd.edu\/~nadiah\/\" rel=\"noopener noreferrer nofollow\">\u0425\u0435\u043d\u0438\u043d\u0433\u0435\u0440<\/a>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 ECC\/RSA (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043c\u0438 \u043f\u043e \u0430\u0442\u0430\u043a\u0430\u043c \u043d\u0430 \u0441\u043b\u0430\u0431\u0443\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0435\u0439), \u0438 \u0435\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043a \u0442\u0435\u043c\u0435 \u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0445 \u043d\u0430\u0445\u043e\u0434\u043e\u043a \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/17f\/ced\/afc\/17fcedafcae0829458123cd2ef01e30e.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"620\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/17f\/ced\/afc\/17fcedafcae0829458123cd2ef01e30e.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/17f\/ced\/afc\/17fcedafcae0829458123cd2ef01e30e.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=NGLR2N4EK58\" rel=\"noopener noreferrer nofollow\"><em>https:\/\/www.youtube.com\/watch?v=NGLR2N4EK58<\/em><\/a><\/p>\n<blockquote>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=NGLR2N4EK58\" rel=\"noopener noreferrer nofollow\"><em>\u0412\u0438\u0434\u0435\u043e<\/em><\/a><em>, \u0433\u0434\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u00a0<\/em><a href=\"https:\/\/cseweb.ucsd.edu\/~nadiah\/\" rel=\"noopener noreferrer nofollow\"><em>\u041d\u0430\u0434\u0438\u044f \u0425\u0435\u043d\u0438\u043d\u0433\u0435\u0440<\/em><\/a><em>\u00a0\u0432 \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u0435 \u0441\u00a0<\/em><a href=\"https:\/\/tscholl2.github.io\/website\/\" rel=\"noopener noreferrer nofollow\"><em>Travis Scholl<\/em><\/a><em>\u00a0\u0438\u00a0<\/em><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/danshu\/publications\/\" rel=\"noopener noreferrer nofollow\"><em>Dan Shumow<\/em><\/a><em>\u00a0\u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442 152-\u0431\u0438\u0442\u043d\u0443\u044e \u0433\u0435\u043a\u0441\u0430\u0434\u0435\u0446\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a0<\/em><code><em>8ce563f89a0ed9414f5aa28ad0d96d6795f9c6<\/em><\/code><em>, \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 Rump Session \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Crypto 2019.<\/em><\/p>\n<\/blockquote>\n<p>\u0420\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0439 \u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 ECDSA \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 Bitcoin. \u041e\u043d\u0438 \u0438\u0441\u043a\u0430\u043b\u0438 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438\u00a0<code>nonce<\/code>\u00a0(\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0445 \u0447\u0438\u0441\u0435\u043b) \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>\u041e\u043a\u043e\u043b\u043e 99% \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 nonce \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/privatekey\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447<\/a>) \u0440\u0430\u0432\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e\u00a0(n\u22121)\/2, \u0433\u0434\u0435\u00a0n\u00a0\u2014 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u0442\u043e\u0447\u043a\u0443 (\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440) \u043a\u0440\u0438\u0432\u043e\u0439, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f\u00a0<code>X<\/code>-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0434\u043b\u0438\u043d\u043e\u0439 \u0432\u0441\u0435\u0433\u043e 166 \u0431\u0438\u0442, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0434\u043b\u044f Bitcoin-\u043a\u0440\u0438\u0432\u043e\u0439 \u2014 256 \u0431\u0438\u0442.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0446\u0435\u043b\u043e\u0433\u043e \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 Koblitz (secp) \u043e\u0442 Certicom \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0442\u043e\u0447\u043a\u0438-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u0449\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 (\u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a0<code>8ce563f89a0ed9414f5aa28ad0d96d6795f9c6<\/code>), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0438 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0431\u0438\u0442\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u043d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u043d\u0430\u0448\u043b\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u044d\u043a\u0434\u043e\u0440 (\u043e\u043d \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f), \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u0435\u0442 \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e Certicom \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043a\u0440\u0438\u0432\u044b\u0445 \u0432 1999 \u0433\u043e\u0434\u0443, \u043e \u0447\u0451\u043c \u043d\u0438\u0433\u0434\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6af\/463\/5f1\/6af4635f1435db69f3a014e544c84538.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" width=\"808\" height=\"174\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/6af\/463\/5f1\/6af4635f1435db69f3a014e544c84538.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6af\/463\/5f1\/6af4635f1435db69f3a014e544c84538.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab<\/figcaption><\/div>\n<\/figure>\n<p>\u042d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c (ECC) \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0448\u0435\u0441\u0442\u0438 \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432: \u043f\u043e\u043b\u044f\u00a0<em>\ud835\udd3d<sub>p<\/sub><\/em>, \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u043a\u0440\u0438\u0432\u043e\u0439\u00a0<em>a, b<\/em>, \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b\u00a0<em>n<\/em>, \u043a\u043e\u0444\u0430\u043a\u0442\u043e\u0440\u0430\u00a0<em>h<\/em>\u00a0\u0438 \u0442\u043e\u0447\u043a\u0438-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u00a0<em>G = (G<sub>x<\/sub>, G<sub>y<\/sub>)<\/em>. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SEC\u202f2 (Standards for Efficient Cryptography Group, Certicom) \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u0438\u0446\u0430\u00a0<strong>secpXXXk1<\/strong>, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445\u00a0<strong>secp256k1<\/strong>\u00a0\u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430, \u042d\u0444\u0438\u0440\u0438\u0443\u043c\u0430 \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d-\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432.<\/p>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043f\u043e\u0434\u043d\u044f\u0442\u0430\u044f John Zweng, \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u00a0<strong>\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043a\u0438\u00a0<em>G<\/em>\u00a0\u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 SEC\u202f2 \u043d\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430<\/strong>. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u00ab\u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445\u00bb \u043a\u0440\u0438\u0432\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u00abr1\u00bb (secp256r1 \u0438 \u0434\u0440.), \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 seed \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c SHA\u20111, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u00ab\u043f\u043e\u0442\u0430\u0439\u043d\u044b\u0445 \u0445\u043e\u0434\u043e\u0432\u00bb, \u0434\u043b\u044f Koblitz-\u043a\u0440\u0438\u0432\u044b\u0445 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043d\u0435\u0442. \u042d\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0437\u043e\u043d\u0443\u00a0<em>\u044d\u043f\u0438\u0441\u0442\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0441\u0442\u0438<\/em>, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u043d\u0443\u044e \u0434\u043b\u044f \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430, \u0433\u0434\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u043d\u0430 \u0441\u043e\u0442\u043d\u0438 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b.<\/p>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 (mod n), \u00ab\u043e\u0442\u043c\u0435\u043d\u044f\u044e\u0449\u0430\u044f\u00bb \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u043a\u0440\u0438\u0432\u043e\u0439 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0449\u0443\u044e 152-\u0431\u0438\u0442\u043e\u0432\u0443\u044e \u0433\u0435\u043a\u0441\u0430\u0434\u0435\u0446\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a0<code>8ce563f89a0ed9414f5aa28ad0d96d6795f9c6<\/code>. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0430\u00a0<a href=\"https:\/\/bitcolab.ru\/structural-anomaly-in-secpxxxk1-generator-points\" rel=\"noopener noreferrer nofollow\">Google Colab<\/a>\u00a0\u043f\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u043c, \u0434\u0430\u0451\u0442\u0441\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u043a\u043e-\u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u2014 \u043e\u0442 \u0441\u043a\u0430\u043d\u0434\u0430\u043b\u0430 \u0441 DES S-\u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0434\u043e Dual_EC_DRBG \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 nothing-up-my-sleeve (NUMS).<\/p>\n<hr\/>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6a660dc4b1ed1c734ec3000d\" data-style=\"\" id=\"6a660dc4b1ed1c734ec3000d\" width=\"\" data-habr-games=\"\"><\/div>\n<hr\/>\n<h3>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f: \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f Google Colab (Python + SageMath)<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 John Zweng \u043c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 \u0441\u0440\u0435\u0434\u0435 Google Colab. \u041f\u0435\u0440\u0432\u044b\u0439 \u2014 \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c Python \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/transaction\" rel=\"noopener noreferrer nofollow\"><code>ecdsa<\/code><\/a>\u00a0(\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 Colab \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438), \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c SageMath (\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043d\u043e \u0434\u0430\u0451\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u044f\u043c\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445).<\/p>\n<p><strong>\u0421\u043a\u0440\u0438\u043f\u0442 (Python + \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 ecdsa).<\/strong>\u00a0\u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0442\u043e\u0447\u043a\u0443\u00a0<em>H<\/em>\u00a0\u0434\u043b\u044f secp256k1 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0435\u0451\u00a0<em>x<\/em>-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0432 hex, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u0449\u0435\u0439 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<pre><code># \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 ecdsa (\u0435\u0441\u043b\u0438 \u0435\u0449\u0451 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430)!pip install ecdsafrom ecdsa import SECP256k1from ecdsa.numbertheory import inverse_mod# \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b secp256k1curve = SECP256k1.curveG = SECP256k1.generatorn = SECP256k1.order# \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u043a 2 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e ninv2 = inverse_mod(2, n)# \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c H = G * inv2H = G * inv2# \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435 (\u0431\u0435\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 0x)x_hex = hex(H.x())[2:]print(\"x(H) = 0x\" + x_hex)print(\"\u0411\u0438\u0442\u043e\u0432\u0430\u044f \u0434\u043b\u0438\u043d\u0430 x(H):\", len(x_hex) * 4, \"\u0431\u0438\u0442\")# \u041e\u0431\u0449\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 (152 \u0431\u0438\u0442\u0430 = 38 hex \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432)common = \"8ce563f89a0ed9414f5aa28ad0d96d6795f9c6\"if common in x_hex:    print(\"\u2705 \u041e\u0431\u0449\u0430\u044f 152-\u0431\u0438\u0442\u043d\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u041e\u0411\u041d\u0410\u0420\u0423\u0416\u0415\u041d\u0410!\")else:    print(\"\u274c \u041f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430.\")# \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e: \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e 2*H == GtwoH = H * 2assert twoH == G, \"\u041e\u0448\u0438\u0431\u043a\u0430: 2*H != G\"print(\"\u2713 \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: 2*H == G \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.\")    <\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f<\/strong>\u00a0(\u0434\u043b\u044f secp256k1):\u00a0<code>x(H) = 0x3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63<\/code>, \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430, \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0434\u043b\u0438\u043d\u0430 ~166 \u0431\u0438\u0442.<\/p>\n<hr\/>\n<blockquote>\n<p><strong><em>\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u0430\u0443\u0434\u0438\u0442\u0435 Bitcoin.<\/em><\/strong><em>\u00a0\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 (\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 2 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b) \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, Pedersen-\u043a\u043e\u043c\u043c\u0438\u0442\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439 (MuSig2, FROST) \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u00ab\u0442\u0435\u0441\u0442 John Zweng\u00bb \u2014 \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0430\u043b\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 (2, 3, 5, 7) \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430\u00a0<\/em><a href=\"https:\/\/cryptodeeptech.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\"><em>\u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e<\/em><\/a><em>\u00a0\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/em><\/p>\n<\/blockquote>\n<hr\/>\n<h3>\u0410\u043d\u043e\u043c\u0430\u043b\u0438\u044f secp256k1:\u00a0\u0441\u043a\u0440\u044b\u0442\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430<\/h3>\n<p>\u041a\u0440\u0438\u0432\u044b\u0435 secp160k1, secp192k1, secp224k1 \u0438 secp256k1 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0443 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435\u00a0<strong>SEC 2: Recommended Elliptic Curve Domain Parameters<\/strong>\u00a0\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Certicom. \u041a\u0440\u0438\u0432\u0430\u044f secp256k1 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430 \u043e\u0441\u043e\u0431\u0443\u044e \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Bitcoin, Ethereum \u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0433\u0434\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 G \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/transaction\" rel=\"noopener noreferrer nofollow\">ECDSA<\/a>.<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6a6618ccd7a1bd7327adf86c\" data-style=\"\" id=\"6a6618ccd7a1bd7327adf86c\" width=\"\" data-habr-games=\"\"><\/div>\n<p><strong>Screencast:\u00a0<\/strong><a href=\"https:\/\/youtu.be\/44CG3WhovE8\" rel=\"noopener noreferrer nofollow\"><strong>https:\/\/youtu.be\/44CG3WhovE8<\/strong><\/a><\/p>\n<p><strong>Google Colab:\u00a0<\/strong><a href=\"https:\/\/colab.research.google.com\/drive\/1e42DLAfRqEwTmsTNwZW2DFNC21umz6d0?usp=sharing\" rel=\"noopener noreferrer nofollow\"><strong>https:\/\/colab.research.google.com\/drive\/1e42DLAfRqEwTmsTNwZW2DFNC21umz6d0?usp=sharing<\/strong><\/a><\/p>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0431\u043b\u043e\u043a\u043d\u043e\u0442 Google Colab \u0441\u0442\u0430\u0432\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443, \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e John Zweng \u0432 2025 \u0433\u043e\u0434\u0443 \u0432 \u0432\u0438\u0434\u0435 SageMath-\u0441\u043a\u0440\u0438\u043f\u0442\u0430: \u0435\u0441\u043b\u0438 \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 G \u043d\u0430 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0434\u0432\u043e\u0439\u043a\u0438 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0433\u0440\u0443\u043f\u043f\u044b n, \u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0439\u0441\u044f x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0439.<\/p>\n<p><strong>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c.<\/strong>\u00a0\u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u00ab\u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438\u00bb \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u0445 \u2014 \u043d\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u044c. \u0412 1975 \u0433\u043e\u0434\u0443 \u043f\u0440\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 DES \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u0432\u0438\u043d\u044f\u043b\u043e NSA \u0432\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u00ab\u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0445\u00bb S-\u0431\u043b\u043e\u043a\u043e\u0432; \u043b\u0438\u0448\u044c \u0441\u043f\u0443\u0441\u0442\u044f 15 \u043b\u0435\u0442, \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0434\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0411\u0438\u0445\u0430\u043c\u043e\u043c \u0438 \u0428\u0430\u043c\u0438\u0440\u043e\u043c, \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e S-\u0431\u043b\u043e\u043a\u0438 DES \u0431\u044b\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u044b \u043f\u0440\u043e\u0442\u0438\u0432 \u044d\u0442\u043e\u0439 \u0435\u0449\u0451 \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0430\u0442\u0430\u043a\u0438.\u00a0<a href=\"https:\/\/cryptodeeptech.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u043e\u043c\u0430\u043b\u0438\u044f secpXXXk1<\/a>\u00a0\u2014 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e \u0436\u0435 \u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435: \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u043a\u0430\u043a \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<h3>\u0422\u0435\u043d\u044c Dual_EC_DRBG \u0438 \u0437\u0430\u0433\u0430\u0434\u043a\u0430 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0435<\/h3>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0432\u00a0<a href=\"https:\/\/bitcolab.ru\/structural-anomaly-in-secpxxxk1-generator-points\" rel=\"noopener noreferrer nofollow\">Google Colab<\/a>\u00a0\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u00ab\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435\u00bb: \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 \u0438\u043c\u0435\u0435\u0442 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u0440\u0438\u0432\u043e\u0439 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0449\u0443\u044e 152-\u0431\u0438\u0442\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443. \u0412 \u0441\u0432\u043e\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u00abbackdoor\u00bb, \u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, Bitcoin.<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443\u00a0<strong>nothing-up-my-sleeve (NUMS)<\/strong>\u00a0\u2014 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u043c \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u00ab\u0443\u0434\u043e\u0431\u043d\u044b\u0445\u00bb \u0434\u043b\u044f \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/strong>\u00a0\u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 NUMS \u2014 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b\u00a0<strong>Dual_EC_DRBG<\/strong>, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 NIST \u0432 SP 800-90A. \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b P \u0438 Q, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u0440\u0438\u0432\u0443\u044e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u044b NSA \u0431\u0435\u0437 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (fastecdsa pandas)<\/h3>\n<pre><code>!pip install fastecdsa pandas<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u043a\u043e\u0434\u043e\u0432\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0432\u00a0<a href=\"https:\/\/bitcolab.ru\/structural-anomaly-in-secpxxxk1-generator-points\" rel=\"noopener noreferrer nofollow\">Google Colab<\/a>\u00a0\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\u00a0<code>fastecdsa<\/code>, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0434\u043b\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445, \u0438\u00a0<code>pandas<\/code>\u00a0\u0434\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u0412 \u0432\u044b\u0432\u043e\u0434\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (<code>pandas 3.0.3<\/code>\u00a0\u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0439 Colab\u00a0<code>pandas&lt;2.2.2<\/code>) \u2014 \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0434\u043b\u044f Colab-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043d\u0435 \u0432\u043b\u0438\u044f\u044e\u0449\u0430\u044f \u043d\u0430 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0430\u044f \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430.<\/p>\n<h3>\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u0441\u0431\u043e\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u0434\u043e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0441 \u0448\u0438\u0444\u0440\u043e\u043c\u00a0Enigma<\/h3>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f markdown-\u044f\u0447\u0435\u0439\u043a\u0430 \u0432 Google Colab \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443: \u043f\u0440\u044f\u043c\u043e\u0439 \u0438\u043c\u043f\u043e\u0440\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432\u00a0<code>secp160k1<\/code>,\u00a0<code>secp192k1<\/code>,\u00a0<code>secp224k1<\/code>,\u00a0<code>secp256k1<\/code>\u00a0\u0438\u0437\u00a0<code>fastecdsa.curve<\/code>\u00a0\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043c\u0435\u0436\u0434\u0443 \u0432<\/p>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 \u044f\u0432\u043d\u043e\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043a\u0440\u0438\u0432\u044b\u0445 \u0438\u0437 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 SEC 2 (p, a, b, \u043f\u043e\u0440\u044f\u0434\u043e\u043a q, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 gx, gy), \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/p>\n<p><strong>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c.<\/strong>\u00a0\u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043e\u0442 \u00ab\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445\u00bb \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0441 \u0448\u0438\u0444\u0440\u043e\u043c\u00a0<strong>Enigma<\/strong>: \u0437\u0430\u0445\u0432\u0430\u0442 \u043d\u0435\u043c\u0435\u0446\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0439 \u0438 \u0440\u043e\u0442\u043e\u0440\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0445\u043e\u0434\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u043e\u043b\u044c\u0441\u043a\u043e\u0433\u043e Biuro Szyfr\u00f3w \u0438 \u043f\u043e\u0437\u0436\u0435 Bletchley Park) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b \u0441\u043e\u044e\u0437\u043d\u0438\u043a\u0430\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u00ab\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u00bb \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0430 \u043d\u0435 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e \u0435\u0451 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u2014 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u044f\u0432\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u043d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u0443.<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9fc\/a14\/e21\/9fca14e2121750c24fdceae8dd084a6d.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"664\" height=\"1024\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/9fc\/a14\/e21\/9fca14e2121750c24fdceae8dd084a6d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9fc\/a14\/e21\/9fca14e2121750c24fdceae8dd084a6d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430 \u0432 Google Colab<\/h3>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0432 Google Colab \u0437\u0430\u0434\u0430\u0451\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u044c\u00a0<code>CURVE_PARAMS<\/code>\u00a0\u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 p, a, b, q (\u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b), gx, gy \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<code>build_curve()<\/code>, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0443\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>Curve<\/code>\u00a0\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 fastecdsa. \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u00a0<code>COMMON_SUBSTRING = \"8ce563f89a0ed9414f5aa28ad0d96d6795f9c6\"<\/code>\u00a0\u2014 \u0438\u0441\u043a\u043e\u043c\u0430\u044f 152-\u0431\u0438\u0442\u043e\u0432\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430, \u0432\u043e\u043a\u0440\u0443\u0433 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437.<\/p>\n<p>\u0412\u0430\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u0432\u0435\u043b\u0438\u0447\u0438\u043d b: \u0434\u043b\u044f secp160k1 b=7, secp192k1 b=3, secp224k1 b=5, secp256k1 b=7 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u00ab\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435\u00bb \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u043a\u0440\u0438\u0432\u043e\u0439 \u0412\u0435\u0439\u0435\u0440\u0448\u0442\u0440\u0430\u0441\u0441\u0430 y\u00b2 = x\u00b3 + b, \u0447\u0442\u043e \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 NUMS \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043a\u0440\u0438\u0432\u043e\u0439, \u043d\u043e \u043d\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 G.<\/p>\n<h3>\u0410\u043d\u0430\u043b\u0438\u0437 \u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u0434\u043b\u0438\u043d \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 secp-\u043a\u0440\u0438\u0432\u044b\u0445<\/h3>\n<p>\u042f\u0447\u0435\u0439\u043a\u0430 \u0432\u00a0<a href=\"https:\/\/bitcolab.ru\/structural-anomaly-in-secpxxxk1-generator-points\" rel=\"noopener noreferrer nofollow\">Google Colab<\/a>\u00a0\u0441\u0442\u0440\u043e\u0438\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 pandas \u0441 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u043e\u0439 x \u0438 y \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0438 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b (secp256k1: order 256 \u0431\u0438\u0442, gx 255 \u0431\u0438\u0442, gy 255 \u0431\u0438\u0442), \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044f, \u0447\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b G \u0441\u0430\u043c\u0438 \u043f\u043e \u0441\u0435\u0431\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u00ab\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438\u00bb \u2014\u00a0<a href=\"https:\/\/cryptodeeptech.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\">\u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f<\/a>\u00a0\u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 2.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041a\u0440\u0438\u0432\u0430\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0411\u0438\u0442 \u0434\u043b\u0438\u043d\u0430 G.x<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0411\u0438\u0442 \u0434\u043b\u0438\u043d\u0430 G.y<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0411\u0438\u0442 \u0434\u043b\u0438\u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 n<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">secp160k1<\/p>\n<\/td>\n<td>\n<p align=\"left\">158<\/p>\n<\/td>\n<td>\n<p align=\"left\">160<\/p>\n<\/td>\n<td>\n<p align=\"left\">161<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">secp192k1<\/p>\n<\/td>\n<td>\n<p align=\"left\">160<\/p>\n<\/td>\n<td>\n<p align=\"left\">192<\/p>\n<\/td>\n<td>\n<p align=\"left\">192<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">secp224k1<\/p>\n<\/td>\n<td>\n<p align=\"left\">224<\/p>\n<\/td>\n<td>\n<p align=\"left\">191<\/p>\n<\/td>\n<td>\n<p align=\"left\">221<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">secp256k1<\/p>\n<\/td>\n<td>\n<p align=\"left\">255<\/p>\n<\/td>\n<td>\n<p align=\"left\">255<\/p>\n<\/td>\n<td>\n<p align=\"left\">256<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 G: \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0447\u043a\u0438 H<\/h3>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<code>inv_mod(a, p)<\/code>\u00a0(\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0447\u0435\u0440\u0435\u0437\u00a0<code>pow(a, -1, p)<\/code>, \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0415\u0432\u043a\u043b\u0438\u0434\u0430\/\u0424\u0435\u0440\u043c\u0430) \u0438\u00a0<code>compute_H(curve_obj, order)<\/code>\u00a0\u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430:<\/p>\n<pre><code>inv2 = inv_mod(2, order)H = G * inv2          # H = G * 2\u207b\u00b9 mod nx_hex = hex(H.x)[2:]<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e \u043f\u043e\u0438\u0441\u043a\u0443 \u0442\u0430\u043a\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 H, \u0447\u0442\u043e 2H = G, \u0442\u043e \u0435\u0441\u0442\u044c \u00ab\u0440\u0430\u0437\u0434\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044e \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443\u00bb \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 \u043a\u0440\u0438\u0432\u043e\u0439. \u0415\u0441\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 G \u0431\u044b\u043b\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u043a\u0430\u043a \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u00ab\u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0439\u00bb \u0442\u043e\u0447\u043a\u0438 H\u2080 (2H\u2080 = G), \u0442\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 H \u0441\u043e\u0432\u043f\u0430\u0434\u0451\u0442 \u0441 H\u2080 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0441\u0442\u0438 \u0441\u043b\u0435\u0434\u044b \u044d\u0442\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u044b \u2014 \u043a\u043e\u0440\u043e\u0442\u043a\u0443\u044e \u0431\u0438\u0442\u043e\u0432\u0443\u044e \u0434\u043b\u0438\u043d\u0443 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0443\u044e\u0441\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/strong>\u00a0\u041f\u043e\u0445\u043e\u0436\u0438\u0439 \u043f\u0440\u0438\u0451\u043c \u00ab\u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u00bb \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u0438 \u0432\u0437\u043b\u043e\u043c\u0435\u00a0<strong>\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b Lorenz SZ40\/42<\/strong>\u00a0\u0411\u0438\u043b\u043b\u043e\u043c \u0422\u0430\u0442\u043e\u043c (Bill Tutte) \u0432 1942 \u0433\u043e\u0434\u0443: \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430, \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 Bletchley Park \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u043d\u0435 \u0438\u043c\u0435\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043c\u0430\u0448\u0438\u043d\u0435, \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u00ab\u043e\u0442\u043c\u0435\u043d\u044f\u043b\u0438\u00bb \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u044b\u043c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u0430\u043c, \u0442\u043e\u0447\u043d\u043e \u043a\u0430\u043a \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435 Google Colab \u043e\u0442\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u043e\u0431\u0440\u0430\u0437\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2c0\/a0e\/c38\/2c0a0ec388b53fbe478d924d255ac077.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"668\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/2c0\/a0e\/c38\/2c0a0ec388b53fbe478d924d255ac077.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2c0\/a0e\/c38\/2c0a0ec388b53fbe478d924d255ac077.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0442\u043e\u0447\u0435\u043a \u0432\u043d\u0435 \u043a\u0440\u0438\u0432\u043e\u0439 \u0432 ECDH\/ECDSA: \u044f\u0432\u043d\u043e\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 G<\/h3>\n<p>\u0423\u0442\u043e\u0447\u043d\u0451\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u00a0<code>compute_H()<\/code>\u00a0\u0441\u0442\u0440\u043e\u0438\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u044f\u0432\u043d\u043e \u0447\u0435\u0440\u0435\u0437\u00a0<code>Point(curve_obj.gx, curve_<\/code><a href=\"http:\/\/obj.gy\" rel=\"noopener noreferrer nofollow\"><code>obj.gy<\/code><\/a><code>, curve_obj)<\/code>\u00a0\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u00a0<code>G.on_curve<\/code>\u00a0\u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c H \u2014 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u043c\u0435\u0440\u0430 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u00abinvalid curve point\u00bb \u0430\u0442\u0430\u043a, \u043a\u043b\u0430\u0441\u0441\u0430 \u0430\u0442\u0430\u043a \u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/transaction\" rel=\"noopener noreferrer nofollow\">ECDH\/ECDSA<\/a>, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u0441\u0443\u043d\u0443\u0442\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0432\u043d\u0435 \u043a\u0440\u0438\u0432\u043e\u0439 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0441\u043a\u0430\u043b\u044f\u0440 \u0447\u0435\u0440\u0435\u0437 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0443\u044e \u0442\u0435\u043e\u0440\u0435\u043c\u0443 \u043e\u0431 \u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 (\u0430\u0442\u0430\u043a\u0430 Antipa\/Biehl\/Meyer\/M\u00fcller, 2003).<\/p>\n<p><strong>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c.<\/strong>\u00a0Invalid-curve \u0430\u0442\u0430\u043a\u0438 \u2014 \u043d\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f: \u0432 2015 \u0433\u043e\u0434\u0443 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/privatekey\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/a>\u00a0TLS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0442\u043e\u0447\u0435\u043a, \u043d\u0435 \u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u043d\u0430 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438\u00a0<code>on_curve<\/code>\u00a0\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445 OpenSSL \u0438 Bouncy Castle. \u042f\u0432\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435\u00a0<a href=\"https:\/\/bitcolab.ru\/structural-anomaly-in-secpxxxk1-generator-points\" rel=\"noopener noreferrer nofollow\">Google Colab<\/a>\u00a0\u2014 \u043f\u0440\u044f\u043c\u043e\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u044d\u0445\u043e \u044d\u0442\u043e\u0433\u043e \u0443\u0440\u043e\u043a\u0430.<\/p>\n<h3>\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0442\u043e\u0447\u043a\u0438: \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043c\u0430\u043b\u044b\u0445 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u0439 3, 5, 7<\/h3>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<code>test_small_divisors()<\/code>\u00a0\u043e\u0431\u043e\u0431\u0449\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044f G\u00b7d\u207b\u00b9 \u0434\u043b\u044f d = 3, 5, 7 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0442\u043e\u0439 \u0436\u0435 \u043e\u0431\u0449\u0435\u0439 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f secp256k1 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u0443\u044e \u0434\u043b\u0438\u043d\u0443 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b (256 \u0431\u0438\u0442) \u0431\u0435\u0437 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0442\u0440\u0451\u0445 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u0439 \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f \u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0430 \u0434\u043b\u044f \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 2, \u0447\u0442\u043e \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u0435\u0442 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043e \u0435\u0451 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0430\u043a \u00abG = 2\u00b7H\u2080\u00bb \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0442\u043e\u0447\u043a\u0438.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0414\u0435\u043b\u0438\u0442\u0435\u043b\u044c d<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0411\u0438\u0442-\u0434\u043b\u0438\u043d\u0430 x(G\u00b7d\u207b\u00b9)<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041e\u0431\u0449\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">256<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">256<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<td>\n<p align=\"left\">256<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u043f\u0440\u043e\u0442\u0438\u0432 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438: \u0430\u043d\u0430\u043b\u0438\u0437 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u0432\u044b\u0445 \u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f<\/h3>\n<p>\u0417\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0430 Google Colab \u0434\u0430\u0451\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443: \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 256-\u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 H = G\u00b72\u207b\u00b9 \u0438\u043c\u0435\u0435\u0442 \u0431\u0438\u0442\u043e\u0432\u0443\u044e \u0434\u043b\u0438\u043d\u0443 166 \u0431\u0438\u0442 \u0438\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 (\u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 90 \u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0431\u0438\u0442), \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 2\u207b<sup>90<\/sup>\u00a0\u2014 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430, \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u0430\u043b\u0430\u044f. \u0421\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 \u0441\u0440\u0430\u0437\u0443 \u0434\u043b\u044f \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u044b\u0445 \u043e\u0431\u0449\u0435\u0439 152-\u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0435\u0434\u0438\u043d\u044b\u0439 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a.<\/p>\n<p>\u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u00ab\u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 H\u00bb \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0438 \u0440\u0430\u0432\u043d\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u0441 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \\(p \\approx 2\u207b<sup>90<\/sup>\\), \u0442\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 \u0432\u043e \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0434\u0430 \u0435\u0449\u0451 \u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \\(p^4\\) \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0441\u0435\u0440\u0432\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u2014 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0448\u0430\u043d\u0441\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/strong>\u00a0\u041f\u043e\u0445\u043e\u0436\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043b\u0435\u0436\u0430\u043b\u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0437\u043e\u0431\u043b\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0430\u0431\u043e\u0441\u0442\u0438 \u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435\u00a0<strong>Debian OpenSSL PRNG (2006\u20132008)<\/strong>: \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u0441\u0438\u0434-\u043f\u0443\u043b\u0430 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0430\u0441\u044c \u0434\u043e 15 \u0431\u0438\u0442 \u0438\u0437-\u0437\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430, \u0431\u044b\u043b\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u0440\u0438 \u0438\u0441\u0442\u0438\u043d\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u2014 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u043b\u0430 \u0442\u044b\u0441\u044f\u0447\u0438 SSH-\u043a\u043b\u044e\u0447\u0435\u0439 \u0438 SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443.<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5ce\/b60\/1ea\/5ceb601ea1701729630081a8089b6fc2.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"600\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/5ce\/b60\/1ea\/5ceb601ea1701729630081a8089b6fc2.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5ce\/b60\/1ea\/5ceb601ea1701729630081a8089b6fc2.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b \u0434\u043b\u044f Bitcoin \u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0432 \u0446\u0435\u043b\u043e\u043c<\/h3>\n<p>\u041f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u0440\u0438\u0432\u044b\u043c\u0438 secp*r1 (verifiably random, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0438\u0437 \u0445\u0435\u0448-\u0441\u0435\u043c\u0435\u043d\u0438 \u043f\u043e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e X9.62\/FIPS 186) \u0438 \u043a\u0440\u0438\u0432\u044b\u043c\u0438 \u041a\u043e\u0431\u043b\u0438\u0446\u0430 secp*k1, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u043d\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0438 \u0441\u0438\u0434, \u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0442\u043e\u0447\u043a\u0438. \u042d\u0442\u043e \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0441\u0430\u043c\u043e\u0439 \u0441\u0445\u0435\u043c\u0435\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/transaction\" rel=\"noopener noreferrer nofollow\">ECDSA\/Schnorr<\/a>\u00a0\u2014 \u043e\u0431\u0449\u0435\u043f\u0440\u0438\u0437\u043d\u0430\u043d\u043e, \u0447\u0442\u043e \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 G \u0441\u0440\u0435\u0434\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c \u0441\u0445\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0445\u043e\u0434\u043a\u0430 \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f NUMS-\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u043f\u0440\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f Taproot-\u043a\u043e\u043c\u043c\u0438\u0442\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 confidential transactions, \u0433\u0434\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0443\u0436\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/strong>\u00a0\u0418\u043c\u0435\u043d\u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u0440\u0438\u0432\u044b\u0435 \u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u043c, \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c:\u00a0<strong>Curve25519<\/strong>\u00a0\u0414\u044d\u043d\u0438\u0435\u043b\u0430 \u0411\u0435\u0440\u043d\u0441\u0442\u0430\u0439\u043d\u0430 (2005) \u0438 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e\u00a0<strong>NUMS curves<\/strong>\u00a0(IETF draft-black-numscurves, 2014) \u044f\u0432\u043d\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u044b\u0431\u043e\u0440\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b, \u0447\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u0430\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u00ab\u0441\u043f\u0440\u044f\u0442\u0430\u043d\u043d\u043e\u0433\u043e\u00bb \u0432\u044b\u0431\u043e\u0440\u0430, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u043c\u0443 \u0432 secpXXXk1.<\/p>\n<hr\/>\n<h3>\u0418\u0441\u0442\u043e\u0440\u0438\u043a\u043e-\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442<\/h3>\n<p>\u0412 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 SEC\u202f2 \u0434\u043b\u044f Koblitz-\u043a\u0440\u0438\u0432\u044b\u0445 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043b\u0438\u0448\u044c, \u0447\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0431\u044b\u043b\u0438 \u00ab\u0432\u044b\u0431\u0440\u0430\u043d\u044b \u043f\u0443\u0442\u0451\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430, \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0449\u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u044d\u043d\u0434\u043e\u043c\u043e\u0440\u0444\u0438\u0437\u043c, \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u043a\u0440\u0438\u0432\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430\u00bb. \u042d\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0431\u043e\u0440\u0430\u00a0<em>p<\/em>\u00a0\u0438\u00a0<em>b<\/em>, \u043d\u043e\u00a0<strong>\u043d\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u044b\u0431\u043e\u0440\u0430\u00a0<em>G<\/em><\/strong>. \u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f: \u0434\u043b\u044f \u043a\u0440\u0438\u0432\u044b\u0445 NIST P-256 (secp256r1) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0441 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c seed-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438 SHA\u20111, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u00ab\u043b\u0430\u0437\u0435\u0435\u043a\u00bb (verifiably random). \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0434\u043b\u044f secp256k1 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Bitcoin \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u043e \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c Certicom, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0436\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432.<\/p>\n<p>\u041d\u0430\u0445\u043e\u0434\u043a\u0430 John Zweng \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e\u00a0<em>G<\/em>\u00a0\u043d\u0435 \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e: \u043e\u0431\u0449\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, SHA\u20111), \u043d\u043e \u0442\u043e\u0447\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c. \u042d\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b secp256k1 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u00abnothing-up-my-sleeve\u00bb (NUMS).<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/15c\/81d\/d9e\/15c81dd9e33510ede284af4a243e1748.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"662\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/15c\/81d\/d9e\/15c81dd9e33510ede284af4a243e1748.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/15c\/81d\/d9e\/15c81dd9e33510ede284af4a243e1748.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f: \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u043b\u0438 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442?<\/h3>\n<p>\u0412\u0430\u0436\u043d\u043e \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044c, \u0447\u0442\u043e \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u0444\u0430\u043a\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u043e\u0431\u0449\u0435\u0439 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438\u00a0<strong>\u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c\u044e<\/strong>\u00a0\u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u00a0<em>G<\/em>\u00a0(ECDSA, Schnorr). \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c ECDLP \u0432 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u2014 \u043b\u044e\u0431\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435\u043d \u043b\u044e\u0431\u043e\u043c\u0443 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044f.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442\u00a0<strong>\u0442\u0440\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u0430<\/strong>, \u043f\u0440\u0438\u0434\u0430\u044e\u0449\u0438\u0445 \u043d\u0430\u0445\u043e\u0434\u043a\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c:<\/p>\n<ul>\n<li>\n<p><strong>\u042d\u043f\u0438\u0441\u0442\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439:<\/strong>\u00a0\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u044f (trust assumptions).<\/p>\n<\/li>\n<li>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439:<\/strong>\u00a0\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u0441\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0430\u0443\u0434\u0438\u0442\u0430 ECC-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430:<\/strong>\u00a0\u0435\u0441\u043b\u0438 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c Bitcoin \u0432\u0432\u0435\u0434\u0451\u0442\u00a0<em>\u0432\u0442\u043e\u0440\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/em>\u00a0<em>H<\/em>\u00a0\u0441 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435\u043c \u043a\u00a0<em>G<\/em>\u00a0(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439), \u0442\u043e \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u00a0<em>H<\/em>\u00a0\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u00a0<em>log<sub>G<\/sub>\u00a0H<\/em>, \u0447\u0442\u043e \u0432 \u0441\u0445\u0435\u043c\u0430\u0445 \u0442\u0438\u043f\u0430 Pedersen-\u043a\u043e\u043c\u043c\u0438\u0442\u043c\u0435\u043d\u0442\u043e\u0432 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u044d\u043c\u0438\u0441\u0441\u0438\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 BIP\u2011341 (Taproot) \u0432\u0432\u0435\u0434\u0435\u043d\u043e \u0441\u0442\u0440\u043e\u0433\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 NUMS-\u0442\u043e\u0447\u0435\u043a \u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u044b\u0432\u043e\u0434 \u0434\u043b\u044f Bitcoin-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/strong>\u00a0\u041f\u0440\u0435\u0446\u0435\u0434\u0435\u043d\u0442 John Zweng \u0441\u043b\u0443\u0436\u0438\u0442 \u044d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438\u00a0<em>\u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438<\/em>\u00a0\u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043b\u044e\u0431\u044b\u0445 \u043d\u043e\u0432\u044b\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435 Bitcoin. \u041b\u044e\u0431\u044b\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0432\u044b\u0448\u0435, \u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u00ab\u0442\u0435\u0441\u0442 \u043d\u0430 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044e\u00bb (\u043c\u0430\u043b\u0430\u044f \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043c\u0430\u043b\u044b\u0435 \u0447\u0438\u0441\u043b\u0430).<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c53\/f22\/b9a\/c53f22b9a92b52a1dc989160df640079.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"676\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c53\/f22\/b9a\/c53f22b9a92b52a1dc989160df640079.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c53\/f22\/b9a\/c53f22b9a92b52a1dc989160df640079.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b \u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043c\u044b \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0432 \u043a\u0440\u0438\u0432\u044b\u0445 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 secp*k1, \u0438 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u0431\u043e\u0440\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0434\u0443\u0448\u0435\u0442\u0440\u0435\u043f\u0435\u0449\u0443\u0449\u0438\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0430 \u043d\u0443\u043b\u0435\u0432\u0430\u044f \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0442\u043e\u0447\u043a\u0438 H = G\u00b72\u207b\u00b9 mod n \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 secp*k1? \u041e\u0442\u0432\u0435\u0442\u043e\u043c \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0443\u043b\u0435\u0432\u0430\u044f \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 G \u0432\u044b\u0431\u0440\u0430\u043d \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0438\u0437 \u0432\u0441\u0435\u0445 \u0442\u043e\u0447\u0435\u043a \u043a\u0440\u0438\u0432\u043e\u0439. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u0435 \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0439, \u0438 \u0435\u0451 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0434\u043b\u0438\u043d\u0443, \u0431\u043b\u0438\u0437\u043a\u0443\u044e \u043a \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u043a\u0440\u0438\u0432\u043e\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 256 \u0431\u0438\u0442 \u0434\u043b\u044f secp256k1). \u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u0433\u043e \u0444\u0430\u043a\u0442\u0430, \u0447\u0442\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 x \u0442\u043e\u0447\u043a\u0438 H \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 166 \u0431\u0438\u0442\u0430\u043c\u0438 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e 152-\u0431\u0438\u0442\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043b\u044f \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445, \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0443\u043b\u0435\u0432\u0443\u044e \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0441\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0439. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a 2\u207b\u2079\u2070, \u0430 \u0434\u043b\u044f \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u2014 \u043a\u0430\u043a 2\u207b\u00b3\u2076\u2070. \u042d\u0442\u043e \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u044b\u0431\u043e\u0440\u0430.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0432 \u043d\u0430\u0448\u0438\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u0445 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0440\u0435\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u044b\u0431\u043e\u0440\u0430 G, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430? \u0412 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0438 \u0432\u043e\u043f\u0440\u043e\u0441 \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u044f\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043a\u0430\u044f \u00ab\u0431\u0430\u0437\u043e\u0432\u0430\u044f\u00bb \u0442\u043e\u0447\u043a\u0430 H\u2080. \u042d\u0442\u0430 \u0442\u043e\u0447\u043a\u0430 H\u2080 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 (\u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0435\u0433\u043e \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439) \u043a \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 152-\u0431\u0438\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435\u00a0<strong>(<\/strong><code><strong>8ce563f89a0ed9414f5aa28ad0d96d6795f9c6<\/strong><\/code>). \u0417\u0430\u0442\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430 H\u2080 \u0443\u0434\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043a\u0440\u0438\u0432\u043e\u0439: G = 2H\u2080. \u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e\u0447\u043a\u0430 G, \u0441\u043a\u0440\u044b\u0432\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 H\u2080 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043a\u0442\u043e-\u0442\u043e \u043d\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442 G\u00b72\u207b\u00b9.<\/p>\n<p>\u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441 \u0447\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439 secp*k1 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 verifiably random \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0438 \u043e\u0442 \u043f\u043e\u0437\u0434\u043d\u0435\u0439\u0448\u0438\u0445 NUMS-\u043f\u0440\u0430\u043a\u0442\u0438\u043a? \u0422\u0430\u043a\u0436\u0435 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0432\u0441\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u043a\u0440\u0438\u0432\u044b\u0435 \u0441\u0435\u0440\u0438\u0438 secp*r1 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, secp256r1) \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 verifiably random: \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u0438\u0441\u044c \u043f\u0443\u0442\u0435\u043c \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e seed-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c\u0438 X9.62\/FIPS 186). \u042d\u0442\u043e \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0435 \u0431\u044b\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u044d\u043a\u0434\u043e\u0440\u0430. \u0414\u043b\u044f secp*k1 \u043d\u0438 seed, \u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 G \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438\u0441\u044c. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 NUMS-\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 (Nothing Up My Sleeve) \u0442\u0440\u0435\u0431\u0443\u044e\u0442, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0438\u0437 \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0446\u0438\u0444\u0440 \u041f\u0438) \u0438\u043b\u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0445 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f G \u0432 secp*k1 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435\u043c \u043e\u0442 \u0438\u0434\u0435\u0430\u043b\u043e\u0432 NUMS.<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/808\/c02\/41b\/808c0241b419b482971cd7e771e3015c.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"619\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/808\/c02\/41b\/808c0241b419b482971cd7e771e3015c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/808\/c02\/41b\/808c0241b419b482971cd7e771e3015c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0439 \u0447\u0430\u0441\u0442\u043e \u0441\u0442\u0440\u0430\u0434\u0430\u0435\u0442 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 (p-hacking), \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0440\u043e\u0431\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043f\u043e\u0434\u043d\u044f\u043b\u0438 \u043e\u0434\u0438\u043d \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043a\u0430\u043a \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u0440\u0438 \u0443\u0447\u0451\u0442\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u0438 post hoc-\u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438? \u0412 \u0438\u0442\u043e\u0433\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438 \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0430\u043b\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b 2, 3, 4, 5\u2026 \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438), \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c 2\u207b\u00b3\u2076\u2070 (\u0434\u043b\u044f \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u043a\u0440\u0438\u0432\u044b\u0445) \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438 \u0411\u043e\u043d\u0444\u0435\u0440\u0440\u043e\u043d\u0438 \u0438\u043b\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u0438. Post-hoc \u0432\u044b\u0431\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043c\u043e\u0433 \u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e 10\u207b\u00b3 \u0438\u043b\u0438 10\u207b\u2076, \u043d\u043e \u043d\u0435 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u043f\u043e\u0440\u044f\u0434\u043a\u0430 10\u207b\u00b9\u2070\u2070. \u042d\u0442\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u044b\u043c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0423\u0433\u043b\u0443\u0431\u0438\u0432\u0448\u0438\u0441\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0443 \u043d\u0430\u0441 \u0432\u0441\u043f\u043b\u044b\u043b \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0436\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 2 \u0438\u043b\u0438 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u043e\u043c \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0445 \u0441\u043a\u0430\u043b\u044f\u0440\u043e\u0432 \u043f\u0440\u0438 \u0438\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b? \u041e\u0442\u0432\u0435\u0442 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0431\u044b\u043b \u0432 \u0442\u043e\u043c \u0447\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u043f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 3, 5 \u0438 7 (\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 G\u00b7d\u207b\u00b9) \u0434\u043b\u044f secp256k1 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u0447\u043a\u0438 \u0441 \u043f\u043e\u043b\u043d\u043e\u0439 256-\u0431\u0438\u0442\u043d\u043e\u0439 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0439 \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043e\u0431\u0449\u0438\u0445 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a.\u00a0<a href=\"https:\/\/cryptodeeptech.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u043e\u043c\u0430\u043b\u0438\u044f<\/a>\u00a0\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0430 \u0434\u043b\u044f \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f 2 (\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0442\u043c\u0435\u043d\u044b \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u044f). \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0433\u0440\u0443\u043f\u043f\u044b, \u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u044b\u043c \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (G = 2H\u2080), \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u043d\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ba\/853\/dd9\/6ba853dd9280031860bccf26cf0ef01b.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"721\" height=\"844\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/6ba\/853\/dd9\/6ba853dd9280031860bccf26cf0ef01b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ba\/853\/dd9\/6ba853dd9280031860bccf26cf0ef01b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438<\/h3>\n<p>\u0412\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f\u00a0<a href=\"https:\/\/cryptodeeptech.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\">\u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f<\/a>\u00a0\u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u0430\u0436\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043e\u0432\u0435\u0440\u0438\u044f, \u043d\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445.<\/p>\n<p>\u0412 \u0441\u0432\u043e\u0438\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043c\u044b \u0437\u0430\u0434\u0430\u043b\u0438\u0441\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c \u0438\u043c\u0435\u0435\u0442 \u043b\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u0438 ECDSA\/Schnorr, \u043b\u0438\u0431\u043e \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u0432\u0435\u0440\u0438\u044f? \u0412 \u0438\u0442\u043e\u0433\u0435, \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0432\u044b\u0432\u043e\u0434\u0443 \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432\u00a0<a href=\"https:\/\/cryptou.ru\/privkeyroot\/transaction\" rel=\"noopener noreferrer nofollow\">ECDSA<\/a>\u00a0\u0438 Schnorr, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 G, \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u043d\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e G = 2H\u2080) \u043d\u0435 \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c. \u0417\u0430\u0434\u0430\u0447\u0430 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0439. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0438\u0433\u0438\u0435\u043d\u044b \u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u041d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0431\u044d\u043a\u0434\u043e\u0440\u0430\u043c\u0438 (\u043a\u0430\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 Dual_EC_DRBG), \u0447\u0442\u043e \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043a\u0430\u043a\u0438\u0435 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432? \u041d\u0430\u0448\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0447\u0442\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0433\u043e, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 (NUMS). \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0443\u0442\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, SHA-256 \u0438\u043b\u0438 SHA-3) \u043a \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u043d\u0435\u0439\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u00abBitcoin secp256k1 base point generation\u00bb). \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0445\u0435\u0448 \u0432 \u0432\u0430\u043b\u0438\u0434\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u043a\u0440\u0438\u0432\u043e\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u0435\u0442\u043e\u0434 hash-to-curve), \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u043b\u044e\u0431\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f \u0442\u0430\u0439\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u0441 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u0435\u043c\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u043e\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u043e\u0447\u043a\u0438.<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 \u043a\u043e \u0432\u0441\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u0445 Bitcoin \u0438 \u0441\u043c\u0435\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0442\u0430\u043c, \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0439 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0441 Pedersen commitments, Confidential Transactions, Taproot), \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0431\u044b\u043b \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d (\u043f\u0440\u0438\u043d\u0446\u0438\u043f NUMS \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432). \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0442\u0430\u043a\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044e \u043f\u043e\u0434\u0434\u0435\u043b\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0438\u043b\u0438 \u043d\u0430\u0440\u0443\u0448\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u044c. \u0410\u0443\u0434\u0438\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u043a \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c.<\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/89f\/813\/424\/89f81342405cdc0d0ed1e4d35754e418.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"527\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/89f\/813\/424\/89f81342405cdc0d0ed1e4d35754e418.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/89f\/813\/424\/89f81342405cdc0d0ed1e4d35754e418.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h3>\u0418\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435:<\/h3>\n<p>\u0420\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a\u043d\u043e\u0442 Google Colab \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0439 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u044f\u0432\u043d\u043e\u0433\u043e \u0438 \u0432\u0430\u043b\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u043d\u0430\u0447\u0438\u043c\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0443\u044e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430. \u0425\u043e\u0442\u044f \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u043d\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c ECDSA \u0432 Bitcoin, \u043e\u043d\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u2014 \u0432\u043e\u043f\u0440\u043e\u0441, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0432\u0448\u0438\u0439 \u043f\u0440\u0438 DES, Dual_EC_DRBG \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043f\u0438\u0437\u043e\u0434\u0430\u0445, \u0433\u0434\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043b\u0438\u0431\u043e \u0442\u0440\u0435\u0432\u043e\u0436\u043d\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c, \u043b\u0438\u0431\u043e, \u043a\u0430\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 DES, \u0441\u043a\u0440\u044b\u0442\u044b\u043c \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u0435\u043c, \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u043c \u043b\u0438\u0448\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043d\u0435\u043e\u043f\u0440\u043e\u0432\u0435\u0440\u0436\u0438\u043c\u043e \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0442\u043e\u0447\u043a\u0438-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 \u043a\u0440\u0438\u0432\u044b\u0445 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 secp*k1, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0430\u0445 secp256k1, \u0431\u044b\u043b\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 \u2014 \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u043e\u0431\u0449\u0435\u0439 152-\u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u043f\u0440\u0438 \u043e\u0442\u043c\u0435\u043d\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u2014 \u043d\u0438\u0447\u0442\u043e\u0436\u043d\u043e \u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f. \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043e\u0442 \u043f\u0443\u0431\u043b\u0438\u043a\u0438, \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435 NUMS (Nothing Up My Sleeve).<\/p>\n<p>\u0425\u043e\u0442\u044f \u0434\u0430\u043d\u043d\u0430\u044f\u00a0<a href=\"https:\/\/cryptodeeptech.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f<\/a>\u00a0\u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u0443\u0435\u0442 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 ECDSA \u0438 Schnorr, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440, \u043e\u043d\u0430 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0412 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u044b\u043c\u0438 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0430\u043c\u0438, \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u0430 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u0440\u0438\u0441\u043a\u043e\u043c. \u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u0435\u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u043d\u043e \u043e\u043f\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435, \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0435 \u043b\u044e\u0431\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n<hr\/>\n<h3>\ud83d\udcda\u00a0\u041e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/h3>\n<ol>\n<li>\n<p>Standards for Efficient Cryptography Group (SECG). SEC 2: Recommended Elliptic Curve Domain Parameters. Certicom Research.<\/p>\n<\/li>\n<li>\n<p>Zweng, John.\u00a0<em>The mystery of the generation points of the secpXXXk1 curves<\/em>. GitHub Gist, 2025. URL:\u00a0<a href=\"https:\/\/gist.github.com\/johnzweng\/863f412689ee383cc41ac7c709ca662c\" rel=\"noopener noreferrer nofollow\">https:\/\/gist.github.com\/johnzweng\/863f412689ee383cc41ac7c709ca662c<\/a>.<\/p>\n<\/li>\n<li>\n<p>Coppersmith, D. (1994). The Data Encryption Standard (DES) and its strength against attacks. IBM Journal of Research and Development.<\/p>\n<\/li>\n<li>\n<p>Nothing-up-my-sleeve number. Wikipedia.<\/p>\n<\/li>\n<li>\n<p>Green, M.; Bernstein, D.J. et al. Analyses of the Dual_EC_DRBG backdoor (2013\u20132014); NIST SP 800-90A withdrawal notices.<\/p>\n<\/li>\n<li>\n<p>Antipa, A.; Brown, D.; Menezes, A.; Struik, R.; Vanstone, S. (2003). Validation of elliptic curve public keys. PKC 2003; invalid-curve attack disclosures (2015).<\/p>\n<\/li>\n<li>\n<p>Debian OpenSSL predictable PRNG vulnerability (CVE-2008-0166), Debian Security Advisory.<\/p>\n<\/li>\n<li>\n<p>ANSI X9.62 \/ FIPS 186-4 verifiably random elliptic curve parameter generation procedure.<\/p>\n<\/li>\n<li>\n<p>Bernstein, Daniel J.\u00a0<em>Curve25519: new Diffie-Hellman speed records<\/em>. Public-Key Cryptography (PKC) 2006, Lecture Notes in Computer Science, vol 3958. Springer, 2006.<\/p>\n<\/li>\n<li>\n<p>Wuille, Pieter, Nick, Jonas, and Ruffing, Tim.\u00a0<em>BIP 341: Taproot: SegWit version 1 spending rules<\/em>. Bitcoin Improvement Proposals, 2020. URL:\u00a0<a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0341.mediawiki\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0341.mediawiki<\/a>.<\/p>\n<\/li>\n<li>\n<p>Certicom Research.\u00a0<em>SEC 2: Recommended Elliptic Curve Domain Parameters<\/em>, Version 2.0. Standards for Efficient Cryptography Group (SECG), 2010. URL:\u00a0<a href=\"https:\/\/www.secg.org\/sec2-v2.pdf\" rel=\"noopener noreferrer nofollow\">https:\/\/www.secg.org\/sec2-v2.pdf<\/a>.<\/p>\n<\/li>\n<li>\n<p>Brown, Daniel R.L.\u00a0<em>SEC 1: Elliptic Curve Cryptography<\/em>, Version 2.0. Standards for Efficient Cryptography Group (SECG), 2009. URL:\u00a0<a href=\"https:\/\/www.secg.org\/sec1-v2.pdf\" rel=\"noopener noreferrer nofollow\">https:\/\/www.secg.org\/sec1-v2.pdf<\/a>.<\/p>\n<\/li>\n<li>\n<p>Bernstein, Daniel J.\u00a0<em>Curve25519: new Diffie-Hellman speed records<\/em>. Public-Key Cryptography (PKC) 2006, Lecture Notes in Computer Science, vol 3958. Springer, 2006.<\/p>\n<\/li>\n<li>\n<p>Presentation at the\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=NGLR2N4EK58\" rel=\"noopener noreferrer nofollow\">Crypto 2019<\/a>\u00a0rump session on work of\u00a0<a href=\"https:\/\/cseweb.ucsd.edu\/~nadiah\/\" rel=\"noopener noreferrer nofollow\">Nadia Heninger<\/a>, Travis Scholl, Dan Shumow (The IACR is the International Association for Cryptologic Research, online at\u00a0<a href=\"http:\/\/www.iacr.org\" rel=\"noopener noreferrer nofollow\">http:\/\/www.iacr.org<\/a>)<\/p>\n<\/li>\n<\/ol>\n<hr\/>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/960\/c30\/575\/960c30575e8ce0222b7a7ae8c947827c.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"Video tutorial: https:\/\/dzen.ru\/video\/watch\/6a660f77a52c4438aad88da8\" width=\"475\" height=\"441\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/960\/c30\/575\/960c30575e8ce0222b7a7ae8c947827c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/960\/c30\/575\/960c30575e8ce0222b7a7ae8c947827c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><a href=\"https:\/\/dzen.ru\/video\/watch\/6a660f77a52c4438aad88da8\" rel=\"noopener noreferrer nofollow\"><strong>Video tutorial: https:\/\/dzen.ru\/video\/watch\/6a660f77a52c4438aad88da8<\/strong><\/a><\/figcaption><\/div>\n<\/figure>\n<hr\/>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0434\u043b\u044f \u043f\u043e\u0440\u0442\u0430\u043b\u0430\u00a0<a href=\"https:\/\/cryptodeeptech.ru\/\" rel=\"noopener noreferrer nofollow\">CRYPTO DEEP TECH<\/a>\u00a0\u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445\u00a0<a href=\"https:\/\/www.youtube.com\/@cryptodeeptech\" rel=\"noopener noreferrer nofollow\">secp256k1<\/a>\u00a0\u043f\u0440\u043e\u0442\u0438\u0432 \u0441\u043b\u0430\u0431\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439\u00a0<a href=\"https:\/\/github.com\/demining\/CryptoDeepTools\" rel=\"noopener noreferrer nofollow\">ECDSA<\/a>\u00a0\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u0435\u00a0<a href=\"https:\/\/t.me\/cryptodeeptech\" rel=\"noopener noreferrer nofollow\">BITCOIN<\/a>. \u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u043d\u0435\u0441\u0443\u0442 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432.<\/p>\n<hr\/>\n<p><a href=\"https:\/\/github.com\/demining\/CryptoDeepTools\/tree\/main\/50PhantomCurveAttack\" rel=\"noopener noreferrer nofollow\"><strong>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/bitcolab.ru\/structural-anomaly-in-secpxxxk1-generator-points\" rel=\"noopener noreferrer nofollow\"><strong>Google Colab<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/t.me\/cryptodeeptech\" rel=\"noopener noreferrer nofollow\"><strong>Telegram: https:\/\/t.me\/cryptodeeptech<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/youtu.be\/ytFVasVx6Ak\" rel=\"noopener noreferrer nofollow\"><strong>\u0412\u0438\u0434\u0435\u043e\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b: https:\/\/youtu.be\/ytFVasVx6Ak<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/dzen.ru\/video\/watch\/6a660f77a52c4438aad88da8\" rel=\"noopener noreferrer nofollow\"><strong>Video tutorial: https:\/\/dzen.ru\/video\/watch\/6a660f77a52c4438aad88da8<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/cryptodeeptool.ru\/curve-anomalies\" rel=\"noopener noreferrer nofollow\"><strong>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: https:\/\/cryptodeeptool.ru\/curve-anomalies<\/strong><\/a><\/p>\n<hr\/>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ed\/bdd\/b68\/0edbddb6887c629dae0957280fa4d26d.png\" alt=\"\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\" title=\"\" width=\"1024\" height=\"576\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0ed\/bdd\/b68\/0edbddb6887c629dae0957280fa4d26d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ed\/bdd\/b68\/0edbddb6887c629dae0957280fa4d26d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<\/div>\n<p>\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\/1063138\/\">https:\/\/habr.com\/ru\/articles\/1063138\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0443\u0447\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0449\u0438\u0439 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0449\u0438\u0439\u00a0\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 John Zweng (2025)\u00a0\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u0435\u043a-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432\u00a0G\u00a0\u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430\u00a0SEC 2 \u2014 secp160k1, secp192k1, secp224k1 \u0438 secp256k1.\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c: \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u0438\u0446\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430\u00a0SEC\u202f2 (secp160k1, secp192k1, secp224k1, secp256k1)\u00a0\u0442\u043e\u0447\u043a\u0430, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u0430\u044f \u00ab\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c\u00bb \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u00a0G\u00a0\u043d\u0430\u00a02\u00a0(\u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 2 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b\u00a0n), \u0438\u043c\u0435\u0435\u0442\u00a0x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u0430\u043b\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0449\u0443\u044e 152\u2011\u0431\u0438\u0442\u043d\u0443\u044e \u0433\u0435\u043a\u0441\u0430\u0434\u0435\u0446\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a08ce563f89a0ed9414f5aa28ad0d96d6795f9c6. \u041c\u044b \u0434\u0430\u0451\u043c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043d\u0430 Python\/SageMath, \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u00a0SEC\u202f2, \u0430 \u0442\u0430\u043a\u0436\u0435 \u2014 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u0445 \u2014 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f Bitcoin, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b NUMS-\u0442\u043e\u0447\u0435\u043a, \u0430\u0443\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u00a0ECDSA\/Schnorr. \u041e\u0441\u043e\u0431\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0443\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u0434\u043b\u044f Google Colab, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0445\u043e\u0434\u043a\u0443.Johannes Zweng \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0432\u00a0GitHub\u00a0\u0432 \u0441\u0432\u043e\u0451\u043c \u0430\u0440\u0445\u0438\u0432\u0435 \u043f\u0440\u044f\u043c\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0430\u00a0Nadia Heninger, \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d\u043d\u043e\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043a\u0440\u0438\u0432\u044b\u0445, \u043a\u0430\u043a \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438.\u00a0\u0425\u0435\u043d\u0438\u043d\u0433\u0435\u0440\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 ECC\/RSA (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043c\u0438 \u043f\u043e \u0430\u0442\u0430\u043a\u0430\u043c \u043d\u0430 \u0441\u043b\u0430\u0431\u0443\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0435\u0439), \u0438 \u0435\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043a \u0442\u0435\u043c\u0435 \u043f\u043e\u0434\u0447\u0451\u0440\u043a\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0445 \u043d\u0430\u0445\u043e\u0434\u043e\u043a \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438.https:\/\/www.youtube.com\/watch?v=NGLR2N4EK58\u0412\u0438\u0434\u0435\u043e, \u0433\u0434\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u00a0\u041d\u0430\u0434\u0438\u044f \u0425\u0435\u043d\u0438\u043d\u0433\u0435\u0440\u00a0\u0432 \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u0435 \u0441\u00a0Travis Scholl\u00a0\u0438\u00a0Dan Shumow\u00a0\u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442 152-\u0431\u0438\u0442\u043d\u0443\u044e \u0433\u0435\u043a\u0441\u0430\u0434\u0435\u0446\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a08ce563f89a0ed9414f5aa28ad0d96d6795f9c6, \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 Rump Session \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Crypto 2019.\u0420\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0439 \u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 ECDSA \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 Bitcoin. \u041e\u043d\u0438 \u0438\u0441\u043a\u0430\u043b\u0438 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438\u00a0nonce\u00a0(\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0445 \u0447\u0438\u0441\u0435\u043b) \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:\u041e\u043a\u043e\u043b\u043e 99% \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 nonce \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c\u00a0\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447) \u0440\u0430\u0432\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e\u00a0(n\u22121)\/2, \u0433\u0434\u0435\u00a0n\u00a0\u2014 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439.\u0415\u0441\u043b\u0438 \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u0442\u043e\u0447\u043a\u0443 (\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440) \u043a\u0440\u0438\u0432\u043e\u0439, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f\u00a0X-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0434\u043b\u0438\u043d\u043e\u0439 \u0432\u0441\u0435\u0433\u043e 166 \u0431\u0438\u0442, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0434\u043b\u044f Bitcoin-\u043a\u0440\u0438\u0432\u043e\u0439 \u2014 256 \u0431\u0438\u0442.\u041f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0446\u0435\u043b\u043e\u0433\u043e \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 Koblitz (secp) \u043e\u0442 Certicom \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0442\u043e\u0447\u043a\u0438-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u0449\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 (\u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a08ce563f89a0ed9414f5aa28ad0d96d6795f9c6), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0438 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0431\u0438\u0442\u0430\u0445.\u042d\u0442\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u043d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u043d\u0430\u0448\u043b\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u044d\u043a\u0434\u043e\u0440 (\u043e\u043d \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f), \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u0435\u0442 \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e Certicom \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043a\u0440\u0438\u0432\u044b\u0445 \u0432 1999 \u0433\u043e\u0434\u0443, \u043e \u0447\u0451\u043c \u043d\u0438\u0433\u0434\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e.\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 secpXXXk1: \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google Colab\u042d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c (ECC) \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0448\u0435\u0441\u0442\u0438 \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432: \u043f\u043e\u043b\u044f\u00a0\ud835\udd3dp, \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u043a\u0440\u0438\u0432\u043e\u0439\u00a0a, b, \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u043f\u043f\u044b\u00a0n, \u043a\u043e\u0444\u0430\u043a\u0442\u043e\u0440\u0430\u00a0h\u00a0\u0438 \u0442\u043e\u0447\u043a\u0438-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u00a0G = (Gx, Gy). \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SEC\u202f2 (Standards for Efficient Cryptography Group, Certicom) \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u0438\u0446\u0430\u00a0secpXXXk1, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445\u00a0secp256k1\u00a0\u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430, \u042d\u0444\u0438\u0440\u0438\u0443\u043c\u0430 \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d-\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432.\u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043f\u043e\u0434\u043d\u044f\u0442\u0430\u044f John Zweng, \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043a\u0438\u00a0G\u00a0\u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 SEC\u202f2 \u043d\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u00ab\u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445\u00bb \u043a\u0440\u0438\u0432\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u00abr1\u00bb (secp256r1 \u0438 \u0434\u0440.), \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 seed \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c SHA\u20111, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u00ab\u043f\u043e\u0442\u0430\u0439\u043d\u044b\u0445 \u0445\u043e\u0434\u043e\u0432\u00bb, \u0434\u043b\u044f Koblitz-\u043a\u0440\u0438\u0432\u044b\u0445 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043d\u0435\u0442. \u042d\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0437\u043e\u043d\u0443\u00a0\u044d\u043f\u0438\u0441\u0442\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0441\u0442\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u043d\u0443\u044e \u0434\u043b\u044f \u0411\u0438\u0442\u043a\u043e\u0438\u043d\u0430, \u0433\u0434\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u043d\u0430 \u0441\u043e\u0442\u043d\u0438 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0434\u043e\u043b\u043b\u0430\u0440\u043e\u0432 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b.\u041f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 (mod n), \u00ab\u043e\u0442\u043c\u0435\u043d\u044f\u044e\u0449\u0430\u044f\u00bb \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0443\u0434\u0432\u043e\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u043a\u0440\u0438\u0432\u043e\u0439 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0449\u0443\u044e 152-\u0431\u0438\u0442\u043e\u0432\u0443\u044e \u0433\u0435\u043a\u0441\u0430\u0434\u0435\u0446\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443\u00a08ce563f89a0ed9414f5aa28ad0d96d6795f9c6. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0430\u00a0Google Colab\u00a0\u043f\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u043c, \u0434\u0430\u0451\u0442\u0441\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u043a\u043e-\u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u2014 \u043e\u0442 \u0441\u043a\u0430\u043d\u0434\u0430\u043b\u0430 \u0441 DES S-\u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0434\u043e Dual_EC_DRBG \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 nothing-up-my-sleeve (NUMS).\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f: \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f Google Colab (Python + SageMath)\u0414\u043b\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 John Zweng \u043c\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 \u0441\u0440\u0435\u0434\u0435 Google Colab. \u041f\u0435\u0440\u0432\u044b\u0439 \u2014 \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c Python \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439\u00a0ecdsa\u00a0(\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 Colab \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438), \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c SageMath (\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043d\u043e \u0434\u0430\u0451\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u044f\u043c\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445).\u0421\u043a\u0440\u0438\u043f\u0442 (Python + \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 ecdsa).\u00a0\u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0442\u043e\u0447\u043a\u0443\u00a0H\u00a0\u0434\u043b\u044f secp256k1 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0435\u0451\u00a0x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0432 hex, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u0449\u0435\u0439 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438.# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 ecdsa (\u0435\u0441\u043b\u0438 \u0435\u0449\u0451 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430)!pip install ecdsafrom ecdsa import SECP256k1from ecdsa.numbertheory import inverse_mod# \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b secp256k1curve = SECP256k1.curveG = SECP256k1.generatorn = SECP256k1.order# \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u043a 2 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e ninv2 = inverse_mod(2, n)# \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c H = G * inv2H = G * inv2# \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435 (\u0431\u0435\u0437 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 0x)x_hex = hex(H.x())[2:]print(&#171;x(H) = 0x&#187; + x_hex)print(&#171;\u0411\u0438\u0442\u043e\u0432\u0430\u044f \u0434\u043b\u0438\u043d\u0430 x(H):&#187;, len(x_hex) * 4, &#171;\u0431\u0438\u0442&#187;)# \u041e\u0431\u0449\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 (152 \u0431\u0438\u0442\u0430 = 38 hex \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432)common = &#171;8ce563f89a0ed9414f5aa28ad0d96d6795f9c6&#8243;if common in x_hex:    print(&#171;\u2705 \u041e\u0431\u0449\u0430\u044f 152-\u0431\u0438\u0442\u043d\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u041e\u0411\u041d\u0410\u0420\u0423\u0416\u0415\u041d\u0410!&#187;)else:    print(&#171;\u274c \u041f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430.&#187;)# \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e: \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e 2*H == GtwoH = H * 2assert twoH == G, &#171;\u041e\u0448\u0438\u0431\u043a\u0430: 2*H != G&#187;print(&#171;\u2713 \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430: 2*H == G \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.&#187;)    \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f\u00a0(\u0434\u043b\u044f secp256k1):\u00a0x(H) = 0x3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63, \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430, \u0431\u0438\u0442\u043e\u0432\u0430\u044f \u0434\u043b\u0438\u043d\u0430 ~166 \u0431\u0438\u0442.\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u0430\u0443\u0434\u0438\u0442\u0435 Bitcoin.\u00a0\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 (\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 2 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0434\u043b\u0438\u043d\u044b) \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, Pedersen-\u043a\u043e\u043c\u043c\u0438\u0442\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u043b\u0438 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439 (MuSig2, FROST) \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u00ab\u0442\u0435\u0441\u0442 John Zweng\u00bb \u2014 \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0430\u043b\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 (2, 3, 5, 7) \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0430\u00a0\u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e\u00a0\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\u0410\u043d\u043e\u043c\u0430\u043b\u0438\u044f secp256k1:\u00a0\u0441\u043a\u0440\u044b\u0442\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430\u041a\u0440\u0438\u0432\u044b\u0435 secp160k1, secp192k1, secp224k1 \u0438 secp256k1 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0443 \u043a\u0440\u0438\u0432\u044b\u0445 \u041a\u043e\u0431\u043b\u0438\u0446\u0430, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435\u00a0SEC 2: Recommended Elliptic Curve Domain Parameters\u00a0\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Certicom. \u041a\u0440\u0438\u0432\u0430\u044f secp256k1 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430 \u043e\u0441\u043e\u0431\u0443\u044e \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Bitcoin, Ethereum \u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u0433\u0434\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 G \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439\u00a0ECDSA.Screencast:\u00a0https:\/\/youtu.be\/44CG3WhovE8Google Colab:\u00a0https:\/\/colab.research.google.com\/drive\/1e42DLAfRqEwTmsTNwZW2DFNC21umz6d0?usp=sharing\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0431\u043b\u043e\u043a\u043d\u043e\u0442 Google Colab \u0441\u0442\u0430\u0432\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443, \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e John Zweng \u0432 2025 \u0433\u043e\u0434\u0443 \u0432 \u0432\u0438\u0434\u0435 SageMath-\u0441\u043a\u0440\u0438\u043f\u0442\u0430: \u0435\u0441\u043b\u0438 \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 G \u043d\u0430 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0434\u0432\u043e\u0439\u043a\u0438 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0433\u0440\u0443\u043f\u043f\u044b n, \u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0439\u0441\u044f x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u043e\u0439.\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c.\u00a0\u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u00ab\u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438\u00bb \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u0445 \u2014 \u043d\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u044c. \u0412 1975 \u0433\u043e\u0434\u0443 \u043f\u0440\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 DES \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u0432\u0438\u043d\u044f\u043b\u043e NSA \u0432\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u00ab\u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0445\u00bb S-\u0431\u043b\u043e\u043a\u043e\u0432; \u043b\u0438\u0448\u044c \u0441\u043f\u0443\u0441\u0442\u044f 15 \u043b\u0435\u0442, \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0434\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0411\u0438\u0445\u0430\u043c\u043e\u043c \u0438 \u0428\u0430\u043c\u0438\u0440\u043e\u043c, \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e S-\u0431\u043b\u043e\u043a\u0438 DES \u0431\u044b\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0443\u0441\u0438\u043b\u0435\u043d\u044b \u043f\u0440\u043e\u0442\u0438\u0432 \u044d\u0442\u043e\u0439 \u0435\u0449\u0451 \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0430\u0442\u0430\u043a\u0438.\u00a0\u0410\u043d\u043e\u043c\u0430\u043b\u0438\u044f secpXXXk1\u00a0\u2014 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e \u0436\u0435 \u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435: \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u043a\u0430\u043a \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c.\u0422\u0435\u043d\u044c Dual_EC_DRBG \u0438 \u0437\u0430\u0433\u0430\u0434\u043a\u0430 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0435\u041f\u0435\u0440\u0432\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0432\u00a0Google Colab\u00a0\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u00ab\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435\u00bb: \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u0442\u043e\u0447\u043a\u0430 H = G\u00b72\u207b\u00b9 \u0438\u043c\u0435\u0435\u0442 x-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u0440\u0438\u0432\u043e\u0439 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0449\u0443\u044e 152-\u0431\u0438\u0442\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0443. \u0412 \u0441\u0432\u043e\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u00abbackdoor\u00bb, \u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, Bitcoin.\u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443\u00a0nothing-up-my-sleeve (NUMS)\u00a0\u2014 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u043c \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u00ab\u0443\u0434\u043e\u0431\u043d\u044b\u0445\u00bb \u0434\u043b\u044f \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439.\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430.\u00a0\u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 NUMS \u2014 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b\u00a0Dual_EC_DRBG, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 NIST \u0432 SP 800-90A. \u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b P \u0438 Q, \u0437\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u0440\u0438\u0432\u0443\u044e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u044b NSA \u0431\u0435\u0437 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f.\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (fastecdsa pandas)!pip install fastecdsa pandas\u041f\u0435\u0440\u0432\u0430\u044f \u043a\u043e\u0434\u043e\u0432\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0432\u00a0Google Colab\u00a0\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443\u00a0fastecdsa, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0434\u043b\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u0440\u0438\u0432\u044b\u0445, \u0438\u00a0pandas\u00a0\u0434\u043b\u044f \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u0412 \u0432\u044b\u0432\u043e\u0434\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (pandas 3.0.3\u00a0\u043f\u0440\u043e\u0442\u0438\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0439 Colab\u00a0pandas&lt;2.2.2) \u2014 \u0442\u0438\u043f\u0438\u0447\u043d\u0430\u044f \u0434\u043b\u044f Colab-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043d\u0435 \u0432\u043b\u0438\u044f\u044e\u0449\u0430\u044f \u043d\u0430 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0430\u044f \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430.\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u0441\u0431\u043e\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043a\u0440\u0438\u0432\u044b\u0445 \u0434\u043e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0441 \u0448\u0438\u0444\u0440\u043e\u043c\u00a0Enigma\u0412\u0442\u043e\u0440\u0430\u044f markdown-\u044f\u0447\u0435\u0439\u043a\u0430 \u0432 Google Colab \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443:&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-488611","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/488611","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=488611"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/488611\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=488611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=488611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=488611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}